Construyendo un Sistema RAG Eficiente: Parte 2 | Jiayuan (Forrest)

contenido

devv.ai es la segunda parte de cómo construir un sistema RAG eficiente. Esta serie de hilos compartirá la experiencia detrás de la construcción del sistema de generación aumentada de recuperación devv.ai, incluyendo algunas prácticas en entornos de producción. Este es el segundo artículo de la serie, con el tema "Cómo evaluar un sistema RAG". 🧵

En el artículo anterior mencionamos qué es el sistema RAG, así como los elementos básicos que lo componen, aquí vamos a repasarlos. Un sistema RAG básico consta de las siguientes 3 partes: 1. Modelo de lenguaje 2. Conjunto de conocimientos externos 3. Conocimientos externos necesarios para el escenario actual

Querer optimizar todo el sistema implica descomponer el problema en la optimización de cada parte del sistema. Sin embargo, el desafío de optimizar un sistema basado en LLM radica en que este sistema es fundamentalmente una caja negra, sin un conjunto efectivo de métricas de evaluación. Sin siquiera tener un benchmark básico, hablar de mejorar los indicadores correspondientes es simplemente hablar en vano.

Así que lo primero que debemos hacer es establecer un sistema de evaluación para todo el sistema RAG. Este artículo de Stanford se centra principalmente en esta tarea, evaluando la verificabilidad de los motores de búsqueda generativos. Evaluando la Verificabilidad en Motores de Búsqueda Generativos arxiv.org/abs/2304.09848

Esta investigación, aunque se centra en evaluar el Generative Search Engine (motor de búsqueda generativo), también puede aplicar sus métodos a RAG. En esencia, el Generative Search Engine es un subconjunto de RAG, al igual que los sistemas RAG específicos para datos de dominios particulares.

El documento menciona que un requisito previo para un Generative Search Engine confiable es la verificabilidad. Todos sabemos que LLM a menudo delira seriamente (alucinación), generando contenido que parece correcto pero en realidad es incorrecto. Una ventaja de RAG es proporcionar al modelo material de referencia para reducir la probabilidad de alucinaciones.

Y la cantidad de reducción de esta ilusión puede evaluarse utilizando el indicador de verificabilidad. Un sistema RAG ideal debería tener: - Alta tasa de recuperación de citas, es decir, todo el contenido generado tiene un respaldo suficiente de citas (conocimiento externo) - Alta precisión de citas, es decir, si cada cita realmente respalda el contenido generado

En realidad, estos dos indicadores no pueden alcanzar el 100%. Según los resultados experimentales del artículo, el contenido generado por el Motor de Búsqueda Generativo existente a menudo contiene afirmaciones infundadas y citas inexactas, con tasas respectivas del 51.5% y 74.5%. En resumen, el contenido generado no coincide con el conocimiento externo.

La tesis evalúa 4 motores de búsqueda generativos principales: - Bing Chat - NeevaAI (ya adquirido por Snowflake) - Perplexity - YouChat Las preguntas evaluadas provienen de diferentes temas y campos.

Se han utilizado 4 indicadores para la evaluación: 1. fluidez, ¿es el texto generado fluido y coherente? 2. utilidad percibida, ¿es útil el contenido generado? 3. recordatorio de citas, ¿en qué medida el contenido generado está respaldado por citas? 4. precisión de citas, ¿en qué medida las citas respaldan el contenido generado?

Los indicadores 1 y 2 suelen ser condiciones básicas, si ni siquiera se cumplen estos, todo el sistema RAG carecerá de sentido (no importa lo preciso que sea). Un sistema RAG excelente debería obtener puntuaciones altas en la recuperación de citas y la precisión de citas.

Resumir
[devv.ai](http://devv.ai/) 是如何构建高效的 RAG 系统的 Part 2 这个系列的 thread 会分享 [devv.ai](http://devv.ai/) 背后构建整个 Retrieval Augmented Generation System 的经验,包括在生产环境上的一些实践。 这是系列的第二篇,主题是「如何评估一个 RAG 系统」。 🧵 RAG 系统由语言模型、外部知识合集和当前场景下所需要的外部知识组成。为了优化整个系统,需要建立对整个 RAG 系统的评估体系。Stanford 的论文提出了评估生成式搜索引擎的可验证性的方法,可以应用到 RAG 上。论文提到了一个值得信赖的 Generative Search Engine 的先决条件是可验证性。RAG 系统的优势在于降低幻觉的概率,可以用 verifiability 这个指标来进行评估。论文对 4 个主流的 Generative Search Engine 进行了评估,采用了 4 个指标:流畅性、实用性、引文召回率和引文精度。评测流畅性和实用性使用了 five-point Likert 量表,引文召回率和引文精度的计算方法可以参考论文中的描述。有了这套评测系统,每次 RAG 优化了之后就可以重新跑一遍评测集,来确定相关指标的变化。