Model dan platform AI
StreamDiffusion: Solusi Pipa untuk Generasi Interaktif Waktu Nyata

Oleh karena potensinya yang luas dan kesempatan komersialisasi, terutama dalam permainan, penyiaran, dan streaming video, Metaverse saat ini merupakan salah satu teknologi yang tumbuh paling cepat. Aplikasi Metaverse modern menggunakan kerangka kerja AI, termasuk penglihatan komputer dan model difusi, untuk meningkatkan realisme mereka. Tantangan signifikan bagi aplikasi Metaverse adalah mengintegrasikan berbagai pipa difusi yang menyediakan latensi rendah dan throughput tinggi, memastikan interaksi efektif antara manusia dan aplikasi ini.
Hari ini, kerangka kerja AI berbasis difusi unggul dalam menciptakan gambar dari prompt teks atau gambar, tetapi gagal dalam interaksi waktu nyata. Keterbatasan ini terutama jelas dalam tugas yang memerlukan input kontinu dan throughput tinggi, seperti grafik permainan video, aplikasi Metaverse, penyiaran, dan streaming video langsung.
Dalam artikel ini, kita akan membahas StreamDiffusion, pipa difusi waktu nyata yang dikembangkan untuk menghasilkan gambar interaktif dan realistis, yang menangani keterbatasan saat ini dari kerangka kerja berbasis difusi dalam tugas yang melibatkan input kontinu. StreamDiffusion adalah pendekatan inovatif yang mengubah penggangguan berurutan dari gambar asli menjadi penggangguan batch, yang bertujuan untuk memungkinkan throughput tinggi dan aliran fluida. Pendekatan ini menjauh dari metode tunggu-dan-interaksi tradisional yang digunakan oleh kerangka kerja berbasis difusi yang ada. Dalam bagian selanjutnya, kita akan membahas kerangka kerja StreamDiffusion secara rinci, menjelajahi kerjanya, arsitektur, dan hasil perbandingan dengan kerangka kerja saat ini. Mari kita mulai.
StreamDiffusion: Pengantar Generasi Interaktif Waktu Nyata
Metaverse adalah aplikasi yang intensif kinerja karena mereka memproses sejumlah besar data, termasuk teks, animasi, video, dan gambar secara real-time untuk menyediakan antarmuka interaktif dan pengalaman khas bagi penggunanya. Aplikasi Metaverse modern bergantung pada kerangka kerja AI, termasuk penglihatan komputer, pemrosesan gambar, dan model difusi, untuk mencapai latensi rendah dan throughput tinggi untuk memastikan pengalaman pengguna yang mulus. Saat ini, sebagian besar aplikasi Metaverse bergantung pada mengurangi kejadian iterasi penggangguan untuk memastikan throughput tinggi dan meningkatkan kemampuan interaktif aplikasi secara real-time. Kerangka kerja ini menggunakan strategi umum yang melibatkan mengubah proses difusi dengan ODE (Persamaan Diferensial Biasa) atau mengurangi model difusi multi-langkah menjadi beberapa langkah atau bahkan satu langkah. Meskipun pendekatan ini memberikan hasil yang memuaskan, itu memiliki beberapa keterbatasan, termasuk fleksibilitas terbatas dan biaya komputasi tinggi.
Di sisi lain, StreamDiffusion adalah solusi pipa yang dimulai dari arah ortogonal dan meningkatkan kemampuan kerangka kerja untuk menghasilkan gambar interaktif secara real-time sambil memastikan throughput tinggi. StreamDiffusion menggunakan strategi sederhana di mana, alih-alih mengganggu input asli, kerangka kerja mengganggu langkah penggangguan. Strategi ini mengambil inspirasi dari pemrosesan asinkron karena kerangka kerja tidak perlu menunggu tahap penggangguan pertama selesai sebelum dapat melanjutkan ke tahap kedua, seperti yang ditunjukkan pada gambar berikut. Untuk menangani masalah frekuensi pemrosesan U-Net dan frekuensi input secara sinkron, kerangka kerja StreamDiffusion mengimplementasikan strategi antrian untuk menyimpan input dan output.

Meskipun pipa StreamDiffusion mencari inspirasi dari pemrosesan asinkron, itu unik dengan caranya sendiri karena mengimplementasikan paralelisme GPU yang memungkinkan kerangka kerja untuk menggunakan satu komponen U-Net untuk mengganggu fitur noise batch. Selain itu, pipa difusi berbasis yang ada menekankan pada prompt yang diberikan dalam gambar yang dihasilkan dengan mengintegrasikan bimbingan bebas klasifikasi, sehingga pipa saat ini dipasangi dengan overhead komputasi berlebihan dan tidak perlu. Untuk memastikan pipa StreamDiffusion tidak mengalami masalah yang sama, itu mengimplementasikan pendekatan RCFG (Residual Classifier-Free Guidance) inovatif yang menggunakan noise residu virtual untuk mengapproximasi kondisi negatif, sehingga memungkinkan kerangka kerja untuk menghitung kondisi noise negatif pada tahap awal proses itu sendiri. Selain itu, pipa StreamDiffusion juga mengurangi persyaratan komputasi pipa difusi tradisional dengan mengimplementasikan strategi filter kesamaan stokastik yang menentukan apakah pipa harus memproses gambar input dengan menghitung kesamaan antara input kontinu.
Kerangka kerja StreamDiffusion dibangun di atas pembelajaran model difusi dan model difusi percepatan. Model difusi dikenal karena kemampuan penghasilan gambar yang luar biasa dan kontrol yang mereka tawarkan. Karena kemampuan mereka, model difusi telah menemukan aplikasi dalam pengeditan gambar, penghasilan teks-ke-gambar, dan penghasilan video. Selain itu, pengembangan model konsisten telah menunjukkan potensi untuk meningkatkan efisiensi pemrosesan sampel tanpa mengorbankan kualitas gambar yang dihasilkan oleh model, yang telah membuka pintu untuk memperluas kemampuan dan efisiensi model difusi dengan mengurangi jumlah langkah sampling. Meskipun sangat mampu, model difusi cenderung memiliki keterbatasan utama: penghasilan gambar yang lambat. Untuk menangani keterbatasan ini, pengembang memperkenalkan model difusi percepatan, kerangka kerja difusi berbasis yang tidak memerlukan langkah pelatihan tambahan atau mengimplementasikan strategi prediktor-korektor dan pemecah solusi ukuran langkah adaptif untuk meningkatkan kecepatan output.
StreamDiffusion: Kerja dan Arsitektur
Pipa StreamDiffusion adalah pipa difusi waktu nyata yang dikembangkan untuk menghasilkan gambar interaktif dan realistis, dan itu menggunakan 6 komponen kunci, yaitu: RCFG atau Residual Classifier Free Guidance, Strategi Batch Stream, Filter Kesamaan Stokastik, antrian input-output, alat percepatan model dengan autoencoder, dan prosedur pra-komputasi. Mari kita bahas komponen-komponen ini secara rinci.
Strategi Batch Stream
Secara tradisional, langkah-langkah penggangguan dalam model difusi dilakukan secara berurutan, yang menghasilkan peningkatan waktu pemrosesan U-Net yang signifikan dengan jumlah langkah pemrosesan. Namun, penting untuk meningkatkan jumlah langkah pemrosesan untuk menghasilkan gambar dengan kualitas tinggi, dan kerangka kerja StreamDiffusion memperkenalkan Strategi Batch Stream untuk mengatasi resolusi latensi tinggi dalam kerangka kerja difusi interaktif.
Dalam Strategi Batch Stream, operasi penggangguan berurutan diubah menjadi proses batch dengan setiap batch sesuai dengan jumlah langkah penggangguan yang telah ditentukan, dan jumlah langkah penggangguan ini ditentukan oleh ukuran setiap batch. Berkat pendekatan ini, setiap elemen dalam batch dapat melanjutkan satu langkah lebih lanjut menggunakan passthrough U-Net tunggal dalam urutan penggangguan. Dengan mengimplementasikan strategi batch stream secara berulang, gambar input yang dienkripsi pada waktu “t” dapat diubah menjadi hasil gambar-ke-gambar pada waktu “t+n”, sehingga mempermudah proses penggangguan.
Residual Classifier Free Guidance
CFG atau Classifier Free Guidance adalah algoritma AI yang melakukan sejumlah perhitungan vektor antara istilah kondisi asli dan istilah kondisi negatif atau tidak kondisi untuk meningkatkan efek kondisi asli. Algoritma ini memperkuat efek prompt bahkan jika untuk menghitung kondisi negatif residu noise, itu perlu memasangkan variabel laten input individu dengan embedding kondisi negatif, diikuti oleh melewati embedding melalui U-Net pada waktu referensi.
Untuk menangani masalah yang ditimbulkan oleh algoritma Classifier Free Guidance, kerangka kerja StreamDiffusion memperkenalkan algoritma Residual Classifier Free Guidance dengan tujuan untuk mengurangi biaya komputasi untuk interferensi U-Net tambahan untuk embedding kondisi negatif. Pertama, input laten yang dienkripsi dipindahkan ke distribusi noise dengan menggunakan nilai yang ditentukan oleh scheduler noise. Setelah model konsistensi laten diimplementasikan, algoritma dapat memprediksi distribusi data, dan menggunakan noise residu CFG untuk menghasilkan distribusi noise berikutnya.

Antrian Input-Output
Masalah utama dengan kerangka kerja penghasilan gambar kecepatan tinggi adalah modul jaringan saraf, termasuk komponen U-Net dan VAE. Untuk memaksimalkan efisiensi dan kecepatan output secara keseluruhan, kerangka kerja penghasilan gambar memindahkan proses seperti pemrosesan gambar sebelum dan sesudah yang tidak memerlukan penanganan tambahan oleh modul jaringan saraf, lalu memprosesnya secara paralel. Selain itu, dalam hal penanganan gambar input, operasi tertentu, termasuk konversi format tensor, pengubahan ukuran gambar input, dan normalisasi, dilakukan oleh pipa dengan hati-hati.
Untuk menangani disparitas dalam frekuensi pemrosesan antara throughput model dan input manusia, pipa mengintegrasikan sistem antrian input-output yang memungkinkan paralelisasi yang efisien, seperti yang ditunjukkan pada gambar berikut.

Tensor input yang diproses pertama kali diantrikan secara sistematis untuk model difusi, dan selama setiap frame, model mengambil tensor paling baru dari antrian input dan meneruskannya ke encoder VAE, sehingga memulai proses penghasilan gambar. Pada saat yang sama, tensor output dari decoder VAE diberikan ke antrian output. Akhirnya, data gambar yang diproses dikirim ke klien rendering.
Filter Kesamaan Stokastik
Dalam skenario di mana gambar tidak berubah atau menunjukkan perubahan minimal tanpa lingkungan statis atau tanpa interaksi pengguna aktif, gambar input yang mirip diberikan berulang kali ke komponen U-Net dan VAE. Pemberian berulang ini menghasilkan gambar yang hampir identik dan konsumsi sumber daya GPU tambahan. Selain itu, dalam skenario yang melibatkan input kontinu, gambar input yang tidak diubah mungkin muncul secara berkala. Untuk mengatasi masalah ini dan mencegah penggunaan sumber daya yang tidak perlu, pipa StreamDiffusion menggunakan komponen Filter Kesamaan Stokastik dalam pipanya. Filter Kesamaan Stokastik pertama-tama menghitung kesamaan kosinus antara gambar referensi dan gambar input, dan menggunakan skor kesamaan kosinus untuk menghitung probabilitas melewati proses U-Net dan VAE berikutnya.
Berdasarkan skor probabilitas, pipa memutuskan apakah proses seperti pengkodean VAE, pengodean VAE, dan U-Net harus dilewati atau tidak. Jika proses ini tidak dilewati, pipa menyimpan gambar input pada saat itu dan memperbarui gambar referensi untuk digunakan di masa depan. Mekanisme penghindaran berbasis probabilitas ini memungkinkan pipa StreamDiffusion untuk beroperasi secara penuh dalam skenario dinamis dengan kesamaan antar frame yang rendah, sedangkan dalam skenario statis, pipa beroperasi dengan kesamaan antar frame yang lebih tinggi. Pendekatan ini membantu dalam menghemat sumber daya komputasi dan memastikan penggunaan GPU yang optimal berdasarkan kesamaan gambar input.
Pra-Komputasi
Arsitektur U-Net memerlukan baik embedding kondisi maupun variabel laten input. Secara tradisional, embedding kondisi dihasilkan dari embedding prompt yang tetap konstan di seluruh frame. Untuk mengoptimalkan penghasilan dari embedding prompt, pipa StreamDiffusion menghitung terlebih dahulu embedding prompt ini dan menyimpannya dalam cache, yang kemudian dipanggil dalam mode streaming atau interaktif. Dalam kerangka kerja U-Net, pasangan kunci-nilai dihitung berdasarkan embedding prompt yang dihitung sebelumnya untuk setiap frame, dan dengan sedikit modifikasi dalam U-Net, pasangan kunci-nilai ini dapat digunakan kembali.
Percepatan Model dan AutoEncoder Kecil
Pipa StreamDiffusion menggunakan TensorRT, toolkit optimasi dari Nvidia (NVDA ) untuk antarmuka pembelajaran dalam, untuk membangun mesin VAE dan U-Net, untuk mempercepat kecepatan inferensi. Untuk mencapai ini, komponen TensorRT melakukan sejumlah optimasi pada jaringan saraf yang dirancang untuk meningkatkan efisiensi dan meningkatkan throughput untuk kerangka kerja dan aplikasi pembelajaran dalam.
Untuk mengoptimalkan kecepatan, StreamDiffusion mengkonfigurasi kerangka kerja untuk menggunakan dimensi input tetap dan ukuran batch statis untuk memastikan alokasi memori yang optimal dan grafik komputasi untuk ukuran input tertentu dalam upaya untuk mencapai waktu pemrosesan yang lebih cepat.

Gambar di atas memberikan gambaran tentang pipa inferensi. Pipa difusi inti berisi komponen U-Net dan VAE. Pipa ini mengintegrasikan batch penggangguan, cache noise sampel, cache embedding prompt yang dihitung sebelumnya, dan cache nilai scheduler untuk meningkatkan kecepatan dan kemampuan pipa untuk menghasilkan gambar secara real-time. Filter Kesamaan Stokastik atau SSF diterapkan untuk mengoptimalkan penggunaan GPU dan juga untuk mengontrol jalur pipa difusi secara dinamis.
StreamDiffusion: Eksperimen dan Hasil
Untuk mengevaluasi kemampuannya, pipa StreamDiffusion diimplementasikan pada kerangka kerja LCM dan SD-turbo. TensorRT oleh NVIDIA digunakan sebagai akselerator model, dan untuk memungkinkan efisiensi ringan, pipa menggunakan komponen TAESD. Mari kita lihat bagaimana pipa StreamDiffusion berperforma ketika dibandingkan dengan kerangka kerja saat ini.
Evaluasi Kuantitatif
Gambar berikut menunjukkan perbandingan efisiensi antara U-Net sekuen dan komponen batch penggangguan dalam pipa, dan seperti yang dapat dilihat, mengimplementasikan pendekatan batch penggangguan membantu mengurangi waktu pemrosesan secara signifikan, sekitar 50%, dibandingkan dengan loop U-Net tradisional pada langkah-langkah penggangguan berurutan.

Lebih lanjut, waktu inferensi rata-rata pada langkah-langkah penggangguan yang berbeda juga mengalami peningkatan yang signifikan dengan faktor percepatan yang berbeda-beda ketika dibandingkan dengan pipa saat ini, dan hasilnya ditunjukkan pada gambar berikut.

Pipa StreamDiffusion dengan komponen RCFG menunjukkan waktu inferensi yang lebih rendah dibandingkan dengan pipa yang menggunakan komponen CFG tradisional.

Lebih lanjut, dampak menggunakan komponen RCFG jelas pada gambar berikut ketika dibandingkan dengan menggunakan komponen CFG.

seperti yang dapat dilihat, penggunaan CFG meningkatkan dampak prompt teks pada penghasilan gambar, dan gambar yang dihasilkan oleh pipa tanpa menggunakan komponen CFG menunjukkan pengaruh prompt yang signifikan dibandingkan dengan komponen CFG asli. Hasilnya ditingkatkan lebih lanjut dengan menggunakan komponen RCFG karena pengaruh prompt pada gambar yang dihasilkan sangat signifikan dibandingkan dengan komponen CFG asli.
Pemikiran Akhir
Dalam artikel ini, kita telah membahas StreamDiffusion, pipa difusi waktu nyata yang dikembangkan untuk menghasilkan gambar interaktif dan realistis, yang menangani keterbatasan saat ini dari kerangka kerja berbasis difusi dalam tugas yang melibatkan input kontinu. StreamDiffusion adalah pendekatan sederhana dan inovatif yang bertujuan untuk mengubah penggangguan berurutan dari gambar asli menjadi penggangguan batch. StreamDiffusion bertujuan untuk memungkinkan throughput tinggi dan aliran fluida dengan menghilangkan pendekatan tunggu-dan-interaksi tradisional yang dipilih oleh kerangka kerja berbasis difusi saat ini. Peningkatan efisiensi yang potensial menyoroti potensi pipa StreamDiffusion untuk aplikasi komersial yang menawarkan komputasi kinerja tinggi dan solusi yang menarik untuk AI generatif.












