Mô hình và nền tảng AI
StreamDiffusion: Một Giải Pháp Cấp Đường Ống cho Tạo Tương Tác Thời Gian Thực

Do tiềm năng và cơ hội thương mại hóa lớn, đặc biệt là trong lĩnh vực trò chơi, phát sóng và truyền hình trực tuyến, Metaverse hiện đang là một trong những công nghệ phát triển nhanh nhất. Các ứng dụng Metaverse hiện đại sử dụng các khung AI, bao gồm cả tầm nhìn máy tính và mô hình khuếch tán, để tăng cường tính thực tế của chúng. Một thách thức lớn đối với các ứng dụng Metaverse là tích hợp các đường ống khuếch tán khác nhau cung cấp độ trễ thấp và thông lượng cao, đảm bảo tương tác hiệu quả giữa con người và các ứng dụng này.
Hôm nay, các khung AI dựa trên khuếch tán hiện đang vượt trội trong việc tạo ra hình ảnh từ các lời nhắc văn bản hoặc hình ảnh, nhưng lại thiếu sót trong các tương tác thời gian thực. Giới hạn này đặc biệt rõ ràng trong các nhiệm vụ yêu cầu đầu vào liên tục và thông lượng cao, chẳng hạn như đồ họa trò chơi điện tử, ứng dụng Metaverse, phát sóng và truyền hình trực tuyến trực tiếp.
Trong bài viết này, chúng tôi sẽ thảo luận về StreamDiffusion, một đường ống khuếch tán thời gian thực được phát triển để tạo ra hình ảnh tương tác và thực tế, giải quyết các hạn chế hiện tại của các khung dựa trên khuếch tán trong các nhiệm vụ liên quan đến đầu vào liên tục. StreamDiffusion là một phương pháp tiếp cận sáng tạo chuyển đổi nhiễu tuần tự của hình ảnh ban đầu thành nhiễu批, nhằm mục đích cho phép thông lượng cao và dòng chảy mượt mà. Phương pháp này loại bỏ cách tiếp cận truyền thống là chờ đợi và tương tác được sử dụng bởi các khung dựa trên khuếch tán hiện có. Trong các phần tiếp theo, chúng tôi sẽ đi sâu vào khuôn khổ StreamDiffusion, khám phá cách thức hoạt động, kiến trúc và kết quả so sánh với các khuôn khổ hiện tại.
StreamDiffusion: Giới Thiệu về Tạo Tương Tác Thời Gian Thực
Metaverse là các ứng dụng đòi hỏi hiệu suất cao vì chúng xử lý một lượng lớn dữ liệu, bao gồm văn bản, hoạt hình, video và hình ảnh trong thời gian thực để cung cấp cho người dùng các giao diện và trải nghiệm tương tác đặc trưng. Các ứng dụng Metaverse hiện đại dựa vào các khung AI, bao gồm tầm nhìn máy tính, xử lý hình ảnh và mô hình khuếch tán, để đạt được độ trễ thấp và thông lượng cao, đảm bảo trải nghiệm người dùng mượt mà. Hiện tại, đa số các ứng dụng Metaverse dựa vào việc giảm thiểu số lần lặp lại của quá trình làm sạch nhiễu để đảm bảo thông lượng cao và tăng cường khả năng tương tác trong thời gian thực. Các khung này thường áp dụng chiến lược chung là tái định hình quá trình khuếch tán bằng cách sử dụng các phương trình vi phân thông thường (ODE) hoặc giảm thiểu các mô hình khuếch tán nhiều bước thành một vài bước hoặc thậm chí chỉ một bước. Mặc dù cách tiếp cận này mang lại kết quả hài lòng, nhưng nó cũng có một số hạn chế, bao gồm tính linh hoạt thấp và chi phí tính toán cao.
Mặt khác, StreamDiffusion là một giải pháp cấp đường ống bắt đầu từ một hướng trực giao và tăng cường khả năng của khuôn khổ để tạo ra hình ảnh tương tác trong thời gian thực đồng thời đảm bảo thông lượng cao. StreamDiffusion sử dụng một chiến lược đơn giản trong đó thay vì làm sạch nhiễu đầu vào, khuôn khổ sẽ nhóm các bước làm sạch nhiễu lại với nhau. Chiến lược này lấy cảm hứng từ quá trình xử lý không đồng bộ vì khuôn khổ không cần phải chờ đợi giai đoạn làm sạch nhiễu đầu tiên hoàn thành trước khi có thể chuyển sang giai đoạn thứ hai, như được minh họa trong hình ảnh dưới đây. Để giải quyết vấn đề về tần suất xử lý của U-Net và tần suất đầu vào, khuôn khổ StreamDiffusion triển khai một chiến lược hàng đợi để lưu trữ đầu vào và đầu ra.

Mặc dù StreamDiffusion lấy cảm hứng từ quá trình xử lý không đồng bộ, nhưng nó lại độc đáo theo cách riêng vì nó triển khai sự song song hóa GPU, cho phép khuôn khổ sử dụng một thành phần U-Net duy nhất để làm sạch nhiễu cho một lô tính năng nhiễu. Hơn nữa, các đường ống dựa trên khuếch tán hiện có nhấn mạnh vào các lời nhắc cho trong hình ảnh được tạo ra bằng cách tích hợp hướng dẫn miễn phí của phân loại, kết quả là các đường ống hiện tại bị quá tải với các chi phí tính toán dư thừa và không cần thiết. Để đảm bảo rằng đường ống StreamDiffusion không gặp phải những vấn đề tương tự, nó triển khai một phương pháp hướng dẫn miễn phí của phân loại dư (RCFG) sáng tạo, sử dụng một nhiễu dư ảo để xấp xỉ các điều kiện âm, cho phép khuôn khổ tính toán các điều kiện nhiễu âm trong các giai đoạn đầu của quá trình. Ngoài ra, đường ống StreamDiffusion cũng giảm thiểu các yêu cầu tính toán của một đường ống khuếch tán truyền thống bằng cách triển khai một chiến lược lọc tương đồng ngẫu nhiên, xác định xem đường ống có nên xử lý hình ảnh đầu vào bằng cách tính toán sự tương đồng giữa các đầu vào liên tục.
Khuôn khổ StreamDiffusion được xây dựng dựa trên kiến thức của các mô hình khuếch tán và mô hình khuếch tán gia tốc.

Các mô hình khuếch tán nổi tiếng với khả năng tạo hình ảnh vượt trội và số lượng kiểm soát mà chúng cung cấp. Nhờ vào khả năng của chúng, các mô hình khuếch tán đã tìm thấy ứng dụng trong chỉnh sửa hình ảnh, tạo hình ảnh từ văn bản và tạo video. Hơn nữa, sự phát triển của các mô hình nhất quán đã chứng minh tiềm năng tăng cường hiệu quả xử lý mẫu mà không ảnh hưởng đến chất lượng của hình ảnh được tạo ra, mở ra cánh cửa mới để mở rộng khả năng và hiệu quả của các mô hình khuếch tán bằng cách giảm số bước lấy mẫu. Mặc dù rất mạnh mẽ, các mô hình khuếch tán có một hạn chế lớn: tốc độ tạo hình ảnh chậm. Để giải quyết hạn chế này, các nhà phát triển đã giới thiệu các mô hình khuếch tán gia tốc, các khuôn khổ dựa trên khuếch tán không yêu cầu các bước đào tạo thêm hoặc triển khai các chiến lược dự đoán-sửa lỗi và giải pháp bước kích thước thích ứng để tăng tốc độ đầu ra.
Sự khác biệt giữa StreamDiffusion và các khuôn khổ dựa trên khuếch tán truyền thống là trong khi các khuôn khổ sau tập trung chủ yếu vào độ trễ thấp của từng mô hình, thì StreamDiffusion lại giới thiệu một phương pháp cấp đường ống được thiết kế để đạt được thông lượng cao, cho phép khuếch tán tương tác hiệu quả.
StreamDiffusion: Cách Thức Hoạt Động và Kiến Trúc
Đường ống StreamDiffusion là một đường ống khuếch tán thời gian thực được phát triển để tạo ra hình ảnh tương tác và thực tế, và nó sử dụng 6 thành phần chính, bao gồm: Hướng dẫn miễn phí của phân loại dư (RCFG), Chiến lược lô, Bộ lọc tương đồng ngẫu nhiên, Hàng đợi đầu vào-đầu ra, Công cụ gia tốc mô hình với mã hóa tự động và Quy trình tiền tính toán. Hãy cùng thảo luận về các thành phần này chi tiết.
Chiến Lược Lô
Truyền thống, các bước làm sạch nhiễu trong một mô hình khuếch tán được thực hiện tuần tự, dẫn đến sự tăng đáng kể thời gian xử lý của U-Net theo số bước xử lý. Tuy nhiên, để tạo ra hình ảnh có độ trung thực cao, cần tăng số bước xử lý, và khuôn khổ StreamDiffusion giới thiệu Chiến lược lô để vượt qua hạn chế về độ trễ cao trong các khuôn khổ khuếch tán tương tác.
Trong Chiến lược lô, các hoạt động làm sạch nhiễu tuần tự được cấu trúc lại thành các quá trình lô, với mỗi lô tương ứng với một số bước làm sạch nhiễu nhất định, và số bước làm sạch nhiễu này được xác định bởi kích thước của mỗi lô. Nhờ vào cách tiếp cận này, mỗi phần tử trong lô có thể tiến một bước further trong trình tự làm sạch nhiễu bằng cách sử dụng một lần đi qua U-Net duy nhất. Bằng cách triển khai chiến lược lô lặp lại, hình ảnh đầu vào được mã hóa tại thời điểm “t” có thể được chuyển đổi thành kết quả hình ảnh-hình ảnh tại thời điểm “t+n”, do đó tối ưu hóa quá trình làm sạch nhiễu.
Hướng Dẫn Miễn Phí Của Phân Loại Dư
Hướng dẫn miễn phí của phân loại (CFG) là một thuật toán AI thực hiện một loạt các phép tính vector giữa thuật ngữ điều kiện ban đầu và một thuật ngữ điều kiện âm hoặc không điều kiện để tăng cường hiệu ứng của điều kiện ban đầu. Thuật toán này tăng cường hiệu ứng của lời nhắc ngay cả khi cần phải tính toán nhiễu dư âm, nhưng để tính toán nhiễu dư âm, cần phải ghép các biến latent đầu vào riêng lẻ với nhúng điều kiện âm, sau đó truyền các nhúng này qua U-Net tại thời điểm tham chiếu.
Để giải quyết vấn đề này do thuật toán Hướng dẫn miễn phí của phân loại đặt ra, khuôn khổ StreamDiffusion giới thiệu thuật toán Hướng dẫn miễn phí của phân loại dư với mục đích giảm thiểu chi phí tính toán cho sự can thiệp U-Net thêm cho nhúng điều kiện âm. Đầu tiên, đầu vào latent được mã hóa được chuyển đến phân phối nhiễu bằng cách sử dụng các giá trị được xác định bởi lịch trình nhiễu. Khi mô hình nhất quán latent đã được triển khai, thuật toán có thể dự đoán phân phối dữ liệu và sử dụng nhiễu dư CFG để tạo ra phân phối nhiễu tiếp theo.

Hàng Đợi Đầu Vào-Đầu Ra
Vấn đề chính với các khuôn khổ tạo hình ảnh tốc độ cao là các mô块 mạng nơ-ron, bao gồm cả U-Net và VAE. Để tối ưu hóa hiệu suất và tốc độ đầu ra tổng thể, các khuôn khổ tạo hình ảnh di chuyển các quá trình như tiền xử lý hình ảnh và hậu xử lý hình ảnh không yêu cầu xử lý thêm bởi các mô块 mạng nơ-ron ra ngoài đường ống, sau đó chúng được xử lý song song. Hơn nữa, về việc xử lý hình ảnh đầu vào, các hoạt động cụ thể như chuyển đổi định dạng tensor, thay đổi kích thước hình ảnh đầu vào và chuẩn hóa được thực hiện bởi đường ống một cách tỉ mỉ.
Để giải quyết sự chênh lệch về tần suất xử lý giữa thông lượng mô hình và đầu vào của con người, đường ống tích hợp một hệ thống hàng đợi đầu vào-đầu ra cho phép song song hóa hiệu quả, như được minh họa trong hình ảnh dưới đây.

Các tensor đầu vào được xử lý được hàng đợi một cách có hệ thống cho các mô hình khuếch tán, và trong mỗi khung, mô hình lấy tensor mới nhất từ hàng đợi đầu vào và chuyển tensor đó đến mã hóa VAE, từ đó khởi động quá trình tạo hình ảnh. Đồng thời, tensor đầu ra từ giải mã VAE được đưa vào hàng đợi đầu ra. Cuối cùng, dữ liệu hình ảnh được xử lý được truyền đến máy khách hiển thị.
Bộ Lọc Tương Đồng Ngẫu Nhiên
Trong các tình huống mà hình ảnh không thay đổi hoặc chỉ thay đổi một chút mà không có môi trường tĩnh hoặc không có tương tác của người dùng, các hình ảnh đầu vào tương tự nhau được đưa vào U-Net và VAE lặp lại, dẫn đến việc tạo ra các hình ảnh gần như giống hệt và tiêu thụ thêm tài nguyên GPU. Hơn nữa, trong các tình huống liên quan đến đầu vào liên tục, các hình ảnh đầu vào không thay đổi có thể xuất hiện偶尔. Để vượt qua vấn đề này và ngăn chặn việc sử dụng tài nguyên không cần thiết, đường ống StreamDiffusion triển khai một thành phần Bộ lọc tương đồng ngẫu nhiên trong đường ống của nó. Bộ lọc tương đồng ngẫu nhiên đầu tiên tính toán sự tương đồng cosine giữa hình ảnh tham chiếu và hình ảnh đầu vào, và sử dụng điểm số tương đồng cosine để tính toán xác suất bỏ qua các quá trình U-Net và VAE tiếp theo.
Dựa trên điểm số xác suất, đường ống quyết định xem các quá trình tiếp theo như mã hóa VAE, giải mã VAE và U-Net có nên được bỏ qua hay không. Nếu các quá trình này không được bỏ qua, đường ống sẽ lưu hình ảnh đầu vào tại thời điểm đó và đồng thời cập nhật hình ảnh tham chiếu để sử dụng trong tương lai. Cơ chế bỏ qua dựa trên xác suất này cho phép đường ống StreamDiffusion hoạt động đầy đủ trong các tình huống động với sự tương đồng giữa khung hình thấp, trong khi trong các tình huống tĩnh, đường ống hoạt động với sự tương đồng giữa khung hình cao hơn. Cách tiếp cận này giúp bảo tồn tài nguyên tính toán và cũng đảm bảo sử dụng GPU tối ưu dựa trên sự tương đồng của hình ảnh đầu vào.
Quy Trình Tiền Tính Toán
Kiến trúc U-Net cần cả các nhúng điều kiện và các biến latent đầu vào. Truyền thống, các nhúng điều kiện được suy dẫn từ các nhúng lời nhắc vẫn không thay đổi qua các khung hình. Để tối ưu hóa việc suy dẫn từ các nhúng lời nhắc, đường ống StreamDiffusion tiền tính toán các nhúng lời nhắc này và lưu trữ chúng trong một bộ nhớ đệm, sau đó chúng được gọi trong chế độ phát trực tuyến hoặc tương tác. Trong khuôn khổ U-Net, cặp khóa-giá trị được tính toán dựa trên mỗi nhúng lời nhắc được tiền tính toán, và với một số sửa đổi nhỏ trong U-Net, các cặp khóa-giá trị này có thể được tái sử dụng.
Công Cụ Gia Tốc Mô Hình và Mã Hóa Tự Động Nhỏ
Đường ống StreamDiffusion sử dụng TensorRT, một công cụ tối ưu hóa từ Nvidia (NVDA ) cho các giao diện học sâu, để xây dựng các động cơ VAE và U-Net, nhằm tăng tốc độ suy luận. Để đạt được điều này, thành phần TensorRT thực hiện nhiều tối ưu hóa trên mạng nơ-ron được thiết kế để tăng cường hiệu quả và thông lượng cho các khuôn khổ và ứng dụng học sâu.
Để tối ưu hóa tốc độ, StreamDiffusion cấu hình khuôn khổ để sử dụng kích thước đầu vào cố định và kích thước lô cố định để đảm bảo phân bổ bộ nhớ và đồ thị tính toán tối ưu cho một kích thước đầu vào cụ thể, nhằm đạt được thời gian xử lý nhanh hơn.

Hình ảnh trên cung cấp một cái nhìn tổng quan về đường ống suy luận. Đường ống khuếch tán cốt lõi chứa các thành phần U-Net và VAE. Đường ống tích hợp một lô làm sạch nhiễu, bộ nhớ đệm nhiễu mẫu, bộ nhớ đệm nhúng lời nhắc được tiền tính toán và bộ nhớ đệm giá trị lịch trình để tăng cường tốc độ và khả năng tạo hình ảnh trong thời gian thực của đường ống. Bộ lọc tương đồng ngẫu nhiên (SSF) được triển khai để tối ưu hóa việc sử dụng GPU và cũng để kiểm soát việc truyền qua mô hình khuếch tán một cách động.
StreamDiffusion: Thử Nghiệm và Kết Quả
Để đánh giá khả năng của nó, đường ống StreamDiffusion được triển khai trên các khuôn khổ LCM và SD-turbo. TensorRT của Nvidia được sử dụng làm công cụ gia tốc mô hình, và để cho phép hiệu quả nhẹ, đường ống sử dụng thành phần TAESD. Hãy cùng xem đường ống StreamDiffusion hoạt động như thế nào khi so sánh với các khuôn khổ hiện tại.
Đánh Giá Số Lượng
Hình ảnh dưới đây minh họa so sánh hiệu quả giữa U-Net tuần tự ban đầu và thành phần lô làm sạch nhiễu trong đường ống, và như có thể thấy, việc triển khai cách tiếp cận lô làm sạch nhiễu giúp giảm thời gian xử lý đáng kể, gần 50% khi so sánh với các vòng lặp U-Net tuần tự tại các bước làm sạch nhiễu.

Hơn nữa, thời gian suy luận trung bình tại các bước làm sạch nhiễu khác nhau cũng chứng kiến sự tăng tốc đáng kể với các yếu tố tăng tốc khác nhau khi so sánh với các đường ống hiện tại, và kết quả được minh họa trong hình ảnh dưới đây.

Di chuyển tiếp, đường ống StreamDiffusion với thành phần RCFG chứng minh thời gian suy luận thấp hơn khi so sánh với các đường ống bao gồm thành phần CFG truyền thống.

Hơn nữa, tác động của việc sử dụng thành phần RCFG rõ ràng trong các hình ảnh dưới đây khi so sánh với việc sử dụng thành phần CFG.

Như có thể thấy, việc sử dụng CFG làm tăng cường ảnh hưởng của lời nhắc văn bản trong việc tạo hình ảnh, và hình ảnh tạo ra giống với lời nhắc đầu vào nhiều hơn khi so sánh với hình ảnh được tạo ra bởi đường ống mà không sử dụng thành phần CFG. Kết quả được cải thiện hơn nữa với việc sử dụng thành phần RCFG vì ảnh hưởng của lời nhắc đến hình ảnh tạo ra là rất đáng kể khi so sánh với thành phần CFG ban đầu.
Lời Kết
Trong bài viết này, chúng tôi đã thảo luận về StreamDiffusion, một đường ống khuếch tán thời gian thực được phát triển để tạo ra hình ảnh tương tác và thực tế, giải quyết các hạn chế hiện tại của các khuôn khổ dựa trên khuếch tán trong các nhiệm vụ liên quan đến đầu vào liên tục. StreamDiffusion là một phương pháp tiếp cận đơn giản và mới mẻ nhằm chuyển đổi nhiễu tuần tự của hình ảnh ban đầu thành nhiễu批, nhằm mục đích cho phép thông lượng cao và dòng chảy mượt mà. StreamDiffusion hướng đến việc loại bỏ cách tiếp cận truyền thống là chờ đợi và tương tác được sử dụng bởi các khuôn khổ dựa trên khuếch tán hiện có. Lợi ích hiệu quả tiềm năng làm nổi bật tiềm năng của đường ống StreamDiffusion cho các ứng dụng thương mại cung cấp tính toán hiệu suất cao và các giải pháp hấp dẫn cho trí tuệ nhân tạo tạo ra.












