프로덕션 환경에서의 LLM 출력 품질 평가
2023년 3월, GPT-4는 97.6%의 정확도로 소수를 식별했습니다. 2023년 6월이 되자, 동일한 모델의 정확도는 2.4%로 떨어졌습니다. 코드를 변경한 사람도, 프롬프트를 변경한 사람도 없었습니다. 모델이 단순히 변한 것입니다.
이것이 프로덕션 환경에서 LLM을 사용할 때 발생하는 핵심 문제입니다. 여러분은 모델을 제어할 수 없습니다. 모델은 드리프트(drift)가 발생하는 의존성입니다. 측정하지 않는다면, 사용자들이 모델이 고장 났다고 말하게 될 것입니다.
"느낌"이나 "내가 보기엔 괜찮은데"라는 식의 판단에 의존해서는 안 됩니다. 반복 가능한 신호가 필요합니다.
전통적인 소프트웨어는 결정론적(deterministic)입니다. 동일한 입력은 동일한 출력을 보장합니다. 하지만 LLM은 이 규칙을 깨뜨립니다. LLM은 비결정론적이며, '정답'이 모호한 경우가 많습니다.
이를 관리하기 위해서는 세 가지 계층의 평가가 필요합니다:
- 오프라인 평가(Offline evals): 회귀(regression)를 포착하기 위해 변경 사항이 있을 때마다 고정된 테스트 세트를 실행합니다.
- 참조 없는 체크(Reference-free checks): '정답'이 없는 경우 환각(hallucination) 탐지와 같은 신호를 사용합니다.
- 프로덕션 모니터링(Production monitoring): 실제 트래픽을 관찰하여 드리프트와 품질 저하를 감시합니다.
그 기초는 골든 데이터셋(Golden Dataset)입니다. 무작위 샘플을 사용하지 마세요. 엄선된 까다로운 사례들을 사용하십시오. 빈 입력값, 기묘한 엣지 케이스(edge cases), 그리고 적대적 프롬프트(adversarial prompts)를 활용하십시오. 정교한 예시 80개가 무작위 예시 8,000개보다 훨씬 낫습니다.
LLM을 판사(judge)로 사용할 때는 다음과 같은 편향(bias)을 주의해야 합니다:
- 위치 편향(Position bias): 판사는 종종 처음 본 답변을 선호합니다. 비교 순서를 양방향으로 실행하여 이를 해결하십시오.
- 장황함 편향(Verbosity bias): 판사는 답변이 덜 명확하더라도 더 긴 답변에 높은 점수를 주는 경향이 있습니다.
- 자기 강화 편향(Self-enhancement bias): 모델은 자신의 계열(family)에서 생성된 텍스트를 선호합니다. 출력을 평가할 때는 서로 다른 모델 계열을 사용하십시오.
실시간 모니터링을 위해서는 RAG Triad를 사용하여 다음을 확인하십시오:
- 충실도(Faithfulness): 답변이 컨텍스트를 준수하는가?
- 답변 관련성(Answer relevance): 질문에 적절히 답하고 있는가?
- 컨텍스트 관련성(Context relevance): 시스템이 올바른 문서를 가져왔는가?
모델 품질을 고정된 속성으로 취급하지 마십시오. 지연 시간(latency)이나 에러율처럼 취급하십시오. 품질은 변합니다. 여러분의 역할은 품질이 나빠지는 시점을 포착하는 것입니다.
작게 시작하십시오. 20개의 골든 예시를 작성하십시오. 이를 배포를 결정하는 게이트(gate)로 사용하십시오. 나중에 저렴한 프로덕션 휴리스틱(heuristics)을 추가하십시오.
밤에 잠을 잘 자는 팀은 가장 똑똑한 모델을 가진 팀이 아닙니다. 모델이 멍청해졌을 때 한 시간 이내에 이를 알아차릴 수 있는 팀입니다.
Source: https://dev.to/nazar_boyko/evaluating-llm-output-quality-in-production-39an
Optional learning community: https://t.me/GyaanSetuAi
