Se requiere una suscripción a JoVE para ver este contenido. Inicie sesión o comience su prueba gratuita.
Method Article
En este protocolo, la calidad de respuesta del modelo de lenguaje grande básico se mejora mediante el aumento con artículos científicos revisados por pares y específicos del dominio a través de un mecanismo de incrustación vectorial. Además, se proporciona código para ayudar en la comparación del rendimiento entre modelos de lenguaje grandes.
Los grandes modelos de lenguaje (LLM) se han convertido en un recurso popular para generar información relevante para una consulta de usuario. Dichos modelos se crean a través de un proceso de entrenamiento intensivo en recursos que utiliza un corpus extenso y estático de datos textuales. Esta naturaleza estática da como resultado limitaciones para la adopción en dominios con conocimiento, información propietaria y datos confidenciales que cambian rápidamente. En este trabajo, se describen métodos para aumentar los LLM de propósito general, conocidos como modelos de fundamentación, con información específica del dominio utilizando un enfoque basado en incrustaciones para incorporar manuscritos científicos actualizados y revisados por pares. Esto se logra a través de herramientas de código abierto como Llama-Index y modelos disponibles públicamente como Llama-2 para maximizar la transparencia, la privacidad y el control del usuario y la replicabilidad. Si bien los manuscritos científicos se utilizan como ejemplo de caso de uso, este enfoque se puede extender a cualquier fuente de datos de texto. Además, se analizan los métodos para evaluar el rendimiento del modelo después de esta mejora. Estos métodos permiten el rápido desarrollo de sistemas LLM para dominios altamente especializados, independientemente de la amplitud de la información en el corpus de formación.
Los grandes modelos de lenguaje (LLM) como ChatGPT de OpenAI o Llama de Meta AI se han convertido rápidamente en un recurso popular para generar texto relevante para un mensaje de usuario. Estos modelos, que originalmente funcionaban para predecir los siguientes ítems léxicos en una secuencia, han evolucionado para comprender el contexto, codificar la información clínica y demostrar un alto rendimiento en una variedad de tareas 1,2,3,4. Aunque los modelos de lenguaje son anteriores a estas capacidades y a su nivel actual de popularidad en décadas5, los avances recientes en el aprendizaje profundo y las capacidades informáticas han hecho que los LLM comerciales preentrenados y de alta calidad estén ampliamente disponibles para los usuarios a través de tecnologías basadas en la web e interfaces de programación de aplicaciones (API)6. Sin embargo, existen varias limitaciones notables para consumir LLM en este formato.
Reto 1: Corpus de entrenamiento estático
Los LLM se entrenan con un cuerpo de datos de texto enorme (por ejemplo, dos billones de tokens en el caso de Llama 27) pero estático. Esto plantea un desafío para producir respuestas precisas relacionadas con campos que experimentan un rápido desarrollo o cambian la literatura. En este enfoque estático, los LLM requerirían un reentrenamiento frecuente para mantenerse al día con los datos más recientes, lo cual no es práctico ni escalable. Además, las indicaciones que requieren respuestas basadas en información no presente en los datos de entrenamiento pueden impedir la generación de texto útil o provocar alucinaciones8. Los casos de alucinaciones o fabricación de hechos plantean preocupaciones significativas sobre la confiabilidad de los LLM, particularmente en entornos donde la precisión de la información es crítica9.
Desafío 2: Falta de especificidad del dominio
Los modelos previamente entrenados a menudo se crean para uso general, mientras que los usuarios pueden necesitar un modelo específicamente optimizado para el rendimiento en un dominio determinado. Además, los recursos computacionales y los datos necesarios para entrenar un modelo de novo o realizar un ajuste fino significativo son prohibitivos para muchos usuarios.
Reto 3: Falta de privacidad
Es posible que los usuarios que buscan aplicaciones que involucran datos confidenciales o información de propiedad no estén dispuestos o no puedan usar ciertos servicios de LLM, ya que carecen de información sobre cómo se pueden almacenar o utilizar los datos.
Desafío 4: Falta de estabilidad garantizada
Los servicios con LLM propietarios pueden cambiar los modelos disponibles o alterar el comportamiento en cualquier momento, lo que hace que la estabilidad sea una preocupación para la implementación de aplicaciones que dependen de estos servicios.
La generación aumentada de recuperación (RAG) es una técnica desarrollada para mejorar el rendimiento de LLM, particularmente en consultas relacionadas con información fuera del corpus de entrenamiento del modelo10,11. Estos sistemas aumentan los LLM al incorporar información contextual que se debe tener en cuenta al generar una respuesta a una consulta del usuario. Diversos trabajos recientes han descrito las aplicaciones de los sistemas RAG y sus potenciales ventajas 12,13,14.
El objetivo del método descrito en este trabajo es demostrar la construcción de un sistema de este tipo y proporcionar un marco para que los investigadores experimenten rápidamente con LLM aumentados de dominio específico. Este método es aplicable para los usuarios que buscan aumentar un LLM con una fuente de datos externa basada en texto. Específicamente, un objetivo general de este protocolo es proporcionar código paso a paso que sea extensible a una variedad de experimentos prácticos de LLM y RAG sin la necesidad de una experiencia técnica significativa en el dominio de modelado de lenguaje, aunque se requiere un conocimiento práctico de Python para aplicar este enfoque sin modificaciones. Para maximizar el control del usuario, la transparencia, la portabilidad y la asequibilidad de las soluciones, se utilizan herramientas de código abierto disponibles públicamente. El sistema propuesto aborda los problemas mencionados anteriormente de las siguientes maneras:
Soluciones 1 y 2: Corpus de entrenamiento estático y falta de especificidad de dominio
La metodología proporcionada aprovecha un enfoque RAG, utilizando incrustaciones para proporcionar información específica del dominio que no se incluye en los datos de entrenamiento originales. En un nivel alto, los modelos de incrustación transforman el texto u otros datos en una representación como un vector o una matriz de números de una sola dimensión. Esta técnica es beneficiosa, ya que convierte la información semántica contenida en el texto en una forma densa y numérica. Al proyectar una consulta de usuario en el mismo espacio de incrustación, se pueden utilizar varios algoritmos para calcular la distancia15 y, por lo tanto, la similitud semántica aproximada, entre la consulta del usuario y las secciones de los documentos de texto. Por lo tanto, la creación de una base de datos de dichos vectores a partir de documentos divididos en secciones discretas puede facilitar la búsqueda en un número significativo de documentos del texto más relevante para una consulta de usuario (Figura 1). Este enfoque es extensible a cualquier documento de texto. Si bien se están comenzando a implementar otros enfoques, como las capacidades de búsqueda en línea, para aumentar los LLM, este enfoque permite a los usuarios elegir fuentes consideradas de calidad suficientemente alta para su caso de uso.
Solución 2: Falta de privacidad
En esta implementación, se utilizó un entorno seguro en la nube para el alojamiento, sin avisos de usuario, respuestas generadas u otros datos que salgan de este ecosistema. Sin embargo, todo el código se escribe de manera independiente de la plataforma para garantizar que se pueda sustituir a otro proveedor de nube o hardware local.
Solución 3: Falta de estabilidad garantizada
Este enfoque utiliza bibliotecas de código abierto y se centra en aumentar los LLM con pesos disponibles públicamente, lo que permite un mayor grado de transparencia, estabilidad y control de versiones, si es necesario.
En la Figura 2 se muestra un esquema completo de nuestro sistema propuesto, y en la sección de protocolo se describen instrucciones detalladas sobre cómo replicar este sistema o uno similar. Una consideración adicional a la hora de modificar el comportamiento del modelo mediante el ajuste fino o el aumento es la evaluación del rendimiento. En los modelos de generación de lenguaje, esto presenta un desafío único, ya que muchas métricas tradicionales de aprendizaje automático no son aplicables. Aunque existe una variedad de técnicas16, en este estudio, se utilizaron preguntas de opción múltiple (MCQ) escritas por expertos para evaluar la precisión y comparar el rendimiento antes y después del aumento, así como con los LLM alternativos populares.
En el caso de uso demostrado en este documento, el almacén de vectores se generó utilizando las pautas publicadas por el Grupo de Trabajo17 del Consenso de Chicago. Este grupo de expertos se estableció para desarrollar directrices para el tratamiento de los cánceres peritoneales. Se eligió el área temática por estar dentro del área de especialización clínica de los investigadores. Se accedió al conjunto de artículos desde repositorios de revistas en línea, incluidos Cancer y Annals of Surgical Oncology. Se utilizó un modelo de incrustación compacto (33,4 millones de parámetros) creado por la Academia de Inteligencia Artificial de Pekín (BAAI, https://www.baai.ac.cn/english.html), bge-small-en, para generar incrustaciones a partir de documentos fuente. La base de datos resultante se utilizó para aumentar los modelos de base Llama 2 y Open-AI7. Para comodidad del lector, el código está disponible a través de GitHub (https://github.com/AnaiLab/AugmentedLLM). Para garantizar la replicabilidad, se recomienda utilizar las mismas versiones de bibliotecas que se utilizan en la lista de requisitos proporcionada, así como la misma versión de Python. Los detalles adicionales sobre la instalación o la documentación sobre las herramientas utilizadas en los siguientes métodos se pueden encontrar en los sitios web oficiales de los proveedores de Python (https://www.python.org), git (https://git-scm.com), Llama-Index (https://llamaindex.ai) y Chroma (https://trychroma.com).
1. Requisitos previos: Revise el código e instale las bibliotecas necesarias
2. Creación de una base de datos vectorial con Llama-Index
3. Aumento de un modelo de Llama con base de datos vectorial generada en la sección 2
4. Comparación programática de LLM alternativos
Se utilizaron un conjunto de 22 publicaciones de las directrices de gestión del Grupo de Trabajo del Consenso de Chicago para aumentar el modelo base Llama-7b17. Los documentos se convirtieron en un índice vectorial utilizando la herramienta Llama-Index para generar Llama-2-7b-CCWG-Embed. Los modelos populares de OpenAI, como GPT-3.5 y GPT-4, también se aumentaron de manera similar para producir modelos GPT-XX-CCWG-Embed. Se elaboraron un total de 20 preguntas ...
Los métodos proporcionados aquí tienen como objetivo facilitar la investigación de aplicaciones específicas de dominio de LLM sin la necesidad de capacitación de novo o un ajuste exhaustivo. A medida que los LLM se están convirtiendo en un área de gran interés para la investigación, los enfoques para aumentar las bases de conocimiento y mejorar la precisión de las respuestas serán cada vez más importantes 18,19,20,21.
Los autores no tienen conflictos de intereses que declarar.
Este trabajo fue facilitado por varias bibliotecas de código abierto, entre las que destacan llama-index (https://www.llamaindex.ai/), ChromaDB (https://www.trychroma.com/) y LMQL (https://lmql.ai/).
Name | Company | Catalog Number | Comments |
pip3 version 22.0.2 | |||
Python version 3.10.12 |
Solicitar permiso para reutilizar el texto o las figuras de este JoVE artículos
Solicitar permisoThis article has been published
Video Coming Soon
ACERCA DE JoVE
Copyright © 2025 MyJoVE Corporation. Todos los derechos reservados