Skip to main content
Unsloth는 학습 속도와 메모리 효율을 개선하는 데 초점이 있고, TRL은 SFT/DPO 등 정렬 학습 루틴을 표준화해 줍니다.

기본 워크플로우

1

데이터 준비

chat template과 역할(role) 구조를 모델 포맷에 맞춰 정규화합니다.
2

모델/토크나이저 로드

베이스 모델, 토크나이저, LoRA 설정을 고정합니다.
3

SFT 실행

배치 크기, 학습률, epoch를 작게 시작해 안정성을 확인합니다.
4

체크포인트 선택

valid 지표와 샘플 출력 품질을 함께 보고 선택합니다.
5

평가/배포 준비

선택 체크포인트를 holdout 평가 후 배포 후보로 등록합니다.

운영 체크리스트

  • seed 고정
  • 데이터셋 버전 태깅
  • 학습 로그(시간/메모리/손실) 저장
  • 체크포인트 저장 주기 명시
  • 중단/재시작 절차 문서화

예시 구성(개념)

# pseudo-structure
training_config = {
    "learning_rate": 2e-4,
    "epochs": 2,
    "max_seq_length": 4096,
    "gradient_accumulation_steps": 4,
    "lora_r": 16,
}
숫자는 팀 데이터셋과 모델 크기에 따라 달라집니다. 중요한 것은 절대값보다 “변경 이력과 결과를 함께 기록”하는 운영 습관입니다.

실무 적용 체크리스트

  • 이 문서의 규칙을 실제 서비스 플로우에 매핑했습니다.
  • 측정 지표와 실패 임계값을 숫자로 정의했습니다.
  • 변경 전/후를 비교할 기준 데이터셋 또는 로그를 준비했습니다.
  • 팀 내 공유 문서(런북/가이드)에 반영했습니다.

자주 나는 실수

  1. 기준 지표 없이 개선을 선언합니다.
  2. 한 번에 여러 변수를 바꿔 원인 추적이 불가능해집니다.
  3. 롤백 조건 없이 배포해 장애 복구가 늦어집니다.

다음 문서

다음: 정렬 (Alignment)

학습 흐름을 이어서 진행합니다.

실패 시 복구 전략

학습 중단이 발생하면 마지막 안정 체크포인트부터 재시작하고, 데이터셋/하이퍼파라미터 변경 여부를 분리해서 확인합니다. 한 번에 여러 요소를 동시에 수정하면 재현성이 빠르게 무너집니다.