HECHOS Sobre la Construcción de Chatbots Basados en Generación Aumentada por Recuperación
Autores: Rama Akkiraju, Anbang Xu, Deepak Bora, Tan Yu, Lu An, Vishal Seth, Aaditya Shukla, Pritam Gundecha, Hridhay Mehta, Ashwin Jha, Prithvi Raj, Abhinav Balasubramanian, Murali Maram, Guru Muthusamy, Shivakesh Reddy Annepally, Sidney Knowles, Min Du, Nick Burnett, Sean Javiya, Ashok Marannan, Mamta Kumari, Surbhi Jha, Ethan Dereszenski, Anupam Chakraborty, Subhash Ranjan, Amina Terfai, Anoop Surya, Tracey Mercer, Vinodh Kumar Thanigachalam, Tamar Bar, Sanjana Krishnan, Jasmine Jaksic, Nave Algarici, Jacob Liberman, Joey Conway, Sonu Nayyar, y Justin Boitano - NVIDIA - rakkiraju, anbangx, dbora@nvidia.com
Enlace de ArXiv: https://arxiv.org/abs/2407.07858v1
Resumen
Los chatbots empresariales, impulsados por IA generativa, están emergiendo rápidamente como las aplicaciones iniciales más exploradas de esta tecnología en la industria, con el objetivo de mejorar la productividad de los empleados. La Generación Aumentada por Recuperación (RAG), los Modelos de Lenguaje Grande (LLMs), y los marcos de orquestación de LLM como Langchain/Llamaindex sirven como componentes tecnológicos clave en la construcción de chatbots basados en IA generativa. Sin embargo, construir chatbots empresariales exitosos no es fácil. Requieren una ingeniería meticulosa de las canalizaciones RAG. Esto incluye el ajuste fino de incrustaciones semánticas y LLMs, la extracción de documentos relevantes de bases de datos vectoriales, la reformulación de consultas, la reordenación de resultados, el diseño de indicaciones efectivas, el respeto de los controles de acceso a documentos, la provisión de respuestas concisas, la inclusión de referencias pertinentes, la protección de información personal y la construcción de agentes para orquestar todas estas actividades. En este documento, presentamos un marco para construir chatbots efectivos basados en RAG basado en nuestra experiencia de primera mano al construir tres chatbots en NVIDIA: chatbots para beneficios de TI y RRHH, ganancias financieras de la empresa y contenido empresarial general. Nuestras contribuciones en este documento son triples. Primero, presentamos nuestro marco FACTS para construir chatbots empresariales basados en RAG que aborden los desafíos mencionados. El mnemotécnico FACTS se refiere a las cinco dimensiones que los chatbots basados en RAG deben acertar, a saber, frescura del contenido (F), arquitecturas (A), economía de costos de LLMs (C), pruebas (T) y seguridad (S). En segundo lugar, presentamos quince puntos de control de las canalizaciones RAG y técnicas para optimizar el rendimiento de los chatbots en cada etapa. Finalmente, presentamos resultados empíricos de nuestros datos empresariales sobre las compensaciones entre precisión y latencia entre grandes LLMs y pequeños LLMs. Hasta donde sabemos, este es el primer documento de su tipo que proporciona una visión holística de los factores, así como soluciones para construir chatbots empresariales seguros.
1 Introducción
Los chatbots se están convirtiendo cada vez más en una extensión de las herramientas de búsqueda en las empresas para encontrar información relevante. Ya sea sobre beneficios de recursos humanos, ayuda de TI, consultas de ventas o problemas de ingeniería, los chatbots empresariales son ahora herramientas de productividad imprescindibles. Antes del debut de Chat-GPT de OpenAI (2) en noviembre de 2022, las empresas dependían de chatbots desarrollados internamente basados en flujos de diálogo. Estos bots requerían un entrenamiento extenso para la comprensión de intenciones y una orquestación meticulosa para la generación de respuestas y, aun así, solo podían proporcionar respuestas extractivas en el mejor de los casos. Estos primeros bots, construidos sobre sistemas de gestión de diálogos emparejados con soluciones de recuperación de información y respuesta a preguntas (IRQA), eran frágiles y limitados en capacidad. Aunque existían modelos de lenguaje de generaciones anteriores y modelos GPT, carecían de la precisión, robustez y fiabilidad necesarias para un uso amplio en empresas (5).
El lanzamiento de Chat-GPT, la aparición de bases de datos vectoriales y el uso generalizado de la generación aumentada por recuperación (RAGs) (8) marcaron el comienzo de una nueva era en el dominio de los chatbots. Ahora, los LLMs pueden entender las intenciones de los usuarios con simples indicaciones en lenguaje natural, eliminando la necesidad de un entrenamiento complejo de variantes de intención, sintetizar contenido empresarial de manera coherente, empoderando así a los chatbots con una capacidad conversacional más allá del reconocimiento de intenciones predefinidas. Mientras que los LLMs aportan sus capacidades generativas para construir respuestas coherentes, factuales y lógicas a las consultas de los usuarios, los sistemas de recuperación de información (IR) potenciados por bases de datos vectoriales aumentan la capacidad de los LLMs para recuperar contenido fresco. Herramientas como LangChain (1) y Llamaindex (9) facilitan la construcción de chatbots y la orquestación de flujos de trabajo complejos que incluyen memoria, agentes, plantillas de indicaciones y flujo general. Juntos, los sistemas de IR basados en búsqueda vectorial, los LLMs y los marcos como LangChain forman componentes centrales de una canalización RAG y están impulsando chatbots de IA generativa en la era posterior a Chat-GPT.
Chatbot | Dominio | Fuentes de Datos | Tipos de Datos | Control de Acceso | Consultas de Ejemplo | Estado |
---|---|---|---|---|---|---|
NVInfo Bot | Conocimiento Interno Empresarial | SharePoint, GoogleDrive, Slack, Confluence, ServiceNow, Jira etc. | Documentos, HTML, PDFs, Presentaciones | Sí | ¿Puedo aparcar durante la noche en los estacionamientos de la sede? | Pruebas de Acceso Temprano |
NVHelp Bot | Ayuda IT, Beneficios de RRHH | Artículos de Conocimiento para Ayuda IT, páginas de beneficios de RRHH | Texto, PDFs, Documentos | Sí | ¿Cómo inscribirse en el plan de compra de acciones para empleados? | Producción |
Scout Bot | Ganancias Financieras | Noticias de la empresa, blogs, presentaciones ante la SEC, entrevistas relacionadas con ganancias | HTML, PDFs, Documentos | No | ¿Cuáles son los ingresos de NVIDIA en los últimos 3 años? | Producción |
En NVIDIA, nuestra principal motivación fue mejorar la productividad de nuestros empleados mediante la creación de chatbots empresariales. Nuestro entusiasmo inicial pronto se encontró con la realidad de enfrentar numerosos desafíos. Aprendimos que crear un chatbot empresarial exitoso, incluso en la era posterior a Chat-GPT, aunque prometedor, no es fácil. El proceso exige una ingeniería meticulosa de las canalizaciones RAG, el ajuste fino de los LLMs y la ingeniería de prompts, asegurando la relevancia y precisión del conocimiento empresarial, respetando los permisos de control de acceso a documentos, proporcionando respuestas concisas, incluyendo referencias pertinentes y protegiendo la información personal. Todo esto requiere un diseño cuidadoso, una ejecución hábil y una evaluación exhaustiva, demandando muchas iteraciones. Además, mantener el compromiso del usuario mientras se optimiza la velocidad y la eficiencia de costos es esencial. A través de nuestro viaje, aprendimos que lograr que un asistente virtual conversacional empresarial funcione bien es similar a lograr una sinfonía perfecta donde cada nota tiene significado.
En este documento, compartimos nuestras experiencias y estrategias para construir chatbots efectivos, seguros y rentables. Respondemos a las siguientes preguntas desde la perspectiva de un profesional:
"¿Cuáles son los principales desafíos a considerar al construir y desplegar chatbots basados en IA generativa de nivel empresarial?" Presentamos nuestros hallazgos al intentar ofrecer contenido fresco (F) con arquitecturas flexibles (A) que sean rentables (C), bien probadas (T) y seguras (S) - (FACTS).
"¿Cómo lograr niveles de calidad aceptables para el usuario con sistemas RAG en la construcción de chatbots?" Presentamos los quince puntos de control de las canalizaciones RAG y técnicas para optimizar cada punto de control y la canalización RAG en general.
2 Estudio de Caso
El panorama de contenido de nuestra empresa incluye tanto conocimiento autorizado como contenido no autorizado. El contenido autorizado abarca artículos de ayuda de TI, recursos de RRHH en plataformas como ServiceNow y documentación de proyectos en Confluence, SharePoint, Google Drive y herramientas de ingeniería como NVBugs y GitHub. El contenido generado por los empleados complementa estas fuentes en plataformas como Slack y MS Teams. En este documento, presentamos tres bots que hemos desarrollado en NVIDIA utilizando RAGs y LLMs. Estos bots se presentan brevemente a continuación. Los tres bots están construidos sobre nuestra plataforma de chatbot generativa de IA desarrollada internamente llamada plataforma NVBot. Algunas de las consultas que nuestros bots son capaces de responder se muestran en la Tabla 1.
- NVInfo Bot responde preguntas sobre contenido empresarial (aproximadamente 500 millones de documentos de tamaño ≈ 7 TB), complementando la búsqueda en la intranet. Gestiona diversos formatos de datos y aplica controles de acceso a documentos. La pila tecnológica incluye LangChain, una base de datos vectorial de proveedor para recuperación y manejo de controles de acceso a documentos, modelo LLM (se pueden seleccionar múltiples modelos LLM) y una interfaz web personalizada.
- NVHelp Bot se centra en la ayuda de TI y los beneficios de RRHH (aproximadamente 2,000 documentos multimodales que contienen texto, tablas, imágenes, PDFs y páginas HTML), utilizando una pila tecnológica similar a la del bot NVInfo pero con un volumen de datos menor.
- Scout Bot maneja preguntas sobre ganancias financieras de fuentes públicas, gestionando datos estructurados y no estructurados (aproximadamente 4K documentos multimodales que contienen texto, tablas, PDFs y páginas HTML). La pila tecnológica incluye una base de datos vectorial de código abierto, LangChain, evaluación Ragas, modelos LLM seleccionables y una interfaz web personalizada.
En el resto del documento, presentamos nuestro marco FACTS que resume los desafíos experimentados y los aprendizajes obtenidos al construir los tres chatbots mencionados anteriormente. Comenzamos primero con el desafío de manejar la entrega de contenido empresarial actualizado en cada uno de los chatbots.
3 Asegurando la Frescura de los Datos Empresariales en Chatbots Impulsados por LLM (F)
Garantizar la frescura de los datos empresariales en los chatbots impulsados por modelos de lenguaje grande (LLM) presenta varios desafíos. Los modelos base, aunque poderosos, a menudo no cumplen con las expectativas ya que carecen de conocimiento específico del dominio y de la empresa. Una vez entrenados, estos modelos están esencialmente congelados en el tiempo y pueden alucinar, proporcionando información no deseada o inexacta cuando se utilizan en contenido empresarial para el cual no están entrenados.
La Generación Aumentada por Recuperación (RAG) es un proceso en el que se recupera información relevante de bases de datos vectoriales mediante coincidencias semánticas y luego se alimenta a los LLMs para la generación de respuestas. En una canalización RAG, las bases de datos vectoriales y los LLMs colaboran para asegurar la entrega de conocimiento empresarial actualizado. Sin embargo, las canalizaciones RAG tienen muchos puntos de control, cada uno de los cuales, si no está bien ajustado, puede llevar a una menor precisión, alucinaciones y respuestas irrelevantes por parte de los chatbots. Además, los permisos de control de acceso a documentos complican el proceso de búsqueda y recuperación, requiriendo una gestión cuidadosa para asegurar la seguridad y relevancia de los datos. Además, el contenido multimodal requiere el uso de recuperadores multimodales para manejar datos estructurados, no estructurados y semiestructurados, incluyendo presentaciones, diagramas, videos y grabaciones de reuniones. Abordar estos desafíos es crítico para mantener la precisión y fiabilidad de los chatbots empresariales. Inspirados por (3), identificamos quince puntos de control de RAG a partir de nuestros estudios de caso visualizados en la Figura 1. Cada punto de control está etiquetado con un número. En el resto de esta sección, presentamos nuestras ideas y aprendizajes para abordar los puntos de control de RAG.
3.1 Aprendizajes
En la figura 4, presentamos una descripción resumida de los quince puntos de control de las tuberías RAG, los desafíos asociados con cada punto de control y nuestros enfoques sugeridos para optimizar cada punto de control. Cada punto de control está etiquetado como RAG-C[num] y RAG-Op[num] para los flujos RAG y RAGOps, respectivamente. A continuación, presentamos algunos aprendizajes clave y perspectivas para gestionar el contenido empresarial fresco.
"Enriquecimiento de Metadatos, Segmentación, Reformulación de Consultas, Reordenamiento de Consultas": Observamos que las etapas de enriquecimiento de metadatos, segmentación, reformulación de consultas y reordenamiento de consultas del pipeline RAG tienen el mayor impacto en la calidad de las respuestas del chatbot. La calidad de la generación de respuestas de LLM depende en gran medida de la relevancia de la recuperación. La relevancia de la recuperación, a su vez, depende en gran medida del enriquecimiento de metadatos del documento, la segmentación y la reformulación de consultas. Implementamos capacidades de auto-ML basadas en búsqueda en cuadrícula para encontrar las configuraciones adecuadas de tamaños de tokens de segmento, experimentamos con varias variaciones de indicaciones y exploramos diferentes estrategias de reordenamiento de segmentos para encontrar configuraciones óptimas para cada uno. Aunque hemos logrado mejoras significativas en la relevancia de la recuperación y la calidad y precisión de las respuestas, creemos que aún tenemos más trabajo por hacer para optimizar todo el pipeline.
"Búsqueda Híbrida": Observamos que las bases de datos vectoriales no son tan buenas manejando entidades coincidentes (por ejemplo, nombres de personas, lugares, nombres de empresas, etc.). Utilizar una combinación de búsqueda léxica (por ejemplo, búsqueda elástica) y búsqueda vectorial proporcionó una mejor relevancia en la recuperación y mayor cobertura. Establecer una infraestructura que soporte capacidades de búsqueda híbrida, que combine las fortalezas de las búsquedas basadas en léxico y en vectores, puede mejorar la precisión y la velocidad del proceso de recuperación.
Arquitecturas Agénticas: Preguntas como "compara los ingresos de NVIDIA desde el primer trimestre hasta el cuarto trimestre del año fiscal 2024 y proporciona un comentario analítico sobre los factores clave que contribuyeron a los cambios en los ingresos durante este tiempo" requieren agentes complejos capaces de descomponer y orquestar consultas. La Figura 2 muestra un mecanismo que implementamos para abordar tales preguntas en el bot Scout. A partir de nuestra experiencia construyendo los tres bots, hemos comprendido que los sistemas de recuperación de información (IR) y los modelos de lenguaje de gran tamaño (LLM) son insuficientes para responder consultas complejas. Se necesitan agentes complejos y arquitecturas de múltiples agentes para manejar consultas complejas.
¿Afinar o no afinar los LLMs? Una decisión clave es si afinar los LLMs, equilibrando el uso de modelos fundamentales con personalizaciones específicas del dominio. No hay una solución única para todos cuando se trata de LLMs. Algunos casos de uso pueden funcionar bien con modelos fundamentales, mientras que otros requieren personalización. Al considerar la personalización, hay varias opciones disponibles, incluyendo la ingeniería de prompts, P-tuning, afinación de parámetros eficiente (PEFT) y afinación completa (FT). Afinar requiere una inversión significativa en etiquetado de datos, entrenamiento y evaluaciones, cada uno de los cuales puede ser costoso y consumir mucho tiempo. Automatizar los procesos de prueba y evaluación de calidad se vuelve crítico para garantizar la eficiencia y precisión al personalizar los LLMs. La Figura 3 muestra las evaluaciones de la compensación entre precisión y latencia que hemos realizado comparando el modelo GPT-4 de OpenAI con algunos de los modelos de código abierto en aproximadamente 245 consultas del dominio del bot NVHelp. Nuestros resultados muestran que el modelo Llama3-70B sobresale en varios aspectos de la calidad de las respuestas mientras mantiene una latencia aceptable.
"Manejo de datos multimodales": Los datos empresariales son multimodales. Manejar datos estructurados, no estructurados y multimodales es crucial para una canalización RAG versátil. Según nuestra experiencia, si la estructura del documento es consistente y conocida de antemano (como los que se encuentran en las bases de datos EDGAR para datos de presentaciones ante la SEC en el ámbito de ganancias financieras que manejaba el bot Scout), implementar una división a nivel de sección, utilizando los títulos de las secciones y subtítulos e incorporándolos en el contexto de los fragmentos mejora la relevancia de la recuperación. También encontramos útiles soluciones como Unstructured.io, que se especializan en extraer y estructurar contenido de PDFs, para analizar y fragmentar documentos no estructurados con contexto.
RAGOps: El monitoreo efectivo de la salud de las canalizaciones RAG es esencial una vez que se despliegan. Cuando la calidad de las respuestas es deficiente, se requiere un análisis exhaustivo de errores para determinar si el problema radica en la relevancia de la recuperación o en la generación de respuestas del LLM. Para depurar la relevancia de la recuperación, los desarrolladores necesitan información detallada sobre qué fragmentos se almacenaron en bases de datos vectoriales con sus metadatos asociados, cómo se reformularon las consultas, qué fragmentos se recuperaron y cómo se clasificaron esos fragmentos. De manera similar, si una respuesta del LLM es incorrecta, es crucial revisar el aviso final utilizado para la generación de respuestas. Para problemas con las citas, los desarrolladores deben rastrear hasta los enlaces de documentos originales y sus fragmentos correspondientes. RAGOps/LLMOps y los marcos de evaluación, como Ragas, son críticos para proporcionar la automatización necesaria que permita una rápida iteración durante los ciclos de mejora de precisión en las canalizaciones RAG.
Se presentan más detalles sobre cada punto de control en la Figura 4. En resumen, aunque prometedor, implementar sistemas RAG para chatbots requiere una planificación meticulosa y una evaluación continua para garantizar una recuperación de datos segura y precisa.
4 Construyendo arquitecturas flexibles para chatbots de IA generativa (A)
Mantenerse al día con el rápido progreso de la IA es como navegar por un río de corriente rápida. Cada aspecto, desde las bases de datos vectoriales y los modelos de incrustación hasta los LLMs, arquitecturas agenticas, plataformas de bajo código/sin código, marcos de evaluación RAG y técnicas de prompting, está evolucionando rápidamente. Al mismo tiempo, los departamentos dentro de las empresas están explorando la IA generativa construyendo sus propios chatbots y copilotos de IA.
En este entorno dinámico, es crucial construir plataformas comunes, flexibles y adaptativas. En NVIDIA, nuestro ecosistema de chatbots ha crecido significativamente, reflejando una tendencia que probablemente se observa en muchas empresas. Al desarrollar tres chatbots iniciales, nos dimos cuenta de la importancia de una plataforma común para evitar esfuerzos duplicados en seguridad, límites de protección, autenticación, indicaciones, interfaces de usuario, mecanismos de retroalimentación, informes de uso, monitoreo y evaluaciones.
Para abordar esto, desarrollamos la plataforma NVBot (Figura 7), una plataforma modular con una arquitectura enchufable. Permite a los desarrolladores seleccionar LLMs, bases de datos vectoriales, modelos de incrustación, agentes y marcos de evaluación RAG que mejor se adapten a su caso de uso. También proporciona componentes comunes para características esenciales como seguridad, límites de control, autenticación, autorización, experiencia del usuario y monitoreo. Además, la plataforma admite el desarrollo ciudadano, permitiendo que múltiples equipos contribuyan con sus indicaciones probadas, flujos de trabajo, límites de control y modelos ajustados para uso colectivo.
A medida que nuestro ecosistema de bots se expandía, nos enfrentamos a una pregunta crítica: ¿deberían las organizaciones construir muchos bots específicos de dominio, un solo bot empresarial o adoptar un enfoque híbrido? Los chatbots específicos de dominio sobresalen en entornos personalizados, mientras que los chatbots empresariales actúan como generalistas, proporcionando una base de conocimiento centralizada para todos los empleados. A través de nuestra experiencia, nos dimos cuenta de que no es necesario elegir uno sobre el otro.
Están surgiendo nuevos patrones arquitectónicos donde los chatbots a nivel empresarial actúan como 'centralitas', dirigiendo consultas a bots especializados afinados con datos específicos del dominio. Esta arquitectura de múltiples bots permite el desarrollo concurrente de chatbots especializados mientras proporciona a los usuarios una interfaz unificada. Nuestra plataforma NVBot admite la coexistencia y orquestación de múltiples chatbots dentro de una empresa. El debate sobre un solo bot o múltiples bots especializados está en curso. Imaginamos un panorama donde los bots específicos de dominio coexisten con un bot de información centralizado, respaldado por 'copilotos': capacidades de IA generativa integradas en entornos de trabajo como IDEs de programación y herramientas de colaboración. En NVIDIA, estamos explorando activamente las tres variaciones de chatbots: específicos de dominio, a nivel empresarial y copiloto, mientras la IA generativa transforma la eficiencia laboral y la accesibilidad a la información.
5 Costos Económicos de los Despliegues de Chatbots (C)
Comprender la economía de costos de los chatbots basados en IA generativa implica varios factores críticos. Los altos costos de los modelos de lenguaje de gran tamaño (LLM) comerciales pueden ser insostenibles, con gastos que se acumulan significativamente en múltiples casos de uso. Además, los gastos no visibles a menudo se acumulan a medida que los equipos prueban varios LLM para satisfacer necesidades específicas. Asimismo, al utilizar las API de proveedores comerciales de LLM, asegurar los datos empresariales sensibles requiere medidas de protección para detectar y prevenir la fuga de datos sensibles, así como puertas de enlace para auditorías y aprendizaje legalmente permitido. También hay que considerar los compromisos entre costo y latencia, ya que los LLM grandes con longitudes de contexto largas suelen tener tiempos de respuesta más lentos, lo que afecta la eficiencia general.
Modelos Más Grandes Vs. Más Pequeños: Los LLMs comerciales más grandes y los LLMs de código abierto más pequeños están convirtiéndose cada vez más en opciones viables para muchos casos de uso, ofreciendo así alternativas rentables para las empresas. A medida que los modelos de código abierto se acercan a los modelos comerciales más grandes, están ofreciendo una precisión comparable, como se demuestra en nuestra evaluación empírica del bot NVHelp en la Figura 3, y generalmente tienen un mejor rendimiento de latencia en comparación con los modelos más grandes. Además, la optimización de modelos de inferencia en GPU puede acelerar aún más los tiempos de procesamiento. Los modelos de código abierto optimizados con las bibliotecas de inferencia Tensor RT-LLM de NVIDIA, por ejemplo, han mostrado un rendimiento más rápido que los modelos no optimizados. Estas estrategias ayudan a equilibrar la necesidad de rentabilidad con el mantenimiento de altos estándares de rendimiento y seguridad.
Portal LLM: Si debe utilizar una API de LLM de un proveedor, es mejor implementar un Portal LLM interno de la empresa para la auditoría, suscripción y gestión de costos en toda la compañía. Implementar un Portal LLM interno de la empresa puede optimizar el uso de LLM, las suscripciones y el seguimiento de datos para auditorías de seguridad. Este centro centralizado simplifica la gestión y asegura una asignación eficiente de recursos. En NVIDIA IT, hemos implementado un Portal LLM que registra las cargas útiles entrantes y salientes con fines de auditoría y estos datos están protegidos con permisos de control de acceso. Nuestro Portal LLM ayuda a gestionar las suscripciones y los costos de las invocaciones de la API de LLM.
En resumen, desarrollar una estrategia de LLM híbrida y equilibrada es esencial para gestionar costos y permitir la innovación. Esto implica utilizar LLMs más pequeños y personalizados para controlar los gastos mientras se permite una exploración responsable con LLMs grandes a través de un Gateway de LLM. Es crucial medir y monitorear el ROI manteniendo un registro de las suscripciones y costos de LLM, así como evaluar el uso de características de Gen-AI y las mejoras en la productividad. Asegurar la seguridad de los datos empresariales sensibles en el uso de LLM basado en la nube requiere implementar medidas de protección para prevenir la fuga de datos y construir un Gateway de LLM para auditorías y aprendizaje legalmente permitido. Finalmente, es importante ser consciente de los compromisos entre costo, precisión y latencia, personalizando LLMs más pequeños para igualar la precisión de modelos más grandes, teniendo en cuenta que los LLMs grandes con largos contextos tienden a tener un tiempo de respuesta más prolongado.
6 Pruebas de Chatbots Basados en RAG (T)
Probar soluciones de IA generativa puede ser un proceso largo debido a la necesidad de validación de respuestas humanas. Los modelos de lenguaje grande (LLM, por sus siglas en inglés) se están utilizando cada vez más con el enfoque de 'LLM-como-juez'. Sin embargo, es recomendable tener precaución al usar LLMs como sustitutos humanos, ya que utilizarlos como jueces puede llevar a escenarios de tipo profecía autocumplida, reforzando también sus sesgos inherentes en las evaluaciones.
- Pruebas de Seguridad: Automatizar las pruebas de seguridad es crucial para mantener la velocidad de desarrollo sin comprometer la seguridad. Un marco de seguridad sólido y conjuntos de datos de pruebas de regresión aseguran que el chatbot siga siendo resistente a posibles amenazas. Estamos colaborando con nuestros equipos internos RED en seguridad para preparar un conjunto de conjuntos de datos que puedan ser probados con cada iteración importante del chatbot.
- Prueba de Cambio de Indicaciones: Los modelos de IA generativa pueden ser muy sensibles a los cambios en las indicaciones. Para mantener la precisión, se necesita una prueba de regresión completa con cada alteración de indicación.
- Bucles de Retroalimentación: Incorporar la retroalimentación recopilada y el ciclo RLHF es fundamental para la mejora continua. Permite que los modelos LLM refinen tanto nuestras soluciones como los Modelos de Lenguaje con el tiempo, asegurando que el chatbot se vuelva cada vez más competente. Sin embargo, si los modelos fundamentales elegidos no ofrecen personalización, entonces se vuelve difícil alinear los modelos con la retroalimentación humana. Si la retroalimentación es significativa y abarca muchas áreas, entonces la personalización del modelo puede ser una opción. Hasta ahora, hemos comenzado a recopilar retroalimentación de los usuarios, pero aún no hemos construido nuestras canalizaciones de aprendizaje continuo utilizando RLHF. Tener herramientas para automatizar esto es crítico para la gestión del ciclo de vida postproducción de estos chatbots.
6.1 Aprendizajes
Plan para Ciclos de Prueba Largos: La prueba efectiva de chatbots basados en RAG requiere anticipar ciclos de prueba prolongados. Comience enfocándose en automatizar las pruebas y mejorar las evaluaciones de precisión para agilizar esta fase esencial.
"Construir Conjuntos de Datos de Verdad de Tierra Representativos": Es crucial construir conjuntos de datos de verdad de tierra completos que reflejen todo el espectro de fortalezas de la solución objetivo. Esto asegura que el chatbot sea probado contra escenarios que encontrará en su uso real.
Automatizar Evaluaciones: Aunque aprovechar los LLMs como evaluadores puede ofrecer opciones de prueba escalables, recuerda que la calidad de las evaluaciones humanas es insuperable. Las herramientas automatizadas deben usarse donde sea factible para complementar, pero no reemplazar, la supervisión humana.
Incorporar Retroalimentación Humana y Aprendizaje Continuo: Establecer mecanismos que permitan la retroalimentación humana y el análisis sistemático de errores. Priorizar mejoras iterativas basadas en esta retroalimentación para refinar continuamente el rendimiento y la adaptabilidad del chatbot.
7 Asegurando Chatbots Basados en RAG (S)
Construir confianza es primordial al implementar chatbots de IA generativa. Para mitigar riesgos, son críticos los límites de seguridad para alucinaciones, toxicidad, equidad, transparencia y seguridad. Los modelos fundamentales sólidos están mejorando cada vez más en estos aspectos. Sin embargo, todavía existen muchas posibilidades de fugas de seguridad, ataques adversarios y otros problemas de seguridad. Además de estos riesgos de seguridad, los chatbots basados en IA generativa son susceptibles a riesgos derivados (explicados a continuación). Dado que nuestros bots son todos chatbots empresariales internos, nuestro enfoque ha sido más en la seguridad del contenido empresarial y en establecer límites de seguridad para datos sensibles. A continuación, resumimos nuestros aprendizajes y conocimientos para asegurar chatbots basados en RAG basados en nuestra experiencia. Abordar estos desafíos es imperativo para mantener la integridad y seguridad de los chatbots basados en RAG dentro de los entornos corporativos.
7.1 Aprendizajes
Control de Acceso al Contenido Empresarial: Los documentos empresariales están protegidos por controles de acceso, lo que requiere que los chatbots basados en RAG cumplan con las Listas de Control de Acceso (ACL) durante la generación de respuestas. Para garantizar este cumplimiento, seleccionamos específicamente un producto de IR conocido por su capacidad para respetar eficazmente estas ACL de documentos.
Riesgos Derivados de la IA Generativa: Los chatbots podrían generar respuestas que carecen de contexto de sus fuentes de datos originales, lo que podría llevar a malinterpretaciones. Además, los métodos de búsqueda mejorados podrían elevar inadvertidamente el riesgo de exponer datos sensibles si el contenido empresarial no está adecuadamente asegurado. Como parte de nuestro viaje con el bot NVInfo, implementamos barreras de protección de datos sensibles además de aprovechar las capacidades de filtrado y clasificación de datos sensibles proporcionadas por la solución de búsqueda vectorial que utilizamos para filtrar automáticamente los datos sensibles durante la recuperación.
Gobernanza de Datos y Seguridad de Contenidos: El acceso eficiente al conocimiento puede aumentar los riesgos de fuga de datos sensibles. Por lo tanto, es esencial priorizar la gobernanza de datos antes de la implementación para protegerse contra el acceso no autorizado y las violaciones de datos. En NVIDIA, emprendimos una iniciativa de seguridad de contenido empresarial para la clasificación de sensibilidad de documentos y la exclusión de contenido sensible de los chatbots.
"Guardrails Empresariales": Implementar guardrails que alineen las respuestas de la IA generativa con políticas y reglas específicas de la empresa es esencial. Estos guardrails ayudan a mitigar riesgos al asegurar que el contenido generado por el chatbot se adhiera a normas establecidas y directrices éticas, previniendo posibles daños legales y reputacionales. En el bot NVInfo, implementamos muchos guardrails en los prompts de LLM inicialmente. Sin embargo, más tarde nos dimos cuenta de que no todos los LLMs siguen estos prompts de manera consistente. Por lo tanto, implementamos estos guardrails durante el pre y post-procesamiento de consultas y respuestas respectivamente usando Nemo Guardrails (13).
8 Trabajo relacionado
Nuestro trabajo se puede comparar con los artículos de RAG sobre varios temas que tratan la calidad de RAG en todas las dimensiones de FACTS que presentamos (frescura, arquitectura, costos, pruebas y seguridad). Debido a la falta de espacio, contrastamos nuestro trabajo con obras selectivas. Barnett et. al. (3) presentó siete puntos de falla al diseñar sistemas RAG. En su trabajo, destacan los desafíos de lograr una generación aumentada por recuperación correcta al presentar sus hallazgos tras haber construido tres chatbots. Wenqi Glantz (6) elaboró 12 puntos problemáticos de RAG y presentó soluciones. Experimentamos desafíos similares de primera mano al construir nuestros chatbots. Sin embargo, ninguno de estos trabajos discute los desafíos con consultas complejas, pruebas, manejo de la seguridad de documentos y la necesidad de arquitecturas flexibles. En nuestro trabajo, no solo nos basamos en los puntos de falla/dolor de los RAG mencionados anteriormente, sino que también presentamos nuestros 15 puntos de control en las canalizaciones de RAG y ofrecemos soluciones específicas para cada etapa. Además, ampliamos nuestras ideas y presentamos técnicas prácticas para manejar consultas complejas, pruebas y seguridad. Presentamos una arquitectura de referencia para una de las implementaciones de arquitecturas agénticas para el manejo de consultas complejas, estrategias para probar y evaluar respuestas a consultas subjetivas, y concienciamos sobre el manejo de ACLs de documentos y seguridad. Además, presentamos una arquitectura de referencia para una plataforma de Chatbot flexible basada en IA generativa.
ChipNemo (10) presenta evidencia del uso de un modelo de lenguaje adaptado al dominio para mejorar el rendimiento de RAG en preguntas específicas de dominio. Ajustaron el modelo e5-small-unsupervised con 3,000 muestras autogeneradas específicas del dominio. Intentamos ajustar el modelo de incrustaciones e5-large en Scout Bot. Nuestros resultados no demostraron mejoras significativas. Actualmente estamos recopilando datos de alta calidad anotados por humanos para repetir los experimentos. Esto podría ser una dirección importante a explorar en el futuro para nuestro trabajo. Otra técnica interesante fue presentada por Setty et. al. (15), al mejorar el rendimiento de RAG utilizando la técnica de Embeddings de Documentos Hipotéticos (HYDE). HyDE utiliza un LLM para generar un documento teórico al responder a una consulta y luego realiza la búsqueda de similitud tanto con la pregunta original como con la respuesta hipotética. Este es un enfoque prometedor, pero podría complicar la arquitectura.
La generación aumentada por recuperación activa (FLARE) (7) sintetiza iterativamente una oración hipotética siguiente. Si la oración generada contiene tokens de baja probabilidad, FLARE usaría la oración como la nueva consulta para la recuperación y regeneraría la oración. Mialon et al. (12) revisa trabajos sobre métodos avanzados de generación aumentada en modelos de lenguaje. Self-refine (11) construye un agente para mejorar la respuesta inicial de RAG a través de retroalimentación y refinamiento iterativos. El agente ReAct (16) se utiliza ampliamente para manejar consultas complejas de manera recursiva. En el frente de evaluación de RAG, RAGAS (4) y ARES (14) utilizan LLMs como jueces y construyen un punto de referencia automático de RAG para evaluar el sistema RAG. Zhu et al. (17) ofrece una visión general de los usos intensivos de LLM en una línea de RAG, incluyendo el recuperador, la generación de datos, el reescritor y el lector. Creemos que nuestro trabajo proporciona una perspectiva única sobre la construcción de chatbots empresariales seguros a través de nuestro marco FACTS.
9 Conclusiones
En este documento, presentamos nuestro enfoque para desarrollar chatbots efectivos basados en RAG, destacando nuestras experiencias al construir tres chatbots en NVIDIA. Describimos nuestro marco FACTS, enfatizando la importancia de la frescura del contenido (F), la arquitectura (A), la gestión de costos de LLM (C), la planificación para pruebas (T) y la seguridad (S) en la creación de chatbots robustos, seguros y de nivel empresarial. También identificamos y elaboramos sobre quince puntos de control críticos dentro de las canalizaciones RAG, proporcionando estrategias para mejorar el rendimiento del chatbot en cada etapa. Además, nuestro análisis empírico revela las compensaciones entre precisión y latencia al comparar LLM grandes y pequeños. Este documento ofrece una perspectiva holística sobre los factores esenciales y las soluciones prácticas para construir chatbots seguros y eficientes de nivel empresarial, haciendo una contribución única al campo. Se necesita más trabajo en varias áreas para construir chatbots efectivos basados en RAG. Esto incluye desarrollar arquitecturas agénticas para manejar consultas complejas, multipartes y analíticas; resumir eficientemente grandes volúmenes de datos empresariales que se actualizan con frecuencia; incorporar capacidades de auto-ML para optimizar automáticamente varios puntos de control RAG; y crear marcos de evaluación más robustos para evaluar respuestas y conversaciones subjetivas.
Referencias
- (1) Langchain. https://github.com/langchain-ai.
- (2) Achiam, J., Adler, S., Agarwal, S., Ahmad, L., Akkaya, I., Aleman, F. L., Almeida, D., Altenschmidt, J., Altman, S., Anadkat, S., et al. Informe técnico de GPT-4. arXiv preprint arXiv:2303.08774 (2023).
- (3) Barnett, S., Kurniawan, S., Thudumu, S., Brannelly, Z., y Abdelrazek, M. Siete puntos de fallo al diseñar un sistema de generación aumentada por recuperación. arXiv preprint arXiv:2401.05856 (2024).
- (4) Es, S., James, J., Espinosa-Anke, L., y Schockaert, S. Ragas: Evaluación automatizada de generación aumentada por recuperación. arXiv preprint arXiv:2309.15217 (2023).
- (5) Galitsky, B. Desarrollando chatbots empresariales. Springer, 2019.
- (6) Glantz, W. 12 puntos de dolor de rag y soluciones propuestas.
- (7) Jiang, Z., Xu, F. F., Gao, L., Sun, Z., Liu, Q., Dwivedi-Yu, J., Yang, Y., Callan, J., y Neubig, G. Generación aumentada por recuperación activa. arXiv preprint arXiv:2305.06983 (2023).
- (8) Lewis, P., Perez, E., Piktus, A., Petroni, F., Karpukhin, V., Goyal, N., Küttler, H., Lewis, M., Yih, W.-t., Rocktäschel, T., et al. Generación aumentada por recuperación para tareas de PNL intensivas en conocimiento. Advances in Neural Information Processing Systems 33 (2020), 9459–9474.
- (9) Liu, J. LlamaIndex. https://github.com/jerryjliu/llama_index(2022).
- (10) Liu, M., Ene, T.-D., Kirby, R., Cheng, C., Pinckney, N., Liang, R., Alben, J., Anand, H., Banerjee, S., Bayraktaroglu, I., et al. Chipnemo: LLMs adaptados al dominio para el diseño de chips. arXiv preprint arXiv:2311.00176 (2023).
- (11) Madaan, A., Tandon, N., Gupta, P., Hallinan, S., Gao, L., Wiegreffe, S., Alon, U., Dziri, N., Prabhumoye, S., Yang, Y., et al. Auto-refinamiento: Refinamiento iterativo con retroalimentación propia. Advances in Neural Information Processing Systems 36 (2024).
- (12) Mialon, G., Dessì, R., Lomeli, M., Nalmpantis, C., Pasunuru, R., Raileanu, R., Rozière, B., Schick, T., Dwivedi-Yu, J., Celikyilmaz, A., et al. Modelos de lenguaje aumentados: una encuesta. arXiv preprint arXiv:2302.07842 (2023).
- (13) Rebedea, T., Dinu, R., Sreedhar, M., Parisien, C., y Cohen, J. Nemo guardrails: Un kit de herramientas para aplicaciones LLM controlables y seguras con rieles programables. arXiv preprint arXiv:2310.10501 (2023).
- (14) Saad-Falcon, J., Khattab, O., Potts, C., y Zaharia, M. Ares: Un marco de evaluación automatizado para sistemas de generación aumentada por recuperación. arXiv preprint arXiv:2311.09476 (2023).
- (15) Setty, S., Jijo, K., Chung, E., y Vidra, N. Mejorando la recuperación para modelos de respuesta a preguntas basados en rag en documentos financieros. arXiv preprint arXiv:2404.07221 (2024).
- (16) Yao, S., Zhao, J., Yu, D., Du, N., Shafran, I., Narasimhan, K., y Cao, Y. React: Sinergizando el razonamiento y la actuación en modelos de lenguaje. arXiv preprint arXiv:2210.03629 (2022).
- (17) Zhu, Y., Yuan, H., Wang, S., Liu, J., Liu, W., Deng, C., Dou, Z., y Wen, J.-R. Modelos de lenguaje grandes para la recuperación de información: una encuesta. arXiv preprint arXiv:2308.07107 (2023).