20장. LLM 평가와 모니터링
LLM 평가가 어려운 까닭
수학 시험은 답이 "42"인지만 보면 됩니다. 글짓기는 다릅니다. 같은 내용을 다르게 쓴 글이 모두 맞을 수 있고, 매끄럽지만 내용이 틀린 글도 있습니다. LLM 의 답은 글짓기에 가깝습니다.
그림의 세 카드가 LLM 평가를 어렵게 하는 까닭입니다. 왼쪽은 "14일입니다"와 "2주 동안 빌릴 수 있어요"가 모두 맞는다는 것입니다. 가운데는 길고 매끄러운데 숫자 하나가 틀린 답입니다. 오른쪽은 같은 질문에도 실행마다 답이 조금씩 다르다는 것입니다. 수학 채점이 글자 비교, 글짓기 채점이 뜻과 사실을 보는 채점입니다.
무엇을 재나
| 대상 | 묻는 것 | 이 장에서 |
|---|---|---|
| 검색 | 맞는 자료를 찾았나 | hit@3 (실습 4) |
| 답의 사실 | 숫자, 날짜, 이름이 맞나 | 규칙, 뜻, LLM 채점자 (실습 1~4) |
| 모름 처리 | 자료에 없으면 모른다고 하나 | 평가 묶음의 '모름' 질문 |
| 형식 | 길이, 말씨, 엉뚱한 글자 | 규칙 (실습 1) |
| 운영 | 지연, 오류, 사용자 반응 | 운영 기록 (실습 6) |
글자 비교의 한계
reference = "대출 기간은 14일입니다."
answers = ["대출 기간은 14일입니다.", "14일 동안 빌릴 수 있어요.", "대출 기간은 21일입니다."]
for a in answers:
# 글자가 똑같은지, 열쇠 낱말 '14일' 이 들었는지
print(f"{a:20s} 똑같다={a == reference} · 열쇠 포함={'14일' in a}")코드에 나오는 함수
| 코드 | 쉬운 뜻 |
|---|---|
a == reference | 두 글이 한 글자도 빠짐없이 같으면 True 다. 띄어쓰기나 마침표 하나만 달라도 False 다 |
'14일' in a | 글 a 안에 '14일' 이라는 글자 조각이 들어 있으면 True 다. 앞뒤에 무엇이 붙었는지는 보지 않는다 |
f"{a:20s}" | 글을 20칸 폭에 맞춰 왼쪽에 붙여 찍는다. s 는 string(문자열)이다. 한글은 화면에서 두 칸을 차지해 줄이 조금 어긋나 보인다 |
이 코드가 뜻하는 것
선생님이 답안지를 채점하는데 도구가 둘뿐이라고 생각해 봅니다. 하나는 정답지를 겹쳐 대 보는 투명 필름이고, 다른 하나는 '14일' 이라는 글자만 찾는 형광펜입니다. 여기서 투명 필름이 ==, 형광펜이 in 입니다.
| 줄 | 하는 일 | 쉽게 말하면 |
|---|---|---|
reference = ... | 참조 답을 정한다 | 정답지 |
answers = [...] | 견줄 답 셋을 담는다 | 학생 답안 세 장 |
a == reference | 글자가 통째로 같은지 본다 | 투명 필름을 겹쳐 보기 |
'14일' in a | 열쇠 낱말이 들었는지 본다 | 형광펜으로 '14일' 찾기 |
결과의 둘째 줄 "14일 동안 빌릴 수 있어요." 는 맞는 답인데 똑같다=False 입니다. 투명 필름은 표현만 달라도 틀렸다고 합니다. 형광펜은 둘째 답을 살려 주지만, 같은 뜻을 "2주"라고 쓴 답은 '14일' 이라는 글자가 없으니 놓칩니다.
주의할 점
- 점수 하나로 모든 것을 말할 수 없습니다. 사실, 모름 처리, 형식, 속도를 나눠 잽니다.
- 평가 결과도 실행마다 조금씩 달라집니다. 두 판의 차이가 한두 문항이면 다시 재어 봅니다.