Generation for NLP: LLM 평가

SeongGyun Hong·2024년 11월 12일

NaverBoostCamp

목록 보기
29/64

1. LLM 평가는 왜 하는가?

  • LLM은 일반적 성능을 지닌 범용성이 크기에 각 분할된 Task들을 종합적으로 평가할 지표가 필요
  • Translation
    • BLEU, ROUGE
  • QA
    • F-1 Score, Exact Match(EM)
  • Bias (편향된 모델은 아닌지 평가)
    • Fairness Benchmarks
      • 성별, 인종, 나이, 사회적 배경 등의 편향을 얼마나 가지고 있는지 평가
      • 이름이 포함된 이력서에서 특정 성별의 이름이 포함된 이력서를 더 많이 선택한다? 이러면 성별에 대한 편향이 존재한다고 판단
  • Hallucination
    • Faithfulness Test (HaluEval, FaithDial), Self-Consistency Checks
      • Faithfulness: 없는 정보 판단 진실성이 중요
      • Self-Consistency:동일 질문에 대한 일관된 답변 여부 체크
  • Math
    • GSM8K, Logical Consistency
      • GSM8K
        수학문제해결능력을 위한 데이터셋
      • Logical Consistency
        논리적 일관성을 평가하는 메트릭 일관적인/모순적인 대화 체크
  • 최근에는 사람선호를 반영한 LLM 평가도 진행됨.

2. 무엇을 평가하는가

  • NLU
  • NLG
  • LLM
  • Domain-Specific
  • 이외 STEM(기술 관련), 윤리 등의 다양한 평가 대상이 존재한다.

무엇을 '어떤' 데이터로 평가하는가?

  • 벤치마크 데이터셋
    목적에 맞는 다양한 벤치마크 데이터셋이 존재한다.

GLUE
SQuAD
ARC
HellaSwag
OpenSource LLM Leaderboard

3. 어떻게 평가하는가?

  • 자동화된 방법
    • Metric 기반 평가
      BLEU, ROUGE, F1-Score와 같은 점수 기반으로 정량적 평가
      번역 Task 같은 경우에는 충분히 활용될 수 있으나, 문맥 이해 및 생성 Task에는 적절하지 않을 수도 있다.
    • LLM-as-a-judge
      • LLM을 활용한 평가
        평가 항목, 내용을 텍스트 형태로 프롬프트에 입력하여 LLM이 직접 점수를 산출하도록 함.
  • Human Evaluation
    • 사람이 특정 가이드라인을 기준으로 LLM의 으답을 직접 평가
      • 전문영역에서의 평가에 강점이 있으며, 주관적 내용이나 뉘앙스를 잡아낼 수 있다. 그리고 윤리 문제까지 고려할 수 있다.
      • 다만, 비용이 높고 한 사람이 다 처리할 수 없어서 여러 사람이 붙어 평가하다 보면 비일관적이게 된다.

4.LLM 모델 기반 평가

모델 기반 평가

  • Embedding 기반
    • BERTScore
      BERT 모델과 같은 인코딩 모델을 사용하여 점수를 계산한다.(유사도 등의 판단)
  • 확률 기반
    • GPTScore, FFLM 등...
    • 조건부 확률을 계산하여 점수를 산출한다.
    • 확신을 가지고 Next Token을 예측하는 경우 더 좋은 텍스트라고 판단한다.
    • 다만, 위와 같은 경우에는 GPT 의존적이라는 단점이 있다..

Prompting LLMs

  • 프롬프트에 평가 방식을 삽입하여 LLM이 평가
    • 두개의 Response 중에서 선호하는 걸 고르게 할 수도 있으며
    • 각 Response를 지침에 따라 점수 출력하게 할 수도 있다.

      출처: https://arxiv.org/pdf/2402.01383

Fine Tuning LLMs

  • Prompting LLMs의 한계
    • API 비용 문제와 재현성이 문제된다.
  • Fine Tuning LLMs
    • OpenSource 모델을 평가 전용 모델로서 Fine-Tuning 수행
    • 고품질 평가용 데이터를 생성하여 이를 활용하여 모델 튜닝
    • 평가용 LLM을 따로 만드는 것 !

Human-LLM Collaborative Evaluation

  • LLM 평가와 인간 검수를 유기적으로 연결함
    • COEVAL, AdaTest, AdaTest++ 등
      • 다만... 그렇다 해도 자동화된 LLM 평가 방식이 너무 편리하게 아직도 LLM을 활용한 자동평가가 많이 쓰이고 있음.

LLM 기반 평가의 Challenges

  • Position Bias (위치선호 편향)
  • Verbosity Bias (길이가 긴 것을 선호)
  • Self-enhancement bias (평가자 자신의 모델의 생성값을 선호)
  • Limited Capability in grading math and reasoning questions (수학-추론 등의 채점을 잘 못함)
  • Order Bias (A/B test 중에서 A를 더 선호)

5. 최신 LLM 벤치마크

Chatbot Arena

  • 두 모델의 응답을 사람이 선택
  • 선택된 것에 대해 승리 점수를 줌
  • 일종의 ELO Scoring... LoL에서 레이팅 점수같은 것

WildBench

  • 실제 사람이 작성한 데이터를 수집
  • 1024개의 데이터셋을 생성하여 스코어링함.

Open Ko-LLM Leaderboard v2 (한국어 벤치마크)

LC(Length-Controlled) AlpacaEval

  • 기존 AlpacaEval에서 길이 편향을 보정함.
  • Human Correlation이 약 0.98로 매우 높음.

6. Eval dataset을 만들 때 유의할 점

  • 복잡한 추론 문제를 LLM은 잘 못한다. 그래서 이걸 포함한 데이터셋을 만드는 것이 중요

  • 긴 문맥처리에 LLM은 어려움이 있기에, 이런걸 평가하는 데이터셋도 중요

  • LLM에는 멀티턴에 대한 문제가 존재한다.
    대화 주제를 빠르게 바꾸거나 문맥을 전환하는 등의 시나리오가 담긴 데이터가 좋다.

취약한 부분을 건드는 데이터셋을 잘 만들 것

평가시에 발생할 수 있는 Bias 관리도 해야한다.

  • A/B 테스트 시에 Order Bias 발생가능성이 있으므로, 순서를 무작위로 섞거나 랜덤시드를 다르게 주는 등으로 완화하고
  • 길이선호의 경우에는 LC Alpaca 방법과 같이 길이 보정의 형태로 점수를 수정하는 등의 방법을 적용할 수 있다.
profile
헤매는 만큼 자기 땅이다.

0개의 댓글