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..