TRL 퀵스타트 — SFT·GRPO·DPO 한눈에

TRL 퀵스타트 — SFT·GRPO·DPO 한눈에

TRL 퀵스타트는 세 대표 트레이너를 가장 짧은 코드로 체험할 수 있어요. instruction tuning(SFT)부터 시작해 보상을 쓰는 GRPO·DPO로 자연스럽게 확장돼요.

SFT (지시 파인튜닝)

from trl import SFTTrainer
from datasets import load_dataset

trainer = SFTTrainer(
    model="Qwen/Qwen2.5-0.5B",
    train_dataset=load_dataset("trl-lib/Capybara", split="train"),
)
trainer.train()

GRPO (그룹 상대 보상 최적화)

from trl import GRPOTrainer
from trl.rewards import accuracy_reward

trainer = GRPOTrainer(
    model="Qwen/Qwen2.5-0.5B-Instruct",
    train_dataset=load_dataset("trl-lib/DeepMath-103K", split="train"),
    reward_funcs=accuracy_reward,
)
trainer.train()

DPO (선호 최적화)

선호 쌍 데이터로 인간이 더 선호하는 답을 높이도록 학습시켜요. 세 트레이너는 모두 compact 모델로 금방 실험할 수 있어요.

트러블슈팅

  • OOM이 나면 per_device_train_batch_size=1gradient_accumulation_steps=8 로 시작.
  • loss가 안 줄면 SFTConfig(learning_rate=2e-5) 정도로 학습률 조정.

더 알아보기