Mari kita bicara tentang kerangka kerja, perpustakaan, RL, dan mengapa saya mungkin tidak menyukai basis kode RL favorit Anda. Ya, termasuk yang itu. Hal yang tidak biasa tentang RL adalah bahwa algoritma adalah bagian yang mudah. GRPO adalah persamaan satu baris pada beberapa logprob. Jika Anda memiliki data, menghitung kerugian itu sepele, dan mungkin Anda menggunakannya dengan perpustakaan backprop pilihan Anda. Tapi itulah masalahnya – mendapatkan data. Ini menyakitkan. Dalam RL biasa Anda harus melakukan peluncuran, mungkin memotong beberapa episode, dan menangani ujungnya sesuai dengan itu. Jika Anda tidak ingin menjadi siput, Anda pasti ingin mengvektorkan lingkungan dan mengadaptasi algoritme untuk itu. Jika Anda ingin melakukan LLM, Anda perlu melakukan semua omong kosong yang membuat LLM cocok dalam ingatan. Anda harus berhati-hati dengan petunjuk Anda, menutupi bagian yang tepat untuk kehilangan. Anda memerlukan mesin generasi yang layak (vLLM), yang kemudian merepotkan untuk memperbarui bobot. Jika Anda ingin melakukan LLM RL multi-agen multi-agen, sebaiknya lakukan melakukan sudoku. Meskipun kami memiliki banyak ketidaksepakatan tentang apa pun yang berhubungan dengan RL, saya pikir Pufferlib @jsuarez5341 mencontohkan poin ini dengan indah. Tidak diragukan lagi ini luar biasa dalam apa yang dilakukannya - melatih RL algos pada lingkungan simulasi dengan sangat sangat cepat. Tapi sebagian besar kebaruannya adalah infra murni. Algoritma inti sebagian besar sama seperti yang telah mereka lakukan selama bertahun-tahun, dan saya bersedia bertaruh bahwa mereka mewakili kurang dari 10% dari keseluruhan upaya teknik. Secara alami, ini berimplikasi pada kode yang perlu Anda tulis untuk melakukan apa pun selain menjalankan contoh bawaan. Apa yang saya temukan berkali-kali, adalah bahwa bagi banyak masalah penelitian yang cukup tidak sepele (baca: menarik), dibutuhkan jumlah waktu yang sama untuk (a) menulis hal dari awal/dari primitif sederhana, atau (b) mengadaptasi kerangka kerja yang ada untuk mengakomodasi ide-ide gila. Dalam yang pertama, Anda fokus pada penulisan logika yang sebenarnya. Dalam yang terakhir, Anda memperjuangkan kerangka kerja untuk memungkinkan Anda menambahkan logika. Saya tahu apa yang saya sukai lebih baik. Semua ini karena algoritma adalah bagian yang mudah. Infra adalah rasa sakit di pantat. Jadi kapan pun Anda berada dalam posisi untuk memilih - gunakan alat yang menyederhanakan infra, dan tulis loop pelatihan sendiri. Jangan membuat kerangka kerja, bangun pustaka. Anda akan berterima kasih pada diri sendiri nanti. Teriakan besar kepada supervisor Guru saya dari masa lalu, yang merupakan orang pertama yang menyuruh saya untuk menjatuhkan rllib dan menulis PPO sendiri di PyTorch. Dan untuk @hallerite menginspirasi saya untuk akhirnya menulis kata-kata kasar ini. Saya mungkin menulis postingan upaya yang tepat dengan contoh di beberapa titik di masa depan jika orang-orang menuntutnya.