효율적인 RAG 시스템 구축: 파트 2 | Jiayuan (Forrest)

콘텐츠

devv.ai 是如何构建高效的 RAG 系统的 Part 2 这个系列的 thread 会分享 devv.ai 背后构建整个 Retrieval Augmented Generation System 的经验,包括在生产环境上的一些实践。 这是系列的第二篇,主题是「如何评估一个 RAG 系统」。 🧵

위에서는 RAG 시스템이 무엇이며 기본 구성 요소에 대해 언급했었는데, 여기서 다시 한 번 복습해보겠습니다. 가장 기본적인 RAG 시스템은 다음 3가지 부분으로 구성됩니다: 1. 언어 모델 2. 외부 지식 콜렉션 3. 현재 시나리오에서 필요한 외부 지식

시스템 전체를 최적화하려면 시스템을 각 부분별로 최적화하는 문제로 분해할 수 있습니다. 그러나 LLM 기반 시스템을 최적화하는 것은 그 시스템이 본질적으로 블랙박스이기 때문에 어려운데, 유효한 평가 수단이 없습니다. 기본적인 벤치마크조차 없다면 해당 지표를 향상시키는 것은 말로만 끝나게 됩니다.

그래서 우리가 해야 할 첫 번째 일은 전체 RAG 시스템에 대한 평가 체계를 먼저 구축하는 것입니다. 스탠포드 대학의 이 논문은 주로 이 작업을 수행하며, 생성 검색 엔진의 검증 가능성을 평가합니다. Evaluating Verifiability in Generative Search Enginesarxiv.org/abs/2304.09848

이 논문은 생성 검색 엔진을 평가하기 위한 것이지만, 그 방법들은 RAG에도 적용될 수 있습니다. 본질적으로 생성 검색 엔진은 RAG의 하위 집합으로 간주될 수 있으며, 특정 도메인 데이터에 대한 RAG 시스템도 있습니다.

논문에서 신뢰할 만한 생성 검색 엔진의 선행 조건으로 언급된 것은 '검증 가능성(verifiability)'입니다. 우리는 LLM이 종종 엄중한 척하며 환각을 일으키고, 옳아 보이지만 실은 틀린 내용을 생성한다는 것을 알고 있습니다. 반면 RAG는 모델에 참고 자료를 제공하여 환각의 가능성을 줄이는 장점이 있습니다.

그리고 이 환상이 얼마나 감소했는지는 verifiability 지표를 사용하여 평가할 수 있습니다. 이상적인 RAG 시스템은 다음과 같아야 합니다: - 높은 인용률 회수(high citation recall), 즉 모든 생성된 콘텐츠가 외부 지식에 충분히 지원됨 - 높은 인용 정밀도(high citation precision), 즉 각 인용이 생성된 콘텐츠를 실제로 지원하는지

실제로 이 두 지표는 100%에 도달할 수 없습니다. 논문의 실험 결과에 따르면, 현재의 생성 검색 엔진이 생성하는 콘텐츠에는 종종 근거 없는 주장과 부정확한 인용이 포함되어 있으며, 이 두 데이터는 각각 51.5%와 74.5%입니다. 간단히 말해서, 생성된 콘텐츠와 외부 지식이 일치하지 않는 것입니다.

논문은 4가지 주요 생성 검색 엔진을 평가했습니다: - Bing Chat - NeevaAI (이미 Snowflake에 인수됨) - Perplexity - YouChat 평가는 다양한 주제와 분야에서 문제를 가져왔습니다.

요약하다
RAG 시스템을 평가하는 방법에 대해 소개한 글입니다. RAG 시스템의 평가 척도로 verifiability를 사용하며, citation recall과 citation precision을 통해 시스템을 평가합니다. 또한, [devv.ai](http://devv.ai/)는 이를 적용하여 시스템을 개선하고 있습니다.