Skip to main content

3장 평가 방법론

_3.1 파운데이션 모델 평가의 어려움 _3.2 언어 모델링 지표 이해하기 3.2.1 엔트로피 3.2.2 교차 엔트로피 3.2.3 문자당 비트와 바이트당 비트 3.2.4 퍼플렉시티 __3.2.5 퍼플렉시티 해석과 활용 사례

_3.3 정확한 평가

이 장에서 말하고자 하는 바는 모델의 성능을 평가하는 방법론.

정답셋 구축하기

  • 방법 1, Human Eval Set : 구축 비용 많이 든다. 특히 비결정적 모델에서는 정답셋을 사람이 무한정 만들 수 없다. AI가 얼마나 사람과 다르게 출력하는지 평가 가능
  • 방법 2, AI 생성 정답 셋 : AI을 이용해서 정답셋을 만든다. 사람이 어느정도 검수하긴 함.

1, 정확한 평가 : 유닛테스트 코드 작성처럼 답이 정해진 경우 혹은 그 방법으로 접근

  • Open AI HumanEval, 구글의 MBPP 등에서 코드 생성 능력에서 밴치마크들은 정확한 평가 방식을 사용한다.
  • 문제를 보고 모델은 k개의 코드를 생성, k개중 하나라도 TC를 통과하면 정답 처리한다.

2, 참조 데이터의 유사도 측정 : 정답셋과 얼마나 유사한지 판단하는 방법

  • 2-1, 정확한 일치 : 완전 문장 일치하면 정답 처리
  • 2-2, 어휘적 유사도 : 문장에서 토큰을 추출 후 토큰의 수를 얼마나 유사한지 카운팅 혹은 연속 시퀀스로 측정
    • 방법: fuzzy maching, n-gram 유사도
    • 단점 : 의미는 유사해도 워딩 자체가 다르면 틀리다고 판단한다. 위치(표면적 형태) 따라 점수가 많이 차이남.
      • A: "I love natural language processing"
      • B: "I love language natural processing"
  • 2-3, 의미적 유사도 : 텍스트 임베딩 유사도 기반으로 판단
    • 방법 : 모든 토큰 간 코사인 비교 vs 전체 문장으로 코사인 비교
      • 1-1, BERT Score : 단어 -> 토큰 변환 후, 각 토큰을 서로 전체 비교 후, 가장 유사한 것끼리 매칭함 -> 유사도 점수 출력 (단어 순서 바뀌어도 점수 유지되는 점이 특징)
      • 1-2, Mover Score : BERT Score는 토큰 간 이동까지 허용 한 측정 방식
      • 2, 백터 임베딩 모델 : 문장 전체를 대상으로 하나의 dense vector 출력.
        • eg, text-embedding-3-small
    • CLIP : 이미지와 텍스트 멀디모달에서 백터 임베딩 및 유사도 판단 가능
      • 텍스트 인코더, 이미지 인코더로 각각 백터 임베딩 이후 백터를 연결

솔루션 DeepEval : https://deepeval.com/

  • LLM 애플리케이션을 평가하기 위한 오픈소스 프레임워크
  • LLM을 pytest처럼 unit test 하듯이 평가 가능
  • 골든셋(Golden)은 누가 만드냐? → 직접 만든다
    • 초기 → 사람이 직접 소수 제작
      • 개발자 / ML 엔지니어, 도메인 전문가, 기존 데이터 활용, 운영 로그 기반 자동 수집
    • 확장 → LLM으로 대량 생성
      • DeepEval의 Synthesizer 기능 활용 : 문서 → 질문/정답 자동 생성

요약 결과 LLM 데이터 평가하기 : https://medium.com/data-science/how-to-evaluate-llm-summarization-18a040c3905d

  • 요약은 정답이 정해져 있지 않음 (open-ended), 좋은 요약 기준이 주관적 (유창성, 일관성 등), 골드 레퍼런스 요약 생성이 어려움
  • ML에서 F1 Score을 정의해서 모델의 성능을 평가하듯 방법론이 필요함.
  • F1 Score 최종 점수 = alignment score, coverage score의 조화 평균
    • alignment score : 요약의 claim 추출 후 원문 truth와 비교
    • coverage score : 원문 기반 질문 생성 요약으로 답변 가능 여부 평가
  • 추가 평가 지표 (Conciseness)
    • 1, Entity Density → 정보 밀도, Entity Density = 개체 수 / 전체 토큰 수
      • 여기서 Entity란? 사람 이름 (예: Elon Musk), 국가/기관 (예: OpenAI, China), 날짜 (2024년), 수치 (10%, 3 billion), 지명 등
      • 왜 0.15가 이상적, 인간이 선호하는 요약은 너무 설명적이지도 않고 너무 빽빽하지도 않은 적당히 정보 밀도 높은 상태
    • 2, Repetitiveness → 중복 방지, 동일 개념 반복 감점, GEval 사용 (LLM-as-judge)
    • 3, Vagueness (불필요 문장 제거) : "이 글은 ~을 설명한다" 같은 문장 감점
    • 4, Coherence Metric (문장 연결성) : n번째 문장과 n+2번째 문장 cosine similarity 평균, 순서 랜덤화 시 점수 감소

3.3.1 기능적 정확성 3.3.2 참조 데이터 유사도 측정 __3.3.3 임베딩 소개

_3.4 AI 평가자 3.4.1 AI 평가자를 쓰는 이유 3.4.2 AI 평가자 사용법 3.4.3 AI 평가자의 한계 3.4.4 평가자로 활용 가능한 모델 _3.5 비교 평가를 통해 모델 순위 정하기 3.5.1 비교 평가의 과제들 3.5.2 비교 평가의 미래 _3.6 마치며