SFTTrainer — 지도 파인튜닝
SFTTrainer — 지도 파인튜닝
SFTTrainer는 언어 모델의 지도 파인튜닝(SFT) 을 위한 트레이너예요. 지시·채팅 데이터셋으로 모델이 원하는 응답 형식을 따르도록 만드는 가장 기본적인 포스트트레이닝 단계죠.
데이터셋 예시
데이터셋 각 샘플은 표준(표준 텍스트) 또는 프롬프트-완성(prompt-completion) 형식일 수 있어요.
PEFT 어댑터 훈련
from datasets import load_dataset
from trl import SFTTrainer
from peft import LoraConfig
dataset = load_dataset("trl-lib/Capybara", split="train")
trainer = SFTTrainer(
"Qwen/Qwen3-0.6B",
train_dataset=dataset,
peft_config=LoraConfig(),
)
trainer.train()
Vision 언어 모델 훈련
from trl import SFTConfig, SFTTrainer
from datasets import load_dataset
trainer = SFTTrainer(
model="Qwen/Qwen2.5-VL-3B-Instruct",
args=SFTConfig(max_length=None),
train_dataset=load_dataset("trl-lib/llava-instruct-mix", split="train"),
)
trainer.train()
기본 예시
from trl import SFTTrainer
from datasets import load_dataset
dataset = load_dataset("roneneldan/TinyStories", split="train[:1%]")
trainer = SFTTrainer(model="Qwen/Qwen2.5-0.5B-Instruct", train_dataset=dataset)
trainer.train()
SFTTrainer는 loss_type="dft"(Dynamic Fine-Tuning) 같은 추가 손실 설정도 지원해요. SFTConfig가 SFT 전용 파라미터를 담당하고, 나머지 훈련 인자는 transformers의 TrainingArguments를 따라요.