SFTTrainer는 대화 데이터에 맞춘 Trainer야
trl.SFTTrainer는 messages 열을 직접 받고 tokenizer의 chat template를 적용해. 응답 템플릿을 주면 completion-only collator를 준비하고, 설정을 더해 LoRA나 QLoRA도 같은 루프에 연결할 수 있어.
가능하면 대화 구조를 그대로 보존해
- 대화형 데이터는 각 행에 user와 assistant 메시지 목록을 둬.
- 단일 text 데이터는 prompt와 response를 이미 합친 문자열을 둬.
현대 지시형 모델에는 대화형 형식이 기본이야. 모델마다 special token과 순서가 다르므로 문자열을 손으로 조립하지 말고 SFTTrainer와 tokenizer가 chat template를 적용하게 해.