Last chance! 50% off DataCamp Premium
Sale ends in
Group Relative Policy Optimization (GRPO) adalah teknik reinforcement learning (RL) mutakhir yang mendukung kinerja mengesankan dari model bahasa besar (LLM) terbaru. Meskipun mendapat perhatian luas setelah rilis DeepSeek-R1, GRPO pertama kali diperkenalkan dalam DeepSeekMath, yaitu LLM yang disesuaikan untuk penalaran matematika tingkat lanjut. GRPO awalnya dirancang untuk meningkatkan efisiensi dalam fine-tuning, dan telah terbukti menjadi metode yang hemat biaya serta serbaguna yang diadopsi komunitas.
Dalam artikel ini, kita akan menyelami GRPO. Kita akan membahas apa itu, cara kerjanya, komponen penting untuk implementasinya, dan kapan paling tepat digunakan. Tujuan panduan ini adalah memaparkan wawasan kunci di balik GRPO, yang menjelaskan popularitasnya yang terus meningkat.
Jika Anda ingin mempelajari lebih lanjut tentang DeepSeek, pastikan untuk melihat kursus kami, Working with DeepSeek in Python.
Seperti yang kami jelaskan dalam panduan fine-tuning LLM, supervised fine-tuning (SFT) adalah teknik pelatihan tradisional yang terdiri dari melatih model menggunakan data berlabel. Artinya, menggunakan contoh yang menunjukkan pelengkapan atau keluaran yang diharapkan untuk masukan tertentu.
Salah satu keterbatasan SFT adalah ketergantungan yang tinggi pada dataset berlabel berukuran besar, yang bisa mahal dan memakan waktu untuk diproduksi. Selain itu, model yang dilatih melalui SFT berisiko overfitting terhadap contoh pelatihan, artinya berkinerja baik pada data yang pernah dilihat tetapi kesulitan melakukan generalisasi pada situasi baru atau tak terduga.
Alternatif SFT adalah reinforcement learning, di mana, alih-alih belajar dari contoh tetap, agen belajar dengan berinteraksi dengan lingkungannya dan mencoba berbagai tindakan untuk menyelesaikan tugas. Setelah setiap tindakan, agen menerima umpan balik berupa hadiah atau penalti. Tujuannya adalah memaksimalkan total hadiah dari waktu ke waktu dengan menemukan strategi yang paling efektif.
Kita dapat menggambarkan alur kerja RL sederhana sebagai berikut:

Diagram alur kerja RL sederhana.
Jika Anda ingin langsung praktik RL di Python, tutorial Reinforcement Learning: An Introduction With Python Examples cocok untuk Anda!
Untuk mengilustrasikan konsep reinforcement learning, bayangkan Anda mengajari sepupu Anda bersepeda. Pada awalnya, ia kesulitan mengayuh dan menjaga keseimbangan, sering goyah atau jatuh.
Setiap kali ia mengayuh sedikit lebih jauh, Anda menyemangatinya. Umpan balik positif ini mendorongnya untuk terus mencoba. Tetapi ketika ia mencoba menuruni tangga dengan sepeda, Anda segera menghentikannya dan menjelaskan risikonya. Itu menjadi sinyal negatif untuk mencegah tindakan tersebut.
Demikian pula, reinforcement learning memungkinkan model mengeksplorasi berbagai tindakan. Hadiah positif memperkuat hasil yang diinginkan, sementara hadiah negatif menghambat perilaku yang tidak diinginkan. Seiring waktu, model belajar mengambil keputusan yang lebih baik melalui umpan balik ini.
Ada berbagai teknik untuk menerapkan reinforcement learning pada model. Secara khusus, GRPO dianggap sebagai evolusi dari proximal policy optimization (PPO) dan direct policy optimization (DPO).
Pernah mendengar PPO dan DPO sebelumnya?
PPO adalah algoritma RL yang banyak digunakan dan dirancang untuk mengoptimalkan perilaku model dengan memaksimalkan hadiah menggunakan model hadiah terpisah. Contoh hebat PPO dalam praktik adalah reinforcement learning from human feedback (RLHF) dari OpenAI. Dalam RLHF, umpan balik manusia pertama-tama dikumpulkan pada keluaran model, dan data ini kemudian digunakan untuk melatih model hadiah guna memprediksi umpan balik. Memiliki model hadiah adalah cara untuk menskalakan umpan balik manusia, tanpa kebutuhan keterlibatan manusia terus-menerus.
Terakhir, PPO menggunakan model hadiah selama pelatihan untuk menyesuaikan parameter model, mendorongnya menghasilkan respons yang lebih selaras dengan preferensi manusia. Diagram berikut menggambarkan alur kerja PPO:

Diagram alur kerja PPO.
Jika Anda ingin mengimplementasikan alur kerja PPO di Python, pertimbangkan tutorial Proximal Policy Optimization with PyTorch and Gymnasium.
Melatih model hadiah terpisah bisa kompleks dan memakan sumber daya. Untuk mempermudah proses ini, DPO diperkenalkan, mengubah cara pengumpulan umpan balik manusia.
Alih-alih meminta manusia memberi skor numerik pada respons, DPO mengandalkan perbandingan preferensi. Anotator manusia diperlihatkan dua respons dan diminta memilih yang mereka sukai. Ini menciptakan dataset contoh lebih disukai dan kurang disukai.
Model kemudian di-fine-tune langsung pada pasangan preferensi ini, alih-alih bergantung pada model hadiah. Melalui pendekatan ini, model belajar meningkatkan kemungkinan menghasilkan respons yang lebih disukai sambil mengurangi kemungkinan respons yang kurang disukai.
Pendekatan ini memungkinkan model selaras dengan preferensi manusia tanpa memerlukan model hadiah terpisah. Mari kita lihat alur kerja baru ini:

Diagram alur kerja DPO.
Tutorial OpenAI's Preference Fine-Tuning: A Guide With Examples akan membantu Anda mengimplementasikan DPO dalam praktik.
DPO menghadirkan banyak manfaat dibandingkan PPO. Mulai dari data yang diperlukan, PPO harus terlebih dahulu mengumpulkan data untuk melatih model hadiah, lalu melakukan pelatihan model tambahan ini (dengan semua tantangan teknis melatih model baru), bahkan sebelum memulai pelatihan model target Anda. DPO menyederhanakan proses dengan menghapus kebutuhan akan model hadiah terpisah. Meski demikian, pendekatan ini tetap memerlukan sejumlah besar data preferensi.
Pada titik ini, apakah Anda melihat cara untuk menghilangkan keterbatasan ini?
Bagaimana jika alih-alih bergantung pada umpan balik eksternal, kita bisa menemukan cara otomatis untuk memvalidasi dan menilai respons model?
Itulah tepatnya yang ditawarkan GRPO!
Group Relative Policy Optimization adalah teknik RL yang tidak memerlukan data berlabel, hanya cara untuk “memverifikasi” kebenaran dan mengurutkan respons sesuai hal itu. Verifikasi biasanya dicapai oleh fungsi hadiah yang dapat diprogram, misalnya fungsi yang dapat menerima respons model sebagai masukan dan menghasilkan skor penilaian pada aspek tertentu dari fungsi tersebut.
Beberapa pendekatan GRPO menggunakan LLM-sebagai-juri untuk memverifikasi dan menilai respons, tetapi gagasan inti GRPO dapat dimanfaatkan tanpa perlu model eksternal di domain seperti pengembangan perangkat lunak, karena berbagai aspek kode yang dihasilkan dapat diverifikasi oleh alat eksternal. Misalnya,
Seperti yang Anda lihat, tidak diperlukan manusia atau data preferensi!
Dalam artikel asli DeepSeek-Math, fungsi hadiah dirancang untuk menilai kebenaran dan pemformatan solusi matematika. Jika Anda pernah meminta keluaran terstruktur kepada LLM, Anda akan menyadari bahwa model mungkin mengikuti format keluaran yang diinginkan untuk sebagian besar pelengkapan, namun selalu ada kasus pinggiran yang merusak pipeline Anda, bukan?
Dalam kasus DeepSeek-Math, fungsi hadiah berfokus pada kebenaran dan pemformatan:
<think> dan </think>). Pemformatan ini memudahkan ekstraksi dan analisis proses berpikir model, mendorong kejelasan dan konsistensi dalam keluarannya.Pada titik ini, Anda mungkin bertanya-tanya, Di mana GRPO cocok dalam alur pelatihan model?
Mari kita tinjau prosesnya selangkah demi selangkah!
Dengan mengikuti loop ini, GRPO melakukan fine-tuning model secara langsung berdasarkan keluaran fungsi hadiah, tanpa perlu mengumpulkan data preferensi.

Diagram alur kerja GRPO dengan hadiah skor yang dihitung oleh aktor eksternal.
Terakhir, menarik untuk dicatat bahwa GRPO juga menghadirkan manfaat mengajarkan tugas baru kepada model, bukan hanya mengarahkan pembelajaran menuju suatu preferensi, seperti pada PPO atau DPO.
Seperti terlihat pada diagram di atas, manfaat utama GRPO adalah tidak memerlukan data berlabel, hanya cara untuk “memverifikasi” kebenaran, yang dicapai melalui penggunaan fungsi hadiah yang dapat diprogram.
Manfaat lainnya adalah memerlukan jauh lebih sedikit contoh daripada fine-tuning, sehingga teknik ini menjadi alternatif yang hemat biaya.
Selain itu, model belajar secara aktif dari umpan balik alih-alih dari contoh berlabel tetap, yang mengurangi risiko overfitting. Melatih model dengan GRPO memungkinkan mereka secara organik menemukan strategi yang lebih baik dan meningkatkan rantai pemikiran.
Seperti dibahas sebelumnya, kasus penggunaan utama GRPO muncul saat Anda tidak memiliki data berlabel tetapi dapat memverifikasi kebenaran keluaran. GRPO juga sangat efektif ketika Anda memiliki data berlabel terbatas, namun tidak cukup untuk melakukan supervised fine-tuning tradisional. Ini membuat GRPO sangat berharga dalam skenario ketika pelabelan mahal atau tidak praktis.
Beberapa domain tempat GRPO menunjukkan keunggulan signifikan meliputi:
Ada beberapa kiat dan trik lanjutan saat mengimplementasikan GRPO dalam praktik yang perlu Anda ketahui.
Fungsi hadiah memberikan umpan balik kepada model tentang seberapa baik ia mencapai tujuannya. Ada komponen penting dalam proses ini:
Selain itu, menetapkan baseline untuk seluruh grup dapat berperan penting dalam menstabilkan dan meningkatkan proses pelatihan. Dengan mengurangkan baseline ini dari hadiah individual, model menerima umpan balik relatif terhadap kinerja keseluruhan grup, yang mengurangi varians dalam estimasi hadiah dan mendorong peningkatan bertahap di atas rata-rata.
Dalam LLM, parameter temperature mengontrol tingkat keacakan proses sampling selama generasi keluaran. Mengatur temperature ke 0 menghasilkan sampling deterministik, artinya model selalu memilih token berikutnya yang paling mungkin.
Walau menjamin konsistensi, ini sering membuat keluaran yang sama berulang kali, membatasi keberagaman respons.
Di sisi lain, menaikkan temperature memperkenalkan lebih banyak keacakan, memungkinkan model menjelajahi lebih banyak kemungkinan. Keberagaman ini dapat bermanfaat untuk menemukan solusi yang berbeda atau tak terduga.
Namun, temperature yang lebih tinggi memiliki trade-off: kualitas setiap tebakan cenderung lebih rendah karena model lebih sering mengambil sampel token yang kurang mungkin. Karena itu, proses pembelajaran secara keseluruhan mungkin melambat.
Memilih temperature yang tepat terkadang adalah seni!
Model bisa licik dan terkadang mengeksploitasi fungsi hadiah dengan cara yang tidak diinginkan untuk memaksimalkan hadiah tanpa benar-benar mencapai tujuan.
Sebagai contoh, misalkan model diberi hadiah untuk menghasilkan pengujian atas potongan kode tertentu. Bisa saja model memberikan fungsi uji, tetapi tanpa benar-benar menguji apa pun, sehingga mengakali tujuan sebenarnya untuk memverifikasi kebenaran kode dan tetap mendapatkan hadiah.
Kita harus mewaspadai trik semacam ini saat menulis fungsi hadiah. Misalnya, dalam kasus pembuatan pengujian, biasanya disyaratkan model menghasilkan setidaknya satu pernyataan ‘assert’ di dalam pengujian. Jika tidak, akan dikenai penalti.
Sebagai penutup, saya ingin menerapkan GRPO pada skenario dunia nyata untuk memastikan semua konsep dipahami dengan baik.
Bayangkan Anda dan teman-teman mengikuti kompetisi kebugaran di mana hadiah diberikan berdasarkan performa lari, push-up, dan mendayung. Awalnya, gym hanya memberi hadiah kepada orang dengan hasil absolut terbaik.
Dengan begitu, jika Alice berlari lebih jauh dan melakukan lebih banyak push-up daripada Ben, ia selalu menang, meski Ben menunjukkan peningkatan signifikan.
Ini terasa tidak adil bagi Ben, bukan?
Untuk mengatasinya, gym mencoba pendekatan berbeda: target personal berdasarkan performa masa lalu.
Sekarang, Anda hanya mendapatkan hadiah jika melampaui rekor Anda sendiri sebelumnya. Meskipun tampak lebih adil, ini menimbulkan masalah baru. Anggota baru, seperti Charlie, tidak memiliki data masa lalu untuk dibandingkan, sehingga sulit bagi mereka untuk berpartisipasi. Selain itu, pelatih harus terus melacak kemajuan setiap orang secara individual, yang menjadi tidak efisien.
Akhirnya, gym menawarkan solusi yang lebih baik: GRPO.
Sebelum latihan dimulai, instruktur gym mengaktifkan sistem yang menganalisis karakteristik peserta dan mengelompokkan mereka berdasarkan kondisi serupa. Selama latihan, sistem melacak performa setiap peserta dan menghitung skor rata-rata dalam tiap grup untuk dijadikan baseline. Setelahnya, hadiah diberikan berdasarkan seberapa jauh tiap orang melampaui performa rata-rata grupnya pada hari yang sama.
Jadi jika Ben tampil jauh lebih baik daripada yang lain di grupnya, ia mendapatkan hadiah, meskipun Alice tetap memiliki skor keseluruhan tertinggi. Metode ini adil bagi pendatang baru seperti Charlie juga, karena mereka dievaluasi relatif terhadap rekan-rekannya dalam sesi yang sama, bukan berdasarkan riwayat sebelumnya.
Faktor penting dalam proses ini adalah temperature, yang mengontrol seberapa ketat peningkatan diberi hadiah. Jika temperature terlalu rendah, hanya peningkatan besar di atas baseline yang dihitung. Jika temperature terlalu tinggi, bahkan peningkatan kecil diberi hadiah, yang mendorong eksperimen tetapi dapat menyebabkan kemajuan yang tidak stabil.
GRPO bertujuan menemukan keseimbangan yang tepat, memastikan peningkatan stabil sambil tetap memungkinkan eksplorasi.
Terakhir, ada risiko reward hacking. Artinya peserta menemukan cara untuk mengakali sistem tanpa benar-benar meningkatkan diri. Misalnya, Ben mungkin hanya fokus pada latihan yang paling mudah untuk menaikkan skornya tanpa upaya nyata.
Untuk mencegah hal ini, gym menambahkan pengaman, seperti mewajibkan campuran latihan yang seimbang atau memberi penalti pada latihan berulang yang rendah usaha. Batasan ini memastikan bahwa hadiah mencerminkan kemajuan yang nyata.
Jika Anda ingin mempelajari lebih lanjut tentang cara kerja LLM dan bagaimana mengembangkan milik Anda sendiri, lihat kursus kami, Developing Large Language Models.
Umumnya kurang dari 1000 contoh berlabel.
Tidak. GRPO hanya menggunakan informasi dari langkah pelatihan saat ini.
Grup adalah kumpulan respons model terhadap prompt yang sama.
Dengan memasukkan batasan, GRPO mencegah model mengeksploitasi jalan pintas untuk meningkatkan hadiah secara tidak wajar.
Setiap respons diberi hadiah berdasarkan seberapa jauh ia melampaui baseline grup, bukan berdasarkan hadiah absolut.
Andrea Valenzuela saat ini bekerja pada eksperimen CMS di akselerator partikel (CERN) di Jenewa, Swiss. Dengan keahlian dalam rekayasa dan analisis data selama enam tahun terakhir, tugasnya mencakup analisis data dan pengembangan perangkat lunak. Kini ia berupaya mendemokratisasi pembelajaran teknologi terkait data melalui publikasi Medium ForCode'Sake.
Ia meraih gelar BS di bidang Engineering Physics dari Polytechnic University of Catalonia, serta gelar MS di bidang Intelligent Interactive Systems dari Pompeu Fabra University. Pengalaman penelitiannya mencakup pekerjaan profesional dengan algoritme OpenAI sebelumnya untuk pembuatan gambar, seperti Normalizing Flows.
Kursus Teratas di DataCamp
Kursus
Program
Kursus
blogs
David Woods
13 mnt

blogs
Javier Canales Luna
14 mnt
blogs
Dario Radečić
15 mnt
blogs
Hugo Bowne-Anderson
13 mnt