Trí tuệ nhân tạo
StreamDiffusion: Giải pháp cấp đường ống để tạo tương tác theo thời gian thực

Do tiềm năng to lớn và cơ hội thương mại hóa, đặc biệt là trong lĩnh vực chơi game, phát sóng và truyền phát video, Metaverse hiện 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ác mô hình khuếch tán và thị giác máy tính, để nâng cao tính hiện thực của chúng. Một thách thức đáng kể đối với các ứng dụng Metaverse là việc tích hợp nhiều đường ống khuếch tán khác nhau mang lại độ trễ thấp và thông lượng cao, đảm bảo sự tương tác hiệu quả giữa con người và các ứng dụng này.
Các khung AI dựa trên sự khuếch tán ngày nay vượt trội trong việc tạo ra hình ảnh từ lời nhắc bằng văn bản hoặc hình ảnh nhưng lại thiếu khả năng tương tác trong thời gian thực. Hạn chế này đặc biệt rõ ràng trong các tác 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à phát video trực tiếp.
Trong bài viết này, chúng ta sẽ thảo luận về StreamDiffusion, một đường truyền khuếch tán thời gian thực được phát triển để tạo ra các hình ảnh tương tác và chân thực, giải quyết các hạn chế hiện tại của 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 cải tiến giúp chuyển đổi nhiễu tuần tự của hình ảnh gốc thành khử nhiễu hàng loạt, nhằm mục đích mang lại thông lượng cao và dòng chất lỏng. Cách tiếp cận này khác xa với phương pháp chờ và tương tác truyền thống được sử dụng bởi khung dựa trên khuếch tán. Trong các phần sắp tới, chúng ta sẽ đi sâu vào chi tiết về khung StreamDiffusion, khám phá hoạt động, kiến trúc và kết quả so sánh của nó với các khung công tác hiện đại nhất. Bắt đầu nào.
StreamDiffusion: Giới thiệu về thế hệ tương tác thời gian thực
Metaverse là các ứng dụng chuyên sâu về hiệu suất vì chúng xử lý một lượng lớn dữ liệu bao gồm văn bản, hoạt ảnh, video và hình ảnh trong thời gian thực để cung cấp cho người dùng trải nghiệm và giao diện tương tác đặc trưng của nó. Các ứng dụng Metaverse hiện đại dựa trên các khung dựa trên AI bao gồm thị giác 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 nhằm đảm bảo trải nghiệm người dùng liền mạch. Hiện tại, phần lớn các ứng dụng Metaverse dựa vào việc giảm sự xuất hiện của các lần lặp khử nhiễu để đảm bảo thông lượng cao và nâng cao khả năng tương tác của ứng dụng trong thời gian thực. Các khung này lựa chọn một chiến lược chung liên quan đến việc định khung lại quá trình khuếch tán bằng ODE thần kinh (Phương trình vi phân thông thường) hoặc giảm 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í một bước duy nhất. Mặc dù phương pháp này mang lại kết quả khả quan nhưng nó có những hạn chế nhất định bao gồm tính linh hoạt hạn chế 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ừ hướng trực giao và nâng cao khả năng của khung để tạo ra hình ảnh tương tác trong thời gian thực trong khi vẫn đảm bảo thông lượng cao. StreamDiffusion sử dụng một chiến lược đơn giản, trong đó thay vì khử nhiễu đầu vào ban đầu, khung sẽ thực hiện bước khử nhiễu theo nhóm. Chiến lược này lấy cảm hứng từ quá trình xử lý không đồng bộ vì khung không phải đợi giai đoạn khử nhiễu đầu tiên hoàn thành trước khi có thể chuyển sang giai đoạn thứ hai, như minh họa trong hình ảnh sau đây. Để giải quyết đồng bộ vấn đề về tần số xử lý U-Net và tần số đầu vào, khung StreamDiffusion thực hiện chiến lược xếp hàng để lưu vào bộ đệm đầu vào và đầu ra.
Mặc dù đường dẫn StreamDiffusion lấy cảm hứng từ quá trình xử lý không đồng bộ, nhưng nó độc đáo theo cách riêng khi triển khai tính năng song song GPU cho phép khung sử dụng một thành phần UNet duy nhất để khử nhiễu tính năng tiềm ẩn nhiễu theo đợt. Hơn nữa, hiện có đường ống dựa trên khuếch tán nhấn mạnh vào các lời nhắc nhất định trong các hình ảnh được tạo bằng cách kết hợp hướng dẫn không có bộ phân loại, do đó các quy trình hiện tại bị trang bị các chi phí tính toán dư thừa và quá mức. Để đảm bảo quy trình StreamDiffusion không gặp phải các vấn đề tương tự, nó triển khai một phương pháp RCFG cải tiến hoặc Hướng dẫn không phân loại dư sử dụng nhiễu dư ảo để ước tính các điều kiện tiêu cực, do đó cho phép khung tính toán các điều kiện nhiễu âm trong giai đoạn đầu. các giai đoạn của chính quá trình đó. Ngoài ra, đường ống StreamDiffusion cũng giảm yêu cầu tính toán của đường ống khuếch tán truyền thống bằng cách triển khai chiến lược lọc tương tự ngẫu nhiên để xác định xem đường ống có nên xử lý hình ảnh đầu vào hay không bằng cách tính toán độ tương tự giữa các đầu vào liên tục.
Khung StreamDiffusion được xây dựng dựa trên sự học hỏi của 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 được biết đến với khả năng tạo hình ảnh đặc biệt và khả năng kiểm soát mà chúng mang lại. Nhờ khả năng của mình, các mô hình khuếch tán đã tìm thấy ứng dụng của chúng trong chỉnh sửa hình ảnh, tạo văn bản thành hình ảnh và tạo video. Hơn nữa, việc phát triển các mô hình nhất quán đã chứng minh tiềm năng nâng cao hiệu quả xử lý mẫu mà không ảnh hưởng đến chất lượng hình ảnh do mô hình tạo ra đã mở ra những cánh cửa mới để mở rộng khả năng ứng dụ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ù có khả năng cực kỳ cao nhưng các mô hình khuếch tán có xu hướng có một hạn chế lớn: 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 tăng tốc, các khung dựa trên khuếch tán không yêu cầu các bước đào tạo bổ sung hoặc thực hiện các chiến lược dự đoán-sửa lỗi và bộ giải kích thước bước thích ứng để tăng tốc độ đầu ra.
Yếu tố khác biệt giữa StreamDiffusion và các khung dựa trên khuếch tán truyền thống là trong khi khung sau tập trung chủ yếu vào độ trễ thấp của các mô hình riêng lẻ, thì khung trước giới thiệu cách tiếp cận ở 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: Làm việc và Kiến trúc
Đường dẫn StreamDiffusion là một đường dẫn khuếch tán thời gian thực được phát triển để tạo ra các hình ảnh tương tác và chân thực, đồng thời sử dụng 6 thành phần chính là: RCFG hoặc Hướng dẫn miễn phí về bộ phân loại dư, chiến lược Luồng hàng loạt, Bộ lọc tương tự ngẫu nhiên, hàng đợi đầu vào-đầu ra, các công cụ tăng tốc mô hình với bộ mã hóa tự động và quy trình tính toán trước. Hãy nói chi tiết về các thành phần này.
Chiến lược truyền phát hàng loạt
Theo truyền thống, các bước khử nhiễu trong một mô hình khuếch tán được thực hiện tuần tự, dẫn đến sự gia tăng đáng kể thời gian xử lý U-Net đối với số bước xử lý. Tuy nhiên, điều cần thiết là phải tăng số bước xử lý để tạo ra hình ảnh có độ trung thực cao và khung StreamDiffusion giới thiệu chiến lược Stream Batch để khắc phục độ phân giải có độ trễ cao trong khung khuếch tán tương tác.
Trong chiến lược Stream Batch, các hoạt động khử nhiễu tuần tự được cơ cấu lại thành các quy trình theo đợt với mỗi lô tương ứng với số bước khử nhiễu được xác định trước và số bước khử nhiễu này được xác định theo kích thước của mỗi lô. Nhờ cách tiếp cận này, mỗi phần tử trong lô có thể tiến thêm một bước nữa bằng cách sử dụng UNet chuyển tiếp duy nhất trong trình tự khử nhiễu. Bằng cách triển khai lặp đi lặp lại chiến lược truyền phát hàng loạt, hình ảnh đầu vào được mã hóa ở dấu thời gian “t” có thể được chuyển đổi thành hình ảnh tương ứng thành kết quả hình ảnh ở dấu thời gian “t+n”, do đó đơn giản hóa quá trình khử nhiễu.
Hướng dẫn miễn phí về phân loại dư lượng
CFG hoặc Hướng dẫn miễn phí của bộ phân loại là một thuật toán AI thực hiện một loạt các phép tính vectơ giữa thuật ngữ điều hòa ban đầu và thuật ngữ điều hòa tiêu cực hoặc không điều hòa để nâng cao hiệu quả của điều hòa ban đầu. Thuật toán tăng cường tác động của lời nhắc mặc dù để tính toán nhiễu dư điều hòa âm, cần phải ghép các biến tiềm ẩn đầu vào riêng lẻ với khả năng nhúng điều hòa âm, sau đó chuyển các phần nhúng qua UNet 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 Trình phân loại đặt ra, khung StreamDiffusion giới thiệu thuật toán Hướng dẫn miễn phí của Trình phân loại dư nhằm mục đích giảm chi phí tính toán đối với nhiễu UNet bổ sung cho việc nhúng điều hòa tiêu cực. Đầu tiên, đầu vào tiềm ẩn được mã hóa được chuyển sang phân phối nhiễu bằng cách sử dụng các giá trị được xác định bởi bộ lập lịch nhiễu. Khi mô hình nhất quán tiềm ẩn đã đượ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 phân phối nhiễu ở bước tiếp theo.
Hàng đợi đầu vào đầu ra
Vấn đề chính với các khung tạo hình ảnh tốc độ cao là các mô-đun mạng thần kinh của chúng bao gồm các thành phần UNet và VAE. Để tối đa hóa hiệu quả và tốc độ đầu ra tổng thể, các khung tạo hình ảnh di chuyển các quy trình như hình ảnh xử lý trước và sau không yêu cầu xử lý bổ sung bởi các mô-đun mạng thần kinh bên ngoài đường ống, đăng chúng được xử lý song song. Hơn nữa, về mặt xử lý hình ảnh đầu vào, các thao tác cụ thể bao gồm chuyển đổi định dạng tensor, thay đổi kích thước hình ảnh đầu vào và chuẩn hóa đều được thực hiện một cách tỉ mỉ bởi đường ống.
Để giải quyết sự chênh lệch về tần số xử lý giữa thông lượng mô hình và đầu vào của con người, quy trình tích hợp hệ thống xếp hàng đầu vào-đầu ra cho phép song song hóa hiệu quả như minh họa trong hình ảnh sau.
Các tensor đầu vào đã xử lý trước tiên được xếp hàng đợi một cách có phương pháp cho các mô hình Khuếch tán và trong mỗi khung hình, mô hình sẽ truy xuất tensor gần đây nhất từ hàng đợi đầu vào và chuyển tiếp tensor tới bộ mã hóa VAE, từ đó bắt đầu quá trình tạo hình ảnh. Đồng thời, đầu ra tensor từ bộ giải mã VAE được đưa vào hàng đợi đầu ra. Cuối cùng, dữ liệu hình ảnh đã xử lý sẽ được truyền đến máy khách kết xuất.
Bộ lọc tương tự ngẫu nhiên
Trong các trường hợp mà hình ảnh không thay đổi hoặc hiển thị những thay đổi tối thiểu khi không có môi trường tĩnh hoặc không có sự tương tác tích cực của người dùng, các hình ảnh đầu vào giống nhau sẽ được đưa liên tục vào các thành phần UNet và VAE. Việc cung cấp lặp lại dẫn đến việc tạo ra các hình ảnh gần giống nhau và tiêu tốn 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, đôi khi hình ảnh đầu vào chưa được sửa đổi có thể xuất hiện. Để khắc phục sự cố này và ngăn chặn việc sử dụng tài nguyên không cần thiết, đường dẫn StreamDiffusion sử dụng thành phần Bộ lọc tương tự ngẫu nhiên trong đường dẫn của nó. Bộ lọc tương tự ngẫu nhiên trước tiên tính toán độ tương tự cosin giữa hình ảnh tham chiếu và hình ảnh đầu vào, đồng thời sử dụng điểm tương tự cosine để tính xác suất bỏ qua các quy trình UNet và VAE tiếp theo.
Trên cơ sở điểm xác suất, quy trình quyết định xem có nên bỏ qua các quy trình tiếp theo như Mã hóa VAE, Giải mã VAE và U-Net hay không. Nếu các quá trình này không bị bỏ qua, quy trình 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ẽ được 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 dẫn StreamDiffusion hoạt động hoàn toàn trong các tình huống động với độ tương tự giữa các khung thấp trong khi ở các tình huống tĩnh, đường dẫn hoạt động với độ tương tự giữa các khung 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ự giống nhau của hình ảnh đầu vào.
Tính toán trước
Kiến trúc UNet cần cả phần nhúng điều hòa cũng như các biến tiềm ẩn đầu vào. Theo truyền thống, các phần nhúng có điều kiện có nguồn gốc từ các phần nhúng nhanh chóng không đổi trên các khung. Để tối ưu hóa nguồn gốc từ các nội dung nhúng nhắc nhở, quy trình StreamDiffusion đã tính toán trước các nội dung nhúng nhắc nhở này và lưu trữ chúng trong bộ nhớ đệm, sau đó được gọi ở chế độ phát trực tuyến hoặc tương tác. Trong khung UNet, cặp Khóa-Giá trị được tính toán trên cơ sở nhúng lời nhắc được tính toán trước của mỗi khung và với những sửa đổi nhỏ trong U-Net, các cặp Khóa-Giá trị này có thể được sử dụng lại.
Tăng tốc mô hình và Bộ mã hóa tự động nhỏ
Quy trình StreamDiffusion sử dụng TensorRT, một bộ công cụ tối ưu hóa của Nvidia cho các giao diện học sâu, để xây dựng các công cụ VAE và UNet 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 thần kinh được thiết kế để tăng hiệu quả và nâng cao thông lượng cho các ứng dụng và khung học sâu.
Để tối ưu hóa tốc độ, StreamDiffusion định cấu hình khung để sử dụng các kích thước đầu vào cố định và kích thước lô tĩnh nhằm đảm bảo phân bổ bộ nhớ và biểu đồ tính toán tối ưu cho kích thước đầu vào cụ thể nhằm cố gắng đạt được thời gian xử lý nhanh hơn.
Hình trên cung cấp cái nhìn tổng quan về đường dẫn suy luận. Đường ống khuếch tán lõi chứa các thành phần UNet và VAE. Quy trình kết hợp một lô khử nhiễu, bộ đệm tiếng ồn được lấy mẫu, bộ đệm nhúng nhắc nhở được tính toán trước và bộ đệm giá trị bộ lập lịch để nâng cao tốc độ và khả năng tạo hình ảnh trong thời gian thực của quy trình. Bộ lọc tương tự ngẫu nhiên hoặc SSF được triển khai để tối ưu hóa việc sử dụng GPU và cũng để tự động chuyển mô hình khuếch tán.
StreamDiffusion : Thử nghiệm và kết quả
Để đánh giá khả năng của nó, đường dẫn StreamDiffusion được triển khai trên khung LCM và SD-turbo. TensorRT của NVIDIA được sử dụng làm công cụ tăng tốc mô hình và để tạo ra VAE hiệu quả nhẹ, quy trình sử dụng thành phần TAESD. Bây giờ chúng ta hãy xem đường dẫn StreamDiffusion hoạt động như thế nào khi so sánh với các khung công nghệ hiện đại nhất.
Đánh giá định lượng
Hình dưới đây minh họa sự so sánh hiệu quả giữa UNet tuần tự ban đầu và các thành phần lô khử nhiễu trong đường ống, và như có thể thấy, việc triển khai phương pháp khử nhiễu theo lô giúp giảm đáng kể thời gian xử lý gần 50% khi so sánh với UNet truyền thống vòng lặp ở các bước khử nhiễu tuần tự.
Hơn nữa, thời gian suy luận trung bình ở các bước khử nhiễu khác nhau cũng chứng kiến sự gia tăng đá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 đại và kết quả được thể hiện trong hình ảnh sau đây.
Tiếp theo, quy trình StreamDiffusion với thành phần RCFG thể hiện ít thời gian suy luận hơn khi so sánh với các quy trình 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 được thể hiện rõ trong các hình ảnh sau đâ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 tăng cường tác động của lời nhắc văn bản trong việc tạo hình ảnh và hình ảnh giống với lời nhắc đầu vào hơn rất nhiều khi so sánh với các hình ảnh do quy trình tạo ra mà không sử dụng thành phần CFG. Kết quả được cải thiện hơn nữa khi sử dụng thành phần RCFG vì ảnh hưởng của lời nhắc đến hình ảnh được tạo ra là khá đáng kể khi so sánh với thành phần CFG ban đầu.
.
Trong bài viết này, chúng ta đã nói về StreamDiffusion, một quy trình khuếch tán theo thời gian thực được phát triển để tạo ra hình ảnh tương tác và chân thực, đồng thời giải quyết các hạn chế hiện tại do các khung dựa trên khuếch tán đặt ra đối với các nhiệm vụ liên quan đến đầu vào liên tục. StreamDiffusion là một cách tiếp cận đơn giản và mới lạ nhằm mục đích chuyển đổi nhiễu tuần tự của hình ảnh gốc thành khử nhiễu hàng loạt. StreamDiffusion nhằm mục đích cho phép các luồng chất lỏng và thông lượng cao bằng cách loại bỏ phương pháp tiếp cận tương tác và chờ đợi truyền thống được lựa chọn bởi các khung dựa trên khuếch tán hiện tại. Mức tăng 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 các giải pháp hấp dẫn và tính toán hiệu năng cao cho AI tổng hợp.