29분
Phase 2: QLoRA 학습 실행 & 최적 체크포인트 선택
제조 도메인 sLLM 구축
Phase 2: QLoRA 학습 실행 & 최적 체크포인트 선택
QLoRA 파인튜닝 > 제조 도메인 sLLM 구축
학습 목표
- Phase 1 데이터셋으로 QLoRA 학습을 실행한다
- Train/Val Loss 추이를 모니터링한다
- 최적 체크포인트를 선택한다
Phase 2: QLoRA 학습
학습 설정
- 모델: microsoft/Phi-4-mini-instruct (3.8B). Day 1~4와 같은 모델을 쓴다
- target_modules: qkv_proj, o_proj, gate_up_proj, down_proj (이 모델의 실제 이름)
- r=16, alpha=32
- epochs=3, lr=2e-4
- batch=2, accumulation=8 (유효 배치 16)
- max_length=512 (Phase 1에서 토크나이저로 실측한 p95 기준)
시작 조건
Phase 1의 mfg_dataset/train.json이 있어야 한다. 없으면 코드가 곧바로 멈춘다.
샘플 몇 건으로 대신 돌리면 Loss는 떨어지지만 배우는 것이 없다.
학습 전에 확인할 것
- 어댑터가 붙은 모듈이 128개인가 (모듈 4종 x 32층)
- 고유 instruction이 전체의 80%를 넘는가 (Phase 1의 증강이 복제만 한 것은 아닌가)
- 토큰 길이 p95가 max_length 안에 들어오는가 셋 다 코드가 자동으로 확인하고 경고를 찍는다. 경고가 나오면 Phase 1로 돌아간다.
에디터 로딩 중...
힌트 보기
- • 데이터가 적으면 epochs=5까지 올려도 됨. 대신 eval_loss 반등을 더 자주 확인
- • packing=True는 SFTConfig의 인자다. SFTTrainer에 넣으면 TypeError
- • 체크포인트는 eval_loss가 가장 낮은 것 = 최적. metric_for_best_model로 지정한다
- • 학습이 도는 동안 Phase 3의 테스트 질문과 Phase 5의 보고서 뼈대를 먼저 쓴다
정답 보기
에디터 로딩 중...
AI로 학습하기 — 꿀팁
QLoRA 학습 곡선 이상 진단AI 학습 팁
AI에게 Train/Val Loss 그래프 수치를 주면 과적합 시점, 학습률 이슈, 체크포인트 선택 기준을 진단해줍니다.
QLoRA 학습 결과를 분석해줘. Train Loss: 2.3→1.8→1.4→1.2→1.1 (5 epoch), Val Loss: 2.4→1.9→1.7→1.9→2.2. 과적합 여부를 판단하고 최적 체크포인트를 어느 epoch에서 선택해야 하는지, 그리고 Val Loss 반등을 막기 위한 regularization 조정(dropout·weight_decay)을 제안해줘.
이 팁이 도움이 됐나요?