Lingkungan Pembelajaran Penguatan
Pendahuluan
Salah satu bidang yang terus menarik perhatian peneliti dan insinyur AI adalah mengadopsi LLM ke dalam sistem otonom end-to-end yang terdiri dari arsitektur multi-agen. Meskipun LLM sendiri sudah mengesankan, untuk benar-benar mendapatkan manfaat darinya, kita melihat industri beralih ke lingkungan Pembelajaran Penguatan (RL).
Lingkungan RL bukanlah hal baru; mereka ada sebelum LLM. Faktanya, Anda benar-benar tidak bisa membicarakan agen tanpa membicarakan lingkungan. Secara umum, dalam konteks RL, sebuah lingkungan menyediakan penghargaan atau hukuman untuk sebuah tindakan yang diambil agen dalam lingkungan tersebut. Agen dipaksa untuk beradaptasi agar memaksimalkan penghargaan kumulatif. Adaptasi ini untuk memaksimalkan penghargaan adalah inti dari pembelajaran penguatan.
Sekarang dengan munculnya LLM, agen sebenarnya sering berupa model. Bobot model diperbarui dari penilaian terhadap upayanya dalam berbagai tugas, memungkinkan model untuk beradaptasi. Pemakaian komputer, seperti dalam sistem AI yang dapat menavigasi komputer Anda, adalah tugas multi-agen yang sangat menarik. Kami sebenarnya telah membahas topik ini dalam artikel sebelumnya mengenai kerja Microsoft dengan penskalaan data penggunaan komputer menggunakan pipeline multi-agen untuk model mereka, Fara-7B.
Poin Penting
- Industri sedang beralih ke lingkungan Pembelajaran Penguatan (Reinforcement Learning/RL) untuk mendapatkan nilai sejati dari Model Bahasa Besar (Large Language Models/LLM).
- Lingkungan RL memberikan hadiah atau hukuman untuk tindakan agen, memaksa agen (seringkali LLM/model) untuk menyesuaikan bobotnya agar memaksimalkan hadiah kumulatif.
- Berbeda dengan hadiah subjektif dalam RLHF, RLVR menggunakan hadiah yang objektif dan dapat diverifikasi (misalnya, dalam tugas matematika dan kode) yang "tidak dapat dimanipulasi," memastikan model mengembangkan penalaran yang diinginkan.
- Perusahaan menggunakan lingkungan RL, yang sering disebut sebagai "harness" atau "UI gyms," untuk melatih model khusus agar dapat digunakan dalam produk perangkat lunak mereka sendiri (misalnya, Composer milik Cursor, Codex milik OpenAI).
Pembelajaran Penguatan dari Hadiah yang Dapat Diverifikasi
Perbincangan dan minat yang meningkat baru-baru ini terhadap lingkungan RL mungkin dapat ditelusuri kembali ke keberhasilan RLVR (Reinforcement Learning from Verifiable Rewards), di mana tugas-tugas dapat diverifikasi seperti dengan matematika dan kode. Kami menyukai cara blog post Andrej Karpathy, 2025 LLM Year in Review, menempatkan RLVR dalam konteks kemajuan yang dicapai tahun lalu. Karpathy menjelaskan apa yang membuat RLVR efektif: hadiah yang dapat diverifikasi tidak dapat dimanipulasi. Fungsi hadiah yang tidak dapat dimanipulasi adalah fungsi yang terikat langsung pada hasil tugas yang sukses dan dapat diverifikasi (seperti menyelesaikan teka-teki atau lulus kasus uji), sehingga sulit bagi LLM untuk mendapatkan hadiah tinggi tanpa benar-benar mengembangkan strategi berpikir dan pemecahan masalah yang diinginkan (reward hacking).
Lingkungan RL untuk Produk
Will Brown menjelaskan bahwa model dilatih untuk produk tertentu dengan memberikan contoh Composer milik Cursor dan Codex milik Open AI, di mana model dilatih dalam harness, yang pada dasarnya adalah lingkungan RL yang mewakili produk tersebut. Sejalan dengan itu, perusahaan mulai membangun lingkungan di sekitar perangkat lunak mereka – yang kita dengar disebut sebagai UI gyms.
Membuat Lingkungan RL
Ada banyak cara untuk membuat lingkungan RL. Pertama, pertimbangkan tujuan Anda. Apa yang ingin dicapai oleh model Anda? Kemudian Anda perlu memilih kerangka kerja. Tergantung pada kerangka kerja yang dipilih, lingkungan akan didefinisikan dengan cara yang berbeda.
Kerangka kerja potensial termasuk hub lingkungan Prime Intellect, SkyRL (yang memiliki alat yang dapat digunakan kembali), OpenEnv dari PyTorch, dan Gymnasium dari OpenAI. Thinking Machines juga memiliki dokumentasi dan buku panduan tentang lingkungan RL.
Terlepas dari kerangka kerjanya, Anda biasanya perlu memikirkan dan menentukan komponen utama dari lingkungan RL Anda:
- Ruang status: Informasi yang diamati oleh agen. Ini bisa berupa piksel dari layar permainan, pembacaan sensor numerik, tangkapan layar, atau representasi dunia.
- Ruang aksi: Semua tindakan yang mungkin dilakukan oleh agen. Tindakan bisa bersifat diskrit (seperti menekan tombol) atau kontinu (seperti pengendalian motor).
- Fungsi hadiah: Fungsi hadiah membentuk perilaku yang muncul. Hadiah yang jarang (hanya diberikan saat tugas selesai) bisa menantang untuk dipelajari, sementara hadiah yang padat (umpan balik yang sering) dapat memberi penghargaan pada perilaku yang tidak diinginkan.
- Kondisi penghentian episode: Di sini, kita menentukan kapan "percobaan" berakhir. Ini bisa terjadi setelah mencapai suatu tujuan, melebihi batas waktu, atau memasuki kondisi kegagalan.
Setelah mendefinisikan komponen-komponen ini, Anda akan mengimplementasikan dinamika lingkungan seperti dalam aturan yang mengatur bagaimana keadaan berubah berdasarkan tindakan.
Langkah 0: Pertimbangkan apa yang akan kita butuhkan
Mulailah dengan menyiapkan Droplet GPU. Perhatikan berapa banyak GPU yang akan Anda butuhkan. Kami akan menggunakan 4 H100. Anda juga akan membutuhkan akun Weights and Biases.
Langkah 1: Kloning repositori dan siapkan lingkungan
git clone https://github.com/NovaSky-AI/SkyRL.git
cd SkyRL
uv venv .venv
source .venv/bin/activate
uv pip install -e ".[vllm]" ##or ".[sglang]" for alternative inference backends
uv pip install -r requirements.txt
# may need to:
snap install astral-uvLangkah 2: Siapkan Dataset untuk Pelatihan RL
SkyRL mengharapkan data dalam format Parquet dengan skema yang sesuai untuk instruksi dan RL (prompt, penyelesaian, hadiah, dll.).
Anda bisa menggunakan salah satu contoh bawaan, seperti GSM8K untuk penalaran matematika (pilihan yang baik untuk memulai sebelum beralih ke tugas bergaya SWE-Bench), atau menyiapkan sendiri untuk lingkungan kustom.
Kita akan menghasilkan data GSM8K (gaya penalaran + penggunaan alat) dengan gsm8k_dataset.py.
cd skyrl-train
uv run examples/gsm8k/gsm8k_dataset.py --output_dir ~/data/gsm8kJadi ini membuat train.parquet dan validation.parquet dengan bidang seperti:
promptpenyelesaian(atau trajektori)reward(untuk setup offline/hybrid; RL online menghitung reward secara langsung)
Untuk tugas yang lebih bersifat agensi, kita mungkin bisa menggunakan SWE-Bench atau tolok ukur serupa yang melihat pada tugas-tugas yang dapat diverifikasi. SkyRL sebenarnya mengintegrasikan runtime OpenHands (SkyRL-OpenHands) untuk lingkungan pengeditan kode.
Langkah 3: Buat konfigurasi YAML untuk Mengatur Jalannya Pelatihan
Mari kita buat file YAML untuk mengonfigurasi latihan GRPO: examples/gsm8k/gsm8k-grpo.yaml
data:
train_data: ["~/data/gsm8k/train.parquet"]
val_data: ["~/data/gsm8k/validation.parquet"]
trainer:
algorithm:
name: grpo
advantage_estimator: grpo
policy:
model:
path: Qwen/Qwen2.5-1.5B-Instruct # Start small; scale to 7B–32B
epochs: 2 # Increase for real training
strategy: fsdp2 # Or ddp for single node
placement:
colocate_all: true
policy_num_gpus_per_node: 4 # Adjust to your hardware
inference:
backend: vllm # Fast inference for rollouts
logger: wandbLangkah 4: LATIH
Untuk satu node:
uv run -m skyrl_train.entrypoints.main_base \
--config examples/gsm8k/gsm8k-grpo.yaml \
trainer.epochs=5 \
data.train_data='["~/data/gsm8k/train.parquet"]'Untuk distribusi (multi-GPU/node melalui Ray/SkyPilot):
sky launch skyrl_train/examples/gsm8k/gsm8k-grpo-skypilot.yaml \
--secret WANDB_API_KEY=your_key_hereLangkah 5: Evaluasi dan Ulangi
from skyrl.agent import SkyRLAgent
agent = SkyRLAgent.from_checkpoint("path/to/checkpoint")
result = agent.run_task(
prompt="Fix this bug in repo X: ...",
runtime="openhands", # Stateful code env
max_turns=30
)
print(result.success_rate, result.trajectory)Pertanyaan yang Sering Diajukan
Apa itu lingkungan RL?
Dalam konteks Pembelajaran Penguatan (Reinforcement Learning/RL), lingkungan memberikan hadiah atau hukuman untuk suatu tindakan yang dilakukan oleh agen (seringkali LLM/model). Agen menyesuaikan perilakunya untuk memaksimalkan hadiah kumulatif.
Mengapa industri beralih ke lingkungan RL untuk LLM?
Industri mengadopsi lingkungan RL untuk mengintegrasikan LLM ke dalam sistem otonom end-to-end dengan arsitektur multi-agen, yang dianggap sebagai cara untuk mendapatkan nilai sebenarnya dari model-model ini.
Apa itu Reinforcement Learning dari Hadiah yang Dapat Diverifikasi (RLVR)?
RLVR adalah metode yang menggunakan hadiah objektif dan dapat diverifikasi (seperti pada tugas matematika dan kode). Hadiah "tidak dapat dimanipulasi" ini memastikan model mengembangkan strategi penalaran dan pemecahan masalah yang diinginkan, berbeda dengan hadiah subjektif yang digunakan dalam RLHF.
Bagaimana lingkungan RL digunakan untuk produk komersial?
Perusahaan membangun lingkungan, yang sering disebut sebagai “harnesses” atau “UI gyms,” di sekitar perangkat lunak mereka sendiri untuk melatih model khusus untuk digunakan dalam produk mereka, seperti Composer dari Cursor atau Codex dari OpenAI.
Bagaimana lingkungan RL dapat digunakan untuk menghasilkan data sintetis?
Lingkungan secara inheren mengetahui kebenaran dasar (misalnya, unit test yang berhasil, output spreadsheet yang benar, data terminal yang akurat), sehingga berguna untuk menghasilkan data sintetis berkualitas tinggi.
Pemikiran Akhir
Ke depan pada tahun 2026, tampaknya kita akan melihat integrasi model AI yang lebih baik ke dalam kasus penggunaan nyata berkat lingkungan RL yang memungkinkan model dilatih untuk aplikasi tertentu. Linux-Console.net berupaya mewujudkan ambisi Anda dengan AI menjadi mungkin: Latih, Inferensikan, dan Bangun Agen dengan Gradient.
Referensi dan Sumber Tambahan
SemiAnalysis: Lingkungan RL dan RL untuk Ilmu Pengetahuan: Data Foundries dan Arsitektur Multi-Agen
Epoch AI: FAQ tentang Lingkungan Pembelajaran Penguatan
SkyRL: Membuat Lingkungan atau Tugas Baru — Dokumentasi SkyRL
Thinking Machines: Lingkungan RL – API Tinker
Mode GPU: Mini-konferensi lingkungan RL
Prime Intellect:
Apa itu lingkungan RLVR untuk LLM? | Kebijakan - Peluncuran - Rubrik
Lingkungan RL dalam Skala Besar – Will Brown, Prime Intellect
Di Balik Layar: Membangun Lingkungan RL dengan Zapier & Prime Intellect
INTELLECT-3: Laporan Teknis
Dan jika Anda ingin mempelajari RL dari dasar, ini adalah Google Drive dari kursus CMPUT 609 Richard Sutton.
Terima kasih telah belajar bersama Komunitas Linux-Console.net.
