파인튜닝에서는 검증 손실을 비교하고 중간 학습 상태를 저장합니다 | DAKER 커뮤니티

기존 모델을 추가로 학습하는 파인튜닝에서는 학습에 쓴 데이터의 오차만 확인하면 과적합을 놓치기 쉽습니다. 과적합은 학습 데이터에 지나치게 맞춰져 다른 데이터에서는 성능이 떨어지는 현상입니다. 학습률을 바꾸는 실험에서는 별도 데이터로 측정한 검증 손실을 비교하고, 중간 학습 상태인 체크포인트를 저장합니다.

파인튜닝 학습률, 한 번에 키우다가 체크포인트로 오버핏을 끊습니다
설명용 생성 이미지입니다.

이 글은 DAKER 학습 자료 LLM 파인튜닝 중급 ② — 학습률·오버핏·체크포인트를 바탕으로, 학습률을 조정하며 과적합이 시작되는 지점을 확인하는 방법을 정리합니다.

학습률을 높일 때는 검증 손실도 확인합니다

학습률은 모델이 한 번 학습할 때 내부 수치인 파라미터를 얼마나 크게 바꿀지 정하는 값입니다. 학습 데이터의 오차인 학습 손실이 잠깐 줄었다고 학습률을 계속 높이면 문제가 생길 수 있습니다. 검증 손실과 중간 학습 상태를 남기지 않으면 성능이 언제 나빠졌는지 확인하거나 이전 상태로 돌아가기 어렵습니다.

중간 학습 상태를 저장하며 과적합이 시작되는 지점을 찾습니다

Karpathy식 실습에서는 조금씩 바꾸고 같은 결과를 다시 확인하는 것을 우선합니다. 같은 데이터에서 학습률 하나만 바꾸고, 일정한 학습 단계 간격으로 체크포인트를 저장합니다. 학습 속도와 함께 검증 손실이 언제부터 높아지는지 확인합니다.

  1. 기준 학습률로 학습하고, 비교 기준이 될 검증 손실을 기록합니다.
  2. 학습률 하나만 바꾸고 같은 학습 단계 간격으로 체크포인트를 저장합니다.
  3. 검증 손실이 올라가기 시작한 지점을 표에 적습니다.
  4. 그 직전 체크포인트로 돌아갈 수 있는지 확인합니다.

네 칸 만화로 실험 과정을 확인합니다

파인튜닝 학습률, 한 번에 키우다가 체크포인트로 오버핏을 끊습니다 4칸 만화
설명용 생성 이미지입니다.

네 칸은 학습률을 높이고, 검증 손실이 올라가고, 저장한 체크포인트가 없어 곤란해지는 과정을 보여 줍니다. 마지막 칸에서는 과적합이 시작되는 지점을 확인하고 이전 학습 상태로 돌아가는 방법을 설명합니다.

자주 묻는 질문에 답합니다

매 학습 단계마다 체크포인트를 저장해야 하는지 설명합니다. 그럴 필요는 없습니다. 이번 연습에서는 비교할 수 있도록 저장 간격을 일정하게 정하고, 과적합이 시작되는 지점을 확인합니다.

학습 손실만으로 충분한지 설명합니다. 학습 손실만 보면 과적합을 놓치기 쉽습니다. 검증 손실도 함께 확인합니다.

원문 학습 자료: https://daker.ai/public/learning/materials/llm-finetuning-intermediate-2-lr-overfit-checkpoint

오늘은 학습률 실험 하나에서 체크포인트를 저장할 시점을 정합니다. 검증 손실이 높아지기 시작한 지점을 한 줄로 기록합니다.