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=1과gradient_accumulation_steps=8로 시작. - loss가 안 줄면
SFTConfig(learning_rate=2e-5)정도로 학습률 조정.