Konten di situs ini telah diterjemahkan menggunakan kecerdasan buatan (AI) atau teknologi penerjemahan mesin, dan mungkin terdapat kesalahan.

Skip to content

ControlNet dan StarCoder: Kemajuan penelitian Roblox dalam bidang Kecerdasan Buatan Generatif

Kami sangat berkomitmen untuk melakukan penelitian yang bertanggung jawab dan melibatkan komunitas di semua bidang, termasuk kecerdasan buatan (AI). Kami mewujudkan hal ini melalui transparansi, validasi eksternal, serta dukungan terhadap lembaga akademis melalui kolaborasi dan sponsor. Pendekatan ini memungkinkan kami mempercepat pencapaian kemajuan terbesar di tiga bidang fokus kami: AI generatif, penskalaan pusat data, dan keamanan daring. Hari ini, kami membagikan wawasan dan hasil dari dua proyek penelitian AI generatif kami. ControlNet adalah jaringan saraf sumber terbuka yang menambahkan kontrol bersyarat ke model pembangkitan gambar untuk menghasilkan output gambar yang lebih presisi. StarCoder adalah model bahasa besar (LLM) sumber terbuka terdepan untuk pembangkitan kode. 

Kedua proyek ini merupakan kolaborasi antara akademisi dan industri. Keduanya juga berfokus pada alat yang jauh lebih kuat bagi para kreator kami: seniman 3D dan programmer. Yang terpenting, sejalan dengan misi kami untuk berinvestasi dalam pandangan jangka panjang melalui penelitian transformatif, proyek-proyek ini menunjukkan indikasi kemajuan dalam pemahaman ilmiah mendasar dan pengendalian AI untuk berbagai aplikasi. Kami percaya bahwa pekerjaan ini dapat memberikan dampak signifikan terhadap masa depan Roblox dan bidang ini secara keseluruhan, dan kami bangga dapat membagikannya secara terbuka.

ControlNet

Terobosan AI terbaru — khususnya metode pembelajaran mesin (ML) berbasis data yang menggunakan jaringan saraf dalam — telah mendorong kemajuan baru dalam alat-alat kreasi. Kemajuan ini mencakup fitur Code Assist dan Material Generator kami yang tersedia secara publik di alat gratis kami, Roblox Studio. Sistem AI generatif modern mengandung struktur data yang disebut model, yang disempurnakan melalui miliaran operasi pelatihan. Model paling kuat saat ini bersifat multimodal, artinya dilatih pada campuran media seperti teks, gambar, dan audio. Hal ini memungkinkan mereka menemukan makna mendasar yang umum di seluruh media, bukan hanya menyesuaikan diri dengan elemen spesifik dalam dataset, seperti palet warna atau ejaan. 

Sistem AI baru ini memiliki daya ekspresif yang signifikan, tetapi daya tersebut sebagian besar diarahkan melalui “prompt engineering.” Melakukannya berarti hanya mengubah teks masukan, mirip dengan menyempurnakan kueri mesin pencari jika hasilnya tidak sesuai harapan. Meskipun ini mungkin cara yang menarik untuk bereksperimen dengan teknologi baru seperti chatbot tanpa arahan, ini bukanlah cara yang efisien atau efektif untuk membuat konten. Para kreator justru membutuhkan alat bantu yang dapat mereka manfaatkan secara efektif melalui kontrol aktif, bukan hanya menebak-nebak.

Proyek ControlNet merupakan langkah menuju pemecahan beberapa tantangan ini. Proyek ini menawarkan cara efisien untuk memanfaatkan kekuatan model AI besar yang telah dilatih sebelumnya seperti Stable Diffusion, tanpa bergantung pada prompt engineering. ControlNet meningkatkan kontrol dengan memungkinkan seniman memberikan kondisi input tambahan di luar sekadar prompt teks. Peneliti Roblox dan profesor Universitas Stanford Maneesh Agrawala serta peneliti Stanford Lvmin Zhang merumuskan tujuan proyek ControlNet bersama kami sebagai:

  1. Mengembangkan antarmuka pengguna yang lebih baik untuk alat AI generatif. Melampaui manipulasi prompt yang rumit dan membangun cara yang lebih alami untuk mengkomunikasikan ide atau konsep kreatif.
  2. Menyediakan kontrol spasial yang lebih presisi, melampaui sekadar membuat “gambar seperti” atau “gambar dalam gaya…”, untuk memungkinkan mewujudkan tepat gambar yang ada di benak pencipta.
  3. Mengubah pelatihan AI generatif menjadi proses yang lebih efisien dalam hal komputasi, yang berjalan lebih cepat, membutuhkan lebih sedikit memori, dan mengonsumsi lebih sedikit energi listrik.
  4. Memperluas AI generatif gambar menjadi blok bangunan yang dapat digunakan kembali. Dengan demikian, AI ini dapat diintegrasikan dengan pemrosesan gambar standar dan jalur rendering 3D. 

Dengan memungkinkan pencipta untuk menyediakan gambar tambahan untuk kontrol spasial, ControlNet memberikan kontrol yang lebih besar atas gambar akhir yang dihasilkan. Misalnya, prompt “rusa jantan bertanduk” pada generator teks-ke-gambar yang ada menghasilkan berbagai macam gambar, seperti yang ditunjukkan di bawah ini:

Gambar-gambar yang dihasilkan dengan solusi AI sebelumnya memang menarik, tetapi sayangnya hasilnya pada dasarnya bersifat sewenang-wenang—tidak ada kontrol. Tidak ada cara pada sistem pembuat gambar sebelumnya untuk mengarahkan hasilnya, kecuali dengan merevisi teks prompt.

Dengan ControlNet, pembuat konten kini memiliki kendali yang jauh lebih besar. Salah satu cara menggunakan ControlNet adalah dengan memberikan prompt dan gambar sumber untuk menentukan bentuk umum yang akan diikuti. Dalam hal ini, gambar yang dihasilkan tetap akan bervariasi, tetapi yang terpenting, tetap mempertahankan bentuk yang ditentukan:

Pencipta juga dapat menentukan sekumpulan tepi, gambar tanpa prompt 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 menyediakan kontrol; ini adalah “ControlNet”) dan yang lainnya adalah jaringan terkunci. Jaringan terkunci mempertahankan kemampuan yang dipelajari dari miliaran gambar dan dapat berupa generator gambar sebelumnya apa pun. Kami kemudian melatih jaringan yang dapat dilatih pada kumpulan data khusus tugas untuk mempelajari kontrol bersyarat dari gambar tambahan. Salinan yang dapat dilatih dan yang terkunci dihubungkan dengan lapisan konvolusi unik yang kami sebut konvolusi nol, di mana bobot konvolusi secara bertahap tumbuh dari nol menjadi parameter yang dioptimalkan secara terpelajar, artinya bobot tersebut awalnya tidak memiliki pengaruh dan sistem menentukan tingkat kontrol optimal yang akan diterapkan pada jaringan yang terkunci.

Karena bobot asli dipertahankan melalui jaringan terkunci, model ini bekerja dengan baik pada kumpulan data pelatihan dengan berbagai ukuran. Dan lapisan konvolusi nol membuat proses ini jauh lebih cepat — lebih mirip dengan penyempurnaan model difusi daripada melatih lapisan baru dari awal. 

Kami telah melakukan validasi ekstensif terhadap teknik ini untuk generasi gambar. ControlNet tidak hanya meningkatkan kualitas gambar keluaran. Model ini juga membuat pelatihan jaringan untuk tugas spesifik menjadi lebih efisien, sehingga praktis untuk diterapkan secara massal bagi jutaan kreator kami. Dalam eksperimen, ControlNet memberikan peningkatan efisiensi hingga 10 kali lipat dibandingkan skenario alternatif yang memerlukan model untuk dilatih ulang sepenuhnya. Efisiensi ini sangat penting, karena proses pembuatan model baru memakan waktu dan sumber daya yang besar dibandingkan dengan pengembangan perangkat lunak tradisional. Meningkatkan efisiensi pelatihan menghemat listrik, mengurangi biaya, dan mempercepat penambahan fungsi baru.

Struktur unik ControlNet membuatnya bekerja dengan baik pada kumpulan data pelatihan berbagai ukuran dan pada berbagai jenis media. ControlNet telah terbukti bekerja dengan berbagai jenis modus kontrol, termasuk foto, coretan tangan, dan deteksi pose OpenPose. Kami percaya bahwa ControlNet dapat diterapkan pada berbagai jenis media untuk konten AI generatif. Penelitian ini bersifat terbuka dan tersedia untuk umum agar komunitas dapat bereksperimen dan mengembangkannya, dan kami akan terus menyajikan informasi lebih lanjut seiring dengan penemuan-penemuan baru yang kami temukan.

StarCoder

AI generatif dapat diterapkan untuk menghasilkan gambar, audio, teks, kode sumber program, atau bentuk media kaya lainnya. Namun, di berbagai jenis media, aplikasi yang paling sukses cenderung adalah yang hasilnya dinilai secara subjektif. Misalnya, sebuah gambar dianggap berhasil jika menarik bagi pemirsa manusia. Kesalahan tertentu dalam gambar, seperti fitur aneh di tepi atau bahkan jari ekstra di tangan, mungkin tidak terperhatikan jika gambar secara keseluruhan menarik. Demikian pula, puisi atau cerita pendek mungkin memiliki kesalahan tata bahasa atau lompatan logika, tetapi jika inti ceritanya menarik, kita cenderung memaafkan hal-hal tersebut. 

Cara lain untuk mempertimbangkan kriteria subjektif adalah bahwa ruang hasilnya bersifat kontinu. Satu hasil mungkin lebih baik daripada yang lain, tetapi tidak ada ambang batas spesifik di mana hasil tersebut sepenuhnya dapat diterima atau tidak dapat diterima. Untuk domain dan bentuk media lainnya, hasilnya dinilai secara objektif. Misalnya, kode sumber yang dihasilkan oleh asisten pemrograman AI generatif hanya bisa benar atau salah. Jika kode tersebut tidak lulus uji, maka gagal, meskipun mirip dengan kode solusi yang valid. Ini adalah ruang hasil diskrit. Lebih sulit berhasil di ruang diskrit karena kriteria lebih ketat dan karena tidak bisa mendekati solusi yang baik secara bertahap—kode tersebut rusak sampai tiba-tiba berfungsi.

LLMs yang digunakan untuk output teks bekerja dengan baik untuk aplikasi subjektif dan kontinu seperti chatbot. Mereka juga tampaknya bekerja dengan baik untuk generasi prosa dalam banyak bahasa manusia, seperti Inggris dan Prancis. Namun, LLMs yang ada tampaknya tidak bekerja sebaik itu untuk bahasa pemrograman seperti halnya untuk bahasa manusia. Kode adalah bentuk matematika yang merupakan cara yang sangat berbeda dan objektif untuk mengekspresikan makna dibandingkan dengan bahasa alami. Ini adalah ruang hasil diskrit daripada ruang hasil kontinu. Untuk mencapai kualitas tertinggi dalam pembangkitan kode bahasa pemrograman bagi para kreator Roblox, kita memerlukan metode penerapan LLMs yang dapat berfungsi dengan baik di ruang diskrit dan objektif ini. Kita juga memerlukan metode yang kokoh untuk mengekspresikan fungsionalitas kode secara independen dari sintaks bahasa tertentu, seperti Lua, JavaScript, atau Python. 

StarCoder, LLM open-source mutakhir baru untuk pembangkitan kode, merupakan kemajuan besar dalam mengatasi tantangan teknis ini dan merupakan LLM yang benar-benar terbuka untuk semua orang. StarCoder merupakan salah satu hasil dari konsorsium riset BigCode, yang melibatkan lebih dari 600 anggota dari laboratorium riset akademis dan industri. Peneliti Roblox dan Profesor Universitas Northeastern, Arjun Guha, turut memimpin tim ini dalam mengembangkan StarCoder. Hasil publikasi pertama ini berfokus secara eksklusif pada aspek kode, yang merupakan area di mana bidang ini paling membutuhkan pertumbuhan baru mengingat kesuksesan relatif metode subjektif. 

Untuk menghadirkan AI generatif melalui LLM yang mendukung ekosistem AI yang lebih luas dan komunitas Roblox, kita memerlukan model yang dilatih secara eksklusif pada dataset yang dilisensikan dengan tepat dan dikumpulkan secara bertanggung jawab. Model-model ini juga harus memiliki lisensi yang tidak membatasi sehingga siapa pun dapat menggunakannya, membangun di atasnya, dan berkontribusi kembali ke ekosistem. Saat ini, LLM paling kuat bersifat proprietary 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 kolaborasi peneliti industri dan akademis, serta dilisensikan tanpa batasan untuk aplikasi komersial dalam skala apa pun. StarCoder dilatih secara eksklusif menggunakan konten yang dikumpulkan secara bertanggung jawab dan berlisensi sesuai ketentuan. Model ini awalnya dilatih menggunakan kode publik, dan tersedia proses opt-out bagi mereka yang tidak ingin kodenya digunakan untuk pelatihan.

Saat ini, StarCoder mendukung 86 bahasa pemrograman yang berbeda, termasuk Python, C++, dan Java. Pada saat publikasi makalah ini, model ini outperform setiap LLM kode terbuka yang mendukung multiple bahasa dan bahkan bersaing dengan banyak model tertutup dan berlisensi. 

LLM StarCoder merupakan kontribusi bagi ekosistem, namun tujuan riset kami jauh lebih mendalam. Dampak terbesar dari riset ini adalah memajukan pemodelan semantik pada model multimodal objektif dan subjektif, termasuk kode, teks, gambar, suara, dan video, serta meningkatkan efisiensi pelatihan melalui teknik transfer domain. Kami juga berharap memperoleh wawasan mendalam mengenai kelayakan pemeliharaan dan kendali AI generatif untuk tugas-tugas objektif seperti pembangkitan kode sumber. Ada perbedaan besar antara demonstrasi menarik dari teknologi yang sedang berkembang dan produk yang aman, andal, dan efisien yang memberikan nilai bagi komunitas penggunanya. Untuk model ML kami, kami mengoptimalkan kinerja dalam hal jejak memori, penghematan daya, dan waktu eksekusi. Kami juga telah mengembangkan infrastruktur yang tangguh, mengelilingi inti AI dengan perangkat lunak untuk menghubungkannya dengan sisanya sistem, dan mengembangkan sistem yang mulus untuk pembaruan rutin saat fitur baru ditambahkan. 

Menggabungkan para ilmuwan dan insinyur Roblox dengan para pemikir terkemuka di komunitas ilmiah merupakan komponen kunci dalam upaya kami mengejar teknologi terobosan. Kami bangga membagikan hasil awal ini dan mengundang komunitas penelitian untuk berkolaborasi dengan kami serta mengembangkan kemajuan ini lebih lanjut.