트랜스포머·PEFT 2일 과정9장 · 모델 평가와 활용, QLoRA3 / 20← 이전목차다음 →MetaContents

9장. 모델 평가와 활용, QLoRA

무엇을 평가할까

요리 대회 심사를 떠올려 봅니다. 저울로 재료 양을 재는 심사(숫자), 심사위원이 맛보는 심사(사람), 위생 규칙을 지켰는지 보는 심사(규칙), 먹고 탈이 나지 않는지 보는 심사(부작용)가 따로 있습니다. 한 가지만 잘해도 우승하지 못합니다. 파인튜닝한 모델도 같습니다. 손실이 줄었다고 해서 원하는 모델이 되었다는 보장은 없습니다.

손실, 규칙 채점, 품질, 부작용의 네 가지 평가 관점을 나란히 놓은 비교 그림

그림의 네 상자는 원본 노트북이 꼽은 평가 관점입니다. 왼쪽 상자일수록 코드로 자동으로 재기 쉽고, 오른쪽으로 갈수록 사람이 들여다봐야 합니다. 맨 오른쪽 부작용은 "학습한 일"이 아니라 "학습하지 않은 일"을 본다는 점이 다릅니다. 8장에서는 학습 데이터에 없는 질문 두 개로 말투가 바뀐 것을 읽어 보았습니다. 이 장에서는 평가 데이터 전체로 손실까지 잽니다.

평가의 네 관점

관점방법예요리 대회로 치면
언어 모델 지표평가 데이터의 손실낮을수록 정답 답변을 더 잘 예측저울로 재료 양 재기
목표 달성도규칙 기반 자동 채점형식 준수율, 분류 정확도, 말투 규칙 준수율위생 규칙 점검표
품질사람 평가, LLM-as-a-Judge유용성, 자연스러움심사위원 시식
부작용학습 목표와 무관한 질문으로 확인일반 능력 저하, 안전성, 환각먹고 탈이 나지 않나

짧은 예시

Python
import pandas as pd

# 규칙 기반 채점 흉내: 답변이 반말인지(존댓말 끝맺음이 없는지)를 코드로 검사한다
# 아래 답변은 8차시, 9차시 실습의 실제 출력에서 옮긴 문장이다
answers = pd.DataFrame({
    "단계": ["학습 전", "학습 전", "학습 후", "학습 후"],
    "답변": [
        "네, 업무실시 수준에서의 실수를 줄이는 것이 중요합니다.",
        "대한민국의 수도는 서울입니다.",
        "체크리스트? 네가 넌 잘 알고 있다니.",
        "서울이지. 네 지름길이라니.",
    ],
})

def is_polite(text):
    # "니다", "세요", "요." 가 들어 있으면 존댓말로 본다(아주 단순한 규칙)
    return any(end in text for end in ["니다", "세요", "요."])

# apply: 열의 값마다 함수를 적용해 True/False 열을 만든다
answers["반말"] = ~answers["답변"].apply(is_polite)
# groupby(...).mean(): True 를 1, False 를 0 으로 보고 단계별 비율을 낸다
print(answers.groupby("단계")["반말"].mean())
# 결과: 학습 전 0.0 / 학습 후 1.0 → 학습 뒤에는 두 답 모두 반말

이 코드가 뜻하는 것

위생 점검표처럼 "반말인가"라는 규칙 하나로 답변을 채점해 비율을 냈습니다. 사람이 일일이 읽지 않아도 수백 개의 답을 금방 셀 수 있다는 것이 규칙 기반 채점의 장점입니다. 여기서 점검표 항목이 is_polite, 채점할 답안지가 answers, 합격 비율이 groupby(...).mean() 입니다.

줄하는 일쉽게 말하면
def is_polite(text)존댓말 끝맺음이 있는지 본다점검표의 한 줄
~answers["답변"].apply(is_polite)답마다 검사하고 참·거짓을 뒤집는다반말이면 체크
groupby("단계")["반말"].mean()단계별 반말 비율학습 전후 준수율

규칙이 단순하면 놓치는 것도 있습니다. "서울이지"가 반말인 것은 잘 잡지만, 답이 맞았는지는 이 규칙으로 알 수 없습니다. 그래서 관점을 여러 개 씁니다.

주의할 점

  • 규칙은 사람이 정한 것이라 빈틈이 있습니다. 규칙 점수가 높아도 몇 개는 직접 읽어 확인합니다.
  • LLM-as-a-Judge 를 쓸 때도 채점 기준(무엇을 몇 점으로 볼지)을 글로 분명히 적어 줘야 결과가 흔들리지 않습니다.
  • 평가 데이터는 학습에 한 번도 쓰지 않은 것이어야 합니다. 문제집 답을 외운 학생에게 같은 문제집으로 시험을 보면 점수가 부풀려집니다.
← 이전 절9장 · 용어 짚고 가기다음 절 →9장 · 손실 비교: 답변 토큰만 채점하기