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-uv

Langkah 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/gsm8k

Jadi ini membuat train.parquet dan validation.parquet dengan bidang seperti:

  • prompt
  • penyelesaian (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: wandb

Langkah 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_here

Langkah 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.