평가 측정항목 정의

생성형 모델이나 애플리케이션을 평가하는 첫 번째 단계는 평가 목표를 파악하고 평가 측정항목을 정의하는 것입니다. 이 페이지에서는 사용 사례의 평가 측정항목 정의와 관련된 개념을 간략하게 설명합니다.

개요

생성형 AI 모델은 뉴스 기사 요약, 고객 문의에 응답, 코드 작성 지원과 같은 다양한 태스크에 사용되는 애플리케이션을 만드는 데 사용될 수 있습니다. Vertex AI의 Gen AI Evaluation Service를 사용하면 설명 가능한 측정항목으로 모든 모델을 평가할 수 있습니다.

예를 들어 기사를 요약하는 애플리케이션을 개발할 수 있습니다. 특정 태스크에서 애플리케이션 성능을 평가하려면 측정하려는 기준과 점수를 매기는 데 사용할 측정항목을 고려하세요.

  • 기준: 평가하려는 단일 또는 여러 측정기준입니다(예: conciseness, relevance, correctness, appropriate choice of words).

  • 측정항목: 기준에 따라 모델 출력을 측정하는 단일 점수입니다.

Gen AI Evaluation Service는 두 가지 주요 유형의 측정항목을 제공합니다.

  • 모델 기반 측정항목: Google의 모델 기반 측정항목은 판사 모델을 기준으로 후보 모델을 평가합니다. 대부분의 사용 사례에 사용되는 평가 모델은 Gemini이지만 번역 사용 사례의 경우 MetricX 또는 COMET과 같은 모델을 사용할 수도 있습니다.

    쌍별 또는 점별로 모델 기반 측정항목을 측정할 수 있습니다.

    • 점별 측정항목: 심사 모델이 평가 기준에 따라 후보 모델의 출력을 평가하도록 합니다. 예를 들어 기준에 미달하는 응답은 0점, 기준을 충족하는 응답은 5점으로 정하고 0~5점으로 점수를 매길 수 있습니다.

    • 쌍별 측정항목: 심사 모델이 두 모델의 응답을 비교하여 더 나은 모델을 선택하도록 합니다. 이 측정항목은 후보 모델과 기준 모델의 비교 평가에 자주 사용됩니다. 쌍별 측정항목은 Gemini에서 판사 모델로만 지원합니다.

  • 계산 기반 측정항목: 이러한 측정항목은 모델 출력을 정답이나 참조와 비교하기 위해 수학 공식을 통해 계산됩니다. 일반적으로 사용되는 계산 기반 측정항목에는 ROUGE 및 BLEU가 있습니다.

계산 기반 측정항목을 단독으로 또는 모델 기반 측정항목과 함께 사용할 수 있습니다. 다음 표를 사용하여 모델 기반 측정항목이나 계산 기반 측정항목을 사용할 시기를 결정합니다.

평가 방식 데이터 비용 및 속도
모델 기반 측정항목 설명적 평가 기준에 따라 성능을 평가하는 심사 모델 사용 정답은 선택사항입니다. 약간 더 비싸고 느림
계산 기반 측정항목 수학 공식을 사용하여 성능 평가 일반적으로 정답이 필요합니다. 저렴하고 빠름

시작하려면 데이터 세트 준비평가 실행을 참조하세요.

모델 기반 측정항목 정의

모델 기반 평가는 머신러닝 모델을 판사 모델로 사용하여 후보 모델 출력을 평가합니다.

Gemini와 같은 독점 Google 판사 모델은 품질을 보장하기 위해 인간 평가자를 통해 보정됩니다. 이러한 모델은 관리형이며 즉시 사용할 수 있습니다. 모델 기반 평가 프로세스는 제공하는 평가 측정항목에 따라 다릅니다.

모델 기반 평가는 다음 프로세스를 따릅니다.

  1. 데이터 준비: 입력 프롬프트 양식으로 평가 데이터를 제공합니다. 후보 모델은 프롬프트를 수신하고 이에 상응하는 응답을 생성합니다.

  2. 평가: 평가 측정항목과 생성된 응답이 심사 모델로 전송됩니다. 심사 모델은 각 응답을 개별적으로 평가하여 행 기반 평가를 제공합니다.

  3. 집계 및 설명: Gen AI Evaluation Service는 이러한 개별 평가를 집계하여 전체 점수를 산출합니다. 출력에는 각 판단에 대한 사고 사슬 설명도 포함되어 선택의 근거를 간략히 설명합니다.

Gen AI Evaluation Service는 Vertex AI SDK로 모델 기반 측정항목을 설정할 수 있는 다음 옵션을 제공합니다.

옵션 설명 권장 기기
기존 예시 사용 사전 빌드된 측정항목 프롬프트 템플릿을 사용하여 시작합니다. 일반적인 사용 사례, 시간 절약
템플릿화된 인터페이스로 측정항목 정의 측정항목을 정의하는 데 도움을 받을 수 있습니다. 템플릿화된 인터페이스는 구조와 제안을 제공합니다. 지원팀과 함께 맞춤설정
측정항목 처음부터 정의 측정항목 정의를 완전히 제어할 수 있습니다. 매우 구체적인 사용 사례에 적합합니다. 더 많은 기술 전문성과 시간 투자가 필요합니다.

예를 들어 유창하고 재미있는 응답을 반환하는 생성형 AI 애플리케이션을 개발할 수 있습니다. 이 애플리케이션의 경우 템플릿화된 인터페이스를 사용하여 평가할 두 가지 기준을 정의할 수 있습니다.

  • 유창성: 어색한 문구나 장황한 문장을 피하면서 문장이 자연스럽게 이어집니다. 필요한 경우 전환을 효과적으로 사용하여 아이디어와 문장을 논리적으로 연결합니다.

  • 엔터테인먼트: 이모티콘, 느낌표, 질문이 포함된 짧고 재미있는 텍스트를 통해 빠르고 자연스러운 커뮤니케이션과 재미를 전달합니다.

이러한 두 가지 기준을 측정항목으로 변환하려면 -1~1 범위의 합계 점수인 custom_text_quality가 필요합니다. 다음과 같이 측정항목을 정의할 수 있습니다.

# Define a pointwise metric with two criteria: Fluency and Entertaining.
custom_text_quality = PointwiseMetric(
    metric="custom_text_quality",
    metric_prompt_template=PointwiseMetricPromptTemplate(
        criteria={
            "fluency": (
                "Sentences flow smoothly and are easy to read, avoiding awkward"
                " phrasing or run-on sentences. Ideas and sentences connect"
                " logically, using transitions effectively where needed."
            ),
            "entertaining": (
                "Short, amusing text that incorporates emojis, exclamations and"
                " questions to convey quick and spontaneous communication and"
                " diversion."
            ),
        },
        rating_rubric={
            "1": "The response performs well on both criteria.",
            "0": "The response is somewhat aligned with both criteria",
            "-1": "The response falls short on both criteria",
        },
    ),
)

측정항목 프롬프트 템플릿의 전체 목록은 평가를 위한 측정항목 프롬프트 템플릿을 참조하세요.

번역 모델 평가

Gen AI Evaluation Service는 다음과 같은 번역 태스크 평가 측정항목을 제공합니다.

MetricX 및 COMET은 번역 태스크에 맞게 학습된 점별 모델 기반 측정항목입니다. NMT, TranslationLLM 또는 Gemini 모델의 출력 여부와 관계없이 콘텐츠의 번역 모델 결과의 품질과 정확성을 평가할 수 있습니다.

Gemini를 평가 모델로 사용하여 MetricX, COMET 또는 BLEU와 함께 모델의 유창성, 일관성, 상세성, 텍스트 품질을 평가할 수도 있습니다.

  • MetricX는 Google에서 개발한 오류 기반 측정항목으로, 번역의 품질을 나타내는 0~25 사이의 부동 소수점 점수를 예측합니다. MetricX는 참조 기반 및 참조 무료(QE) 메서드로 모두 사용할 수 있습니다. 이 측정항목을 사용할 때는 점수가 낮을수록 오류가 적다는 의미이므로 점수가 낮을수록 좋습니다.

  • COMET은 0~1 사이의 점수를 제공하는 참조 기반 회귀 접근 방식을 사용합니다. 여기서 1은 완벽한 번역을 의미합니다.

  • BLEU(Bilingual Evaluation Understudy)는 계산 기반 측정항목입니다. BLEU 점수는 후보 텍스트가 참조 텍스트와 얼마나 비슷한지를 나타냅니다. BLEU 점수 값이 1에 가까울수록 번역이 참조 텍스트에 더 가깝다는 뜻입니다.

BLEU 점수는 서로 다른 코퍼스 및 언어 간에 비교하는 데는 권장되지 않습니다. 예를 들어 영어-독일어 BLEU 점수가 50인 경우 일본어-영어 BLEU 점수가 50인 경우와는 비교할 수 없습니다. 많은 번역 전문가가 인간 평가와의 상관성이 더 높고 오류 시나리오를 더 세부적으로 식별하는 모델 기반 측정항목 접근 방식으로 전환했습니다.

번역 모델 평가를 실행하는 방법은 번역 모델 평가를 참조하세요.

점별 평가 또는 쌍별 평가 선택

다음 표를 사용하여 언제 점별 평가 또는 쌍별 평가를 사용할지 결정하세요.

정의 사용 시기 사용 사례 예시
점별 평가 모델 하나를 평가하고 기준에 따라 점수를 생성합니다.
  • 평가 중인 각 모델의 점수가 필요한 경우
  • 각 점수에 대한 기준을 정의하기가 어렵지 않은 경우
  • 모델이 프로덕션에서 작동하는지 방식을 이해합니다.
  • 단일 모델의 장점과 단점을 살펴봅니다.
  • 조정 시 집중할 동작을 식별합니다.
  • 모델 기준 성능을 가져옵니다.
쌍별 평가 두 모델을 서로 비교하여 기준에 따라 선호도를 생성합니다.
  • 두 모델을 비교하려고 하는데 점수가 필요하지 않은 경우
  • 점별 평가의 기준을 정의하기 어려운 경우. 예를 들어 점별 텍스트 품질에 대해 1~5의 기준을 정의하는 것은 어려울 수 있지만 두 모델을 비교하여 선호도를 직접 출력하는 것은 그렇게 어렵지 않습니다.
  • 프로덕션에 반영할 모델 결정:
  • 모델 유형 중에서 선택합니다. 예를 들어 Gemini-Pro와 Claude 3를 비교합니다.
  • 다양한 프롬프트 중에서 선택합니다.
  • 조정으로 기준 모델이 개선되었는지 확인합니다.

계산 기반 측정항목

계산 기반 측정항목은 LLM에서 생성된 결과가 입력 및 출력 쌍의 정답 데이터 세트와 일치하는지 비교합니다. 일반적으로 사용되는 측정항목은 다음 그룹으로 분류될 수 있습니다.

  • 어휘 기반 측정항목: 수학을 사용하여 LLM에서 생성된 결과와 정답(예: Exact MatchROUGE) 간의 문자열 유사성을 계산합니다.
  • 카운트 기반 측정항목: 특정 정답 라벨(예: F1-score, Accuracy, Tool Name Match)에 일치하거나 일치하지 않는 행 수를 집계합니다.
  • 임베딩 기반 측정항목: 임베딩 공간에서 LLM에서 생성된 결과와 정답 사이의 거리를 계산하여 유사성 수준을 반영합니다.

일반 텍스트 생성

다음 측정항목은 응답이 사용자에게 유용하고 안전하며 효과적인지 확인하는 모델 기능을 평가하는 데 도움이 됩니다.

완전 일치

exact_match 측정항목은 모델 응답이 참조와 정확하게 일치하는지 계산합니다.

  • 토큰 한도: 없음

평가 기준

해당 없음

측정항목 입력 파라미터

입력 매개변수 설명
response LLM 응답입니다.
reference 참조를 위한 이상적인 LLM 응답입니다.

출력 점수

설명
0 불일치
1 일치함

BLEU

bleu(BiLingual Evaluation Understudy) 측정항목에는 한 자연어에서 다른 자연어로 번역된 응답 품질을 평가하는 알고리즘의 결과가 포함됩니다. 응답의 품질은 response 매개변수와 reference 매개변수 간의 일치를 기준으로 평가됩니다.

  • 토큰 한도: 없음

평가 기준

해당 없음

측정항목 입력 파라미터

입력 매개변수 설명
response LLM 응답입니다.
reference 참조를 위한 이상적인 LLM 응답입니다.

출력 점수

설명
[0,1] 범위의 부동 소수점 점수가 높을수록 번역이 더 우수하다는 의미입니다. 점수 1reference와 완벽하게 일치함을 나타냅니다.

ROUGE

ROUGE 측정항목은 제공된 response 파라미터를 reference 파라미터와 비교하는 데 사용됩니다. 모든 rouge 측정항목은 F1 점수를 반환합니다. rouge-l-sum은 기본적으로 계산되지만 사용하려는 rouge 변형을 지정할 수 있습니다.

  • 토큰 한도: 없음

평가 기준

해당 사항 없음

측정항목 입력 파라미터

입력 매개변수 설명
response LLM 응답입니다.
reference 참조를 위한 이상적인 LLM 응답입니다.

출력 점수

설명
[0,1] 범위의 부동 소수점 점수가 0에 가까울수록 responsereference의 유사성이 낮습니다. 점수가 1에 가까울수록 responsereference의 유사성이 높습니다.

도구 사용 및 함수 호출

다음 측정항목은 유효한 도구(함수) 호출을 예측하는 모델의 기능을 평가하는 데 도움이 됩니다.

유효한 호출

tool_call_valid 측정항목은 유효한 도구 호출을 예측하는 모델 기능을 설명합니다. 첫 번째 도구 호출만 검사됩니다.

  • 토큰 한도: 없음

평가 기준

평가 기준 설명
유효성 모델 출력에 유효한 도구 호출이 포함되어 있습니다.
서식 지정 JSON 사전에는 namearguments 필드가 포함되어 있습니다.

측정항목 입력 파라미터

입력 매개변수 설명
prediction contenttool_calls 키가 포함된 JSON 직렬화된 문자열인 후보 모델 출력입니다. content 값은 모델의 텍스트 출력입니다. tool_calls 값은 도구 호출 목록의 JSON 직렬화된 문자열입니다. 예를 들면 다음과 같습니다:

{"content": "", "tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference prediction과 동일한 형식을 따르는 정답 참조 예측입니다.

출력 점수

설명
0 잘못된 도구 호출
1 유효한 도구 호출

이름 일치

tool_name_match 측정항목은 올바른 도구 이름으로 도구 호출을 예측하는 모델 기능을 설명합니다. 첫 번째 도구 호출만 검사됩니다.

  • 토큰 한도: 없음

평가 기준

평가 기준 설명
이름 일치 모델에서 예측한 도구 호출이 참조 도구 호출 이름과 일치합니다.

측정항목 입력 파라미터

입력 매개변수 설명
prediction contenttool_calls 키가 포함된 JSON 직렬화된 문자열인 후보 모델 출력입니다. content 값은 모델의 텍스트 출력입니다. tool_call 값은 도구 호출 목록의 JSON 직렬화된 문자열입니다. 예를 들면 다음과 같습니다:

{"content": "","tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference prediction과 동일한 형식을 따르는 정답 참조 예측입니다.

출력 점수

설명
0 도구 호출 이름이 참조와 일치하지 않습니다.
1 도구 호출 이름이 참조와 일치합니다.

파라미터 키 일치

tool_parameter_key_match 측정항목은 올바른 파라미터 이름으로 도구 호출을 예측하는 모델 기능을 설명합니다.

  • 토큰 한도: 없음

평가 기준

평가 기준 설명
파라미터 일치 비율 참조 도구 호출의 파라미터 이름과 일치하는 예측된 파라미터 수와 총 파라미터 수의 비율입니다.

측정항목 입력 파라미터

입력 매개변수 설명
prediction contenttool_calls 키가 포함된 JSON 직렬화된 문자열인 후보 모델 출력입니다. content 값은 모델의 텍스트 출력입니다. tool_call 값은 도구 호출 목록의 JSON 직렬화된 문자열입니다. 예를 들면 다음과 같습니다:

{"content": "", "tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference prediction과 동일한 형식을 따르는 정답 참조 예측입니다.

출력 점수

설명
[0,1] 범위의 부동 소수점 점수가 높은 1reference 매개변수 이름과 일치하는 매개변수가 더 많다는 의미입니다.

파라미터 KV 일치

tool_parameter_kv_match 측정항목은 올바른 파라미터 이름과 키 값으로 도구 호출을 예측하는 모델 기능을 설명합니다.

  • 토큰 한도: 없음

평가 기준

평가 기준 설명
파라미터 일치 비율 참조 도구 호출의 파라미터 이름과 값 모두 일치하는 예측된 파라미터 수와 총 파라미터 수의 비율입니다.

측정항목 입력 파라미터

입력 매개변수 설명
prediction contenttool_calls 키가 포함된 JSON 직렬화된 문자열인 후보 모델 출력입니다. content 값은 모델의 텍스트 출력입니다. tool_call 값은 도구 호출 목록의 JSON 직렬화된 문자열입니다. 예를 들면 다음과 같습니다.

{"content": "", "tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference prediction과 동일한 형식을 따르는 정답 참조 예측입니다.

출력 점수

설명
[0,1] 범위의 부동 소수점 1의 점수가 높을 수록 reference 매개변수 이름 및 값 과 일치하는 매개변수가 더 많다는 의미입니다.

생성형 AI 평가 서비스에서 Vertex AI SDK for Python를 통해 계산 기반 측정항목을 사용할 수 있습니다.

생성형 태스크의 기준 평가 품질

생성형 AI 모델 출력을 평가할 때는 평가 프로세스가 본질적으로 주관적이며 평가 품질이 특정 태스크와 평가 기준에 따라 달라질 수 있습니다. 이러한 주관성은 인간 평가자들에게도 적용됩니다. 생성형 AI 모델에 대한 일관된 평가를 달성하는 데 발생하는 문제에 대한 자세한 내용은 MT-Bench 및 Chatbot Arena를 사용하여 LLM-as-a-Judge 판단인간 의견을 바탕으로 요약하는 학습을 참조하세요.

다음 단계