Pada 3 September, Hugging Face merilis catatan pelatihan lengkap: mengambil model coding lalu melatihnya sampai bisa melukis cat air. Tidak ada model difusi sama sekali di seluruh alur ini, juga tidak ada komponen pembuat gambar apa pun. Yang dikeluarkan model adalah kode JavaScript yang memanggil pustaka kuas bernama p5.brush; setelah dijalankan, kanvas menghasilkan sebuah lukisan cat air.
Pengerjaannya oleh Sergio Paniego, dengan ide awal dari Surya Narreddi. Model dasarnya Qwen3.5-35B-A3B, dilatih dengan GRPO dari TRL, LoRA dipasang di seluruh linear layer, learning rate 5e-5, dengan scheduler constant_with_warmup. Eksekusi kode, rendering, dan penilaian semuanya berjalan di dalam lingkungan OpenEnv: model menghasilkan kode, lingkungan menjalankannya, mengambil screenshot, lalu menyerahkan gambar itu ke penilai.
Reward Tanpa Jawaban Benar, Hanya Kumpulan Referensi
Sebagian besar keberhasilan reinforcement learning pada model besar dalam beberapa tahun terakhir punya satu kesamaan: ada titik akhir yang bisa dinilai benar-salah secara otomatis. Soal matematika punya jawaban baku, soal coding punya unit test. Lukisan cat air tidak punya keduanya. Solusi dalam catatan ini adalah memecah "bagus atau tidak" menjadi dua hal yang bisa dinilai.
Fungsi reward terdiri dari empat komponen. Apakah kode berhasil dijalankan menyumbang 0,05, dan panjang kode menyumbang 0,05, sementara sisanya 90% dibagi ke dua sinyal estetika: model juri yang melakukan perbandingan berpasangan, dan penilai preferensi manusia bernama HPSv3. Bobot keduanya bertukar antar-eksperimen — pada kelompok judge-led, juri mendapat 0,60 dan HPSv3 mendapat 0,30; pada kelompok hps-led, urutannya dibalik.
Standar penilaian juri berasal dari kumpulan referensi 178 lukisan yang dinilai manual. Setiap kali model menghasilkan satu gambar, gambar itu dibandingkan dengan karya-karya dalam kumpulan tersebut. Kumpulan yang sama ini juga yang menentukan apa yang disebut "beragam". Seperti tertulis di blog aslinya, "The pool decides what counts as variety, the same way it decides what counts as quality" (kumpulan referensi menentukan apa itu keragaman, sama seperti ia menentukan apa itu kualitas). Ke-178 gambar ini pada dasarnya membatasi langit-langit dari seluruh tujuan pelatihan.
Tiga Kali Percobaan, Tiga Kurva
Penulis menjalankan tiga eksperimen pembanding. Kelompok yang hanya dinilai HPSv3 berjalan 60 langkah, dengan reward rata-rata naik dari 0,58 ke 0,71. Kelompok judge-led berjalan 110 langkah, naik dari 0,45 ke 0,72. Kelompok hps-led, juga 110 langkah, naik dari 0,57 ke 0,82 — titik awal dan titik akhir tertinggi di antara ketiganya.
Kenaikan terbesar ada pada kelompok judge-led, yakni 0,27, tapi titik awalnya juga paling rendah. Kelompok hps-led hanya naik 0,24 namun berakhir di 0,82 — menempatkan penilai preferensi manusia sebagai peran utama dan model juri sebagai pendukung ternyata lebih stabil dibanding sebaliknya. Kelompok yang hanya mengandalkan penilai tanpa juri hanya naik 0,13, yang terkecil di antara ketiganya. Lapisan perbandingan berpasangan ini terbukti menyumbang sinyal tambahan yang nyata, bukan sekadar pemanis yang bisa ada atau tidak ada.
Satu GPU, 34 Jam, Sekitar Seratus Dolar
Konfigurasi perangkat kerasnya sederhana: satu unit H200 dipakai sepanjang proses. Menjalankan 60 langkah butuh 18 jam, sementara 110 langkah butuh 34 jam. Rendering dijalankan di Space berspesifikasi CPU, sedangkan penilai HPSv3 dijalankan di Space berspesifikasi a100-large.
Dengan perkiraan tarif cloud H200 sekitar 3 hingga 4 dolar per jam, satu kali pelatihan penuh 110 langkah menghabiskan sekitar 100 hingga 140 dolar. Ditambah biaya penilai dan rendering, total biaya komputasi seluruh proyek berada di kisaran ratusan dolar. Bagi tim yang hanya ingin menguji apakah preferensi estetika bisa dipakai sebagai reward, ambang ini cukup rendah untuk dicoba tanpa banyak pertimbangan.
Materi yang dibuka cukup lengkap: resep pelatihan dan skrip ada di GitHub, ditambah dataset 178 gambar referensi, Space lingkungan RL yang bisa langsung diduplikasi, Space penilai HPSv3, tiga adapter LoRA beserta dataset rollout masing-masing, serta galeri untuk menelusuri semua hasil yang dihasilkan. Siapa pun yang ingin mereproduksinya tidak perlu membangun lingkungan dari nol — cukup duplikasi Space-nya, ubah bobot reward, lalu mulai.
Mengikuti alur pemikiran ini, ada cukup banyak kasus penggunaan lain yang terbuka. Tampilan komponen front-end, kerapatan tata letak poster, atau apakah warna sebuah grafik sudah pas — semuanya adalah tugas yang benar-salahnya sulit dipastikan, tapi orang bisa langsung menilai mana yang lebih baik sekilas pandang, dan selama ini sulit dituangkan ke dalam fungsi reward RL. Caranya sekarang: kumpulkan dulu kumpulan referensi berisi beberapa ratus contoh, cari penilai preferensi yang cukup baik, dan biarkan GRPO mengurus sisanya. Yang masih jadi masalah tetap kumpulan referensinya — kalau kumpulannya bias, modelnya pun ikut bias, dan biasnya rapi sekali.
Sumber: Blog resmi Hugging Face, dokumentasi proyek TRL dan OpenEnv, CocoLoop; jumlah langkah, rentang reward, dan waktu proses per GPU dari ketiga eksperimen diperiksa satu per satu berdasarkan catatan pelatihan di blog, sementara biaya komputasi merupakan perkiraan kasar berdasarkan harga publik yang berlaku.