Method Article

Aumento di modelli linguistici di grandi dimensioni tramite incorporamenti vettoriali per migliorare la reattività specifica del dominio

DOI:

10.3791/66796

December 6th, 2024

In This Article

Summary

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

In questo protocollo, la qualità della risposta del modello linguistico di base di grandi dimensioni viene migliorata tramite l'aumento con articoli scientifici specifici del dominio sottoposti a revisione paritaria attraverso un meccanismo di incorporamento vettoriale. Inoltre, viene fornito codice per facilitare il confronto delle prestazioni tra modelli linguistici di grandi dimensioni.

Abstract

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

I modelli linguistici di grandi dimensioni (LLM) sono emersi come una risorsa popolare per la generazione di informazioni rilevanti per una query utente. Tali modelli vengono creati attraverso un processo di formazione ad alta intensità di risorse che utilizza un ampio corpus statico di dati testuali. Questa natura statica comporta limitazioni per l'adozione in domini con conoscenze, informazioni proprietarie e dati sensibili in rapida evoluzione. In questo lavoro, vengono delineati i metodi per aumentare gli LLM generici, noti come modelli di fondazione, con informazioni specifiche del dominio utilizzando un approccio basato sull'incorporamento di manoscritti scientifici aggiornati e sottoposti a revisione paritaria. Ciò si ottiene attraverso strumenti open source come Llama-Index e modelli disponibili pubblicamente come Llama-2 per massimizzare la trasparenza, la privacy e il controllo degli utenti e la replicabilità. Sebbene i manoscritti scientifici siano utilizzati come caso d'uso di esempio, questo approccio può essere esteso a qualsiasi fonte di dati testuali. Inoltre, vengono discussi i metodi per valutare le prestazioni del modello in seguito a questo miglioramento. Questi metodi consentono il rapido sviluppo di sistemi LLM per domini altamente specializzati, indipendentemente dalla completezza delle informazioni nel corpus di formazione.

Introduction

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

I modelli linguistici di grandi dimensioni (LLM) come ChatGPT di OpenAI o Llama di Meta AI sono diventati rapidamente una risorsa popolare per la generazione di testo pertinente a un prompt dell'utente. Originariamente funzionanti per prevedere gli elementi lessicali successivi in una sequenza, questi modelli si sono evoluti per comprendere il contesto, codificare le informazioni cliniche e dimostrare prestazioni elevate in una varietà di compiti 1,2,3,4. Sebbene i modelli linguistici precedono di decenni tali funzionalità e il loro attuale livello dipopolarità5, i recenti progressi nelle capacità di deep learning e calcolo hanno reso gli LLM commerciali pre-addestrati e di alta qualità ampiamente disponibili per gli utenti tramite tecnologie basate sul Web e interfacce di programmi applicativi (API)6. Tuttavia, ci sono diverse limitazioni notevoli all'utilizzo di LLM in questo formato.

Sfida 1: corpus di allenamento statico
Gli LLM sono addestrati su un enorme (ad esempio, due trilioni di token nel caso di Llama 27) ma statico di dati di testo. Ciò pone una sfida per la produzione di risposte accurate relative a campi in rapido sviluppo o in continua evoluzione della letteratura. In questo approccio statico, gli LLM richiederebbero frequenti riqualificazioni per stare al passo con i dati più recenti, il che non è né pratico né scalabile. Inoltre, i prompt che richiedono risposte basate su informazioni non presenti nei dati di addestramento possono impedire la generazione di testo utile o portare ad allucinazioni8. I casi di allucinazioni o di fabbricazione di fatti sollevano preoccupazioni significative sull'affidabilità degli LLM, in particolare in contesti in cui l'accuratezza delle informazioniè fondamentale.

Sfida 2: Mancanza di specificità del dominio
I modelli con training preliminare vengono spesso creati per l'uso generale, mentre gli utenti possono richiedere un modello ottimizzato in modo specifico per le prestazioni in un determinato dominio. Inoltre, le risorse computazionali e i dati necessari per l'addestramento de novo di un modello o per l'esecuzione di una messa a punto significativa sono proibitivi per molti utenti.

Sfida 3: Mancanza di privacy
Gli utenti che perseguono applicazioni che coinvolgono dati sensibili o informazioni proprietarie potrebbero non essere disposti o non essere in grado di utilizzare determinati servizi LLM poiché non dispongono di informazioni su come i dati possono essere archiviati o utilizzati.

Sfida 4: Mancanza di stabilità garantita
I servizi con LLM proprietari possono modificare i modelli disponibili o alterare il comportamento in qualsiasi momento, rendendo la stabilità un problema per l'implementazione di applicazioni che si basano su questi servizi.

La generazione aumentata dal recupero (RAG) è una tecnica sviluppata per migliorare le prestazioni dell'LLM, in particolare su query relative a informazioni al di fuori del corpus di addestramento 10,11 del modello. Questi sistemi aumentano gli LLM incorporando informazioni contestuali da considerare quando si genera una risposta a una query dell'utente. Vari lavori recenti hanno descritto le applicazioni dei sistemi RAG e i loro potenziali vantaggi 12,13,14.

L'obiettivo del metodo delineato in questo lavoro è dimostrare la costruzione di un tale sistema e fornire un quadro di riferimento per i ricercatori per sperimentare rapidamente su LLM aumentati specifici del dominio. Questo metodo è applicabile agli utenti che desiderano integrare un LLM con un'origine dati esterna basata su testo. In particolare, uno degli obiettivi generali di questo protocollo è quello di fornire un codice passo-passo che sia estendibile a una varietà di esperimenti pratici LLM e RAG senza la necessità di una significativa competenza tecnica nel dominio della modellazione del linguaggio, sebbene sia necessaria una conoscenza pratica di Python per applicare questo approccio senza modifiche. Per massimizzare il controllo dell'utente, la trasparenza, la portabilità e l'accessibilità delle soluzioni, vengono utilizzati strumenti open source disponibili pubblicamente. Il sistema proposto affronta le questioni precedentemente indicate nei seguenti modi:

Soluzioni 1 e 2: corpus di addestramento statico e mancanza di specificità del dominio
La metodologia fornita sfrutta un approccio RAG, utilizzando gli embedding per fornire informazioni specifiche del dominio non incluse nei dati di addestramento originali. A livello generale, l'incorporamento di modelli trasforma il testo o altri dati in una rappresentazione come un vettore o una matrice di numeri a dimensione singola. Questa tecnica è vantaggiosa in quanto converte le informazioni semantiche contenute nel testo in una forma densa e numerica. Proiettando una query utente nello stesso spazio di incorporamento, è possibile utilizzare vari algoritmi per calcolare la distanza15 e, quindi, la somiglianza semantica approssimativa, tra la query utente e le sezioni dei documenti di testo. Pertanto, la creazione di un database di tali vettori da documenti suddivisi in sezioni discrete può facilitare la ricerca su un numero significativo di documenti per il testo più rilevante per una query utente (Figura 1). Questo approccio è estendibile a qualsiasi documento di testo. Mentre altri approcci, come le funzionalità di ricerca online, stanno iniziando ad essere implementati per aumentare gli LLM, questo approccio consente agli utenti di scegliere fonti considerate di qualità sufficientemente elevata per il loro caso d'uso.

Soluzione 2: mancanza di privacy
In questa implementazione, è stato utilizzato un ambiente cloud sicuro per l'hosting, senza richieste dell'utente, risposte generate o altri dati che lasciano questo ecosistema. Tutto il codice è scritto in modo indipendente dalla piattaforma, tuttavia, per garantire che un altro provider cloud o hardware locale possa essere sostituito.

Soluzione 3: mancanza di stabilità garantita
Questo approccio utilizza librerie open source e si concentra sull'aumento degli LLM con pesi disponibili pubblicamente, consentendo un grado più elevato di trasparenza, stabilità e controllo delle versioni, se necessario.

Uno schema completo del sistema proposto è mostrato nella Figura 2 e le istruzioni dettagliate sulla replica di questo o di un sistema simile sono descritte nella sezione del protocollo. Un'ulteriore considerazione quando si modifica il comportamento del modello attraverso la messa a punto o l'aumento è la valutazione delle prestazioni. Nei modelli di generazione del linguaggio, questo rappresenta una sfida unica poiché molte metriche tradizionali di machine learning non sono applicabili. Sebbene esistano una varietà di tecniche16, in questo studio sono state utilizzate domande a scelta multipla (MCQ) scritte da esperti per valutare l'accuratezza e confrontare le prestazioni pre e post aumento, nonché rispetto ai popolari LLM alternativi.

Protocol

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

Nel caso d'uso dimostrato in questo articolo, l'archivio vettoriale è stato generato utilizzando le linee guida pubblicate dal Chicago Consensus Working Group17. Questo gruppo di esperti è stato istituito per sviluppare linee guida per la gestione dei tumori peritoneali. L'area tematica è stata scelta in quanto rientra nell'area di competenza clinica degli investigatori. La serie di articoli è stata consultata da archivi di riviste online tra cui Cancer e Annals of Surgical Oncology. Un modello di embedding compatto (33,4 milioni di parametri) creato dalla Beijing Academy for Artificial Intelligence (BAAI, https://www.baai.ac.cn/english.html), bge-small-en, è stato utilizzato per generare embedding da documenti di origine. Il database risultante è stato quindi utilizzato per aumentare i modelli di base Llama 2 e Open-AI7. Per comodità del lettore, il codice viene reso disponibile tramite GitHub (https://github.com/AnaiLab/AugmentedLLM). Per garantire la replicabilità, si consiglia di utilizzare le stesse versioni delle librerie utilizzate nell'elenco dei requisiti fornito, nonché la stessa versione di Python. Ulteriori dettagli sull'installazione o sulla documentazione relativa agli strumenti utilizzati nei seguenti metodi sono disponibili sui siti Web ufficiali dei fornitori per Python (https://www.python.org), git (https://git-scm.com), Llama-Index (https://llamaindex.ai) e Chroma (https://trychroma.com).

1. Prerequisiti: esaminare il codice e installare le librerie necessarie

  1. Verificare che git, python e pip siano installati.
    1. In un terminale, esegui i seguenti comandi per verificare l'installazione:
      git --versione
      python3 --version
      pip3 --versione
  2. Controllare il codice e i requisiti di installazione.
    1. In un terminale, esegui i seguenti comandi:
      Git clone https://github.com/AnaiLab/AugmentedLLM.git
      cd ./LLM AUMENTATO/

      pip3 install -r requirements.txt

2. Creazione di un database vettoriale con Llama-Index

  1. Converti i formati di file RTF (richiesto solo se i file sono in formato RTF).
    1. Modificare il file denominato config.py, sostituendo i percorsi dei file nel codice seguente con il percorso degli articoli RTF da convertire e il percorso in cui devono essere scritti i file di testo normale digitando i comandi seguenti. Salva il file.
      rtf_file_dir = './articles_rtf/'
      converted_file_dir = './articles_converted/'
    2. In un terminale, nella stessa directory, eseguire il codice per generare versioni di testo normale dei file RTF eseguendo il seguente comando:
      python3 ./convert_rtf.py
  2. Crea e salva il database vettoriale.
    1. Modificare il file config.py, sostituendo il valore della variabile seguente con il percorso del file della cartella contenente i documenti con cui si vuole aumentare l'LLM; Salvare il file.
      article_dir = './articoli/'
    2. In un terminale, nella stessa directory, eseguire il codice con il seguente comando per creare e rendere persistente il database. Verificare che il database sia ora salvato nella cartella vector_db.
      python3 ./build_index.py

3. Aumento di un modello di lama con database vettoriale generato nella sezione 2

  1. Creare un'istanza di LLM personalizzato in locale (facoltativo)
    NOTA: L'esecuzione di questo passaggio è necessaria solo se si desidera utilizzare un modello diverso dal Llama-2-7B predefinito. Se si desidera utilizzare il modello predefinito, procedere al passaggio 3.2.
    1. (Utilizzando un LLM personalizzato) Specificare un LLM da aumentare modificando run_augmented_llm.py e passando un oggetto LLM llama-index nel costruttore come parametro llm nelle righe di codice successive anziché Nessuno.
      augmentedLLM = AugmentedLLM(vector_store, llm=Nessuno)
  2. Interrogazione LLM aumentata
    1. Esegui il seguente comando nel terminale:
      python3 ./run_augmented_llm.py
    2. Esegui query utente per ottenere una risposta aumentata dai dati nel set di manoscritti (Figura 3 e Figura 4). Al termine, premere CTRL + C per uscire.

4. Confronto programmatico di LLM alternativi

  1. Creare MCQ.
    1. Modifica il file questions.py, prendendo nota del formato degli esempi. Aggiungi domande seguendo un formato simile. Salva il file.
  2. Connettiti a GPT-3.5, GPT-4, OpenChat o altri modelli di comparatori tramite API.
    1. Modifica il file config.py, aggiungendo la chiave API per OpenAI o Huggingface se l'obiettivo è confrontare i modelli di entrambi i fornitori. Salva il file.
      huggingface_key = ''
      openai_key = ''
    2. Modifica il file compare_llms.py e scegli l'insieme di modelli con cui eseguire il test rimuovendo il commento (eliminando i caratteri '# ' all'inizio di quella riga) i modelli con cui confrontare.
      NOTA: alcuni comparatori richiedono una chiave API come impostato nel passaggio 4.2.1. Inoltre, modificare il parametro output_dir per cambiare la posizione in cui viene memorizzato l'output LLM, se lo si desidera; In caso contrario, verrà utilizzato un valore predefinito.
      output_dir = './llm_responses/'
    3. In un terminale, esegui il codice con il seguente comando. Dopo l'esecuzione, visualizzare le risposte del modello nella cartella specificata nel passaggio 4.2.2 per la valutazione o un'altra revisione.
      python3 ./compare_llms.py
  3. (Facoltativo) Sperimenta la classificazione automatica delle risposte a scelta multipla. Il codice di esempio utilizza la libreria LMQL per vincolare l'output LLM in un formato previsto.
    1. Aprire il file automated_comparison.py e, analogamente al passaggio 4.2.2, rimuovere il commento dai modelli da includere, modificare la variabile output_dir o personalizzare in altro modo. Si noti che l'output del modello verrà comunque salvato in modo simile. Salva il file.
    2. Eseguire il codice del passaggio 4.3.1 eseguendo il comando seguente in un terminale:
      python3 ./automated_comparison.py

Results

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

Una serie di 22 pubblicazioni del Chicago Consensus Working Group sono state utilizzate per aumentare il modello base del Llama-7b17. I documenti sono stati convertiti in un indice vettoriale utilizzando lo strumento Llama-Index per generare Llama-2-7b-CCWG-Embed. Anche i modelli OpenAI più diffusi, come GPT-3.5 e GPT-4, sono stati aumentati in modo simile per produrre modelli GPT-XX-CCWG-Embed. Sono state sviluppate un totale di 20 domande a scelta multipla (MCQ) per valutare le conoscenze relative alla gestione di una varietà di neoplasie della superficie peritoneale. Gli MCQ sono stati creati da un oncologo chirurgico certificato per testare il livello di conoscenza che ci si aspetta da un borsista di oncologia chirurgica. Llama-2-7b-CCWG-Embed ha ottenuto risultati significativamente migliori rispetto al modello base (vedi Tabella 1), così come i modelli OpenAI aumentati. Questo è considerato un risultato positivo per questo metodo in quanto le prestazioni del modello sono state migliorate con l'aumento rispetto al basale.

figure-results-1
Figura 1: Schema di generazione di un database vettoriale da articoli accademici. Clicca qui per visualizzare una versione più grande di questa figura.

figure-results-2
Figura 2: Diagramma generale del sistema per l'LLM aumentato. Fare clic qui per visualizzare una versione più grande di questa figura.

figure-results-3
Figura 3: Modello Llama-2 aumentato in esecuzione nel terminale Linux. Clicca qui per visualizzare una versione più grande di questa figura.

figure-results-4
Figura 4: Risultato della query dal modello Llama-2 aumentato. Fare clic qui per visualizzare una versione più grande di questa figura.

LLMPunteggio (% corretto)
Llama-2-7b-chat-hf65%
Llama-2-7B-CCWG-Incorporato75%
Openchat-3.5-01061865%
Mistral-7B-v0.11970%
GPT-3.575%
GPT-3.5-CCWG-Incorporamento85%
GPT-485%
GPT-4-CCWG-Incorporamento90%

Tabella 1: Punteggi (percentuale corretta) di vari LLM su una serie di 20 domande relative alla gestione della malignità peritoneale.

Discussion

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

I metodi qui forniti mirano a facilitare la ricerca di applicazioni specifiche di dominio degli LLM senza la necessità di una formazione de novo o di un'ampia messa a punto. Poiché gli LLM stanno diventando un'area di significativo interesse per la ricerca, gli approcci per aumentare le basi di conoscenza e migliorare l'accuratezza delle risposte diventeranno sempre più importanti 18,19,20,21. Come dimostrato nei risultati forniti, il protocollo delineato offre un miglioramento delle prestazioni su domande specifiche del dominio rispetto allo stesso LLM senza aumento e si avvicina alle prestazioni di modelli più complessi come i modelli OpenAI GPT. Poiché gli LLM possono richiedere enormi risorse computazionali per generare risposte 22,23, l'aumento di un modello più semplice può fornire una strada per l'implementazione in casi d'uso con risorse limitate. Inoltre, il sistema RAG ha anche prodotto vantaggi nell'aumento di modelli ad alta complessità come quelli forniti da OpenAI. Sebbene i risultati presentati siano specifici per la gestione del cancro peritoneale, sono stati prodotti studi recenti su sistemi RAG con una varietà di fonti di dati sia per dominio che per scala, indicando l'ampia applicabilità di tali sistemi 21,24,25,26. Poiché la qualità delle risposte è strettamente correlata ai dati di testo utilizzati per l'aumento, tuttavia, è fondamentale che gli utenti considerino attentamente quali fonti siano ottimali per il loro particolare dominio e l'applicazione desiderata. Questa considerazione è di particolare importanza in settori come l'assistenza sanitaria, che è stata oggetto di particolare attenzione negli studi relativi agli LLM. L'uso di LLM per la diagnostica27,28, la corrispondenza degli studi clinici29,30 e numerose altre applicazioni sono in fase di esplorazione e richiedono risorse testuali convalidate e affidabili piuttosto che fare affidamento su corpora di formazione sconosciuti.

Le prestazioni sono state misurate in base alla percentuale corretta di MCQ scritti da un esperto in tumori peritoneali e nella loro gestione clinica. Le risposte sono state classificate come corrette o errate dalla revisione umana; tuttavia, per ridurre al minimo le attività ripetitive per i ricercatori, viene fornito un codice di base per iniziare ad avvicinarsi a un confronto più automatizzato delle prestazioni tra gli LLM.

Un vantaggio chiave di questo protocollo è il codice fornito per accedere in modo programmatico a una varietà di LLM. In precedenza, per valutare le prestazioni degli MCQ, gli utenti privi delle capacità tecniche necessarie potevano fare affidamento su test manuali ripetitivi attraverso un'interfaccia basata sul web. Il codice fornito fornisce classi di base per interfacciarsi con diversi LLM popolari insieme ad esempi di come eseguire il codice. L'obiettivo di fornire questi strumenti è quello di consentire a un maggior numero di ricercatori di passare all'automazione dei flussi di lavoro che valutano le risposte a una richiesta in una varietà di LLM, migliorando la capacità di condurre studi comparativi.

Inoltre, i metodi descritti sono progettati per enfatizzare la flessibilità e l'estensibilità. Sebbene il codice possa essere utilizzato così com'è, è scritto con l'intenzione di adattarlo ulteriormente a casi d'uso specifici, se necessario, come l'uso di diversi LLM e l'incorporamento di modelli per l'aumento o il confronto. Poiché il panorama LLM è in rapida evoluzione, questa estensibilità diventerà sempre più importante per soddisfare le diverse esigenze degli utenti in diversi domini. Inoltre, la libreria Llama-Index fornisce un numero significativo di funzionalità non utilizzate nei metodi dimostrati che possono offrire agli utenti opzioni aggiuntive durante la creazione di sistemi simili. Questi possono essere trovati nella documentazione ufficiale del Llama-Index.

I lettori dovrebbero anche considerare attentamente i metodi di valutazione ottimali per il loro caso d'uso. Sebbene gli MCQ abbiano guadagnato popolarità per i confronti LLM grazie alla loro natura facilmente quantificabile31,32, è necessario prestare attenzione nel considerarli una metrica di prestazione completa per i sistemi generativi. La letteratura recente ha implementato una vasta gamma di valutazioni, tra cui approcci qualitativi, revisione umana, Stanford Holistic Evaluation of Language Models (HELM)33 e metriche standard di elaborazione del linguaggio naturale come Bilingual Evaluation Understudy (BLEU), General Language Understanding Evaluation (GLUE), ROUGE, perplexity e punteggio F1 34,35,36,37,38,39.

Esistono limitazioni a questi metodi, come indicato qui. Ad esempio, mentre le interfacce sono state implementate per diversi fornitori leader di LLM, data la natura in rapida evoluzione di questo campo e la varietà dei casi d'uso, questa implementazione potrebbe non essere completa. Il codice, tuttavia, è stato progettato tenendo presente questo aspetto, come discusso in precedenza. Inoltre, mentre è stato fornito il codice di base per passare alla classificazione automatizzata, c'è spazio per l'espansione nell'utilizzo di strumenti alternativi per la valutazione delle risposte come HELM o BLEU. Inoltre, l'uso aggiuntivo di strumenti per vincolare l'output in base a grammatiche predefinite, come il Language Model Query Language Language (LMQL), può essere utilizzato per espandere questo lavoro e aumentare l'automazione degli studi LLM comparativi. Inoltre, data l'ampia varietà di potenziali casi d'uso, sono necessari ulteriori studi sull'effetto dei sistemi RAG sulle prestazioni generali fuori dal dominio per caratterizzare eventuali compromessi in termini di prestazioni. Infine, devono continuare a essere studiati ulteriori metodi per migliorare l'affidabilità e la valutazione delle risposte LLM.

Si noti che per motivi tecnici è richiesto python 3.10 o superiore. I prompt della shell sono scritti per bash, zsh o altri terminali UNIX-like. I comandi possono essere eseguiti (indicati come "esecuzione del comando" nel protocollo) semplicemente digitando il testo seguito dal tasto Invio. Per ogni passaggio del protocollo, un utente potrebbe voler esaminare il codice nel file in esecuzione per avere una comprensione più completa dei meccanismi alla base del flusso di lavoro.

Disclosures

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

Gli autori non hanno conflitti di interesse da dichiarare.

Acknowledgements

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

Questo lavoro è stato facilitato da diverse librerie open source, in particolare 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 versione 22.0.2 
Python versione 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