[Kaggle Gen AI] Day 1 - 정답이 없어서 더 중요한 LLM 평가법 🚀
지난 게시물에서는 모델이 어떤 단어를 고를지 결정하는 샘플링 기법을 공부했고,
옵션 하나만 바꿔도 모델의 말투, 창의성, 다양성이 크게 달라질 수 있다는 걸 배웠다!
이번에는 LLM을 평가하는 방법에 대해 알아보기로!
LLM을 평가하는 것은 명확한 정답-오답이 있는 기존의 머신러닝 과제와는 다르다.
→ 정답이 명확하지 않고, 창의적이고 열린 문제를 다룰수록 평가 기준도 더 복잡해지기 때문.
이번 게시물에서는
✔️ 왜 기존의 정확도나 F1-score만으로는 부족한지,
✔️ 어떤 데이터와 기준이 좋은 평가 프레임워크를 만드는지,
✔️ 그리고 요즘 주목받는 LLM 기반 평가자(AI Evaluator)는 어떻게 쓰이고 있는지
LLM 평가의 여러 관점과 방법들을 정리해보겠다.
⚖️ 정답이 없는 문제를 어떻게 평가할까?
LLM을 평가하는 건 정답이 뚜렷하게 정해져 있는 전통적인 머신러닝 문제와는 다르다.
텍스트 생성은 특히 어렵다.
생성된 텍스트의 퀄리티는 주관적인데, 그걸 어떻게 평가할 수 있을까?
How do you measure something as subjective as the quality of generated text?
초기 데모처럼 단순한 예제에서는 괜찮았지만, 실제 서비스에서 모델을 사용하려면, BLEU나 F1같은 수치만으로는 충분한 평가가 되지 않는다.
those traditional metrics like accuracy or F1-score don’t really capture the whole picture when you’re dealing with something as open-ended as text generation
BLEU는 Bilingual Evaluation Understudy를 말한다. n-gram에 기반하여, 기계 번역 결과와 사람이 직접 번역한 결과가 얼마나 유사한지 비교하여 번역에 대한 성능을 측정하는 방법이다.
BLEU는 빠르고 자동화된 평가가 가능하지만,
🎨 문장의 의미나 창의성,
🔊 유창함, 문맥의 자연스러움 같은 건 잘 반영하지 못한다.
→ 의미는 비슷하지만 표현이 달라서 BLEU 점수만으로는 텍스트 생성 품질을 제대로 평가하기 어렵다는 의견이 있따.
🧩 좋은 평가 프레임워크란?
그럼 LLM을 제대로 평가하려면 어떤 기준과 방식이 필요할까?
LLM을 평가하기 위해서는 다양한 관점으 ㄹ아우르는 다면적인 접근(multifaceted)이 필요하다.
1️⃣ 실제 태스크에 맞는 데이터
모델을 평가할 때는 실제로 그 모델이 쓰일 상황과 유사한 데이터가 꼭 필요하다.
- 실사용자와의 상호작용 (user interactions)
- 다양한 상황을 커버하는 synthetic data
→ 둘 다를 포함한 목적 중심의 평가셋이 중요!
2️⃣ 모델이 아닌 전체 시스템 평가
LLM이 단독으로 동작하는 경우는 거의 없다.
예를 들어,
- Retrieval-Augmented Generation(RAG)처럼 검색 결과에 의존하거나,
- 외부 툴을 조작하는 에이전트 시스템의 일부일 수도 있다.
→ 따라서 전체 파이프라인 관점에서 평가가 이뤄져야 한다.
3️⃣ “good”의 기준은 태스크마다 다르다
어떤 경우에는 정확도(accuracy)가 중요할 수 있지만,
다른 경우에는
- 도움이 되는지 (helpfulness)
- 사실 기반인지 (factual correctness)
- 창의적인지 (creativity)
- 특정 스타일을 잘 따르는지 (adherence to a certain style)
와 같은 기준들이 더 중요할 수 있다.
it sounds like you need to tailor your evaluation to the specific application.
📏 LLM 평가 기법들: 정량, 정성, 그리고 AI 평가자
LLM의 성능을 평가하는 방식은 여러가지가 있다.
대표적으로 아래 세 가지가 많이 쓰인다고 한다.
1️⃣ 전통적인 정량평가 (Traditional Quantitative Metrics)
BLEU, ROUGE 같은 지표를 활용해서 모델 출력과 기준 정답(reference)을 비교하는 방식이다.
빠르고 자동화가 가능하지만, 언어의 뉘앙스나 다양성을 충분히 반영하지 못한다.
2️⃣ 사람에 의한 정성 평가 (Human Evaluation)
그래서 여전히 중요한 게 사람 평가(Human Evaluation)이다.
사람이 직접 모델의 출력을 보고
- 유창성 (fluency)
- 일관성 (coherence)
- 전반적인 품질 (overall quality)
같은 기준으로 조금 더 미묘한 판단을 할 수 있다.
3️⃣ LLM 기반 평가자 (AI Evaluator)
최근에는 LLM으로 다른 LLM을 평가하는 시도도 늘고 있다.
using AI to judge other AI. it sounds strange but it can be quite effective.
평가자 역할을 맡은 LLM(AI Evaluator)에게
- 태스크를 설명하고 (the task)
- 평가 기준과 (the evaluation criteria)
- 태스트 대상 모델의 응답을 주면, (the response generated by the model your testing)
점수와 판단 이유까지 자동으로 제공해준다.
대표적인 Evaluator 유형:
- Generative 모델
- Reward 모델
- Discriminative 모델
⚠️ 이 방식은 효율적이지만 몇 가지 주의할 점도 있다.
- 평가자 모델이 정말 의도한 기준에 맞게 평가하고 있는지 확인할 필요가 있다.
you need to calibrate these evaluators—compare their judgments to human judgments.
- 평가자 모델 자체의 한계와 편향도 고려해야 한다.
you also need to be aware of the limitations of the evaluator model itself.
🧠 더 발전된 평가 방식
최근에는 평가 방식을 더 정교하게 만들기 위한 시도들도 이어지고 있다.
대표적인 접근 중 하나는 복잡한 태스크를 더 작고 명확한 단위로 나누는 것이다.
- 평가 기준을 서브태스크로 쪼개서 (like breaking down tasks into subtasks)
- 여러 개의 기준을 기반으로 (using rubric)
- 각 기준에 따라 세분화된 평가를 수행하는 방식이다. (with multiple criteria)
이렇게 하면 평과 결과를 더 해석 가능하게(interpretable) 만들 수 있고, 단순 점수 이상으로 무엇이 좋았고, 무엇이 부족했는지를 분석할 수 있다.
이런 방식은 특히 텍스트·이미지·영상이 혼합된 멀티모달 생성을 평가할 때 유용하다.
각 modality마다 다른 평가 기준이 필요하기 때문에 복합적인 평가 구조가 더 중요해지기 때문이다.
this is especially useful for evaluating multimodal generation where you might need to assess the quality of the text, images or videos separately.
💭오늘 챙겨간 것들
이번 게시물에서는 LLM의 출력을 어떻게 평가할 것인가에 대해 살펴봤다.
텍스트 생성처럼 정답이 명확하지 않은 문제에서는 기존의 정확도나 F1-score만으로는 부족하다는 것,
그래서 더 다면적이고 태스크 맞춤형 평가가 필요하다는 점이 핵심이다.
✔️ BLEU, ROUGE 같은 전통적인 정량 평가 지표의 한계
✔️ 사람의 직관과 판단을 반영하는 Human Evaluation의 중요성
✔️ 그리고 요즘 뜨는 LLM 기반 평가자(AI Evaluator)의 가능성과 주의점
✔️ 마지막으로 세분화된 평가 기준과 멀티모달 평가까지 정리 완료!
다음 게시물에서는 LLM을 더 빠르고 효율적으로 동작시키는 방법인 추론 가속(Inference Acceleration) 기법들을 살펴볼 예정이다.
품질, 속도, 비용, 레이턴시, 처리량(throughput) 사이에서 최적의 균형을 찾는 기술들을 공부하기로~