Memahami AI visual generatif multimodal

VVercel
Internet TechnologyAdvertising/MarketingPhotography/Art

Transcript

00:00:00Senang melihat begitu banyak orang di sini.
00:00:03Seperti yang sudah saya sampaikan di awal,
00:00:06saya akan mengajak Anda menyelami Flux,
00:00:09keluarga model kami untuk menghasilkan dan mengedit gambar.
00:00:14Saya sudah — apakah ini berfungsi?
00:00:16Saya Andy, salah satu pendiri Black Force Labs.
00:00:20Sebelum saya mulai dengan modelnya,
00:00:22saya ingin memberikan gambaran umum tentang apa yang kami lakukan.
00:00:27Di Black Force Labs,
00:00:29kami percaya bahwa media visual akan menjadi antarmuka utama komunikasi manusia di masa depan.
00:00:36Kami melihat diri kami sebagai penyedia infrastruktur utama untuk mendukung semua gambar dan video yang akan digunakan manusia untuk berinteraksi satu sama lain,
00:00:48dan tidak hanya apa yang dapat ditangkap kamera,
00:00:52tetapi jauh melampaui itu.
00:00:54Dengan pemikiran tersebut,
00:00:56kami memulai perusahaan pada Agustus 2024.
00:00:59Sejak saat itu,
00:01:00kami telah berkembang menjadi 45 karyawan,
00:01:04dan kami tersebar di dua kantor pusat.
00:01:06Kantor pusat utama berada di Freiburg,
00:01:09Black Forest,
00:01:10Jerman,
00:01:11dan kami juga memiliki kantor di SF.
00:01:14Sejak kami merilis keluarga model pembuatan gambar kami,
00:01:18Flux,
00:01:18pada Agustus 2024 saat kami memulai perusahaan,
00:01:22kami selalu menyusun rilis dalam tiga tingkatan berbeda,
00:01:26dan kami terus-menerus mengembangkan keluarga model ini.
00:01:31Tingkatan-tingkatan tersebut adalah sebagai berikut.
00:01:35Kami memiliki model Pro.
00:01:36Model-model ini sangat kuat dan tercepat yang kami tawarkan.
00:01:41Model-model ini hanya tersedia melalui VFL API dan juga melalui beberapa mitra inferensi seperti,
00:01:48misalnya,
00:01:49File dan Replicate.
00:01:50Saya rasa Anda juga mengenal mereka.
00:01:53Model-model ini sangat mudah diintegrasikan dan dapat diskalakan ke volume besar hampir secara instan..
00:02:03Ini adalah tingkatan pertama,
00:02:05tetapi seperti yang mungkin sebagian dari Anda tahu,
00:02:08saya dan para pendiri saya memiliki akar yang sangat kuat dalam sumber terbuka,
00:02:12mirip dengan,
00:02:13saya rasa,
00:02:14pendiri yang mengundang kami hari ini.
00:02:16Kami juga adalah pengembang asli di balik Stable Diffusion.
00:02:19Kami masih berpegang pada prinsip itu.
00:02:22Kami menyukai komunitas sumber terbuka,
00:02:24dan itulah mengapa kami juga menawarkan model dengan bobot terbuka dan sumber terbuka..
00:02:29Kami memiliki model Flux Dev.
00:02:31Model-model ini tersedia secara publik untuk diunduh,
00:02:35untuk diotak-atik.
00:02:36Model-model ini sepenuhnya dapat disesuaikan dan menawarkan banyak fleksibilitas bagi siapa saja yang ingin menggunakannya.
00:02:44Terakhir, kami memiliki model Flux Schnell.
00:02:47Model-model ini sepenuhnya sumber terbuka dan,
00:02:50dalam arti tertentu,
00:02:52merupakan titik masuk yang sempurna ke dalam ekosistem Flux.
00:02:56Berbicara tentang ekosistem,
00:02:58jika Anda melihat Model Atlas di Hugging Face,
00:03:01yang memvisualisasikan,
00:03:02menurut saya,
00:03:03model dasar sumber terbuka yang paling banyak digunakan di berbagai domain,
00:03:08kita sebenarnya dapat melihat bahwa model tunggal terbesar di Hugging Face yang memiliki ekosistem terbesar yang melekat padanya adalah model Flux Dev kami.
00:03:19Hal itu cukup menunjukkan bahwa Flux telah menjadi standar untuk pembuatan gambar terbuka.
00:03:25Jelas,
00:03:25kami berupaya untuk lebih memajukan atau memperluas distribusi kami di masa depan.
00:03:31Cukup sekian tentang perusahaan.
00:03:33Coba saya lihat apakah masih belum berfungsi.
00:03:36Bagaimanapun.
00:03:37Sekarang untuk bagian utama dari pembicaraan ini..
00:03:41Saya ingin menyelami Flux bersama Anda,
00:03:44terutama model terbaru kami,
00:03:46Flux Context,
00:03:47yang menyatukan pembuatan gambar dari teks dan pengeditan gambar.
00:03:52Hari ini saya ingin membahas bagaimana menyatukan ini..
00:03:56Beberapa kata sebelum itu.
00:03:58Menurut saya,
00:03:59sangat penting untuk memiliki model gabungan ini karena jelas pembuatan gambar memiliki banyak aplikasi menarik dan kita telah melihatnya dalam setahun terakhir,
00:04:09tetapi pengeditan gambar hingga tahun ini belum mengikuti kecepatan pengembangan yang sama.
00:04:15Pengeditan gambar sebenarnya adalah kasus penggunaan yang sangat penting.
00:04:20Ini memungkinkan kita untuk mengulang gambar yang sudah ada dan,
00:04:24menurut saya,
00:04:25memberikan tingkat kontrol tambahan kepada orang-orang untuk benar-benar memodifikasi gambar dengan tepat dan sebagainya.
00:04:33Ini sangat penting.
00:04:34Dengan Flux Context,
00:04:35kami telah menciptakan momen penting untuk pengeditan gambar.
00:04:39Model ini dirilis pada Juni 2025.
00:04:42Ini adalah model yang menggabungkan pembuatan gambar dengan fitur pengeditan seperti konsistensi karakter,
00:04:49referensi gaya,
00:04:50pengeditan lokal,
00:04:51dan semua itu dengan kecepatan mendekati waktu nyata.
00:04:54Kita akan melihatnya nanti..
00:04:57Sebagai contoh yang bagus,
00:04:59saya membawakan Anda deretan gambar ini.
00:05:01Dari kiri ke kanan, kita mulai dengan gambar masukan.
00:05:04Kemudian kita dapat meminta model untuk menghapus objek ini dari wajahnya dan kemudian kita dapat menempatkannya dalam konteks yang sama sekali baru sambil menjaga konsistensi karakter.
00:05:16Ini sangat penting.
00:05:17Ada banyak pekerjaan yang dilakukan dalam fine-tuning sebelumnya untuk benar-benar mendapatkan konsistensi karakter semacam ini ke dalam model berdasarkan model teks-ke-gambar yang tersedia secara publik,
00:05:29tetapi pengeditan gambar instan ini memungkinkan kami untuk menghilangkan semua fine-tuning itu,
00:05:35yang selalu sedikit melelahkan,
00:05:37menurut saya.
00:05:38Ini sebenarnya sangat menakjubkan bahwa sekarang ini hanya membutuhkan empat detik atau semacamnya.
00:05:44Akhirnya, kita bisa mengubah pemandangan.
00:05:46Dalam kasus ini,
00:05:47gambar paling kanan,
00:05:48kita mengubahnya menjadi pemandangan musim dingin.
00:05:51Keren.
00:05:52Berikut adalah beberapa contoh lagi apa yang juga bisa dilakukan.
00:05:56Ini tidak hanya bagus untuk pengeditan yang konsisten dengan karakter atau semacamnya,
00:06:01tetapi juga sangat bagus untuk transfer gaya.
00:06:04Kita melihatnya di sisi kiri.
00:06:05Kita mengambil gaya dari gambar masukan dan memetakannya ke konten baru atau kita bisa melakukan hal-hal seperti pengeditan teks,
00:06:13hanya mengubah Montreal menjadi Freiburg sambil menjaga konsistensi font.
00:06:18Semua ini digabungkan dalam satu model dan Anda dapat berinteraksi dengannya hanya melalui antarmuka teks yang sangat sederhana.
00:06:25Keren.
00:06:26Sangat penting,
00:06:27model ini tidak hanya model umum,
00:06:29tetapi juga sangat baik dalam memecahkan masalah bisnis tertentu yang penting dan menarik.
00:06:34Misalnya,
00:06:35di contoh kiri ini,
00:06:36kita bisa mengekstrak rok ini dari gambar 'in-the-wild' dan kita mendapatkan foto produk dari benda ini serta zoom-in hampir secara instan,
00:06:44lagi-lagi,
00:06:45dalam hitungan detik.
00:06:46Ini,
00:06:47sebelum model pengeditan ini membutuhkan waktu berjam-jam,
00:06:50berhari-hari,
00:06:51atau bahkan tidak mungkin dilakukan.
00:06:53Mirip dengan di sisi kanan ini,
00:06:55kita bisa mendapatkan dari sketsa ke keluaran yang sepenuhnya dirender dalam beberapa detik.
00:07:01Keren.
00:07:01Seperti yang sudah saya sebutkan,
00:07:03Flux Context menggabungkan teks-ke-gambar dan pengeditan gambar.
00:07:07Kita baru saja melihat beberapa contoh.
00:07:10Mari kita lihat secara singkat apa arti ini dalam hal pipeline model yang perlu Anda lakukan.
00:07:15Di sini kita melihat pipeline teks-ke-gambar klasik.
00:07:18Cukup sederhana.
00:07:19Kita semua tahu itu.
00:07:21Kita menggunakan prompt teks.
00:07:22Kita memasukkannya melalui model.
00:07:24Model kemudian melakukan keajaiban.
00:07:27Saya akan menjelaskan kepada Anda cara membuat model semacam itu sebentar lagi.
00:07:31Kemudian kita mendapatkan gambar yang,
00:07:34semoga,
00:07:34jika modelnya bagus,
00:07:35mengikuti prompt teks masukan kita.
00:07:37Jika Anda melihat pengeditan gambar,
00:07:40tampilannya sedikit berbeda.
00:07:41Kita mulai dengan sebuah gambar,
00:07:43yang kita tunjukkan kepada model,
00:07:45dan kemudian kita tidak menambahkan instruksi teks yang menggambarkan seluruh adegan,
00:07:50tetapi hanya perubahan pada gambar tersebut.
00:07:53Di sini kita memiliki dua kondisi.
00:07:55Bagian pertama, kita hanya memiliki lebih banyak masukan.
00:07:59Contoh pertama, kita hanya memiliki satu masukan.
00:08:02Sekarang kita menjelaskan perubahan dan model kemudian harus memodifikasi gambar sesuai dengan perubahan tersebut.
00:08:09Beberapa bagian,
00:08:10seperti gereja di sini,
00:08:11harus tetap sama setelah pengeditan.
00:08:13Yang lain tidak.
00:08:14Inilah yang dilakukan model pengeditan ini.
00:08:17Ini adalah tugas yang cukup berbeda.
00:08:19Menggabungkan ini ke dalam satu model sebenarnya sangat bagus karena Anda bisa melakukan segalanya.
00:08:25Anda bisa menghasilkan gambar,
00:08:27lalu mengeditnya setelah itu,
00:08:29dan mendapatkan lebih banyak fleksibilitas.
00:08:31Saya sudah menyebutkan bahwa sebelum kami merilis model pengeditan ini,
00:08:36atau sebelum kami melihat model pengeditan umum ini,
00:08:39ada banyak pekerjaan yang dilakukan pada fine-tuning model teks-ke-gambar untuk mendapatkan tingkat kontrol semacam ini ke dalam model.
00:08:47Tapi ini sekarang tidak lagi diperlukan.
00:08:49Kita bisa melakukan ini secara instan.
00:08:52Ini hanya mengurangi waktu yang Anda butuhkan untuk mendapatkan hasil yang bagus secara signifikan.
00:08:58Jadi, ini dia dalam hal pipeline.
00:09:00Sekarang,
00:09:00mari kita lihat bagaimana kita sebenarnya bisa melatih model-model ini.
00:09:04Dan ada algoritma yang sangat penting yang ingin saya bicarakan.
00:09:08Algoritma yang memungkinkan kita melatih model-model ini disebut Latent Flow Matching,
00:09:14yang terdiri dari dua aspek,
00:09:15Latent dan Flow Matching,
00:09:17dan saya ingin sedikit menjelaskan keduanya..
00:09:24Mari kita mulai dengan Latent.
00:09:26Ini berasal dari pemodelan generatif laten.
00:09:28Ini adalah algoritma yang saya dan para pendiri saya temukan hampir lima tahun lalu.
00:09:33Untuk menjelaskan apa artinya ini,
00:09:35mari kita lihat contoh berikut.
00:09:37Apa yang saya visualisasikan di sini pada dasarnya adalah dua gambar,
00:09:40dan bagi kita,
00:09:41keduanya terlihat sama persis.
00:09:43Yang kiri adalah JPEG,
00:09:44dan yang kanan adalah gambar yang sama dalam format PNG.
00:09:47Jadi yang kiri adalah perkiraan dari yang kanan,
00:09:50tetapi kita tidak melihat perbedaan apa pun..
00:09:53Atau adakah yang melihat perbedaan pada kedua gambar ini?
00:09:57Saya rasa tidak.
00:09:58Oke,
00:09:59sekarang mari kita lihat ukuran file dari gambar-gambar ini.
00:10:03Ukuran file JPEG sebenarnya hampir satu tingkat besaran lebih kecil daripada ukuran file PNG.
00:10:10Ini cukup luar biasa,
00:10:11dan kita semua tahu bagaimana kompresi gambar bekerja,
00:10:15tetapi menyadari bahwa kita dapat menghapus banyak informasi dari sebuah gambar tanpa menyadarinya adalah hal yang cukup luar biasa,
00:10:25menurut saya..
00:10:26Jadi,
00:10:27tampaknya ada banyak informasi dalam sebuah gambar yang tidak dapat kita rasakan dengan mata manusia kita.
00:10:34Cara lain untuk memvisualisasikan ini adalah dengan memplot kesamaan persepsi sebuah gambar (misalnya,
00:10:41PNG) dan perkiraannya (misalnya,
00:10:43JPEG) terhadap ukuran file.
00:10:45Ketika melakukan ini, kita mendapatkan plot ini.
00:10:48Ini adalah plot konseptual,
00:10:50jadi ini tidak nyata,
00:10:52tetapi secara konseptual terlihat seperti ini.
00:10:55Kesamaan persepsi meningkat dengan cepat dan kemudian tetap pada tingkat konstan untuk hampir seluruh ukuran file.
00:11:03Inilah yang dimanfaatkan oleh algoritma kompresi lossy seperti JPEG,
00:11:08dan Anda mungkin bertanya sekarang apa hubungannya ini dengan pemodelan generatif?
00:11:13Ini menunjukkan kepada kita bahwa untuk sinyal persepsi,
00:11:17atau sinyal alami,
00:11:19seperti gambar (untuk audio sebenarnya sama),
00:11:22agar terlihat nyata,
00:11:23atau dipersepsikan sebagai nyata.
00:11:25Kita tidak perlu memodelkan semua detail frekuensi tinggi yang tidak dapat kita rasakan,
00:11:31dan oleh karena itu,
00:11:33melatih model generatif dalam ruang piksel pada semua detail frekuensi tinggi ini sebenarnya akan menjadi pemborosan komputasi dan waktu yang besar,
00:11:43karena model akan belajar untuk merepresentasikan aspek-aspek yang bahkan tidak kita rasakan,
00:11:50jadi tidak ada gunanya mempelajari ini,
00:11:52bukan?
00:11:53Dan itulah inti dari pemodelan generatif laten.
00:11:56Jadi,
00:11:57alih-alih melatih model generatif dalam ruang piksel langsung pada gambar,
00:12:02kita mempelajari model kompresi yang mengekstrak ruang laten yang disebut berdimensi lebih rendah.
00:12:09Ruang laten ini adalah apa yang kita lihat di tengah sini.
00:12:13Mari kita lihat apakah penunjuk laser berfungsi.
00:12:16Oh, ya, yang ini.
00:12:17Bagaimana kita mempelajari model ini?
00:12:20Sebenarnya sangat sederhana..
00:12:24Kita menggunakan gambar di sini di sebelah kiri.
00:12:27Kita memasukkannya melalui encoder,
00:12:29jadi secara efektif ini adalah autoencoder,
00:12:31kita memasukkan gambar melalui encoder,
00:12:34lalu kita tiba di ruang laten ini,
00:12:36dan representasi tersebut kemudian kita masukkan melalui operasi yang disebut regularisasi..
00:12:42Ini memaksa model untuk menghapus informasi dari representasi laten ini.
00:12:47Ini dapat diimplementasikan secara diskrit atau kontinu,
00:12:51dan kemudian kita merekonstruksi gambar dari representasi laten ini.
00:12:55Jadi autoencoder klasik,
00:12:57yang kita latih untuk pada dasarnya menghasilkan rekonstruksi yang mirip dengan masukan,
00:13:03dan,
00:13:03yang sangat penting,
00:13:05kita menambahkan kerugian diskriminator ini.
00:13:08Ini dapat dibayangkan sebagai prior untuk memastikan bahwa sebenarnya hanya detail yang secara perseptual penting bagi mata manusia kita yang tercermin dalam representasi laten ini.
00:13:20Sekali lagi,
00:13:21regularisasi ini memaksa model untuk mengurangi atau menghapus informasi,
00:13:25dan diskriminator memastikan bahwa ia menghapus informasi yang tepat yang tidak dapat kita rasakan.
00:13:32Dengan cara ini,
00:13:33setelah kita melatih model ini,
00:13:35kita tiba di ruang laten ini yang kemudian digunakan untuk melatih model yang dihasilkan.
00:13:41Ruang laten adalah representasi berdimensi lebih rendah dari gambar masukan atau gambar yang secara perseptual setara.
00:13:49Ini pada dasarnya adalah aspek laten dari algoritma pencocokan aliran laten.
00:13:54Mari kita bicara tentang yang kedua, pencocokan aliran.
00:13:58Sekali lagi,
00:13:59semua yang saya jelaskan sekarang terjadi di ruang laten ini.
00:14:03Jadi apa pun yang kita lakukan sekarang,
00:14:06Anda melihatnya di sini.
00:14:07Di sisi kiri,
00:14:08setiap gambar disematkan ke ruang laten itu,
00:14:11pada dasarnya.
00:14:12Jadi, ya, mari kita bicara tentang pencocokan aliran.
00:14:16Algoritma pencocokan aliran adalah keluarga umum algoritma yang digunakan untuk menerjemahkan dari distribusi yang sangat sederhana,
00:14:25yang dalam kasus kita,
00:14:26selalu distribusi normal standar,
00:14:28jadi kita sekarang berbicara tentang distribusi probabilitas.
00:14:32Saya memvisualisasikannya di sini.
00:14:35Ini adalah distribusi yang sangat sederhana di sini.
00:14:38Algoritma pencocokan aliran menerjemahkan ini atau memberi kita sarana untuk melatih medan vektor yang direpresentasikan oleh jaringan saraf,
00:14:48yang ini,
00:14:48untuk memetakan antara distribusi sederhana dan distribusi yang sangat rumit,
00:14:53seperti distribusi data gambar alami.
00:14:56Jadi ini adalah distribusi data.
00:14:58Apa yang kita lakukan untuk melatih ini?
00:15:01Algoritma pencocokan aliran memberi kita cara yang sangat sederhana untuk melakukan ini.
00:15:07Yang harus kita lakukan selama pelatihan adalah mengambil sampel dari distribusi normal standar ini di sini.
00:15:14Jadi kita memiliki sampel,
00:15:16dan kemudian kita menetapkannya ke satu sampel dari distribusi data,
00:15:20sebuah contoh pelatihan,
00:15:22dan kita menggabungkan ini,
00:15:24dan kemudian kita dapat membangun vektor semacam ini yang secara langsung,
00:15:29secara linear menghubungkan mereka..
00:15:34Jika Anda melakukan ini untuk setiap contoh dalam dataset pelatihan kita,
00:15:39jadi kita hanya mengambil contoh,
00:15:41kita secara acak mengambil sampel titik dari normal standar,
00:15:44dan kita menghubungkannya,
00:15:46maka kita tiba pada medan vektor yang dibangun di sini.
00:15:50Saya sekarang bisa berbicara banyak tentang sifat-sifat medan vektor.
00:15:54Salah satu sifat penting adalah bahwa jalur tidak dapat bersilangan dalam medan vektor,
00:16:00dan kita melihat bahwa ada banyak persilangan yang terjadi,
00:16:03jadi ini jelas bukan medan vektor sejati yang menerjemahkan antara setiap titik pada distribusi ini,
00:16:10atau antara distribusi ini dan yang itu..
00:16:13Hal yang menakjubkan tentang pencocokan aliran adalah,
00:16:17jika Anda hanya mengikuti aturan ini,
00:16:19jadi kita melatih model untuk pada dasarnya selalu memprediksi vektor semacam ini di antara sampel data dan sampel dari distribusi normal standar.
00:16:28Kita tiba pada medan vektor sejati,
00:16:31dan itu kemudian terlihat seperti ini.
00:16:33Jadi di sini kita melihat bahwa jalur tidak lagi bersilangan,
00:16:37dan algoritma pencocokan aliran hanya menjamin ini.
00:16:40Ini sedikit seperti sihir,
00:16:42tetapi jika Anda menuliskannya secara matematis,
00:16:45kita sebenarnya melihat bahwa ini masuk akal.
00:16:48Dan dengan cara ini,
00:16:49kita sebenarnya dapat melatih model untuk merepresentasikan medan vektor sejati ini yang menerjemahkan antara normal standar dan distribusi data kita..
00:17:00Dan yang penting,
00:17:01kita ingin dapat membuat gambar berdasarkan masukan teks,
00:17:06jadi yang kita lakukan adalah kita mengkondisikan jaringan ini selalu pada masukan teks,
00:17:13pada dasarnya,
00:17:14untuk setiap contoh gambar.
00:17:16Keren..
00:17:17Jadi,
00:17:17apa yang kita lakukan ketika kita kemudian mengambil sampel model?
00:17:21Kita memiliki medan vektor ini yang merepresentasikan pemetaan antara kedua distribusi tersebut.
00:17:27Yang kita lakukan adalah kemudian kita mulai dengan sampel dari normal standar.
00:17:32Kita bisa mengambil sampel darinya dengan komputer, bukan?
00:17:35Kita semua tahu itu.
00:17:36Dan kemudian kita mengintegrasikan sepanjang lintasan-lintasan ini yang direpresentasikan oleh jaringan saraf.
00:17:43Kita bisa melakukan ini dengan algoritma Euler-forward sederhana.
00:17:47Mungkin banyak dari Anda yang mengenalnya.
00:17:49Jadi dengan skema integrasi numerik,
00:17:51kita bisa mengintegrasikan sepanjang lintasan-lintasan ini di sini dan kemudian tiba pada sampel data.
00:17:57Kita memasukkannya melalui dekoder lagi dan kita tiba.
00:18:01Jadi sekali lagi,
00:18:02ini terjadi di ruang laten,
00:18:03tetapi di sini kita kemudian tiba di ruang piksel lagi.
00:18:06Dan inilah bagaimana saya kemudian dapat membuat gambar berdasarkan prompt teks.
00:18:11Keren.
00:18:12Satu hal,
00:18:12skema integrasi numerik ini cukup,
00:18:14menurut saya,
00:18:15mereka menggunakan banyak langkah,
00:18:17jadi mereka memecah proses ini langkah demi langkah hingga 50 langkah.
00:18:21Jadi model pencocokan aliran laten ini secara alami cukup lambat dan membutuhkan waktu sekitar 30 detik hingga satu menit untuk menghasilkan gambar,
00:18:30yang agak lama..
00:18:32Saya akan berbicara tentang cara membuatnya cepat sebentar lagi.
00:18:35Tapi ini adalah algoritma pencocokan aliran laten umum.
00:18:38Jadi laten lagi,
00:18:39menghubungkan atau merepresentasikan ruang laten ini atau mewakili ruang laten ini tempat kita melatih model.
00:18:45Dan algoritma pencocokan aliran adalah apa yang baru saja kita bahas di sini.
00:18:49Oke,
00:18:49sekarang saya menjelaskan bagaimana kita membuat gambar berdasarkan prompt teks,
00:18:53tetapi bagaimana ini sekarang berlaku untuk konteks,
00:18:56yang merupakan model pengeditan,
00:18:58bukan?
00:18:58Ini juga sangat sederhana.
00:19:00Jadi ini adalah arsitektur konteks fluks dasar.
00:19:02Ini adalah model transformer.
00:19:03Kita semua tahu itu..
00:19:05Ini sedikit istimewa,
00:19:06tetapi keajaibannya terletak pada masukan.
00:19:09Jadi kita lihat di sini di sisi kiri masukan ke dalam model.
00:19:13Pertama kita memiliki masukan teks yang hanya disematkan oleh encoder teks menjadi satu set token teks.
00:19:20Dan kemudian kita memiliki encoder gambar yang sudah kita lihat di slide terakhir di sini,
00:19:26bukan?
00:19:26Yang ini.
00:19:27Inilah yang sekarang kita lihat di sini.
00:19:30Jadi kita memiliki encoder gambar ini dan di sana kita memiliki dua set token visual.
00:19:35Pertama kita memiliki set token visual yang sebenarnya kita gunakan untuk menghasilkan.
00:19:41Inilah yang akan menjadi gambar keluaran.
00:19:44Dan kemudian kita memiliki,
00:19:46jika kita ingin melakukan pengeditan gambar,
00:19:48set token visual kedua yang hanya memodelkan atau hanya merepresentasikan gambar konteks.
00:19:54Jadi gambar referensi pada dasarnya yang saya tunjukkan kepada model.
00:19:59Dan yang kemudian kita lakukan adalah kita memasukkan ini ke model transformer.
00:20:04Ini adalah yang istimewa karena berisi apa yang disebut blok aliran ganda.
00:20:09Ini adalah,
00:20:10menurut saya,
00:20:11semacam model ahli untuk setiap fidelitas.
00:20:14Jadi di sini kita menangani token visual dan token teks secara terpisah..
00:20:20Untuk segala sesuatu kecuali operasi perhatian,
00:20:23operasi perhatian kemudian terjadi secara bersamaan di semua token.
00:20:28Dan kemudian kita memiliki blok standar,
00:20:31blok transformer standar di mana kita pada dasarnya memetakan semua masukan dan token teks dan token visual dengan pemetaan yang sama sebelum operasi perhatian.
00:20:43Dan dengan cara ini,
00:20:44kita bisa langsung masuk ke pengeditan gambar..
00:20:48Jika Anda memberikan gambar masukan di sini dan jika Anda melakukan pembuatan gambar teks,
00:20:54Anda tidak perlu memberikan ini dan kemudian kita hanya memiliki prompt teks sebagai masukan,
00:21:00bukan?
00:21:00Keren.
00:21:01Poin terakhir di sini.
00:21:02Bagaimana model ini bisa begitu cepat?
00:21:04Jadi saya tidak tahu berapa banyak dari Anda yang tahu model flux.
00:21:08Mungkin bisa angkat tangan jika Anda tahu model flux?
00:21:12Atau sebenarnya beberapa.
00:21:13Oke, keren.
00:21:14Jadi kita semua tahu bahwa mereka cukup cepat, bukan?
00:21:17Apa yang saya maksud ketika saya mengatakan cepat?
00:21:20Kami pada dasarnya paling sering berkali-kali lipat lebih cepat daripada model yang sebanding.
00:21:26Jadi di sini,
00:21:27misalnya,
00:21:28kita melihat model yang jelas sangat lambat di sini tetapi bagus,
00:21:32GPD image one.
00:21:33Juga di sini untuk pengeditan,
00:21:35model flux di sini lebih dari 10 kali lebih cepat,
00:21:38bahkan lebih dari,
00:21:39ya,
00:21:3920 kali.
00:21:40Jadi sebenarnya gila betapa cepatnya mereka dibandingkan,
00:21:43model-model yang sebanding dan kuat.
00:21:46Dan alasannya adalah algoritma yang kami kembangkan dua,
00:21:49tiga tahun lalu.
00:21:50Ini disebut adversarial diffusion distillation dan tujuan algoritma ini adalah untuk mengurangi jumlah langkah integrasi numerik.
00:21:58Saya katakan sebelumnya ini paling sering 50 untuk model pencocokan aliran standar dan tujuannya di sini adalah untuk menurunkannya menjadi sesedikit empat.
00:22:08Setiap langkah integrasi numerik berarti satu forward pass melalui jaringan saraf sehingga kita bisa membayangkan bahwa ini hanya membutuhkan waktu yang lama jadi kita ingin menguranginya sebanyak mungkin.
00:22:21Bagaimana cara kerjanya?
00:22:23Kita menginisialisasi dua jaringan di sini,
00:22:25seorang guru dan seorang siswa.
00:22:27Keduanya diinisialisasi dari model pencocokan aliran yang dipelajari melalui algoritma yang baru saja saya tunjukkan kepada Anda.
00:22:35Dan yang kemudian kita lakukan adalah melatih siswa untuk mendapatkan kualitas gambar yang sama di keluaran dalam empat langkah daripada yang dilakukan guru dalam 50 langkah.
00:22:46Ini adalah tujuannya dan inilah cara kita melakukannya.
00:22:50Kita mulai dengan sebuah gambar,
00:22:52kita mengkodekannya lagi ke latensi di sini dan kemudian kita menghasilkan gambar keluaran untuk siswa dalam empat langkah atau dalam jumlah langkah target yang ingin kita lakukan.
00:23:03Dan kemudian kita mendekodekannya lagi ke piksel..
00:23:08Pada awalnya,
00:23:09gambar di sini terlihat sangat buram dan sangat tidak realistis.
00:23:13Dan tujuannya adalah untuk meningkatkan ini jelas.
00:23:16Jadi yang kita lakukan adalah menggunakan ini lagi,
00:23:19mengkodekannya lagi ke latensi dan kemudian melakukan hal yang sama dengan guru tetapi dalam 50 langkah alih-alih empat langkah.
00:23:27Ini kemudian menghasilkan gambar berkualitas tinggi dan kita kemudian menggunakan kerugian distilasi ini,
00:23:34pada dasarnya hanya kerugian untuk memastikan bahwa distribusi guru atau siswa cocok dengan distribusi guru.
00:23:41Ini saja sayangnya tidak akan memungkinkan kita untuk pada dasarnya menghasilkan gambar yang terlihat nyata.
00:23:47Jadi yang kita tambahkan adalah kerugian diskriminator lain.
00:23:51Kita sudah melihat ini untuk bagian autoencoder dalam bagian pemodelan generatif laten dari pembicaraan sebelumnya.
00:23:58Ini pada dasarnya sama.
00:24:00Jadi kita melatih diskriminator untuk membedakan gambar yang dihasilkan dari siswa dari gambar nyata yang kita masukkan di sini.
00:24:08Dan ini terjadi dalam ruang fitur dyno v2 atau dalam ruang model representasi gambar yang dipelajari.
00:24:14Dan dengan cara ini,
00:24:15kita sebenarnya dapat melatih model untuk pada akhirnya menghasilkan gambar realistis alih-alih menggunakan 50 langkah,
00:24:23ia hanya menggunakan empat langkah.
00:24:25Itu jelas merupakan peningkatan kecepatan yang sangat besar.
00:24:29Namun, poin terakhir di sini.
00:24:31Jika kita melihat hal ini di sini,
00:24:33terlihat cukup,
00:24:34saya akan mengatakan banyak overhead di sini,
00:24:36bukan?
00:24:37Karena di sini kita harus masuk ke laten.
00:24:39Jadi kita mulai di ruang gambar,
00:24:41beroperasi di ruang laten,
00:24:43dan kita mendekode lagi,
00:24:45lalu kita harus mengkodekan lagi dan mendekode lagi.
00:24:48Dan kemudian kita,
00:24:49yang ini juga mengkodekan lagi ke ruang representasi lain.
00:24:53Banyak overhead, banyak biaya memori terkait dengan ini.
00:24:56Dan ini sangat,
00:24:57setelah kami menemukannya,
00:24:59kami kagum dengannya karena memungkinkan kami melatih model cepat.
00:25:03Sangat sulit untuk melatih ini.
00:25:05Jadi kami berpikir,
00:25:06oke,
00:25:06bagaimana kita bisa menyederhanakan ini?
00:25:09Dan jawabannya selalu jawabannya.
00:25:11Cukup pindahkan ke ruang laten setiap kali Anda memiliki piksel.
00:25:15Jadi yang kami lakukan adalah datang dengan pendekatan distilasi difusi adversarial laten.
00:25:20Ini pada dasarnya sangat mirip dengan apa yang kami lakukan untuk algoritma pemodelan generatif laten umum.
00:25:27Kita hanya memindahkan semuanya ke ruang laten.
00:25:30Hal yang sama,
00:25:31tetapi alih-alih harus menggunakan encoder dan decoder ini,
00:25:35kita bisa menyingkirkannya.
00:25:36Dan yang penting,
00:25:37sebagai diskriminator,
00:25:39kita tidak lagi menggunakan dyno..
00:25:44Model representasi gambar ini,
00:25:45kita menggunakan guru karena itu sudah ada di ruang laten,
00:25:49memberi kita representasi gambar yang sangat bagus.
00:25:52Jadi kita juga bisa menggunakan guru sebagai diskriminator.
00:25:56Dan sisanya pada dasarnya hampir sama.
00:25:59Kami juga menghapus kerugian distilasi.
00:26:01Kami menemukan bahwa kami tidak membutuhkannya,
00:26:04yang juga keren..
00:26:06Jadi kita mengurangi kerugian dan semuanya menjadi lebih sederhana.
00:26:11Dan dengan cara ini,
00:26:13kita sebenarnya dapat dengan cara yang sangat efisien memori juga mengurangi jumlah langkah integrasi dari lima puluh menjadi empat.
00:26:24Jadi kita memiliki peningkatan kecepatan 12,
00:26:285 kali,
00:26:29dan itulah yang sebenarnya kita lihat sebagai tingkat besaran ini dalam plot yang baru saja saya tunjukkan di awal bagian ini.
00:26:39Jadi pada dasarnya begitulah cara kita mendapatkan model yang sangat cepat dari pencocokan aliran,
00:26:48dari model pencocokan aliran dasar.
00:26:51Dan sekarang sebelum pembicaraan ini berakhir,
00:26:55saya sebenarnya telah membawakan Anda demo untuk menunjukkan sedikit aksi flux.
00:27:02Mari kita lihat.
00:27:03Jadi mari kita gunakan untuk pengeditan gambar di sini.
00:27:08Biarkan saya mengunggah sesuatu setelahnya.
00:27:11Apa yang kita lakukan di sini?
00:27:14Yang ini terlihat bagus.
00:27:16Ya.
00:27:17Oke.
00:27:17Ya.
00:27:18Ini bagus.
00:27:18Jadi di sini saya mulai dengan logo klub sepak bola favorit saya,
00:27:24klub sepak bola SC Freiburg.
00:27:26Saya harus mengatakan 'soccer' ketika saya di AS.
00:27:31Oke.
00:27:31Ini adalah klub favorit saya dan saya ingin membuat kaus dengan logo ini.
00:27:37Jadi mari kita katakan letakkan logo ini di kaus.
00:27:42Agak aneh karena saya tidak punya layar di depan saya.
00:27:46Oke.
00:27:47Ini dia.
00:27:47Menghasilkan.
00:27:48Biarkan saya membuatnya sedikit lebih kecil..
00:27:53Mungkin seperti ini.
00:27:55Oke.
00:27:56Bagus.
00:27:56Kita menunggu beberapa detik dan kita bisa mendapatkan logo bagus ini di kaus.
00:28:03Dan sekarang hal yang bagus adalah kita sebenarnya bisa melanjutkan,
00:28:09bukan?
00:28:09Kita bisa mengulanginya.
00:28:11Jadi mari kita katakan logo ini agak terlalu besar,
00:28:16menurut saya.
00:28:17Buat logo lebih kecil dan letakkan di bagian lain.
00:28:21Lagi.
00:28:22Tunggu beberapa detik.
00:28:23Oke.
00:28:24Keren.
00:28:24Dan kita tiba pada hasil yang sebenarnya sangat bagus.
00:28:29Itu sebenarnya yang saya inginkan.
00:28:32Saya ingin memulai dengan yang ini lagi.
00:28:36Dan saya ingin sekarang mengubah warnanya karena warna SC Freiburg bukan hitam,
00:28:42melainkan merah.
00:28:44Jadi buat kausnya merah.
00:28:46Juga sangat sederhana.
00:28:48Sekarang kita berada di pengeditan lokal.
00:28:51Kita hanya mengedit bagian lokal dari gambar, bukan?
00:28:56Dalam kasus ini warnanya.
00:28:58Dan yang penting,
00:28:59kita sekarang telah melakukan beberapa pengeditan dan kita masih melihat bahwa logo direpresentasikan dengan sangat konsisten.
00:29:10Jadi ini adalah konsistensi karakter atau dalam kasus ini objek yang kita lihat.
00:29:17Ini sangat penting.
00:29:19Pikirkan tentang seorang pemasar yang hanya memiliki objek dan ingin menempatkannya dalam konteks tertentu,
00:29:28bukan?
00:29:29Ini dalam hal nilai bisnis, ini hebat, ini sangat penting.
00:29:34Dan sekarang akhirnya kita menambahkan transformasi yang lebih kompleks.
00:29:40Kita bisa mengatakan letakkan kaus itu pada seorang pria yang berjalan di taman.
00:29:47Ups.
00:29:47Jadi ini adalah transformasi yang kompleks dan Anda bisa saja mengatakan,
00:29:53oke,
00:29:54hal-hal seperti mengubah warna bisa Anda lakukan di Photoshop,
00:29:59bukan?
00:30:00Secara historis,
00:30:01hal-hal seperti itu,
00:30:03ini bukan yang bisa dilakukan atau mampu dilakukan oleh alat pembuatan gambar non-AI standar atau sebelumnya.
00:30:12Ini sebenarnya sangat bagus.
00:30:15Jadi di sini kita memiliki hasil seperti ini dan akhirnya,
00:30:20saya pikir waktu saya sudah habis,
00:30:23tetapi mari kita lakukan satu hal terakhir yang menunjukkan seberapa umum model ini.
00:30:30Kita juga bisa melakukan transfer gaya, bukan?
00:30:34Jadi mari kita katakan buat ini menjadi lukisan cat air..
00:30:42Baiklah, yang terakhir.
00:30:44Dan sebelum model-model seperti ini,
00:30:47Anda mungkin akan melatih fine-tune tunggal untuk setiap jenis tugas ini dan sekarang kita bisa menggabungkannya dalam satu hal yang cukup keren.
00:30:58Bagus.
00:30:59Jadi sekarang saya bisa mencetaknya dan menggantungnya di dinding saya atau semacamnya.
00:31:05Bagaimanapun,
00:31:06ya,
00:31:07saya pikir ini menunjukkan kekuatan model-model ini.
00:31:11Oh, itu merusak sesuatu.
00:31:13Saya ingin menunjukkan slide terakhir karena saya sudah selesai,
00:31:17tetapi kami sedang merekrut dan jika Anda ingin bergabung dengan kami,
00:31:23silakan pindai ini di sini atau kunjungi playground,
00:31:27demo yang baru saja saya tunjukkan tersedia secara gratis.
00:31:31Terima kasih banyak.
00:31:33Saya harap Anda belajar sesuatu..

Key Takeaway

Flux Context dari Black Force Labs merevolusi pembuatan dan pengeditan gambar AI dengan menyatukan kemampuan teks-ke-gambar dan pengeditan canggih secara real-time, didukung oleh algoritma Latent Flow Matching dan Latent Adversarial Diffusion Distillation yang efisien.

Highlights

Black Force Labs mengembangkan Flux, keluarga model AI generatif visual multimodal untuk pembuatan dan pengeditan gambar.

Flux Context adalah model terbaru yang menyatukan pembuatan gambar dari teks dan pengeditan gambar, menawarkan fitur seperti konsistensi karakter, referensi gaya, dan pengeditan lokal secara real-time.

Model Flux tersedia dalam tiga tingkatan: Pro (API), Dev (open-source, open-weight), dan Schnell (fully open-source), dengan Flux Dev menjadi standar untuk pembuatan gambar terbuka di Hugging Face.

Algoritma inti di balik Flux adalah Latent Flow Matching, yang memanfaatkan ruang laten berdimensi rendah untuk memodelkan hanya detail yang relevan secara perseptual, menghemat komputasi.

Flux Context memungkinkan pengeditan gambar yang kompleks seperti mengubah konteks, transfer gaya, dan ekstraksi produk dari gambar 'in-the-wild' dalam hitungan detik, yang sebelumnya memakan waktu berjam-jam atau tidak mungkin.

Kecepatan luar biasa model Flux dicapai melalui Latent Adversarial Diffusion Distillation (LADD), yang mengurangi langkah integrasi numerik dari 50 menjadi hanya 4, menghasilkan peningkatan kecepatan 12,5 kali lipat.

Demo menunjukkan kemampuan Flux Context untuk mengedit gambar secara iteratif dan konsisten, mulai dari menempatkan logo hingga mengubah gaya, semua dalam satu model.

Timeline

Pendahuluan Black Force Labs dan Model Flux

Andy, salah satu pendiri Black Force Labs, memperkenalkan perusahaannya yang didirikan pada Agustus 2024 dengan visi menjadikan media visual sebagai antarmuka utama komunikasi manusia di masa depan. Perusahaan ini bertujuan menyediakan infrastruktur untuk gambar dan video yang dihasilkan AI, melampaui apa yang dapat ditangkap kamera. Ia juga memperkenalkan Flux, keluarga model mereka untuk menghasilkan dan mengedit gambar, yang dirilis dalam tiga tingkatan: Pro (untuk API), Dev (sumber terbuka dan bobot terbuka), dan Schnell (sepenuhnya sumber terbuka). Black Force Labs, dengan 45 karyawan di Freiburg dan SF, memiliki akar kuat dalam sumber terbuka, menjadi pengembang asli di balik Stable Diffusion.

Ekosistem Flux dan Kepemimpinan Sumber Terbuka

Pembicara menyoroti posisi dominan model Flux Dev dalam ekosistem sumber terbuka. Model ini diakui sebagai model tunggal terbesar di Hugging Face dengan ekosistem terbesar yang melekat padanya, menunjukkan bahwa Flux telah menjadi standar untuk pembuatan gambar terbuka. Hal ini menggarisbawahi komitmen Black Force Labs terhadap komunitas sumber terbuka dan upaya berkelanjutan mereka untuk memperluas distribusi model di masa depan. Keberhasilan ini menunjukkan adopsi luas dan kepercayaan komunitas terhadap kemampuan model Flux.

Memperkenalkan Flux Context: Generasi dan Pengeditan Gambar Terpadu

Bagian ini memperkenalkan Flux Context, model terbaru yang dirilis pada Juni 2025, yang menyatukan pembuatan gambar dari teks dan pengeditan gambar. Pembicara menekankan pentingnya pengeditan gambar sebagai kasus penggunaan krusial yang memungkinkan iterasi dan kontrol tambahan atas gambar. Flux Context menawarkan fitur-fitur canggih seperti konsistensi karakter, referensi gaya, dan pengeditan lokal dengan kecepatan mendekati real-time. Contoh yang diberikan meliputi penghapusan objek, perubahan konteks dengan mempertahankan konsistensi karakter, transfer gaya, pengeditan teks, serta ekstraksi foto produk dari gambar 'in-the-wild' dan konversi sketsa ke render, yang semuanya dapat dilakukan dalam hitungan detik.

Perbandingan Pipeline: Teks-ke-Gambar vs. Pengeditan Gambar

Pembicara menjelaskan perbedaan antara pipeline teks-ke-gambar klasik dan pipeline pengeditan gambar. Dalam teks-ke-gambar, prompt teks menghasilkan gambar baru, sedangkan dalam pengeditan gambar, gambar masukan dimodifikasi berdasarkan instruksi teks untuk perubahan spesifik, dengan beberapa bagian gambar tetap tidak berubah. Menggabungkan kedua tugas ini dalam satu model, seperti Flux Context, sangat menguntungkan karena memberikan fleksibilitas lebih besar, memungkinkan pengguna untuk menghasilkan gambar lalu mengeditnya, dan menghilangkan kebutuhan akan fine-tuning yang memakan waktu untuk mencapai tingkat kontrol yang diinginkan. Ini secara signifikan mengurangi waktu yang dibutuhkan untuk mendapatkan hasil yang berkualitas.

Aspek Laten dari Latent Flow Matching

Bagian ini membahas aspek 'Laten' dari algoritma Latent Flow Matching, yang merupakan dasar model Flux. Pembicara menjelaskan bahwa banyak informasi dalam gambar tidak dapat dirasakan oleh mata manusia, menggunakan perbandingan ukuran file JPEG dan PNG sebagai ilustrasi. Oleh karena itu, melatih model generatif dalam ruang piksel penuh adalah pemborosan komputasi. Solusinya adalah pemodelan generatif laten, di mana model kompresi (autoencoder dengan diskriminator) dilatih untuk mengekstrak 'ruang laten' berdimensi lebih rendah yang hanya merepresentasikan detail yang relevan secara perseptual. Diskriminator memastikan bahwa hanya informasi yang penting secara perseptual yang dipertahankan dalam representasi laten ini.

Aspek Flow Matching dan Generasi Gambar

Pembicara melanjutkan dengan menjelaskan aspek 'Flow Matching' dari algoritma, yang beroperasi di ruang laten. Algoritma pencocokan aliran memungkinkan pelatihan medan vektor yang direpresentasikan oleh jaringan saraf untuk memetakan dari distribusi sederhana (normal standar) ke distribusi data gambar alami yang kompleks. Selama pelatihan, sampel dari distribusi normal standar dipasangkan dengan sampel data, membentuk vektor yang menghubungkan keduanya. Jaringan saraf dilatih untuk memprediksi vektor ini, menghasilkan medan vektor sejati di mana jalur tidak bersilangan. Untuk menghasilkan gambar, sampel dari normal standar diintegrasikan sepanjang lintasan medan vektor ini, dikondisikan pada masukan teks, dan kemudian didekodekan kembali ke ruang piksel. Namun, proses integrasi numerik standar membutuhkan banyak langkah (hingga 50), membuat model awal lambat.

Mencapai Kecepatan dengan Distilasi Difusi Adversarial

Bagian ini menjelaskan bagaimana model Flux mencapai kecepatan luar biasa, 10-20 kali lebih cepat dari model sebanding, melalui algoritma Adversarial Diffusion Distillation (ADD). Tujuan ADD adalah mengurangi jumlah langkah integrasi numerik dari 50 menjadi hanya 4. Prosesnya melibatkan pelatihan jaringan 'siswa' untuk meniru kualitas keluaran jaringan 'guru' dalam langkah yang lebih sedikit, menggunakan kerugian distilasi dan diskriminator untuk memastikan realisme. Versi yang lebih efisien, Latent Adversarial Diffusion Distillation (LADD), memindahkan seluruh proses ke ruang laten, menghilangkan encoder/decoder yang berlebihan dan menggunakan model guru sebagai diskriminator. Ini menghasilkan peningkatan kecepatan 12,5 kali lipat dan efisiensi memori yang signifikan.

Demo Langsung dan Kesimpulan

Pembicara melakukan demo langsung Flux Context, menunjukkan kemampuannya dalam pengeditan gambar. Contohnya meliputi menempatkan logo klub sepak bola SC Freiburg pada kaus, mengubah ukuran dan posisi logo, serta mengubah warna kaus, sambil mempertahankan konsistensi objek. Demo juga menunjukkan transformasi yang lebih kompleks seperti menempatkan kaus pada seorang pria yang berjalan di taman dan menerapkan transfer gaya untuk mengubah gambar menjadi lukisan cat air. Ini menyoroti keserbagunaan model yang dapat menggabungkan berbagai tugas pengeditan dan generasi yang sebelumnya memerlukan fine-tuning terpisah. Pembicara mengakhiri dengan ajakan untuk bergabung dengan tim Black Force Labs dan mengundang audiens untuk mencoba demo gratis di playground.

Community Posts

View all posts