AI 모델 및 플랫폼

LLM-을-판별자-로-사용하기: 언어-모델-을-사용하여-언어-모델-을-평가하는-확장 가능-한-솔루션

mm
Unite.AI를 Google의 선호 소스에 추가

LLM-을-판별자-로-사용하는-프레임워크는-인간-의-평가를-대체하는-자동화된-대안으로-비용이-들고-느리고-제한적인-인간-평가와-다르게-작동합니다. 다른-LLM-의-출력을-평가하는-LLM-을-사용하여-팀은-정확도-관련성-음调-및-특정-지침-을-지키는-것을-일관성-있게-재현-가능한-방식으로-효율적으로-추적할-수-있습니다.

생성된-텍스트-를-평가하는-것은-전통적인-정확도-측정-을-넘어서-고유한-도전을-제기합니다. 단일-프롬프트-는-스타일-음调-또는-구문-이-다른-여러-개의-정확한-응답-을-생성할-수-있으므로-단순한-정량적-측정-을-사용하여-품질-을-벤치마크-하는-것은-어려울-수-있습니다.

여기서-LLM-을-판별자-로-사용하는-접근법이-뛰어난-것은-음调-유용성-및-대화-일관성-과-같은-복잡한-품질-에-대한-세련된-평가를-허용한다는-것입니다. 모델-버전-을-비교하거나-실시간-출력-을-평가하는-데-사용되는-지에-관계없이-LLM-판별자는-인간-의-판단-을-근사화하는-유연한-방법-을-제공하여-대규모-데이터셋-및-실시간-상호작용-에-걸쳐-평가-노력을-확장하는-데- 理想的な-솔루션-으로-작동합니다.

이-가이드는-LLM-을-판별자-로-사용하는-방식-그의-다양한-평가-유형-및-효과적으로-구현하는-데-사용되는-실제-단계-에-대해-설명합니다. 우리는-기준-을-설정하는-방식-평가-프롬프트-를-설계하는-방식-및-지속적인-개선-을-위한-피드백-루프-를-설립하는-방식-에-대해-설명합니다.

LLM-을-판별자-로-사용하는-개념

LLM-을-판별자-로-사용하는-것-은-다른-AI-시스템-의-텍스트-출력-을-평가하는-데-LLM-을-사용합니다. 공정한-평가자-로-행동하는-LLM-은-사용자-정의-기준-에-따라-생성된-텍스트-를-평가할-수-있습니다. 이-평가-프로세스는-특정-지침-이-제공된-프롬프트-에-따라-각-출력-을-검토하는-가상-평가자-와-비슷합니다. 이는-인간-의-검토-가-불가능한-콘텐츠-중심-응용-프로그램-에-特别-유용한-프레임워크입니다.

작동-방식

LLM-을-판별자-로-사용하는-것은-평가-프롬프트-내의-지침-에-따라-텍스트-응답-을-평가하도록-설계되었습니다. 프롬프트-는-일반적으로-유용성-관련성-또는-명확성-과-같은-품질-을-지정합니다. 예를-들어-프롬프트-는-LLM-에게-채팅봇-응답-이-“유용한”-지-“유용하지-않은”-지-를-결정하도록-요청할-수-있으며-각-레이블-에-대해-어떤-것을-의미하는지-에-대해-지침-을-제공합니다.

LLM-은-내부-지식-과-학습된-언어-패턴-을-사용하여-제공된-텍스트-를-평가하며-프롬프트-기준-을-응답-의-품질-과-일치시킵니다. 명확한-기대를-설정함으로써-평가자-는-LLM-의-초점-을-정교한-품질-으로-조정할-수-있으며-예를-들어-친절함-이나-구체성-과-같은-품질-을-포함할-수-있습니다. 전통적인-평가-메트릭-과-다르게-LLM-을-판별자-로-사용하는-것은-다양한-콘텐츠-타입-과-평가-요구-에-적응할-수-있는-인간-의-판단-의-유연한-근사치를-제공합니다.

평가-유형

  1. 쌍대-비교-: 이-방법-에서-LLM-에게-같은-프롬프트-에-대한-두-개의-응답-을-제공하고-관련성-이나-정확성-과-같은-기준-에-따라-“더-좋은”-것-을-선택하도록-요청합니다. 이-유형-의-평가는-A/B-테스트-에서-자주-사용되며-개발자-는-다른-모델-또는-프롬프트-구성-을-비교합니다. LLM-에게-어떤-응답-이-특정-기준-에-따라-더-잘-수행하는지-물어봄으로써-쌍대-비교-는-모델-출력-에서-선호도-를-결정하는-직접적인-방법-을-제공합니다.
  2. 직접-평가-: 직접-평가는-참조-없이-평가하는-것으로-LLM-은-정의된-품질-에-따라-단일-출력-을-평가합니다. 직접-평가는-오프라인-및-온라인-평가-모두-에서-유용하며-다양한-상호작용-에-걸쳐-품질-을-지속적으로-모니터링-하는-방법-을-제공합니다. 이-방법-은-일관된-품질-을-시간-에-따라-추적하는-데-유용하며-일반적으로-생산-중인-실시간-응답-을-모니터링-하는-데-사용됩니다.
  3. 참조-기반-평가-: 이-방법-은-참조-答案-이나-지원-자료-와-같은-추가-콘텍스트-를-도입하여-생성된-응답-을-평가합니다. 이는-일반적으로-검색-증강-생성-(RAG)-설정-에서-사용되며-응답-은-검색된-지식-과-가장-잘-일치해야-합니다. 출력-을-참조-문서-와-비교함으로써-이-접근법-은-사실-정확성-과-특정-콘텐츠-에-의-준수-를-평가하는-데-도움이-됩니다.

사용-사례

LLM-을-판별자-로-사용하는-것은-다양한-응용-프로그램-에-적용될-수-있습니다.

  • 채팅봇-: 일관된-품질-을-确保하기-위해-관련성-음调-및-유용성-과-같은-기준-에-따라-응답-을-평가합니다.
  • 요약-: 요약-을-conciseness-명확성-및-원본-문서-와-의-일치-에-따라-평가하여-충실성을-유지합니다.
  • 코드-생성-: 코드-조각-을-정확성-가독성-및-지침-이나-최적-의-관행-을-따라-검토합니다.

이-방법-은-인간-의-검토-없이-모델-의-성능-을-계속-개선하고-모니터링-하는-자동-평가자-로-작동할-수-있어-이러한-응용-프로그램-을-강화하는-데-유용합니다.

LLM-판별자-를-구축하기-위한-가이드

LLM-기반-평가-설정을-만드는-것은-주의-깊은-계획-과-명확한-지침-을-요구합니다. 다음-단계-를-따라-로버스트한-LLM-판별자-평가-시스템-을-구축합니다.

단계-1:-평가-기준-정의

LLM-이-평가해야-하는-구체적인-품질-을-정의하여-시작합니다. 평가-기준-은-다음-요소-를-포함할-수-있습니다.

  • 관련성-: 응답-이-질문-이나-프롬프트-를-직접-대처하는가?
  • 음调-: 음调-이-콘텍스트-에-적합한가? (예:-전문적-친절-간결)
  • 정확성-: 제공된-정보-가-사실-적으로-정확한가? 특히-지식-기반-응답-의-경우

예를-들어-채팅봇-을-평가하는-경우-관련성-과-유용성-을-우선시할-수-있습니다. 각-기준-은-명확하게-정의되어-있어야-합니다. 모호한-지침-은-불일치한-평가-를-초래할-수-있습니다. 이진-또는-등급-기준-을-사용하여-일관성을-개선할-수-있습니다 (예:-“관련”-또는-“관련-없음” 또는-유용성-에-대한-Likert-척도).

단계-2:-평가-데이터셋-준비

LLM-판별자-를-조정하고-테스트하기-위해-표식-이-붙은-데이터셋-이-필요합니다. 데이터셋-을-준비하는-두-가지-주요-접근법-이-있습니다.

  1. 생산-데이터-: 응용-프로그램-의-과거-출력-데이터-를-사용합니다. 각-기준-에-对于-다양한-품질-수준-을-보여주는-예제-를-선택합니다.
  2. 합성-데이터-: 생산-데이터-가-제한적-인-경우-합성-예제-를-만들-수-있습니다. 이러한-예제-는-예상된-응답-특성-을-모방하고-보다-포괄적인-테스트-를-위한-경계-사례-를-포함해야-합니다.

데이터셋-을-구성한-뒤-평가-기준-에-따라-수동으로-표식-을-붙입니다. 이-표식-이-붙은-데이터셋-은-지상-진실-을-제공하여-LLM-판별자-의-일관성-과-정확성을-측정하는-데-사용됩니다.

단계-3:-유효한-프롬프트-구성

프롬프트-공학-은-LLM-판별자-를-효과적으로-안내하는-데-중요한-역할-을-합니다. 각-프롬프트-는-명확-해야-하고-평가-기준-과-일치해야-합니다. 아래-는-각-평가-유형-에-대한-예제-입니다.

쌍대-비교-프롬프트

당신-은-같은-질문-에-대한-두-개의-응답-을-보게-될-것입니다. 더-유용하고-관련-있으며-상세한-응답-을-선택하세요. 두-응답-이-동등하게-좋은-경우-이를-tie로-표시합니다.

<p>질문:-[질문-을-여기-입력하세요]
응답-A:-[응답-A-를-여기-입력하세요]
응답-B:-[응답-B-를-여기-입력하세요]</p>

<p>출력:-"더-좋은-응답:-A"-또는-"더-좋은-응답:-B"-또는-"tie"</p>

직접-평가-프롬프트

다음-응답-의-친절함-을-평가하세요. 친절한-응답-은-존중하고-고려심-이-있으며-거친-언어-를-避합니다. "친절"-또는-"불친절"-을-반환하세요.

응답:-[응답-을-여기-입력하세요]

<p>출력:-"친절"-또는-"불친절"</p>

참조-기반-평가-프롬프트

다음-응답-을-제공된-참조-答案-와-비교하여-평가하세요. 응답-이-사실-적으로-정확하고-같은-의미-를-전달하는지-판단하세요. "정확"-또는-"부정확"-을-레이블링하세요.

<p>참조-答案:-[참조-答案-을-여기-입력하세요]
생성된-응답:-[생성된-응답-을-여기-입력하세요]</p>

<p>출력:-"정확"-또는-"부정확"</p>

프롬프트-를-이-방식으로-구성하면-LLM-판별자-가-각-응답-을-어떻게-평가해야-하는지-명확히-알- 수-있게-되어-불확실성을-줄일-수-있습니다. 프롬프트-의-범위를-한-두-개의-품질-으로-제한하여-평가-를-보다-간결하게-만들- 수-있습니다 (예:-관련성-과-상세함).

단계-4:-테스트-및-반복

프롬프트-와-데이터셋-을-만든-뒤-LLM-판별자-를-평가하기-위해-표식-이-붙은-데이터셋-에서-실행합니다. LLM-의-출력-을-지상-진실-레이블-과-비교하여-일관성-과-정확성을-확인합니다. 평가-를-위한-주요-메트릭-은-다음-을-포함합니다.

  • 정확도-: 올바른-양성-평가-의-백분율.
  • 재현율-: 지상-진실-양성-을-LLM-이-올바르게-식별한-백분율.
  • 정확성-: 올바른-평가-의-전체-백분율.

테스트-는-LLM-판별자-의-성능-에서-불일치-를-식별하는-데-도움이-됩니다. 예를-들어-판별자-가-유용한-응답-을-자주-유용하지-않은-것-으로-레이블링-하는-경우-평가-프롬프트-를-개선해야-할-수-있습니다. 작은-샘플-로-시작하여-데이터셋-의-크기-를-증가시키면서-반복합니다.

이-단계-에서-다른-프롬프트-구조-나-여러-개의-LLM-을-사용하여-교차-검증-을-시도하는-것-을-고려할-수-있습니다. 예를-들어-한-모델-이-Verbose-한-경우-보다-간결한-LLM-모델-로-테스트-를-시도하여-결과-가-지상-진실-과-더-잘-일치하는지-확인할-수-있습니다. 프롬프트-의-개선-에는-레이블-을-조정-하는-것-부터-언어-를-간결하게-하는-것-까지-다양한-작업-이-포함될-수-있습니다.

코드-구현:-LLM-판별자-를-실제-로-적용하기

이-섹션-은-파이썬-과-Hugging Face-를-사용하여-LLM-판별자-프레임워크-를-설정하고-구현하는-방법-에-대해-안내합니다. LLM-클라이언트-를-설정하는-것-부터-데이터-를-처리하고-평가-를-실행하는-까지-전체-파이프라인-을-커버합니다.

LLM-클라이언트-설정

평가-작업-을-수행하는-데-LLM-을-사용하려면-이를-평가-작업-을-위한-구성-해야-합니다. 이는-사전-학습된-모델-을-사용하여-추론-및-평가-작업-을-수행하는-LLM-클라이언트-를-설정하는-것을-포함합니다. 여기-에서-huggingface_hub-를-사용하여-설정을-간소화합니다.

import pandas as pd
from huggingface_hub import InferenceClient

<p># 특정-모델-저장소-와-함께-LLM-클라이언트-초기화
repo_id = "mistralai/Mixtral-8x7B-Instruct-v0.1"
llm_client = InferenceClient(model=repo_id, timeout=120)</p>

이-설정-에서-모델-은-연장된-평가-요청-을-처리하기-위한-타임아웃-한계-와-함께-초기화됩니다. 모델-을-선택할-때-반드시-repo_id-를-적절한-모델-저장소-ID-로-대체해야-합니다.

데이터-로드-및-준비

LLM-클라이언트-를-설정한-뒤-평가-를-위한-데이터-를-로드-하고-준비해야-합니다. 여기-에서-pandas-를-데이터-조작-을-위한-도구-로-사용하고-datasets-라이브러리를-사용하여-사전-존재하는-데이터셋-을-로드합니다. 아래-에서-평가-를-위한-작은-데이터셋-을-준비합니다.

import pandas as pd
from datasets import load_dataset

<p># 샘플-데이터셋-로드(自分の-데이터셋-ID-로-대체)
data = load_dataset("自分のデータセットID")["train"]</p>

<p># 평가-를-위한-관련-필드-추출
df = pd.DataFrame({
'question': data['question_field'],
'answer': data['answer_field']
})
df.head()</p>

데이터셋-은-평가-기준-에-따라-관련-필드-를-포함해야-합니다. 예를-들어-질문-과-응답-의-쌍-이-있을-수-있습니다.

LLM-판별자-를-사용한-평가

데이터-를-로드-하고-준비한-뒤-응답-을-평가하는-함수를-만들-수-있습니다. 이-예제-는-질문-과-응답-의-쌍-을-사용하여-관련성-과-정확성-을-평가하는-함수를-보여줍니다.

def evaluate_answer(question, answer):
# 관련성-과-정확성-을-평가하는-프롬프트-구성
prompt = f"다음-응답-의-관련성-과-정확성-을-평가하세요.\n질문:-{question}\n응답:-{answer}"
result = llm_client.text_generation(prompt=prompt, max_new_tokens=50)
return result

<p># 예제-로-테스트
question = "FED-의-행동-이-인플레이션-에-어떤-영향-을-미치는가?"
answer = "FED-가-채권-을-구매하면-인플레이션-을-유발할-수-있다."
evaluation = evaluate_answer(question, answer)
print("LLM-평가:", evaluation)</p>

이-함수-는-질문-과-응답-의-쌍-을-LLM-에-전달하여-평가-를-요청합니다. 평가-프롬프트-를-조정하여-다른-평가-작업-에-적응시킬-수-있습니다.

쌍대-비교-구현

특정-경우-에-두-개의-모델-출력-을-비교하는-데-LLM-판별자-를-사용하는-것이-유용할-수-있습니다. 이-경우-평가-프롬프트-를-조정하여-LLM-이-두-개의-응답-중-더-나은-것-을-선택하도록-합니다.

def evaluate_pairwise(question, answer_a, answer_b):
# 쌍대-비교-를-위한-프롬프트-구성
prompt = (
f"다음-질문-에-대해-두-개의-응답-중-더-관련-있고-상세한-것-을-선택하세요.\n\n"
f"질문:-{question}\n\n"
f"응답-A:-{answer_a}\n\n"
f"응답-B:-{answer_b}\n\n"
"더-나은-응답-을-선택하세요: A 또는 B"
)
result = llm_client.text_generation(prompt=prompt, max_new_tokens=10)
return result

<p># 예제-쌍대-비교
question = "FED-의-채권-구매-행동-이-무슨-영향-을-미치는가?"
answer_a = "FED-의-행동-은-화폐-공급-을-증가시킬-수-있다."
answer_b = "FED-의-채권-구매-는-일반적으로-인플레이션-을-높인다."
comparison = evaluate_pairwise(question, answer_a, answer_b)
print("더-나은-응답:", comparison)</p>

이-함수-는-응답-을-평가-하고-랭킹-하는-실용적인-방법-을-제공하며-특히-A/B-테스트-에서-모델-출력-을-최적화하는-데-유용합니다.

실제-팁-과-도전

LLM-판별자-프레임워크-는-강력한-도구이지만-몇-가지-실제-고려-가-그의-성능-을-향상시키고-정확성을-유지하는-데-도움이-될-수-있습니다.

프롬프트-구성-을-위한-최선-의-방법

유효한-프롬프트-를-구성하는-것은-정확한-평가-를-위한-关键입니다. 다음-은-실제-팁입니다.

  • 편향-을-避けます-: LLM-은-프롬프트-구조-에-따라-편향-을-보일-수-있습니다. 프롬프트-에서-“정답”-을-제안하지-마십시오. 또한-질문-이-중립적-인지-확인하십시오.
  • Verbose-성-을-줄입니다-: LLM-은-Verbose-한-응답-을-선호할-수-있습니다. 관련-성이-기준-이-아닌-경우-간결함-을-지정하십시오.
  • 위치-편향-을-최소화합니다-: 쌍대-비교-에서-응답-의-순서-를-주기적으로-랜덤화하여-첫-번째-또는-두-번째-응답-에-대한-위치-편향-을-줄입니다.

예를-들어-“최선-의-응답-을-선택하세요.”-라는-말-보다-“관련-있고-상세한-응답-을-선택하세요.”-라는-구체적인-기준-을-지정하십시오.

한계-와-완화-전략

LLM-판별자-는-인간-의-판단-을-복제할-수-있지만-한계-도-存在합니다.

  • 작업-복잡성-: 일부-작업-은-예를-들어-수학-또는-깊은-추론-을-요구하는-작업-은-LLM-의-용량-을-초과할-수-있습니다. 이러한-작업-의-경우-보다-단순한-모델-이나-외부-검증기를-사용하는-것이-유용할-수-있습니다.
  • 의도하지-않은-편향-: LLM-판별자-는-구성-또는-“자신-강화-편향”-으로-인해-의도하지-않은-편향-을-보일-수-있습니다. 이러한-편향-을-완화하기-위해-위치-가정-을-避け고-평가-추세-를-모니터링하여-불일치-를-검출하십시오.
  • 출력-의-모호성-: LLM-이-모호한-평가-를-생성하는-경우-이진-프롬프트-를-사용하여-단순한-작업-에-대해-예/아니요-또는-긍정/부정-분류-를-요청할-수-있습니다.

결론

LLM-판별자-프레임워크-는-AI-생성-출력-을-평가하는-데-사용할-수-있는-유연한-확장-가능한-및-비용-효과적인-접근법-을-제공합니다. 적절한-설정-과-주의-깊은-프롬프트-구성-을-통해-이-프레임워크-는-다양한-응용-프로그램-에서-인간-의-판단-을-모방할-수-있으며-대규모-데이터셋-과-실시간-상호작용-에-걸쳐-평가-노력을-확장하는-데-유용한-도구-로-작동합니다.

주의-깊은-모니터링-프롬프트-의-반복-및-한계-에-대한-인식-을-통해-팀-은-그들의-LLM-판별자-가-실제-응용-요구-에-부합하는-지-확인할-수-있습니다.

지난 5년 동안私は Machine Learning과 Deep Learning의 매혹적인 세계에 몰두해 왔습니다.私の熱情と専門知識は私を50以上의多様한 소프트웨어 엔지니어링 프로젝트에 기여하게 했으며, 특히 AI/ML에 중점을 두었습니다.私の継続的な 호기심은 또한私를自然어 처리로 끌어들였습니다.私は이 분야를さらに 탐구하기를熱望합니다.