[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