[V2] 챗봇 LoRA 모델 비교 문서 (v1 ~ v4) - 100-hours-a-week/6-nemo-ai GitHub Wiki
🧠 NeMo Chatbot LoRA 모델 비교 문서 (v1 ~ v4)
모든 모델은 동일한 베이스 모델 google/gemma-3-4b-it
을 기반으로 LoRA 방식으로 미세조정되었습니다.
이 문서는 각 버전의 하이퍼파라미터, LoRA 설정, 학습 로그, 동작 특성 등을 비교합니다.
📌 공통 사항
- Base Model:
google/gemma-3-4b-it
- Precision:
float32
- fp16:
True
(혼합 정밀도 학습) - Tokenizer: 오른쪽 padding, pad_token → eos_token
- Framework: HuggingFace Transformers + PEFT
- Task Type:
TaskType.CAUSAL_LM
🔄 버전 간 주요 차이 요약
항목 | v1 | v2 | v3 | v4 |
---|---|---|---|---|
LoRA r | 8 | 16 | 8 | 8 |
LoRA alpha | 32 | 64 | 32 | 32 |
target modules | q/k/v_proj |
q/k/v/o/gate_proj |
q/k/v/o/gate_proj |
q/k/v/o/gate_proj |
learning_rate | 5e-5 | 2e-5 | 2e-5 | 1e-4 |
epochs | 3 | 4 | 4 | ~1.47 |
loss logging | 5 steps | 1 step | 10 steps | full |
final train loss | ~0.7–0.9 (mid) | 1.2018 | ~1.11 | 0.69 |
train time (sec) | unknown | 2789.57 | 2755.5 | 753.0 |
samples/sec | - | 2.59 | 2.73 | 2.71 |
steps/sec | - | 0.325 | - | 1.355 |
total FLOPs | - | 2.64e+16 | 4.85e+16 | 9.91e+15 |
🔍 v1 상세
- LoRA Config: r=8, alpha=32, dropout=0.05
- target_modules:
["q_proj", "k_proj", "v_proj"]
- learning_rate: 5e-5
- training epochs: 3
- loss: mid-epoch 기준 ~0.7–0.9
- 비고: 가장 기본적인 튜닝. 작은 데이터셋용 베이스라인
🔍 v2 상세
- LoRA Config: r=16, alpha=64 (이전보다 2배 강한 tuning capacity)
- target_modules:
["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj"]
- training epochs: 4
- learning_rate: 2e-5
- train loss: 평균 1.2018
- train time: 2789.57초
- 비고: LoRA 파라미터 확장 + 학습 스텝 증가. 더 복잡한 구조 대응 목적
🔍 v3 상세
- LoRA Config: 동일 (v1과 동일한 구조로 회귀)
- target_modules:
["q_proj", "k_proj", "v_proj"]
- epochs: 4
- train loss: 최종 약 1.11
- train time: 2755.5초
- throughput: 2.73 samples/sec
- 비고: 성능과 안정성 모두 확보. v4의 기반 모델
🔍 v4 상세
- LoRA Config: v3와 동일
- 차이점: 데이터셋 변경, learning rate 상승 (1e-4), epoch 1.47에서 멈춤
- train loss: 0.6917
- train time: 753초
- eval loss: 0.8354
- samples/sec: 2.709
- steps/sec: 1.355
- 비고: 학습량은 적지만 최종 성능은 가장 우수. 가장 세련된 학습곡선 기록
🧪 주석 및 해석
- v2는 파라미터가 많고 시간도 오래 걸리지만 손실이 가장 낮지는 않음 → 효율 낮음
- v3는 안정적인 수렴과 적절한 속도 확보 → 균형잡힌 베이스라인
- v4는 적은 스텝 수와 짧은 시간에도 불구하고 낮은 손실 기록 → 최적화된 고속 학습
✅ 결론
- 프로덕션용 추천 모델:
nemo-chatbot-v4
- 학습 안정성과 확장성 기준 모델:
nemo-chatbot-v3
- 실험적 고용량 튜닝 테스트:
nemo-chatbot-v2
- 최소 셋업 테스트용:
nemo-chatbot-v1