LLM-as-a-judge를 사용하여 GenAI 애플리케이션을 평가하는 기법과 과제
AI는 빠르게 발전하고 있으며, 이제 대규모 언어 모델 (LLMs)이 다양한 산업과 프로덕션 환경 전반에서 채택되고 있습니다. 이러한 LLM 기반 애플리케이션이 더 널리 확산됨에 따라, 우리는 그 출력이 정확하고 신뢰할 수 있으며 편향이 없도록 보장해야 합니다. 기존의 인간 평가 방식은 시간이 너무 많이 걸리고 일관성이 부족해 현대 LLM의 복잡성과 규모를 다루기에는 부족한 경우가 많습니다.
이러한 과제에 대한 유망한 접근 방식 중 하나는 LLM을 평가자로 사용하여 그 출력을 평가하는 것입니다. 광범위한 학습 데이터와 맥락 이해를 활용함으로써, LLM은 자동화되고 확장 가능하며 일관된 평가를 제공할 수 있습니다.
2024년 4월, UpTrain AI의 공동 창립자인 Sourabh Agrawal은 Zilliz가 주최한 Unstructured Data Meetup에서 LLM-as-a-judge 기법을 구현할 때의 실제적인 어려움에 대해 발표했습니다. 그는 이러한 평가를 효과적으로 만들기 위해 산업계와 학계 모두에서 사용되는 핵심 전략을 논의하고, UpTrain AI가 GenAI 애플리케이션을 평가하는 방식을 시연했습니다.
이 블로그에서는 Sourabh의 핵심 내용을 요약하고, 평가에 LLM을 활용하는 실제적인 측면을 살펴보겠습니다. 더 깊이 알아보고 싶다면 YouTube에서 Sourabh의 발표를 시청해 보시길 권장합니다.
LLM 평가 - 왜 중요한가요?
LLM은 콘텐츠를 생성하고 애플리케이션을 구축하는 방식을 변화시켰습니다. 그러나 강력함에도 불구하고, 제한된 사전 학습 지식으로 인해 때때로 환각성 답변을 생성할 수 있습니다. 이 문제를 완화하기 위한 인기 있는 기법 중 하나는 Retrieval Augmented Generation (RAG)으로, Milvus 및 Zilliz Cloud(관리형 Milvus)와 같은 벡터 데이터베이스를 사용해 외부 데이터를 컨텍스트로 제공함으로써 LLM을 향상시킵니다.
RAG는 LLM의 일부 한계를 효과적으로 해결하지만, 실질적인 비즈니스 가치를 위해 이러한 애플리케이션을 프로덕션 환경에 배포하는 것은 여전히 복잡합니다. 다양한 목적을 위해 워크플로에 더 많은 기술을 통합해야 하며, 이는 애플리케이션의 복잡성과 가장 정확하고 관련성 높은 답변을 생성하는 데 있어 잠재적 과제를 증가시킵니다. 따라서 우리는 LLM 기반 애플리케이션의 출력을 평가하고, 그것이 올바르고 정확하며 높은 품질을 갖추었는지 확인해야 합니다.
GenAI 앱을 평가할 때 어떤 지표를 사용해야 할까요
LLM의 성능을 평가할 때는 그 역량에 대한 가치 있는 인사이트를 제공하는 핵심 지표에 집중하는 것이 중요합니다. 이러한 지표는 효과성을 측정하고 개선을 안내하는 벤치마크 역할을 합니다. 밋업에서 Sourabh Agrawal은 LLM 성능을 평가하기 위한 네 가지 주요 지표를 강조하고, 이를 평가하는 방법론을 논의했습니다.
응답 품질: 좋은 응답은 사용자의 질문에 직접 답하고, 불필요한 정보 없이 간결하며, 질문의 모든 측면을 다루어야 합니다. LLM 애플리케이션의 응답 품질을 평가하려면 출력이 프롬프트와 관련이 있는지, 간결하고 완전한지 확인해야 합니다. 더 깊이 들어가려면 LLM 애플리케이션에 올바른 인용이 있는지 또는 사용자 지정 지침을 따르는지 확인하세요.
맥락 인식은 외부 데이터 소스에 의존하는 LLM 애플리케이션, 즉 검색 증강 생성(RAG) 애플리케이션에 매우 중요합니다. RAG 애플리케이션을 평가하려면 벡터 데이터베이스에서 검색된 정보가 정확하고 관련성이 있으며 환각 없이 최적으로 사용되는지, 그리고 LLM이 검색된 맥락을 올바르게 이해하고 사용해 응답을 생성하는지 확인해야 합니다. 이 지표를 더 깊이 살펴보려면 RAG 파이프라인 내의 임베딩 모델이 잘 튜닝되어 있는지도 확인할 수 있습니다.
대화 품질: LLM 애플리케이션은 다중 턴 대화의 모든 상호작용에서 일관성과 정합성을 유지해야 합니다. 이 범주의 평가는 사용자 질의가 해결되었는지, 그리고 LLM이 이전 턴의 맥락을 적절히 유지하고, 논리적으로 응답하며, 대화 전반에 걸쳐 주제에서 벗어나지 않아 매끄럽고 자연스러운 대화 경험을 보장하는지 확인합니다. 고급 평가 방법은 기사나 다중 턴 대화와 같은 장문 콘텐츠 전반의 정합성을 평가합니다. 예를 들어, Sourabh는 맥락이 American football이라면 LLM이 "football"과 "soccer"를 혼동해서는 안 된다고 언급했습니다.
안전성: 안전성 평가는 LLM이 그 행동을 조작할 수 있는 jailbreak나 prompt injection에 취약한지 확인합니다. 안전성 평가는 또한 모델의 출력이 적절하고 시스템이 오용되지 않도록 보장합니다.
LLM을 심사자로 사용하여 GenAI 애플리케이션 평가하기
오늘날에는 인간 리뷰, LLM-as-a-judge 방법론, 자동 채점 시스템 등 GenAI 애플리케이션의 출력을 평가하기 위한 다양한 평가 도구와 기법이 제공됩니다. 인간 리뷰는 신뢰할 수 있지만, 주관적 편향으로 인해 확장성이 부족하고 일관성이 떨어질 수 있습니다. 반면 자동 채점 시스템은 일관성을 제공하지만 특정 유형의 콘텐츠에 필요한 미묘한 이해를 포착하지 못할 수 있습니다.
LLM-as-a-judge 접근법은 LLM 자체 또는 별도의 LLM을 "judge"로 사용하여 LLM 애플리케이션 출력의 관련성, 정확성 및 전반적인 품질을 체계적으로 평가합니다. LLM은 방대한 학습 데이터와 맥락 이해를 활용하여 자동화되고 확장 가능하며 일관된 평가를 제공할 수 있습니다. 이 방법론은 개발자가 평가 프로세스를 표준화하고, 개선이 필요한 영역을 빠르게 식별하며, 모델을 fine-tune하고, 인간 편향을 최소화하면서 고품질 성능을 보장할 수 있게 합니다.
meetup 동안 Sourabh는 prompt-based 및 tuning-based 방법을 포함하여 LLM-as-a-judge 평가를 구현하기 위한 두 가지 주요 기법을 논의했습니다.
Prompt-based 평가
Prompt-based 평가는 시작하기 쉽고 일반적으로 closed-source LLM API를 활용합니다. 이 접근법에서는 응답 평가를 위한 특정 기준을 judge LLM에게 prompt해야 합니다. 아래는 prompt-based 평가를 구현하기 위한 네 가지 주요 방법입니다.
Score-based 평가: Score-based 평가에서는 judge LLM에게 관련성이나 완전성과 같은 응답의 특정 측면에 대해 1에서 10 사이의 점수를 제공하도록 prompt합니다. 구현하기 쉽지만, 이 방법은 LLM의 내재적 편향으로 인해 일관성이 떨어질 수 있습니다.
Classification-based 평가: Classification-based 평가는 채점을 좋음, 보통 또는 나쁨 범주로 변환합니다. 이 접근법은 각 범주에 대한 명확한 기준을 제공함으로써 변동성을 줄이고 신뢰성을 향상시킵니다.
Pairwise Comparison: Pairwise comparison은 judge LLM에 두 개의 응답을 제시하고 더 나은 것을 선택하도록 요청합니다. 이 방법은 직접 비교에 유용하지만 응답의 순서가 평가에 영향을 미치는 위치 편향을 유발할 수 있습니다.
앙상블 기법: 앙상블 기법은 여러 judge LLM 또는 여러 평가 방법을 사용하여 응답을 평가합니다. 다양한 모델의 결과를 집계하면 개별 편향을 완화하고 정확도를 향상시킬 수 있습니다. 다수결 투표나 chain-of-thought 프롬프팅과 같은 기법은 앙상블 평가에서 일반적입니다.
튜닝 기반 평가
튜닝 기반 평가는 HuggingFace의 모델과 같은 오픈 소스 LLM을 judge로 활용하고 특정 평가 작업에 맞게 파인튜닝합니다. 이 방법은 더 큰 제어와 맞춤화를 가능하게 하여, 더 비용 효율적이고 특정 사용 사례에 적합합니다. 모델을 평가자로 작동하도록 파인튜닝함으로써 개발자는 모델이 애플리케이션의 고유한 요구 사항에 잘 맞도록 보장할 수 있습니다.
LLM을 Judge로 사용할 때 관련된 과제
LLM 애플리케이션을 위한 신뢰할 수 있는 평가를 구축하는 것은 해당 애플리케이션을 개발하는 것만큼이나 어렵습니다. 애플리케이션의 출력을 평가하기 위해 LLM을 judge로 활용하면 확장성과 일관성을 제공하지만, 신중한 관리가 필요한 과제와 복잡성도 함께 발생합니다.
LLM 평가의 편향
순서 편향: LLM은 정보가 제시되는 순서에 영향을 받을 수 있습니다. 예를 들어, 한 응답이 상단에 표시되고 다른 응답이 하단에 표시되면 모델은 상단의 응답을 선호할 수 있습니다. 이러한 편향은 불공정한 평가로 이어질 수 있습니다.
자기중심적 편향: LLM은 종종 자신이 생성한 출력을 선호하는 경향이 있습니다. 응답을 판단하라는 요청을 받으면 다른 모델의 응답보다 자신의 응답을 더 높게 평가할 수 있습니다. 이러한 자기 선호적 처리는 결과를 왜곡하고 평가의 공정성을 떨어뜨릴 수 있습니다.
길이 편향: 일부 모델은 더 길고 더 자세한 응답을 선호하는 반면, 다른 모델은 간결한 답변을 선호합니다. 이러한 선호는 응답의 관련성이나 정확성과 관계없이 응답의 인지된 품질에 영향을 미칠 수 있습니다.
일관성 문제
여러 실행 전반에 걸쳐 평가가 일관되도록 보장하는 것은 핵심 과제 중 하나입니다. LLM은 본질적인 변동성으로 인해 서로 다른 실행에서 동일한 응답에 대해 서로 다른 점수를 생성할 수 있습니다.
도메인별 지식 부족
정확한 평가를 제공하려면 LLM은 평가하는 특정 도메인, 즉 해당 분야의 용어, 맥락, 미묘한 차이를 이해해야 합니다. 이러한 지식이 없으면 평가는 응답의 중요한 측면을 놓칠 수 있습니다.
LLM 평가는 다양한 맥락과 사용자 페르소나에 적응할 수 있어야 합니다. 한 맥락에서 적절한 응답이 다른 맥락에서는 그렇지 않을 수 있습니다. 정확한 평가를 위해서는 다양한 사용자 그룹의 특정 요구 사항과 기대에 맞게 평가를 조정하는 것이 필수적입니다.
복잡한 응답 평가
철저하고 정확한 평가를 보장하려면 복잡한 응답을 더 작고 관리하기 쉬운 구성 요소로 나누는 것이 필수적입니다. 이 접근 방식은 각 부분에 대한 상세한 평가를 가능하게 하여 전체 평가 프로세스를 향상시킵니다. 그러나 평가 자체의 복잡성도 증가시킵니다.
멀티턴 대화를 평가하면 추가적인 난이도가 생깁니다. judge LLM은 이전 상호작용의 맥락을 유지하고 대화 전반에 걸쳐 일관성을 유지해야 합니다. 이 과제를 해결하려면 맥락 유지를 효과적으로 관리하고 원활한 대화 흐름을 보장하는 정교한 평가 기법이 필요합니다.
안전 및 보안 우려
LLM은 악의적인 입력이 모델의 동작을 조작하는 프롬프트 인젝션과 탈옥에 취약할 수 있습니다. 이러한 보안 위협을 감지하고 완화하는 것은 안전하고 신뢰할 수 있는 평가를 위해 매우 중요합니다.
평가 비용
LLM 출력을 평가하는 것은 리소스 집약적일 수 있습니다. 평가 비용과 정확성에 대한 필요성의 균형을 맞추는 것은 중요한 과제입니다.
이러한 한계를 어떻게 해결할 수 있을까요?
LLM 애플리케이션을 평가하기 위해 LLM을 심사자로 사용하는 데는 한계가 있으므로, 이를 어떻게 해결할 수 있을까요? Sourabh는 Unstructured Data Meetup에서 자신의 전략을 공유했습니다.
객관적 평가
평가는 가능한 한 객관적이어야 합니다. 이 전략은 편향을 줄이고 LLM 출력물을 판단하기 위한 일관된 기준을 제공합니다. 개발자는 명확하고 측정 가능한 평가 기준을 수립함으로써 일관되고 신뢰할 수 있는 판단을 제공하는 표준 기준선을 만들 수 있습니다.
간결성 확인
간결성을 평가하려면 응답을 의미 있는 하위 부분으로 나누세요. 각 부분이 사용자 질의에 직접 답하는지 개별적으로 확인해야 합니다. 그런 다음 관련 부분 수를 전체 부분 수로 나눈 비율로 최종 점수를 계산하여 철저하고 정확한 평가를 보장합니다.
채점 전략
Sourabh는 또한 "YES, NO, MAYBE" 옵션이 있는 채점 시스템을 사용할 것을 권장했습니다. 이 접근 방식은 단순한 이진 선택에 비해 더 명확하고 세밀한 평가를 제공하며, 응답이 극단에 속하지 않는 경계 사례를 다룹니다.
비용 효율적인 평가
비용을 관리하려면 가능한 한 더 저렴한 LLM을 활용하세요. 개발자는 초기 평가에는 비용이 덜 드는 모델을 사용하고 중요하거나 모호한 사례에는 고비용 모델을 남겨 둠으로써 평가 품질을 저하시키지 않고 비용 효율성을 유지할 수 있습니다.
도메인별 미세 조정
심사자 LLM을 미세 조정하는 것은 특정 도메인에 일반 모델을 사용하는 것보다 더 효과적입니다. 법률이나 의료와 같은 특정 분야에 맞게 모델을 미세 조정하면 평가가 특정 맥락에 더 정확하고 관련성 있게 이루어지도록 보장합니다.
개선을 이끄는 평가 활용: 프로덕션 이후
LLM 평가는 특히 프로덕션에 들어간 후 LLM 애플리케이션의 실패 사례와 사각지대를 식별하는 데 중요합니다. Sourabh는 프로덕션 이후 지속적인 개선을 이끌기 위해 평가를 사용하는 모범 사례를 제공했습니다.
평가 비용이 증가할 수 있으므로 성능을 모니터링하기 위해 핵심 평가를 실행하세요.
실패 사례를 선택하고 이에 대한 근본 원인 분석을 수행하세요. 이 접근 방식은 특정 응답이 실패하는 이유와 개선할 수 있는 부분을 이해하는 데 도움이 됩니다.
문제가 검색, 활용, 인용 또는 불명확한 사용자 질의와 관련되어 있는지 판단하세요. 이러한 상세한 분석은 목표 지향적인 개선을 가능하게 하여 LLM 애플리케이션이 시간이 지남에 따라 더 견고하고 신뢰할 수 있게 되도록 보장합니다.
UpTrain AI를 사용하여 LLM 애플리케이션을 평가하는 방법
마지막으로, Sourabh는 LLM 애플리케이션 평가를 위한 오픈 소스 프레임워크인 UpTrain AI를 선보였습니다. pip를 사용하여 개발자는 UpTrain을 설치하고 OpenAI 또는 Hugging Face의 API 키를 사용해 평가 모델을 정의할 수 있습니다.
UpTrain AI를 통한 평가 프로세스에는 질문, 컨텍스트, 응답이 포함된 데이터셋을 정의한 다음 정확성, 완전성, 간결성 및 대화 품질에 대한 평가를 실행하는 과정이 포함됩니다. UpTrain은 점수와 설명을 제공하며, 긴 응답을 하위 부분으로 나누고 각각을 평가하여 간결성을 더 객관적으로 측정합니다.
UpTrain 대시보드는 모든 데이터를 기록하여 모델과 프롬프트를 비교하고 성능을 모니터링할 수 있게 합니다. 이는 실패 사례를 식별하고 근본 원인을 분석하여 검색, 활용 또는 인용 문제를 정확히 파악하는 데 도움이 됩니다.
UpTrain 대시보드의 인터페이스
UpTrain 대시보드의 인터페이스
UpTrain에 대해 더 알아보려면 GitHub project를 방문할 수 있습니다. 또한 YouTube에서 Sourabh의 발표 다시보기를 시청하고 Unstructured Data Meetup에서 그가 시연한 단계별 접근 방식을 따라갈 수도 있습니다.
결론
신뢰할 수 있고 효과적인 LLM 애플리케이션을 개발하는 것은 쉽지 않으며, 편향, 일관성, 도메인별 지식 부족을 포함한 많은 과제가 따릅니다. 특정 작업을 위해 LLM을 파인튜닝하거나 벡터 데이터베이스 like Milvus를 활용하여 LLM에 외부 지식을 제공하는 것은 이러한 문제를 해결하는 인기 있는 방법입니다.
하지만 LLM 출력이 정확하고 의미 있는지 보장하고 평가 결과를 기반으로 LLM 애플리케이션을 개선하기 위해 효과적인 평가 기법과 도구를 사용하는 것도 필수적입니다. LLM-as-a-judge 접근 방식은 확장성과 일관성을 제공하며 이 역할을 수행할 수 있는 인기 있는 기법입니다. UpTrain AI와 같은 도구와 TruLens 같은 많은 다른 프레임워크도 LLM 평가를 향상시키는 데 중요한 역할을 하며, 프로세스를 더 효율적이고 신뢰할 수 있게 만듭니다.
추가 자료
LLM 평가를 더 깊이 살펴보고 싶다면 다음 자료를 학습하세요.
계속 읽기

Smarter Autoscaling in Zilliz Cloud: Always Optimized for Every Workload
With the latest upgrade, Zilliz Cloud introduces smarter autoscaling—a fully automated, more streamlined, elastic resource management system.

Zilliz Cloud Launches in AWS Australia, Expanding Global Reach to Australia and Neighboring Markets
We're thrilled to announce that Zilliz Cloud is now available in the AWS Sydney, Australia region (ap-southeast-2).

How to Build RAG with Milvus, QwQ-32B and Ollama
Hands-on tutorial on how to create a streamlined, powerful RAG pipeline that balances efficiency, accuracy, and scalability using the QwQ-32B and Milvus.



