9장. 모델 평가와 활용, QLoRA
정리
- 파인튜닝 모델은 손실(정량), 직접 읽기(정성), 규칙 채점, 부작용 점검을 함께 봅니다. 손실이 줄었다고 원하는 모델이 되었다는 보장은 없습니다.
build_features는 질문 자리의labels를 -100 으로 가리고,evaluate_loss는 답변 토큰 수로 가중 평균을 냅니다. test 손실은 4.044 에서 3.19 로 약 21% 줄었습니다.- 손실은 정답 문장을 얼마나 잘 예측하는지 재는 상대 지표입니다. 같은 데이터에서 학습 전후를 견줄 때만 씁니다.
- 일반 질문에도 학습한 말투가 번집니다. "3 더하기 5"에 정답 대신 비꼼이 나온 것이 부작용이고, 어댑터를 끈 답과 나란히 두어야 원인을 가를 수 있습니다.
PeftModel.from_pretrained로 어댑터를 붙이고,disable_adapter()로 잠시 끄고,merge_and_unload()로 병합합니다. 어댑터는 33.6MB, 병합 모델은 942MB 입니다.- QLoRA 는 기반 모델을 NF4 4비트로 저장하고 LoRA 만 높은 정밀도로 학습합니다. 메모리는 FP32 1,885MB, BF16 942MB, 4비트 430MB 이고, 임베딩이 BF16 으로 남아 1/8 까지는 줄지 않습니다.
- 같은 설정으로 학습한 마지막 검증 손실은 LoRA 3.209, QLoRA 3.298 입니다. 작은 모델에서는 QLoRA 의 이득이 작고, 큰 모델일수록 커집니다.