ControlNet dan StarCoder: Kemajuan penelitian Roblox untuk AI Generatif - Blog Roblox

ControlNet dan StarCoder: Kemajuan penelitian Roblox untuk AI Generatif – Blog Roblox

Node Sumber: 2864546

Kami sangat berkomitmen untuk melakukan penelitian yang bertanggung jawab dan melibatkan komunitas di semua bidang, termasuk kecerdasan buatan (AI). Kami mencapai hal ini melalui transparansi, validasi eksternal, dan mendukung institusi akademik melalui kolaborasi dan sponsorship. Pendekatan ini memungkinkan kami mempercepat pencapaian kemajuan terbesar di tiga area fokus kami: AI generatif, penskalaan pusat data, dan keamanan online. Hari ini, kami berbagi wawasan dan hasil dari dua proyek penelitian AI generatif kami. KontrolNet adalah jaringan saraf sumber terbuka yang menambahkan kontrol kondisional ke model pembuatan gambar untuk keluaran gambar yang lebih presisi. Kode Bintang adalah model bahasa besar (LLM) sumber terbuka yang canggih untuk pembuatan kode. 

Kedua proyek tersebut merupakan kolaborasi akademis dan industri. Keduanya juga berfokus pada alat yang jauh lebih canggih bagi pencipta kami: seniman dan pemrogram 3D. Yang paling penting dan selaras dengan misi kami untuk berinvestasi dalam jangka panjang melalui penelitian transformatif, proyek-proyek ini menunjukkan indikasi kemajuan dalam pemahaman ilmiah mendasar dan pengendalian AI untuk banyak aplikasi. Kami yakin pekerjaan ini dapat memberikan dampak signifikan terhadap masa depan Roblox dan industri secara keseluruhan dan kami bangga membagikannya secara terbuka.

KontrolNet

Terobosan AI baru-baru ini – khususnya metode pembelajaran mesin (ML) berbasis data yang menggunakan jaringan saraf dalam – telah mendorong kemajuan baru dalam alat kreasi. Kemajuan ini termasuk kemajuan kita Bantuan Kode dan Penghasil Bahan fitur yang tersedia untuk umum di alat gratis kami, Roblox Studio. Sistem AI generatif modern berisi struktur data yang disebut model yang disempurnakan melalui miliaran operasi pelatihan. Model yang paling kuat saat ini adalah multimodal, artinya model tersebut dilatih pada campuran media seperti teks, gambar, dan audio. Hal ini memungkinkan mereka menemukan makna mendasar yang umum di seluruh media, bukannya menyesuaikan diri dengan elemen tertentu dari kumpulan data, seperti palet warna atau ejaan. 

Sistem AI baru ini memiliki kekuatan ekspresif yang signifikan, namun kekuatan tersebut sebagian besar diarahkan melalui “rekayasa cepat”. Melakukannya berarti hanya mengubah teks masukan, mirip dengan menyempurnakan kueri mesin telusur jika tidak memberikan hasil yang Anda harapkan. Meskipun ini mungkin cara yang menarik untuk bermain-main dengan teknologi baru seperti chatbot tidak terarah, ini bukanlah cara yang efisien atau efektif untuk membuat konten. Sebaliknya, para pembuat konten membutuhkan alat-alat canggih yang dapat mereka manfaatkan secara efektif melalui kontrol aktif, bukan hanya sekedar menebak-nebak.

Proyek ControlNet adalah sebuah langkah menuju penyelesaian beberapa tantangan ini. Ini menawarkan cara yang efisien untuk memanfaatkan kekuatan model AI besar yang telah dilatih sebelumnya seperti Difusi Stabil, tanpa bergantung pada rekayasa cepat. ControlNet meningkatkan kontrol dengan mengizinkan artis memberikan kondisi input tambahan lebih dari sekadar perintah teks. Peneliti Roblox dan profesor Universitas Stanford Maneesh Agrawala dan peneliti Stanford Lvmin Zhang menyusun tujuan proyek ControlNet bersama kami sebagai:

  1. Kembangkan antarmuka pengguna yang lebih baik untuk alat AI generatif. Melampaui manipulasi cepat yang tidak jelas dan membangun cara-cara yang lebih alami dalam mengkomunikasikan ide atau konsep kreatif.
  2. Memberikan kontrol spasial yang lebih tepat, lebih dari sekedar membuat “gambar seperti” atau “gambar dengan gaya…” untuk memungkinkan mewujudkan dengan tepat gambar yang ada dalam pikiran penciptanya.
  3. Ubah pelatihan AI generatif menjadi proses yang lebih efisien komputasi dan dijalankan lebih cepat, memerlukan lebih sedikit memori, dan mengonsumsi lebih sedikit energi listrik.
  4. Perluas AI generatif gambar menjadi elemen penyusun yang dapat digunakan kembali. Kemudian dapat diintegrasikan dengan pemrosesan gambar standar dan pipeline rendering 3D. 

Dengan mengizinkan pembuat untuk memberikan gambar tambahan untuk kontrol spasial, ControlNet memberikan kontrol yang lebih besar atas gambar akhir yang dihasilkan. Misalnya, prompt “rusa jantan bertanduk” pada generator text-to-image yang ada menghasilkan berbagai macam gambar, seperti yang ditunjukkan di bawah ini:

Gambar-gambar yang dihasilkan dengan solusi AI sebelumnya memang menarik, namun sayangnya hasilnya pada dasarnya sewenang-wenang—tidak ada kendali. Tidak ada cara pada sistem penghasil gambar sebelumnya untuk mengarahkan keluaran, kecuali untuk merevisi perintah teks.

Dengan ControlNet, pencipta kini memiliki lebih banyak kekuatan. Salah satu cara menggunakan ControlNet adalah dengan menyediakan prompt dan gambar sumber untuk menentukan bentuk umum yang akan diikuti. Dalam hal ini, gambar yang dihasilkan tetap menawarkan variasi tetapi, yang terpenting, tetap mempertahankan bentuk yang ditentukan:

Pencipta juga dapat menentukan serangkaian tepi, gambar tanpa perintah sama sekali, atau banyak cara lain untuk memberikan masukan ekspresif ke sistem.

Untuk membuat ControlNet, kami mengkloning bobot dalam jaringan model difusi besar menjadi dua versi. Salah satunya adalah jaringan yang dapat dilatih (ini memberikan kontrol; ini adalah “ControlNet”) dan yang lainnya adalah jaringan terkunci. Jaringan yang terkunci mempertahankan kemampuan yang dipelajari dari miliaran gambar dan dapat berupa generator gambar apa pun sebelumnya. Kami kemudian melatih jaringan yang dapat dilatih pada kumpulan data khusus tugas untuk mempelajari kontrol bersyarat dari gambar tambahan. Salinan yang dapat dilatih dan dikunci dihubungkan dengan jenis lapisan konvolusi unik yang kami sebut nol konvolusi, di mana bobot konvolusi secara bertahap bertambah dari nol ke parameter yang dioptimalkan dengan cara yang dipelajari, yang berarti bahwa bobot konvolusi pada awalnya tidak memiliki pengaruh dan sistem memperoleh tingkat kontrol optimal untuk diterapkan pada jaringan yang terkunci.

Karena bobot asli dipertahankan melalui jaringan yang terkunci, model ini berfungsi baik dengan kumpulan data pelatihan dengan berbagai ukuran. Dan lapisan nol konvolusi membuat prosesnya lebih cepat — lebih mendekati penyempurnaan model difusi daripada melatih lapisan baru dari awal. 

Kami telah melakukan validasi ekstensif terhadap teknik ini untuk pembuatan gambar. ControlNet tidak hanya meningkatkan kualitas gambar keluaran. Hal ini juga membuat pelatihan jaringan untuk tugas tertentu menjadi lebih efisien dan praktis untuk diterapkan dalam skala besar bagi jutaan pembuat konten kami. Dalam eksperimen, ControlNet memberikan peningkatan efisiensi hingga 10x dibandingkan dengan skenario alternatif yang mengharuskan model dilatih ulang sepenuhnya. Efisiensi ini sangat penting, karena proses pembuatan model baru memakan waktu dan sumber daya yang intensif dibandingkan dengan pengembangan perangkat lunak tradisional. Menjadikan pelatihan lebih efisien akan menghemat listrik, mengurangi biaya, dan meningkatkan kecepatan penambahan fungsi baru.

Struktur unik ControlNet berarti ia bekerja dengan baik dengan kumpulan data pelatihan dengan berbagai ukuran dan pada berbagai jenis media. ControlNet telah terbukti bekerja dengan berbagai jenis modalitas kontrol termasuk foto, coretan tangan, dan tujuan terbuka deteksi pose. Kami percaya bahwa ControlNet dapat diterapkan pada berbagai jenis media untuk konten AI generatif. Ini penelitian terbuka dan tersedia untuk umum agar komunitas dapat bereksperimen dan mengembangkannya, dan kami akan terus menyajikan lebih banyak informasi seiring dengan semakin banyaknya penemuan yang kami peroleh mengenai informasi tersebut.

Kode Bintang

AI generatif dapat diterapkan untuk menghasilkan gambar, audio, teks, kode sumber program, atau bentuk media kaya lainnya. Namun, di berbagai media, aplikasi yang paling berhasil cenderung adalah aplikasi yang keluarannya dinilai secara subyektif. Misalnya, sebuah gambar berhasil jika menarik bagi manusia yang melihatnya. Kesalahan tertentu pada gambar, seperti fitur aneh di bagian tepi atau bahkan adanya jari tambahan di tangan, mungkin tidak terlihat jika keseluruhan gambar menarik. Demikian pula, sebuah puisi atau cerita pendek mungkin memiliki kesalahan tata bahasa atau lompatan logis, namun jika intinya menarik, kita cenderung memaafkannya. 

Cara lain untuk mempertimbangkan kriteria subjektif adalah bahwa ruang hasil bersifat kontinu. Suatu hasil mungkin lebih baik dari yang lain, namun tidak ada ambang batas tertentu yang menentukan apakah hasil tersebut dapat diterima atau tidak. Untuk domain dan bentuk media lain, keluarannya dinilai secara obyektif. Misalnya, kode sumber yang dihasilkan oleh asisten pemrograman AI generatif benar atau salah. Jika kode tidak dapat lulus pengujian, maka kode tersebut gagal, meskipun mirip dengan kode untuk solusi yang valid. Ini adalah ruang hasil diskrit. Lebih sulit untuk berhasil dalam ruang terpisah karena kriterianya lebih ketat dan karena seseorang tidak dapat secara progresif mendekati solusi yang baik—kode tersebut dipecah hingga tiba-tiba berhasil.

LLM yang digunakan untuk keluaran teks berfungsi dengan baik untuk aplikasi subjektif dan berkelanjutan seperti chatbots. Mereka juga tampaknya berfungsi dengan baik untuk pembuatan prosa dalam banyak bahasa manusia, seperti Inggris dan Prancis. Namun, LLM yang ada tampaknya tidak berfungsi dengan baik pemrograman bahasa seperti yang mereka lakukan untuk bahasa manusia itu. Kode adalah suatu bentuk matematika yang merupakan cara obyektif yang sangat berbeda dalam mengungkapkan makna dibandingkan bahasa alami. Ini adalah ruang hasil diskrit dan bukan ruang hasil kontinu. Untuk mencapai kualitas tertinggi dalam pembuatan kode bahasa pemrograman untuk pembuat Roblox, kami memerlukan metode penerapan LLM yang dapat bekerja dengan baik di ruang objektif dan terpisah ini. Kita juga memerlukan metode yang kuat untuk mengekspresikan fungsionalitas kode yang independen terhadap sintaks bahasa tertentu, seperti Lua, JavaScript, atau Python. 

StarCoder, LLM sumber terbuka mutakhir untuk pembuatan kode, merupakan kemajuan besar dalam tantangan teknis ini dan LLM yang benar-benar terbuka untuk semua orang. StarCoder adalah salah satu hasil dari kode besar konsorsium penelitian, yang melibatkan lebih dari 600 anggota di laboratorium penelitian akademis dan industri. Peneliti Roblox dan profesor Universitas Northeastern Arjun Guha membantu memimpin tim ini untuk mengembangkan StarCoder. Hasil publikasi pertama ini berfokus secara eksklusif pada aspek kode, yang merupakan bidang di mana bidang ini paling membutuhkan pertumbuhan baru mengingat keberhasilan relatif dari metode subjektif. 

Untuk menghadirkan AI generatif melalui LLM yang mendukung ekosistem AI yang lebih besar dan komunitas Roblox, kita memerlukan model yang telah dilatih secara eksklusif berdasarkan kumpulan data yang berlisensi dan dikumpulkan secara bertanggung jawab. Hal ini juga harus mempunyai izin yang tidak membatasi sehingga siapa pun dapat menggunakannya, membangunnya, dan berkontribusi kembali pada ekosistem. Saat ini, LLM yang paling kuat adalah hak milik, atau dilisensikan untuk penggunaan komersial terbatas, yang melarang atau membatasi kemampuan peneliti untuk bereksperimen dengan model itu sendiri. Sebaliknya, StarCoder adalah model yang benar-benar terbuka, dibuat melalui koalisi peneliti industri dan akademis dan dilisensikan tanpa batasan untuk aplikasi komersial pada skala apa pun. StarCoder dilatih secara eksklusif tentang konten yang dikumpulkan secara bertanggung jawab dan dilisensikan dengan tepat. Model ini awalnya dilatih tentang kode publik dan proses opt-out tersedia bagi mereka yang memilih untuk tidak menggunakan kode mereka untuk pelatihan.

Saat ini, StarCoder bekerja pada 86 bahasa pemrograman yang berbeda, termasuk Python, C++, dan Java. Pada saat makalah ini diterbitkan, kinerjanya mengungguli setiap LLM kode terbuka yang mendukung berbagai bahasa dan bahkan bersaing dengan banyak model tertutup dan berpemilik. 

StarCoder LLM merupakan kontribusi terhadap ekosistem, namun tujuan penelitian kami jauh lebih dalam. Dampak terbesar dari penelitian ini adalah memajukan pemodelan semantik dari model multimodal objektif dan subjektif, termasuk kode, teks, gambar, ucapan, video, dan untuk meningkatkan efisiensi pelatihan melalui teknik transfer domain. Kami juga berharap mendapatkan wawasan mendalam tentang pemeliharaan dan pengendalian AI generatif untuk tugas-tugas obyektif seperti pembuatan kode sumber. Ada perbedaan besar antara demonstrasi teknologi baru yang menarik dan produk yang aman, andal, dan efisien yang memberikan nilai bagi komunitas penggunanya. Untuk model ML kami, kami mengoptimalkan performa untuk jejak memori, penghematan daya, dan waktu eksekusi. Kami juga telah mengembangkan infrastruktur yang kuat, melengkapi inti AI dengan perangkat lunak untuk menghubungkannya ke seluruh sistem, dan mengembangkan sistem yang lancar untuk pembaruan rutin seiring dengan penambahan fitur baru. 

Menyatukan ilmuwan dan insinyur Roblox dengan beberapa pemikir paling tajam dalam komunitas ilmiah adalah komponen kunci dalam upaya kami mencapai terobosan teknologi. Kami bangga membagikan hasil awal ini dan mengundang komunitas riset untuk terlibat dengan kami dan mengembangkan kemajuan ini.

Stempel Waktu:

Lebih dari roblox