RAG 애플리케이션 평가 및 모니터링 소개
평가 및 모니터링은 RAG 애플리케이션이 사용 사례에 따라 결정되는 *품질, 비용 및 대기 시간 요구 사항을 충족하는지를 이해하는 데 중요한 구성 요소입니다. 기술적으로는 애플리케이션이 프로덕션에 배포되면 개발 및 모니터링 중에 평가가 수행되지만 기본 구성 요소는 비슷합니다.
구조화되지 않은 데이터에 대한 RAG는 애플리케이션의 품질에 영향을 주는 많은 구성 요소가 있는 복잡한 시스템입니다. 단일 요소를 조정하면 다른 요소에 하향 전달 효과가 있을 수 있습니다. 인스턴스의 경우, 데이터 서식 변경은 검색된 청크 및 관련 응답을 생성하는 LLM의 기능에 영향을 줄 수 있습니다. 따라서 이러한 평가에 따라 반복적으로 구체화하기 위해 애플리케이션의 각 구성 요소를 전체적으로 평가하는 것이 중요합니다.
평가 및 모니터링: 클래식 ML 및 생성형 AI
RAG를 비롯한 생성형 AI 애플리케이션의 평가 및 모니터링은 다음과 같은 여러 가지 방법으로 클래식 기계 학습과 다릅니다.
항목 | 클래식 ML | 생성 AI |
---|---|---|
메트릭 | 메트릭은 기능 드리프트, 정밀도, 재현율, 대기 시간 등 구성 요소의 입력 및 출력을 평가합니다. 구성 요소는 하나뿐이므로 전체 메트릭 == 구성 요소 메트릭입니다. | 구성 요소 메트릭은 각 구성 요소의 입력 및 출력(예: 정밀도 @ K, nDCG, 대기 시간, 독성 등)을 평가합니다. 복합 메트릭은 여러 구성 요소가 상호 작용하는 방식을 평가합니다. 충실도는 내부 리트리버의 체인 입력, 체인 출력 및 출력이 필요한 리트리버의 지식에 대한 생성기의 준수를 측정합니다. 전체 메트릭은 시스템의 전체 입력 및 출력(예: 응답 정확성 및 대기 시간)을 평가합니다. |
평가 | 답변은 결정적으로 "Right" 또는 "Wrong"입니다. 결정적 메트릭이 작동합니다. | 답변은 "Right" 또는 "Wrong"이지만 • 많은 Right 답변(비결정적)이 있습니다. • 일부 정답은 더 옳습니다. 필요한 것: • 자신감을 얻기 위한 사람의 피드백. • 스케일링 평가를 조정하기 위한 LLM 판단 메트릭입니다. |
평가 및 모니터링 구성 요소
RAG 애플리케이션 품질, 비용 및 대기 시간을 효과적으로 평가하고 모니터링하려면 다음과 같은 몇 가지 구성 요소가 필요합니다.
- 평가 집합: RAG 애플리케이션을 엄격하게 평가하려면 애플리케이션의 용도를 나타내는 큐레이팅된 평가 쿼리 집합(및 이상적으로 출력)이 필요합니다. 이러한 평가 예제는 변화하는 사용량 및 요구 사항을 반영하도록 도전적이고 다양하며 업데이트되어야 합니다.
- 메트릭 정의: 측정하지 않는 항목을 관리할 수 없습니다. RAG 품질을 개선하려면 사용 사례에 대한 품질이 무엇을 의미하는지 정의해야 합니다. 애플리케이션에 따라 중요한 메트릭에는 주요 이해 관계자의 응답 정확도, 대기 시간, 비용 또는 등급이 포함될 수 있습니다. 각 구성 요소를 측정하는 메트릭, 구성 요소가 서로 상호 작용하는 방법 및 전체 시스템이 필요합니다.
- LLM 심사위원: LLM 응답의 개방형 특성을 감안할 때 출력이 올바른지 확인하기 위해 평가할 때마다 모든 단일 응답을 읽는 것은 불가능합니다. 다른 추가 LLM을 사용하여 출력을 검토하면 평가 규모를 조정하고 수천 개의 컨텍스트 토큰에 대한 응답의 기반과 같은 추가 메트릭을 계산하는 데 도움이 될 수 있으며, 이는 인간 평가자들이 대규모로 효과적으로 분석할 수 없습니다.
- 평가 도구: 개발 중에 평가 도구를 사용하면 평가 집합의 모든 기록에 대해 애플리케이션을 신속하게 실행한 다음 LLM 심사위원 및 메트릭 계산을 통해 각 출력을 실행할 수 있습니다. 이 단계는 내부 개발 루프를 '차단'하므로 속도가 가장 중요하기 때문에 특히 어렵습니다. 좋은 평가 도구는 이 작업을 가능한 한 병렬화하며, 더 많은 LLM 용량과 같은 추가 인프라를 회전하는 경우가 많습니다.
- 이해 관계자 관련 UI: 개발자는 개발 중인 애플리케이션의 콘텐츠에 대한 도메인 전문가가 아닐 수 있습니다. 애플리케이션 품질을 평가할 수 있는 사용자 전문가의 피드백을 수집하려면 애플리케이션과 상호 작용하고 자세한 피드백을 제공할 수 있는 인터페이스가 필요합니다.
- 프로덕션 로그 추적: 프로덕션 환경에서는 훨씬 더 많은 요청/응답 수량과 각 응답이 생성된 방법을 평가해야 합니다. 예를 들어 낮은 품질의 답변의 근본 원인이 검색 단계 또는 환각 때문인지 알아야 합니다. 프로덕션 로깅은 지속적인 모니터링과 프로덕션에서 발생하는 문제를 조기 검색 및 진단할 수 있도록 문서 검색과 같은 입력, 출력 및 중간 단계를 추적해야 합니다.
이러한 문서는 RAG 품질 평가에서 평가를 훨씬 더 자세히 다룹니다.