Method Article

Aumento de modelos de lenguaje de gran tamaño a través de incrustaciones vectoriales para mejorar la capacidad de respuesta específica del dominio

DOI:

10.3791/66796

December 6th, 2024

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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

  1. Compruebe que git, python y pip estén instalados.
    1. En un terminal, ejecute los siguientes comandos para verificar la instalación:
      git --version
      python3 --version
      pip3 --version
  2. Compruebe el código y los requisitos de instalación.
    1. En un terminal, ejecute los siguientes comandos:
      https://github.com/AnaiLab/AugmentedLLM.git de clones de git
      cd ./AugmentedLLM/

      pip3 install -r requirements.txt

2. Creación de una base de datos vectorial con Llama-Index

  1. Convertir formatos de archivo RTF (solo es necesario si los archivos están en formato RTF).
    1. Edite el archivo titulado config.py, reemplazando las rutas de archivo en el código siguiente por la ubicación de los artículos RTF que se van a convertir y la ubicación en la que se van a escribir los archivos de texto sin formato escribiendo los siguientes comandos. Guarde el archivo.
      rtf_file_dir = './articles_rtf/'
      converted_file_dir = './articles_converted/'
    2. En un terminal, en el mismo directorio, ejecute el código para generar versiones de texto plano de archivos RTF ejecutando el siguiente comando:
      pitón3 ./convert_rtf.py
  2. Cree y guarde la base de datos vectorial.
    1. Edite el archivo config.py, reemplazando el valor de la siguiente variable por la ruta del archivo de la carpeta que contiene los documentos con los que se va a aumentar el LLM; Guarde el archivo.
      article_dir = './artículos/'
    2. En un terminal, en el mismo directorio, ejecute el código con el siguiente comando para crear y conservar la base de datos. Compruebe que la base de datos está guardada en la carpeta vector_db.
      python3 ./build_index.py

3. Aumento de un modelo de Llama con base de datos vectorial generada en la sección 2

  1. Creación de instancias de LLM personalizado localmente (opcional)
    NOTA: Solo es necesario realizar este paso si desea utilizar un modelo que no sea el predeterminado Llama-2-7B. Si desea utilizar el modelo predeterminado, continúe con el paso 3.2.
    1. (Usando un LLM personalizado) Especifique un LLM para aumentar editando run_augmented_llm.py y pasando un objeto LLM llama-index en el constructor como parámetro llm en las siguientes líneas de código en lugar de None.
      augmentedLLM = AugmentedLLM(vector_store, llm = Ninguno)
  2. Consulta de LLM aumentada
    1. Ejecute el siguiente comando en el terminal:
      python3 ./run_augmented_llm.py
    2. Ejecute consultas de usuario para obtener una respuesta aumentada por los datos del conjunto de manuscritos (Figura 3 y Figura 4). Presione CTRL + C para salir cuando termine.

4. Comparación programática de LLM alternativos

  1. Cree preguntas múltiples.
    1. Edite el archivo questions.py, tomando nota del formato de los ejemplos. Agregue preguntas siguiendo un formato similar. Guarde el archivo.
  2. Conéctese a GPT-3.5, GPT-4, OpenChat u otros modelos de comparación a través de API.
    1. Edite el archivo config.py, agregando la clave API para OpenAI o Huggingface si el objetivo es comparar modelos de cualquiera de los proveedores. Guarde el archivo.
      huggingface_key = ''
      openai_key = ''
    2. Edite el archivo compare_llms.py y elija el conjunto de modelos con los que realizar la prueba descomentando (eliminando los caracteres '# ' al principio de esa línea) los modelos con los que comparar.
      NOTA: Algunos comparadores requieren una clave API como se establece en el paso 4.2.1. Además, edite el parámetro output_dir para cambiar dónde se almacena la salida de LLM si lo desea; de lo contrario, se utilizará un valor predeterminado.
      output_dir = './llm_responses/'
    3. En un terminal, ejecute el código con el siguiente comando. Después de la ejecución, vea las respuestas del modelo en la carpeta especificada en el paso 4.2.2 para calificarlas u otra revisión.
      python3 ./compare_llms.py
  3. (Opcional) Experimente con la calificación automatizada de las respuestas de preguntas múltiples. El código de ejemplo utiliza la biblioteca LMQL para restringir la salida de LLM a un formato esperado.
    1. Abra el archivo automated_comparison.py y de manera similar al paso 4.2.2, descomente los modelos que se van a incluir, edite la variable output_dir o personalícelo de otro modo. Tenga en cuenta que la salida del modelo se guardará de manera similar. Guarde el archivo.
    2. Ejecute el código del paso 4.3.1 ejecutando el siguiente comando en un terminal:
      pitón3 ./automated_comparison.py

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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 de opción múltiple para evaluar los conocimientos relacionados con el tratamiento de diversas neoplasias malignas de superficie peritoneal. Las MCQ fueron creadas por un oncólogo quirúrgico certificado por la junta para evaluar el nivel de conocimiento que se espera de un becario de oncología quirúrgica. Llama-2-7b-CCWG-Embed tuvo un rendimiento significativamente mejor que el modelo base (véase la Tabla 1), al igual que los modelos OpenAI aumentados. Esto se considera un resultado positivo para este método, ya que el rendimiento del modelo mejoró con el aumento en comparación con la línea de base.

figure-results-1
Figura 1: Esquema de la generación de una base de datos vectorial a partir de artículos académicos. Haga clic aquí para ver una versión más grande de esta figura.

figure-results-2
Figura 2: Diagrama general del sistema para LLM aumentada. Haga clic aquí para ver una versión más grande de esta figura.

figure-results-3
Figura 3: Modelo Llama-2 aumentado ejecutándose en el terminal de Linux. Haga clic aquí para ver una versión más grande de esta figura.

figure-results-4
Figura 4: Resultado de la consulta del modelo Llama-2 aumentado. Haga clic aquí para ver una versión más grande de esta figura.

LLMPuntuación (% de aciertos)
Llama-2-7b-chat-hf65%
Llama-2-7B-CCWG-Embed75%
Openchat-3.5-01061865%
Mistral-7B-v0.11970%
GPT-3.575%
GPT-3.5-CCWG-Incrustar85%
GPT-485%
GPT-4-CCWG-Incrustar90%

Tabla 1: Puntuaciones (porcentaje de aciertos) de varios LLM en un conjunto de 20 preguntas relacionadas con el tratamiento de la neoplasia maligna peritoneal.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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. Como se demuestra en los resultados proporcionados, el protocolo descrito ofrece una mejora en el rendimiento en preguntas específicas del dominio en comparación con el mismo LLM sin aumento y aborda el rendimiento de modelos más complejos como los modelos GPT de OpenAI. Dado que los LLM pueden requerir enormes recursos computacionales para generar respuestas22,23, el aumento de un modelo más simple puede proporcionar una vía para la implementación en casos de uso con recursos limitados. Además, el sistema RAG también produjo beneficios al aumentar modelos de alta complejidad como los proporcionados por OpenAI. Si bien los resultados presentados son específicos para el manejo del cáncer peritoneal, se han producido estudios recientes sobre sistemas RAG con una variedad de fuentes de datos tanto en dominio como en escala, lo que indica la amplia aplicabilidad de dichos sistemas 21,24,25,26. Sin embargo, dado que la calidad de las respuestas está estrechamente relacionada con los datos de texto utilizados para el aumento, es fundamental que los usuarios consideren cuidadosamente qué fuentes son óptimas para su dominio particular y la aplicación deseada. Esta consideración es de particular importancia en dominios como la atención médica, que ha sido un enfoque particular de los estudios relacionados con LLM. Se está explorando el uso de LLM para el diagnóstico27,28, la coincidencia de ensayos clínicos29,30 y muchas otras aplicaciones, y requieren recursos de texto validados y confiables en lugar de depender de corpus de capacitación desconocidos.

El rendimiento se midió por el porcentaje de aciertos de las preguntas múltiples escritas por un experto en cánceres peritoneales y su manejo clínico. Las respuestas fueron clasificadas como correctas o incorrectas por la revisión humana; sin embargo, para minimizar las tareas repetitivas para los investigadores, se proporciona un código básico para comenzar a abordar una comparación más automatizada del rendimiento entre LLM.

Un beneficio clave de este protocolo es el código proporcionado para acceder programáticamente a una variedad de LLM. Anteriormente, para evaluar el rendimiento en MCQ, los usuarios sin las capacidades técnicas requeridas podían haber confiado en pruebas manuales repetitivas a través de una interfaz basada en la web. El código proporcionado proporciona clases básicas para interactuar con varios LLM populares junto con ejemplos de cómo ejecutar el código. El objetivo de proporcionar estas herramientas es permitir que más investigadores avancen hacia la automatización de los flujos de trabajo que evalúan las respuestas a una solicitud en una variedad de LLM, mejorando la capacidad de realizar estudios comparativos.

Además, los métodos descritos están diseñados para enfatizar la flexibilidad y la extensibilidad. Aunque el código se puede usar tal cual, está escrito con la intención de adaptarse aún más a casos de uso específicos según sea necesario, como el uso de diferentes LLM y la incorporación de modelos para aumentar o comparar. A medida que el panorama de LLM evoluciona rápidamente, esta extensibilidad será cada vez más importante para satisfacer las diversas necesidades de los usuarios en diferentes dominios. Además, la biblioteca Llama-Index proporciona un número significativo de características que no se utilizan en los métodos demostrados y que pueden dar a los usuarios opciones adicionales al crear sistemas similares. Estos se pueden encontrar en la documentación oficial de Llama-Index.

Los lectores también deben considerar cuidadosamente los métodos de evaluación que sean óptimos para su caso de uso. Si bien los MCQ han ganado popularidad para las comparaciones de LLM debido a su naturaleza fácilmente cuantificable31,32, se debe tener cuidado al considerarlos una métrica de rendimiento integral para sistemas generativos. La literatura reciente ha implementado una amplia gama de evaluaciones, incluyendo enfoques cualitativos, revisión humana, Stanford Holistic Evaluation of Language Models (HELM)33 y métricas estándar de procesamiento del lenguaje natural como Bilingual Evaluation Understudy (BLEU), General Language Understanding Evaluation (GLUE), ROUGE, perplejidad y puntuación F1 34,35,36,37,38,39.

Existen limitaciones para estos métodos, como se indica aquí. Por ejemplo, si bien se implementaron interfaces para varios proveedores líderes de LLM, dada la naturaleza en rápida evolución de este campo y cuán variados pueden ser los casos de uso, es posible que esta implementación no sea completa. El código, sin embargo, se diseñó teniendo esto en cuenta, como se ha comentado anteriormente. Además, si bien se proporcionó el código básico para avanzar hacia la calificación automatizada, hay espacio para expandirse hacia el uso de herramientas alternativas para calificar las respuestas, como HELM o BLEU. Además, el uso adicional de herramientas para restringir la salida de acuerdo con gramáticas predefinidas, como el lenguaje de consulta de modelos de lenguaje (LMQL), se puede utilizar para ampliar este trabajo y aumentar la automatización de los estudios comparativos de LLM. Además, dada la amplia variedad de casos de uso potenciales, se requieren más estudios sobre el efecto de los sistemas RAG en el rendimiento general fuera del dominio para caracterizar cualquier compensación de rendimiento. Por último, se deben seguir investigando métodos adicionales para mejorar la fiabilidad y la evaluación de las respuestas de los LLM.

Tenga en cuenta que, por razones técnicas, se requiere python 3.10 o superior. Los prompts de shell se escriben para bash, zsh u otros terminales similares a UNIX. Los comandos se pueden ejecutar (lo que se conoce como "ejecutar el comando" en el protocolo) simplemente escribiendo el texto seguido de la tecla de retorno. Para cada paso del protocolo, es posible que un usuario desee examinar el código del archivo que se está ejecutando para tener una comprensión más completa de la mecánica detrás del flujo de trabajo.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Los autores no tienen conflictos de intereses que declarar.

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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/).

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
pip3 versión 22.0.2 
Python versión 3.10.12

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Singhal, K., et al. Large language models encode clinical knowledge. Nature. 620 (7972), 172-180 (2023).
  2. Gilson, A., et al. How does ChatGPT perform on the United States medical licensing examination? The implications of large language models for medical education and knowledge assessment. JMIR Med Educ. 9 (1), e45312(2023).
  3. Guerra, G. A., et al. GPT-4 artificial intelligence model outperforms ChatGPT, medical students, and neurosurgery residents on neurosurgery written board-like questions. World Neurosurg. 179, e160-e165 (2023).
  4. Terwiesch, C. Would Chat GPT3 get a Wharton MBA? A prediction based on its performance in the Operations Management course. , https://mackinstitute.wharton.upenn.edu/wp-content/uploads/2023/01/Christian-Terwiesch-Chat-GTP.pdf (2023).
  5. Weizenbaum, J. ELIZA-a computer program for the study of natural language communication between man and machine. Communications of the ACM. 9 (1), 36-45 (1966).
  6. Wu, T., et al. A brief overview of ChatGPT: The history, status quo and potential future development. IEEE/CAA Journal of Automatica Sinica. 10 (5), 1122-1136 (2023).
  7. Touvron, H., et al. Llama 2: Open foundation and fine-tuned chat models. arXiv [cs.CL]. , http://arxiv.org/abs/2307.09288 (2023).
  8. Huang, L., et al. A survey on hallucination in large language models: Principles, taxonomy, challenges, and open questions. arXiv [cs.CL]. , http://arxiv.org/abs/2311.05232 (2023).
  9. Thirunavukarasu, A. J., et al. Large language models in medicine. Nature Med. 29 (8), 1930-1940 (2023).
  10. Lewis, P., et al. Retrieval-augmented generation for knowledge-intensive NLP tasks. arXiv [cs.CL]. , http://arxiv.org/abs/2005.11401 (2020).
  11. Li, J., Yuan, Y., Zhang, Z. Enhancing LLM factual accuracy with RAG to counter hallucinations: A case study on domain-specific queries in private knowledge-bases. arXiv [cs.CL]. , http://arxiv.org/abs/2403.10446 (2024).
  12. Zhang, P., Xiao, S., Liu, Z., Dou, Z., Nie, J. -Y. Retrieve anything to augment large language models. arXiv [cs.IR]. , http://arxiv.org/abs/2310.07554 (2023).
  13. Ling, C., et al. Domain specialization as the key to make large language models disruptive: A comprehensive survey. arXiv [cs.CL]. , http://arxiv.org/abs/2305.18703 (2023).
  14. Ram, O., et al. In-Context retrieval-augmented language models. Trans Assoc Comput Linguist. 11, 1316-1331 (2023).
  15. Cormode, G. Sequence distance embeddings. , The University of Warwick. https://wrap.warwick.ac.uk/61310/7/WRAP_THESIS_Cormode_2003.pdf (2003).
  16. Guo, Z., et al. Evaluating large language models: A comprehensive survey. arXiv [cs.CL]. , http://arxiv.org/abs/2310.19736 (2023).
  17. Chicago Consensus Working Group. The Chicago Consensus Guidelines for peritoneal surface malignancies: Introduction. Cancer. 126 (11), 2510-2512 (2020).
  18. Wang, G., et al. OpenChat: Advancing open-source language models with mixed-quality data. arXiv [cs.CL]. , http://arxiv.org/abs/2309.11235 (2023).
  19. Jiang, A. Q., et al. Mistral 7B. arXiv [cs.CL]. , http://arxiv.org/abs/2310.06825 (2023).
  20. Megahed, F. M., et al. AI and the future of work in statistical quality control: Insights from a first attempt to augmenting ChatGPT with an SQC knowledge base (ChatSQC). arXiv [cs.HC]. , http://arxiv.org/abs/2308.13550 (2023).
  21. Wang, Y., Ma, X., Chen, W. Augmenting black-box LLMs with medical textbooks for clinical question answering. arXiv [cs.CL]. , http://arxiv.org/abs/2309.02233 (2023).
  22. Dodge, J., et al. Measuring the carbon intensity of AI in cloud instances. FACCT 2022. , (2022).
  23. Samsi, S., et al. From words to watts: Benchmarking the energy costs of large language model inference. arXiv [cs.CL]. , http://arxiv.org/abs/2310.03003 (2023).
  24. Khene, Z. -E., Bigot, P., Mathieu, R., Rouprêt, M., Bensalah, K. Development of a personalized chat model based on the European association of urology oncology guidelines: Harnessing the power of generative artificial intelligence in clinical practice. Eur Urol Oncol. 7 (1), 160-162 (2024).
  25. Kresevic, S., et al. Optimization of hepatological clinical guidelines interpretation by large language models: a retrieval augmented generation-based framework. NPJ Digit Med. 7 (1), 102(2024).
  26. Ge, J., et al. Development of a liver disease-specific large language model chat interface using retrieval augmented generation. medRxiv. , (2023).
  27. Rule-augmented artificial intelligence-empowered systems for medical diagnosis using large language models. Panagoulias, D. P., et al. 2023 IEEE 35th International Conference on Tools with Artificial Intelligence (ICTAI), , 70-77 (2023).
  28. Panagoulias, D. P., et al. Augmenting large language models with rules for enhanced domain-specific interactions: The case of medical diagnosis. Electronics. 13 (2), 320(2024).
  29. Jin, Q., et al. Matching patients to clinical trials with large language models. arXiv [cs.CL]. , http://arxiv.org/abs/2307.15051 (2023).
  30. Gupta, S. K., et al. PRISM: Patient records interpretation for semantic clinical trial matching using large language models. arXiv [cs.CL]. , http://arxiv.org/abs/2404.15549 (2024).
  31. Hendrycks, D., et al. Measuring massive multitask language understanding. arXiv [cs.CY]. , http://arxiv.org/abs/2009.03300 (2020).
  32. Lin, S., Hilton, J., Evans, O. TruthfulQA: Measuring how models mimic human falsehoods. arXiv [cs.CL]. , http://arxiv.org/abs/2109.07958 (2021).
  33. Bommasani, R., Liang, P., Lee, T. Holistic evaluation of language models. Ann N Y Acad Sci. 1525 (1), 140-146 (2023).
  34. Banerjee, D., Singh, P., Avadhanam, A., Srivastava, S. Benchmarking LLM powered Chatbots: Methods and Metrics. arXiv [cs.CL]. , http://arxiv.org/abs/2308.04624 (2023).
  35. Papineni, K., Roukos, S., Ward, T., Zhu, W. -J. Bleu. Proceedings of the 40th Annual Meeting on Association for Computational Linguistics - ACL '02. , (2001).
  36. Wang, A., Singh, A., Michael, J., Hill, F., Levy, O., Bowman, S. R. Glue: A multi-task benchmark and analysis platform for natural language understanding. , http://arxiv.org/abs/1804.07461 (2019).
  37. Johnson, D., et al. Assessing the accuracy and reliability of AI-generated medical responses: An evaluation of the chat-GPT model. Res Sq. , (2023).
  38. Lin, C. -Y. ROUGE: A package for automatic evaluation of summaries. Text Summarization Branches Out. , 74-81 (2004).
  39. Chen, S., et al. Evaluating the ChatGPT family of models for biomedical reasoning and classification. J Am Med Inform Assoc. 31 (4), 940-948 (2024).

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Large Language ModelsVector EmbeddingsDomain Specific AugmentationLlama IndexScientific ManuscriptsModel BenchmarkingOpen Source ToolsVector DatabaseModel EvaluationFoundation Models

Related Articles