정제 체크리스트
- 중복 제거 — 정확 중복, near-duplicate. Near-dupe 감지(MinHash, embedding cosine)가 문자열 동등성이 놓치는 거 잡아.
- 포맷 일관성 — 모든 예제 같은 스키마. 두 포맷 섞으면 모델이 둘 다 잘못 배워.
- 길이 필터 — 너무 짧은 거(사소함)랑 너무 긴 거(노이즈 / 오버플로우) 제거.
- 품질 필터 — 문법 에러, 환각 콘텐츠, 깨진 JSON, 짝 안 맞는 code fence 제거.
- 토큰화 체크 — 문자 휴리스틱 말고 실제 토크나이저로 토큰 카운트. 모든 예제가 학습 컨텍스트 윈도우에 들어가는지 검증.
3-way split
| Split | 비율 | 용도 |
|---|---|---|
| Train | ~80% | 모델이 실제 학습하는 것. |
| Validation | ~10% | 학습 중 모니터링. Overfitting 감지; early stopping 정보 제공. |
| Test | ~10% | 학습 끝날 때까지 완전히 빼둠. 최종 unbiased 숫자. |
Validation이 카나리아인 이유
Training loss는 계속 떨어지는데 validation loss가 오르기 시작하면, 모델이 행동 학습이 아니라 행 암기 중. 이 발산이 overfitting 신호 — 학습 멈출 순간이지 "loss 낮아 보인다" 시점이 아냐.