Method Article

Aumentando modelos de linguagem grandes por meio de incorporações vetoriais para melhorar a capacidade de resposta específica do domínio

DOI:

10.3791/66796

December 6th, 2024

In This Article

Summary

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

Neste protocolo, a qualidade da resposta do modelo de linguagem grande da base é melhorada por meio do aumento com artigos científicos específicos de domínio revisados por pares por meio de um mecanismo de incorporação de vetores. Além disso, o código é fornecido para ajudar na comparação de desempenho entre grandes modelos de linguagem.

Abstract

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

Os modelos de linguagem grande (LLMs) surgiram como um recurso popular para gerar informações relevantes para uma consulta do usuário. Esses modelos são criados por meio de um processo de treinamento intensivo em recursos, utilizando um corpus extenso e estático de dados textuais. Essa natureza estática resulta em limitações para adoção em domínios com conhecimento, informações proprietárias e dados confidenciais em rápida mudança. Neste trabalho, são descritos métodos para aumentar LLMs de uso geral, conhecidos como modelos de fundação, com informações específicas de domínio usando uma abordagem baseada em incorporações para incorporar manuscritos científicos atualizados e revisados por pares. Isso é obtido por meio de ferramentas de código aberto, como o Llama-Index, e modelos disponíveis publicamente, como o Llama-2, para maximizar a transparência, a privacidade e o controle do usuário e a replicabilidade. Embora os manuscritos científicos sejam usados como exemplo de caso de uso, essa abordagem pode ser estendida a qualquer fonte de dados de texto. Além disso, são discutidos métodos para avaliar o desempenho do modelo após esse aprimoramento. Esses métodos permitem o rápido desenvolvimento de sistemas LLM para domínios altamente especializados, independentemente da abrangência das informações no corpus de treinamento.

Introduction

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

Grandes modelos de linguagem (LLMs), como o ChatGPT da OpenAI ou o Llama da Meta AI, tornaram-se rapidamente um recurso popular para gerar texto relevante para um prompt do usuário. Originalmente funcionando para prever os próximos itens lexicais em uma sequência, esses modelos evoluíram para entender o contexto, codificar informações clínicas e demonstrar alto desempenho em uma variedade de tarefas 1,2,3,4. Embora os modelos de linguagem sejam anteriores a esses recursos e seu nível atual de popularidade em décadas5, avanços recentes em recursos de aprendizado profundo e computação tornaram LLMs comerciais pré-treinados e de alta qualidade amplamente disponíveis para os usuários por meio de tecnologias baseadas na web e interfaces de programação de aplicativos (APIs)6. No entanto, existem várias limitações notáveis para consumir LLMs neste formato.

Desafio 1: Corpus de treinamento estático
Os LLMs são treinados em um corpo enorme (por exemplo, dois trilhões de tokens no caso do Llama 27), mas estático, de dados de texto. Isso representa um desafio para produzir respostas precisas relativas a campos em rápido desenvolvimento ou mudança na literatura. Nessa abordagem estática, os LLMs exigiriam treinamento frequente para acompanhar os dados mais recentes, o que não é prático nem escalável. Além disso, prompts que exigem respostas baseadas em informações não presentes nos dados de treinamento podem impedir a geração de texto útil ou levar a alucinações8. Casos de alucinações ou fabricação de fatos levantam preocupações significativas sobre a confiabilidade dos LLMs, particularmente em ambientes onde a precisão das informações é crítica9.

Desafio 2: Falta de especificidade de domínio
Os modelos pré-treinados geralmente são criados para uso geral, enquanto os usuários podem exigir um modelo especificamente otimizado para desempenho em um domínio específico. Além disso, os recursos computacionais e os dados necessários para treinar um modelo de novo ou realizar ajustes finos significativos são proibitivos para muitos usuários.

Desafio 3: Falta de privacidade
Os usuários que buscam aplicativos envolvendo dados confidenciais ou informações proprietárias podem não querer ou não poder usar determinados serviços LLM, pois não têm informações sobre como os dados podem ser armazenados ou utilizados.

Desafio 4: Falta de estabilidade garantida
Os serviços com LLMs proprietários podem alterar os modelos disponíveis ou alterar o comportamento a qualquer momento, tornando a estabilidade uma preocupação para a implementação de aplicativos que dependem desses serviços.

A geração aumentada por recuperação (RAG) é uma técnica desenvolvida para melhorar o desempenho do LLM, particularmente em consultas relacionadas a informações fora do corpus de treinamento do modelo10,11. Esses sistemas aumentam os LLMs incorporando informações contextuais a serem consideradas ao gerar uma resposta a uma consulta do usuário. Vários trabalhos recentes descreveram aplicações de sistemas RAG e suas vantagens potenciais 12,13,14.

O objetivo do método descrito neste trabalho é demonstrar a construção de tal sistema e fornecer uma estrutura para os pesquisadores experimentarem rapidamente LLMs aumentados e específicos de domínio. Esse método é aplicável a usuários que buscam aumentar um LLM com uma fonte de dados externa baseada em texto. Especificamente, um objetivo abrangente deste protocolo é fornecer código passo a passo que seja extensível a uma variedade de experimentos práticos de LLM e RAG sem a necessidade de conhecimento técnico significativo no domínio de modelagem de linguagem, embora seja necessário um conhecimento prático de Python para aplicar essa abordagem sem modificação. Para maximizar o controle do usuário, a transparência, a portabilidade e a acessibilidade das soluções, são utilizadas ferramentas de código aberto disponíveis publicamente. O sistema proposto aborda as questões anteriormente mencionadas das seguintes maneiras:

Soluções 1 e 2: Corpus de treinamento estático e falta de especificidade de domínio
A metodologia fornecida aproveita uma abordagem RAG, utilizando incorporações para fornecer informações específicas do domínio não incluídas nos dados de treinamento originais. Em um alto nível, a incorporação de modelos transforma texto ou outros dados em uma representação como um vetor ou uma matriz de números de dimensão única. Essa técnica é benéfica, pois converte informações semânticas contidas no texto em uma forma numérica densa. Ao projetar uma consulta do usuário no mesmo espaço de incorporação, vários algoritmos podem ser usados para calcular a distância15 e, portanto, a semelhança semântica aproximada entre a consulta do usuário e as seções de documentos de texto. Assim, a criação de um banco de dados de tais vetores a partir de documentos divididos em seções discretas pode facilitar a pesquisa em um número significativo de documentos pelo texto mais relevante para uma consulta do usuário (Figura 1). Essa abordagem é extensível a qualquer documento de texto. Embora outras abordagens, como recursos de pesquisa on-line, estejam começando a ser implementadas para aumentar os LLMs, essa abordagem permite que os usuários escolham fontes consideradas de qualidade suficientemente alta para seu caso de uso.

Solução 2: Falta de privacidade
Nessa implementação, um ambiente de nuvem seguro foi usado para hospedagem, sem prompts de usuário, respostas geradas ou outros dados saindo desse ecossistema. Todo o código é escrito de maneira independente de plataforma, no entanto, para garantir que outro provedor de nuvem ou hardware local possa ser substituído.

Solução 3: Falta de estabilidade garantida
Essa abordagem utiliza bibliotecas de código aberto e se concentra em aumentar os LLMs com pesos disponíveis publicamente, permitindo um maior grau de transparência, estabilidade e controle de versão, se necessário.

Um esquema completo do nosso sistema proposto é mostrado na Figura 2, e instruções detalhadas sobre como replicar este ou um sistema semelhante são descritas na seção de protocolo. Uma consideração adicional ao alterar o comportamento do modelo por meio de ajuste fino ou aumento é a avaliação do desempenho. Em modelos de geração de linguagem, isso representa um desafio único, pois muitas métricas tradicionais de aprendizado de máquina não são aplicáveis. Embora exista uma variedade de técnicas16, neste estudo, perguntas de múltipla escolha escritas por especialistas (MCQs) foram usadas para avaliar a precisão e comparar o desempenho pré e pós-aumento, bem como com LLMs alternativos populares.

Protocol

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

No caso de uso demonstrado neste artigo, o armazenamento de vetores foi gerado usando diretrizes publicadas do Chicago Consensus Working Group17. Este grupo de especialistas foi estabelecido para desenvolver diretrizes para o tratamento de cânceres peritoneais. A área temática foi escolhida por estar dentro da área de especialização clínica dos investigadores. O conjunto de artigos foi acessado a partir de repositórios de periódicos on-line, incluindo Cancer e Annals of Surgical Oncology. Um modelo de incorporação compacto (33,4 milhões de parâmetros) criado pela Academia de Inteligência Artificial de Pequim (BAAI, https://www.baai.ac.cn/english.html), bge-small-en, foi usado para gerar incorporações a partir de documentos de origem. O banco de dados resultante foi então usado para aumentar os modelos de fundação Llama 2 e Open-AI7. Para conveniência do leitor, o código é disponibilizado através do GitHub (https://github.com/AnaiLab/AugmentedLLM). Para garantir a replicabilidade, é recomendável usar as mesmas versões das bibliotecas usadas na lista de requisitos fornecida, bem como a mesma versão do Python. Detalhes adicionais sobre a instalação ou documentação sobre as ferramentas usadas nos métodos a seguir podem ser localizados nos sites oficiais dos provedores para Python (https://www.python.org), git (https://git-scm.com), Llama-Index (https://llamaindex.ai) e Chroma (https://trychroma.com).

1. Pré-requisitos: Revise o código e instale as bibliotecas necessárias

  1. Verifique se git, python e pip estão instalados.
    1. Em um terminal, execute os seguintes comandos para verificar a instalação:
      git --version
      python3 --versão
      pip3 --versão
  2. Verifique o código e os requisitos de instalação.
    1. Em um terminal, execute os seguintes comandos:
      git clone https://github.com/AnaiLab/AugmentedLLM.git
      cd ./AumentadoLLM/

      pip3 instalar -r requirements.txt

2. Criação de um banco de dados vetorial com Llama-Index

  1. Converta formatos de arquivo RTF (necessário apenas se os arquivos estiverem em um formato RTF).
    1. Edite o arquivo intitulado config.py, substituindo os caminhos de arquivo no código a seguir pelo local dos artigos RTF a serem convertidos e o local no qual os arquivos de texto simples devem ser gravados, digitando os comandos a seguir. Salve o arquivo.
      rtf_file_dir = './articles_rtf/'
      converted_file_dir = './articles_converted/'
    2. Em um terminal, no mesmo diretório, execute o código para gerar versões de texto simples de arquivos RTF executando o seguinte comando:
      python3 ./convert_rtf.py
  2. Crie e salve o banco de dados vetorial.
    1. Edite o arquivo config.py, substituindo o valor da variável a seguir pelo caminho do arquivo da pasta que contém os documentos com os quais o LLM deve ser aumentado; Salve o arquivo.
      article_dir = './artigos/'
    2. Em um terminal, no mesmo diretório, execute o código com o seguinte comando para criar e persistir o banco de dados. Verifique se o banco de dados agora está salvo na pasta vector_db.
      python3 ./build_index.py

3. Aumento de um modelo de Lhama com banco de dados vetorial gerado na seção 2

  1. Instanciar LLM personalizado localmente (opcional)
    NOTA: A execução desta etapa só é necessária se você quiser usar um modelo diferente do Llama-2-7B padrão. Se você deseja usar o modelo padrão, vá para a etapa 3.2.
    1. (Usando um LLM personalizado) Especifique um LLM para aumentar editando run_augmented_llm.py e passando um objeto LLM de índice de lhama no construtor como o parâmetro llm nas seguintes linhas de código, em vez de Nenhum.
      LLM aumentado = LLM aumentado(vector_store, llm=Nenhum)
  2. LLM aumentado por consulta
    1. Execute o seguinte comando no terminal:
      python3 ./run_augmented_llm.py
    2. Execute consultas de usuário para obter uma resposta aumentada por dados no conjunto de manuscritos (Figura 3 e Figura 4). Pressione CTRL + C para sair quando terminar.

4. Comparação programática de LLMs alternativos

  1. Crie MCQs.
    1. Edite o arquivo questions.py, observando o formato dos exemplos. Adicione perguntas seguindo um formato semelhante. Salve o arquivo.
  2. Conecte-se ao GPT-3.5, GPT-4, OpenChat ou outros modelos comparadores via API.
    1. Edite o arquivo config.py, adicionando a chave de API para OpenAI ou Huggingface se o objetivo for comparar com modelos de qualquer provedor. Salve o arquivo.
      huggingface_key = ''
      openai_key = ''
    2. Edite o arquivo compare_llms.py e escolha o conjunto de modelos para testar removendo o comentário (excluindo os caracteres '# ' no início dessa linha) modelos para comparar.
      NOTA: Alguns comparadores requerem uma chave de API, conforme definido na etapa 4.2.1. Além disso, edite o parâmetro output_dir para alterar onde a saída LLM é armazenada, se desejar; caso contrário, um padrão será usado.
      output_dir = './llm_responses/'
    3. Em um terminal, execute o código com o seguinte comando. Após a execução, exiba as respostas do modelo na pasta especificada na etapa 4.2.2 para avaliação ou outra revisão.
      python3 ./compare_llms.py
  3. (Opcional) Experimente a classificação automatizada das respostas do MCQ. O código de exemplo usa a biblioteca LMQL para restringir a saída do LLM em um formato esperado.
    1. Abra o arquivo automated_comparison.py e, da mesma forma que na etapa 4.2.2, remova o comentário dos modelos a serem incluídos, edite a variável output_dir ou personalize de outra forma. Observe que a saída do modelo ainda será salva de maneira semelhante. Salve o arquivo.
    2. Execute o código da etapa 4.3.1 executando o seguinte comando em um terminal:
      python3 ./automated_comparison.py

Results

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

Um conjunto de 22 publicações das diretrizes de gerenciamento do Grupo de Trabalho do Consenso de Chicago foi usado para aumentar o modelo básico Llama-7b17. Os documentos foram convertidos em um índice vetorial usando a ferramenta Llama-Index para gerar Llama-2-7b-CCWG-Embed. Modelos populares da OpenAI, como GPT-3.5 e GPT-4, também foram aumentados de maneira semelhante para produzir modelos GPT-XX-CCWG-Embed. Um total de 20 questões de múltipla escolha (MCQ) foram desenvolvidas para avaliar o conhecimento relacionado ao manejo de uma variedade de malignidades da superfície peritoneal. Os MCQs foram criados por um oncologista cirúrgico certificado para testar o nível de conhecimento esperado de um bolsista de oncologia cirúrgica. O Llama-2-7b-CCWG-Embed teve um desempenho significativamente melhor do que o modelo básico (consulte a Tabela 1), assim como os modelos OpenAI aumentados. Isso é considerado um resultado positivo para este método, pois o desempenho do modelo foi melhorado com o aumento em comparação com a linha de base.

figure-results-1
Figura 1: Esquema de geração de banco de dados vetorial a partir de trabalhos acadêmicos. Clique aqui para ver uma versão maior desta figura.

figure-results-2
Figura 2: Diagrama geral do sistema para LLM aumentado. Clique aqui para ver uma versão maior desta figura.

figure-results-3
Figura 3: Modelo Llama-2 aumentado em execução no terminal Linux. Clique aqui para ver uma versão maior desta figura.

figure-results-4
Figura 4: Resultado da consulta do modelo Llama-2 aumentado. Clique aqui para ver uma versão maior desta figura.

LLMPontuação (% correta)
Lhama-2-7b-chat-hf65%
Lhama-2-7b-CCWG-Incorporar75%
Openchat-3.5-01061865%
Mistral-7B-v0.11970%
GPT-3.575%
GPT-3.5-CCWG-Incorporar85%
GPT-485%
GPT-4-CCWG-Incorporar90%

Tabela 1: Pontuações (porcentagem correta) de vários LLMs em um conjunto de 20 questões relativas ao manejo de malignidade peritoneal.

Discussion

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

Os métodos fornecidos aqui visam facilitar a pesquisa de aplicações específicas de domínio de LLMs sem a necessidade de treinamento de novo ou ajuste fino extensivo. À medida que os LLMs estão se tornando uma área de interesse significativo de pesquisa, as abordagens para aumentar as bases de conhecimento e melhorar a precisão das respostas se tornarão cada vez mais importantes 18,19,20,21. Conforme demonstrado nos resultados fornecidos, o protocolo descrito oferece melhoria no desempenho em questões específicas de domínio em comparação com o mesmo LLM sem aumento e aborda o desempenho de modelos mais complexos, como os modelos OpenAI GPT. Como os LLMs podem exigir enormes recursos computacionais para gerar respostas22,23, aumentar um modelo mais simples pode fornecer um caminho para a implementação em casos de uso com recursos limitados. Além disso, o sistema RAG também produziu benefícios ao aumentar modelos de alta complexidade, como os fornecidos pela OpenAI. Embora os resultados apresentados sejam específicos para o tratamento do câncer peritoneal, estudos recentes sobre sistemas RAG com uma variedade de fontes de dados de domínio e escala foram produzidos, indicando a ampla aplicabilidade de tais sistemas 21,24,25,26. Como a qualidade das respostas está intimamente relacionada aos dados de texto usados para aumento, no entanto, é fundamental que os usuários considerem cuidadosamente quais fontes são ideais para seu domínio específico e aplicação desejada. Essa consideração é de particular importância em domínios como a saúde, que tem sido um foco particular de estudos relacionados ao LLM. O uso do LLM para diagnósticos27,28, correspondência de ensaios clínicos29,30 e várias outras aplicações estão sendo exploradas e exigem recursos de texto validados e confiáveis, em vez de depender de corpora de treinamento desconhecidos.

O desempenho foi medido pela porcentagem de acertos dos MCQs escritos por um especialista em câncer peritoneal e seu manejo clínico. As respostas foram classificadas como corretas ou incorretas por revisão humana; no entanto, para minimizar tarefas repetitivas para os pesquisadores, é fornecido um código básico para começar a abordar uma comparação mais automatizada do desempenho entre LLMs.

Um dos principais benefícios desse protocolo é o código fornecido para acessar programaticamente uma variedade de LLMs. Anteriormente, para avaliar o desempenho em MCQs, os usuários sem os recursos técnicos necessários podem ter contado com testes manuais repetitivos por meio de uma interface baseada na web. O código fornecido fornece classes básicas para interface com vários LLMs populares, juntamente com exemplos de como executar o código. O objetivo de fornecer essas ferramentas é permitir que mais pesquisadores avancem para automatizar fluxos de trabalho que avaliam as respostas a um prompt em uma variedade de LLMs, aprimorando a capacidade de realizar estudos comparativos.

Além disso, os métodos descritos são projetados para enfatizar a flexibilidade e a extensibilidade. Embora o código possa ser usado no estado em que se encontra, ele é escrito com a intenção de adaptar ainda mais a casos de uso específicos, conforme necessário, como o uso de diferentes LLMs e modelos de incorporação para aumento ou comparação. À medida que o cenário do LLM está evoluindo rapidamente, essa extensibilidade se tornará cada vez mais importante para atender às diversas necessidades dos usuários em diferentes domínios. Além disso, a biblioteca Llama-Index fornece um número significativo de recursos não utilizados nos métodos demonstrados, o que pode dar aos usuários opções adicionais ao criar sistemas semelhantes. Eles podem ser encontrados na documentação oficial do Llama-Index.

Os leitores também devem considerar cuidadosamente os métodos de avaliação ideais para seu caso de uso. Embora os MCQs tenham ganhado popularidade para comparações de LLM devido à sua natureza facilmente quantificável31,32, deve-se ter cuidado ao considerá-los uma métrica de desempenho abrangente para sistemas generativos. A literatura recente implementou uma gama diversificada de avaliações, incluindo abordagens qualitativas, revisão humana, Stanford Holistic Evaluation of Language Models (HELM)33 e métricas padrão de processamento de linguagem natural, como Bilingual Evaluation Understudy (BLEU), General Language Understanding Evaluation (GLUE), ROUGE, perplexidade e pontuação F1 34,35,36,37,38,39.

Há limitações para esses métodos, conforme fornecido aqui. Por exemplo, embora as interfaces tenham sido implementadas para vários provedores líderes de LLM, dada a natureza em rápida evolução desse campo e a variedade de casos de uso, essa implementação pode não ser abrangente. O código, no entanto, foi projetado com isso em mente, conforme discutido anteriormente. Além disso, embora o código básico para avançar em direção à avaliação automatizada tenha sido fornecido, há espaço para expansão no uso de ferramentas alternativas para avaliar respostas, como HELM ou BLEU. Além disso, o uso adicional de ferramentas para restringir a saída de acordo com gramáticas predefinidas, como a linguagem de consulta do modelo de linguagem (LMQL), pode ser usado para expandir esse trabalho e aumentar a automação de estudos comparativos de LLM. Além disso, dada a ampla variedade de casos de uso potenciais, mais estudos sobre o efeito dos sistemas RAG no desempenho geral fora do domínio são necessários para caracterizar quaisquer compensações de desempenho. Finalmente, métodos adicionais para melhorar a confiabilidade e a avaliação das respostas do LLM devem continuar a ser investigados.

Observe que, por razões técnicas, o python 3.10 ou superior é necessário. Os prompts do shell são escritos para bash, zsh ou outros terminais semelhantes ao UNIX. Os comandos podem ser executados (chamados de 'executar o comando' no protocolo) simplesmente digitando o texto seguido da tecla return. Para cada etapa do protocolo, um usuário pode querer examinar o código no arquivo que está sendo executado para ter uma compreensão mais abrangente da mecânica por trás do fluxo de trabalho.

Disclosures

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

Os autores não têm conflitos de interesse a declarar.

Acknowledgements

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

Este trabalho foi facilitado por várias bibliotecas de código aberto, principalmente llama-index (https://www.llamaindex.ai/), ChromaDB (https://www.trychroma.com/) e LMQL (https://lmql.ai/).

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
pip3 versão 22.0.2 
Python versão 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