9장. 모델 평가와 활용, QLoRA
먼저 큰 그림부터
운전 학원에서 연수를 마친 사람을 떠올려 봅니다. 연수를 마쳤다고 바로 면허를 주지 않습니다. 필기시험 점수를 보고, 도로에 나가 실제로 운전하는 모습을 보고, 연수 중에 생긴 나쁜 버릇은 없는지도 봅니다. 8장에서 Qwen 에게 말투 연수를 시켰습니다. 이 장은 그 연수생의 마지막 점검입니다. 처음 보는 시험지(test 데이터)로 점수(손실)를 매기고, 연수와 상관없는 질문에서 버릇이 번지지 않았는지 보고, 갈아 끼우는 렌즈(어댑터)를 끼웠다 뺐다 해 보고, 필름을 원본에 코팅해 붙이기(병합)도 합니다. 끝으로 기반 모델 자체를 작은 용량으로 저장하는 QLoRA 로 같은 연수를 한 번 더 해 봅니다.
이 장에서 챙겨 갈 것은 세 가지입니다. 첫째, 평가는 한 가지 숫자로 끝나지 않습니다. 학습에 쓰지 않은 test 데이터 32개의 손실이 4.044 에서 3.19 로 줄었지만, 일반 질문 "3 더하기 5는 얼마인가요?"에는 정답 대신 비꼬는 말이 돌아옵니다. 손실(정량), 직접 읽기(정성), 부작용 점검을 함께 봐야 합니다. 둘째, 33.6MB 짜리 어댑터 파일 하나로 같은 기반 모델을 "끄고 켜고 바꿔 끼우며" 쓰거나, 942MB 짜리 일반 모델로 합쳐 배포할 수 있습니다. 셋째, QLoRA 는 기반 모델을 4비트로 저장해 메모리를 1,885MB(FP32)에서 430MB 로 줄입니다. pandas 로 두 열의 평균을 견주고, value_counts 로 비율을 보던 경험이 그대로 "평가표"가 됩니다. 이 장이 2일 과정의 마지막 장이므로, 끝에서 종합평가 과제와 2일차 전체를 정리합니다.