작성자: Quinn Leng, 케이시 울렌후스, Alkis Polyzotis
챗봇은 대규모 언어 모델(LLM)의 강력한 채팅 및 추론 기능을 활용하기 위해 가장 널리 채택된 사용 사례입니다. 검색 증강 생성(RAG) 아키텍처는 지식 기반(벡터 스토어를 통한)과 생성 모델(예: GPT-3.5 및 GPT-4)의 이점을 결합하여 환각을 줄이고 최신 정보를 유지하며 도메인별 지식을 활용할 수 있기 때문에 챗봇 개발의 업계 표준으로 빠르게 자리 잡고 있습니다. 그러나 챗봇 응답의 품질을 평가하는 것은 오늘날에도 여전히 해결되지 않은 문제로 남아 있습니다. 업계 표준이 정의되어 있지 않기 때문에 조직은 시간이 많이 걸리고 확장하기 어려운 인적 등급 지정(라벨링)에 의존하고 있습니다.
이론을 실무에 적용하여 LLM 자동 평가에 대한 모범 사례를 구축함으로써 RAG 애플리케이션을 프로덕션 환경에 빠르고 자신 있게 배포할 수 있도록 지원합니다. 이 블로그는 LLM 평가에 대한 학습을 제공하기 위해 데이터브릭스에서 진행 중인 리서치 시리즈 중 첫 번째 글입니다. 이 글의 모든 리서치는 데이터브릭스의 수석 소프트웨어 엔지니어이자 데이터브릭스 문서 AI 어시스턴트를 개발한 Quinn Leng이 수행했습니다.
최근 LLM 커뮤니티에서는 자동화된 평가를 위해 "judge로서의 LLM"을 사용하는 방법을 모색하고 있으며, 많은 사람들이 GPT-4와 같은 강력한 LLM을 사용하여 LLM 결과물에 대한 평가를 수행하고 있습니다. lmsys 그룹의 연구 논문은 쓰기, 수학, 세계 지식 분야의 과제에 대한 판정자로 다양한 LLM(GPT-4, ClaudeV1, GPT-3.5)을 사용하는 것의 타당성과 장단점을 살펴봅니다.
이 모든 훌륭한 연구에도 불구하고 LLM 심사위원을 실제로 적용하는 방법에 대해서는 여전히 답이 없는 질문이 많습니다:
데이터브릭스의 자체 챗봇 애플리케이션의 맥락에서 위에 설명한 질문에 대한 가능한 옵션을 살펴봤습니다. 이러한 결과는 일반화할 수 있으며, 따라서 귀사의 팀이 더 낮은 비용과 더 빠른 속도로 RAG 기반 챗봇을 효과적으로 평가하는 데 도움이 될 수 있다고 믿습니다:
저희의 연구에 따르면, LLM judge 이용할 때는 다음과 같은 절차를 따르는 것이 좋습니다:
이 글의 나머지 부분에서는 이러한 모범 사례를 만들기 위해 수행한 일련의 실험에 대해 설명합니다.
실험은 세 가지 단계로 구성되었습니다:
또한 위치 편향을 방지하고 신뢰도를 개선하기 위해 다음과 같은 기법을 사용했습니다:
인간 annotator와 LLM judge 간의 일치 수준을 확인하기 위해 gpt-3.5-turbo와 vicuna-33b의 답안지(채점 척도 0-3)를 라벨링 회사에 보내 인간 라벨을 수집한 다음 그 결과를 GPT-4의 채점 결과와 비교했습니다. 아래는 그 결과입니다:
![]() |
![]() |
포괄성 지표는 정확성이나 가독성과 같은 지표보다 '포괄적'이라는 표현이 더 주관적으로 느껴진다는 비즈니스 이해관계자들의 의견과 일치하지 않는 부분이 있습니다.
이 프롬프트를 사용하여 LLM 심사 위원에게 답변의 유용성, 관련성, 정확성, 깊이, 창의성 및 세부 수준을 기준으로 평가하도록 지시합니다. 그러나 이 논문에서는 채점 기준에 대한 구체적인 내용은 공유하지 않습니다. 연구 결과, 예를 들어 최종 점수에 큰 영향을 미치는 요인은 여러 가지가 있는 것으로 나타났습니다:
저희는 다음과 같은 방법으로 LLM 심사위원에게 주어진 채점 척도에 대한 지침을 제공하기 위한 기준을 개발했습니다:
|
저희는 정확성, 이해도 및 가독성에 대한 지표를 표시하고, 각 점수를 부여하기 전에 심사위원에게 한 줄의 근거를 제시하도록 유도하여 연쇄적 추론의 이점을 활용하도록 원래의 lmsys 종이 프롬프트를 수정했습니다. 아래는 예시를 제공하지 않는 제로 샷 버전의 프롬프트와 각 점수에 대해 하나의 예시를 제공하는 소수 샷 버전의 프롬프트입니다. 그런 다음 동일한 답안지를 입력으로 사용하고 두 가지 프롬프트 유형에서 채점된 결과를 비교했습니다.
|
|
이 실험을 통해 몇 가지를 배웠습니다:
LLM-as-judge 논문에서는 채점 척도에 정수가 아닌 0~10 척도(즉, 부동 소수점)를 사용합니다. 즉, 최종 점수에 고정밀 기준을 사용합니다. 이러한 고정밀 척도는 다음과 같은 다운스트림 문제를 유발하는 것으로 나타났습니다:
우리는 사용하기에 '가장 좋은' 채점 척도에 대한 지침을 제공하기 위해 다양한 저정확도 채점 척도를 실험했으며, 최종적으로 0-3 또는 0-4(리커트 척도를 고수하려는 경우)의 정수 척도를 권장합니다. 우리는 0-10, 1-5, 0-3, 0-1을 시도해 보았습니다:
위의 plot에서 볼 수 있듯이 GPT-4와 GPT-3.5는 서로 다른 저정확도 채점 척도를 사용하여 일관된 결과 순위를 유지할 수 있으므로 0~3 또는 1~5와 같이 낮은 채점 척도를 사용하면 정밀도와 설명 가능성의 균형을 맞출 수 있습니다).
따라서 0-3 또는 1-5를 채점 척도로 권장하여 사람의 라벨과 쉽게 일치시키고, 채점 기준에 대해 추론하고, 범위 내 각 점수에 대한 예시를 제공합니다.
LLM-as-judge 논문은 LLM과 인간의 판단 모두 Vicuna-13B 모델을 GPT-3.5의 근접한 경쟁자로 평가하고 있음을 보여줍니다:
(이 그림은 LLM-as-judge 논문의 그림 4에서 가져온 것입니다: https://arxiv.org/pdf/2306.05685.pdf )
그러나 문서 Q&A 사용 사례에 대한 모델 세트를 벤치마킹한 결과, 훨씬 더 큰 규모의 Vicuna-33B 모델조차도 문맥에 따라 질문에 답변할 때 GPT-3.5보다 성능이 눈에 띄게 떨어지는 것으로 나타났습니다. 이러한 결과는 실험 1에서 언급한 바와 같이 GPT-4, GPT-3.5 및 인간 심사자들에 의해서도 확인되었으며, 이들은 모두 Vicuna-33B가 GPT-3.5보다 성능이 더 나쁘다는 데 동의했습니다.
논문에서 제안한 벤치마크 데이터 세트를 자세히 살펴본 결과, 3가지 작업 범주(쓰기, 수학, 지식)는 문맥에 따라 답변을 합성하는 모델의 능력을 직접적으로 반영하거나 기여하지 않는다는 사실을 발견했습니다. 대신, 직관적으로 문서 Q&A 사용 사례에는 독해력 및 후속 교육에 대한 벤치마크가 필요합니다. 따라서 평가 결과는 사용 사례 간에 이전할 수 없으며, 모델이 고객의 요구를 얼마나 잘 충족시킬 수 있는지 제대로 평가하려면 사용 사례별 벤치마크를 구축해야 합니다.
위의 실험을 통해 다양한 요소가 챗봇의 평가에 얼마 나 큰 영향을 미칠 수 있는지 살펴보고, 문서 Q&A 사용 사례에 대한 사람의 선호도를 크게 반영할 수 있는 판단자로서의 LLM을 확인했습니다. 데이터브릭스에서는 이러한 결과를 바탕으로 팀이 LLM 애플리케이션을 효과적으로 평가할 수 있도록 MLflow 평가 API를 발전시키고 있습니다. MLflow 2.4에서는 다양한 모델의 텍스트 출력을 나란히 비교할 수 있는 LLM용 평가 API를 도입했고, MLflow 2.6에서는 독성 및 난해성과 같은 평가를 위한 LLM 기반 메트릭을 도입했으며, 조만간 판사로서의 LLM을 지원하기 위해 노력 중입니다!
그 동안 조사에 참고한 리소스 목록을 아래에 정리해 두었습니다: