Llama 5 8B로 사내 코드 + 문서 데이터(약 80K 샘플) fine-tune 중입니다. H100 1장, 1주일째 학습 중인데 다음 상황:
Step 8000:
train_loss: 0.42 (시작 1.8 → 점점 감소)
eval_loss: 1.12 (시작 1.15 → 거의 변화 없음)
eval_perplexity: 3.06
train loss는 잘 떨어지는데 eval loss는 거의 그대로. overfit인 것 같은데 — 데이터 적나요? hyperparameter 조정인가요?
설정
- LoRA r=16, alpha=32, dropout=0.1
- lr 2e-4, batch 8, gradient acc 4
- warmup 100 step, cosine schedule
- 3 epoch (현재 2.4 epoch)
댓글 5
전형적인 overfitting 패턴입니다. 데이터셋 80K는 8B 모델 fine-tune에 적은 편입니다(보통 200K+). 그래도 개선 가능한 패턴.
1. LoRA rank 줄이기
r=16은 작은 데이터에 비해 큽니다. 모델이 외워버려요. r=8 또는 4로 줄여 capacity 감소.
2. dropout 0.1 → 0.3
regularization 강화. eval loss 개선에 즉시 효과.
3. lr 2e-4 → 1e-4
학습률이 다소 큽니다. 작은 데이터셋에 큰 lr은 overfit 가속.
4. early stopping
현재 2.4 epoch인데 1.5 epoch 즈음 eval loss 최저점이 있을 가능성 큽니다. early stopping 켜기.
5. 데이터 증강
80K → 200K+로 늘릴 수 있나요. 동일 데이터를 paraphrase, back-translation, prompt 변형으로 확장. 사내 문서면 페이지 단위가 아닌 paragraph 단위로 자르면 sample 수 증가.
6. Reasoning 데이터 추가
Llama 5는 reasoning 강점. CoT(chain-of-thought) 데이터 (질문 → "생각해보면..." → 답) 형식으로 변환하면 일반화 잘 됨.
실용 권장 순서
80K로 8B fine-tune은 보통 1 epoch 만에 best checkpoint 도달. 더 학습은 overfit입니다.
LLama 5 8B는 base model 자체가 강해서 LoRA만으로도 충분한 경우 많습니다. 8B base를 그대로 쓰고 system prompt + few-shot으로 먼저 시도해보세요. Fine-tune 비용 1주일 vs prompt engineering 1일.