Methodenartikel

Uitbreiding van grote taalmodellen via vectorinbeddingen om de domeinspecifieke responsiviteit te verbeteren

DOI:

10.3791/66796

6 december 2024

In dit artikel

Samenvatting

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

In dit protocol wordt de responskwaliteit van het grote taalmodel van de stichting verbeterd via uitbreiding met peer-reviewed, domeinspecifieke wetenschappelijke artikelen via een vectorinbeddingsmechanisme. Daarnaast wordt code verstrekt om te helpen bij het vergelijken van prestaties tussen grote taalmodellen.

Samenvatting

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

Grote taalmodellen (LLM's) zijn naar voren gekomen als een populaire bron voor het genereren van informatie die relevant is voor een zoekopdracht van een gebruiker. Dergelijke modellen worden gemaakt door middel van een resource-intensief trainingsproces waarbij gebruik wordt gemaakt van een uitgebreid, statisch corpus van tekstuele gegevens. Dit statische karakter resulteert in beperkingen voor adoptie in domeinen met snel veranderende kennis, bedrijfseigen informatie en gevoelige gegevens. In dit werk worden methoden geschetst voor het uitbreiden van LLM's voor algemeen gebruik, bekend als stichtingsmodellen, met domeinspecifieke informatie met behulp van een op embeddingen gebaseerde benadering voor het opnemen van up-to-date, peer-reviewed wetenschappelijke manuscripten. Dit wordt bereikt door middel van open-source tools zoals Llama-Index en openbaar beschikbare modellen zoals Llama-2 om de transparantie, privacy en controle van gebruikers en reproduceerbaarheid te maximaliseren. Hoewel wetenschappelijke manuscripten worden gebruikt als een voorbeeld van een use case, kan deze aanpak worden uitgebreid naar elke tekstgegevensbron. Daarnaast worden methoden besproken voor het evalueren van de prestaties van het model na deze verbetering. Deze methoden maken de snelle ontwikkeling van LLM-systemen mogelijk voor zeer gespecialiseerde domeinen, ongeacht de volledigheid van de informatie in het opleidingscorpus.

Inleiding

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

Grote taalmodellen (LLM's) zoals OpenAI's ChatGPT of Meta AI's Llama zijn snel een populaire bron geworden voor het genereren van tekst die relevant is voor een gebruikersprompt. Oorspronkelijk functioneerden deze modellen om de volgende lexicale items in een reeks te voorspellen, maar ze zijn geëvolueerd om de context te begrijpen, klinische informatie te coderen en hoge prestaties te demonstreren op een verscheidenheid aan taken 1,2,3,4. Hoewel taalmodellen tientallen jaren ouder zijn dan dergelijke mogelijkheden en hun huidige populariteitsniveau5, hebben recente ontwikkelingen op het gebied van deep learning en computermogelijkheden ervoor gezorgd dat vooraf getrainde, hoogwaardige commerciële LLM's op grote schaal beschikbaar zijn voor gebruikers via webgebaseerde technologieën en application program interfaces (API's)6. Er zijn echter verschillende opmerkelijke beperkingen aan het consumeren van LLM's in dit formaat.

Uitdaging 1: Statisch trainingscorpus
LLM's zijn getraind op een enorme (bijvoorbeeld twee biljoen tokens in het geval van Llama 27) maar statische tekstgegevens. Dit vormt een uitdaging voor het produceren van nauwkeurige antwoorden met betrekking tot vakgebieden die een snelle ontwikkeling doormaken of veranderende literatuur. In deze statische aanpak zouden LLM's regelmatig moeten worden bijgeschoold om bij te blijven met de nieuwste gegevens, wat noch praktisch noch schaalbaar is. Bovendien kunnen prompts die antwoorden vereisen op basis van informatie die niet in de trainingsgegevens aanwezig is, het genereren van nuttige tekst verhinderen of tot hallucinaties leiden8. Gevallen van hallucinaties of het fabriceren van feiten geven aanleiding tot grote bezorgdheid over de betrouwbaarheid van LLM's, met name in omgevingen waar de nauwkeurigheid van informatie van cruciaal belang is9.

Uitdaging 2: Gebrek aan domeinspecificiteit
Vooraf getrainde modellen worden vaak gemaakt voor algemeen gebruik, terwijl gebruikers mogelijk een model nodig hebben dat specifiek is geoptimaliseerd voor prestaties in een bepaald domein. Bovendien zijn de rekenkracht en gegevens die nodig zijn voor het de novo trainen van een model of het uitvoeren van aanzienlijke fine-tuning voor veel gebruikers onbetaalbaar.

Uitdaging 3: Gebrek aan privacy
Gebruikers die toepassingen nastreven met gevoelige gegevens of bedrijfseigen informatie, zijn mogelijk niet bereid of niet in staat om bepaalde LLM-services te gebruiken, omdat ze geen informatie hebben over hoe gegevens kunnen worden opgeslagen of gebruikt.

Uitdaging 4: Gebrek aan gegarandeerde stabiliteit
Services met propriëtaire LLM's kunnen op elk moment beschikbare modellen wijzigen of gedrag veranderen, waardoor stabiliteit een punt van zorg wordt voor de implementatie van applicaties die afhankelijk zijn van deze services.

Retrieval-augmented generation (RAG) is een techniek die is ontwikkeld om LLM-prestaties te verbeteren, met name bij query's met betrekking tot informatie buiten het trainingscorpus10,11 van het model. Deze systemen versterken LLM's door contextuele informatie op te nemen waarmee rekening moet worden gehouden bij het genereren van een antwoord op een vraag van een gebruiker. In verschillende recente werken zijn de toepassingen van RAG-systemen en hun potentiële voordelen beschreven 12,13,14.

Het doel van de methode die in dit werk wordt beschreven, is om de constructie van een dergelijk systeem te demonstreren en een kader te bieden voor onderzoekers om snel te experimenteren met domeinspecifieke, augmented LLM's. Deze methode is van toepassing op gebruikers die een LLM willen uitbreiden met een externe, op tekst gebaseerde gegevensbron. Een overkoepelend doel van dit protocol is met name het leveren van stapsgewijze code die uitbreidbaar is voor een verscheidenheid aan praktische LLM- en RAG-experimenten zonder dat er aanzienlijke technische expertise op het gebied van taalmodellering nodig is, hoewel een praktische kennis van Python vereist is om deze aanpak zonder wijzigingen toe te passen. Om gebruikerscontrole, transparantie, draagbaarheid en betaalbaarheid van oplossingen te maximaliseren, worden open-source, openbaar beschikbare tools gebruikt. Het voorgestelde systeem pakt de eerder genoemde problemen op de volgende manieren aan:

Oplossingen 1 en 2: Statisch trainingscorpus en gebrek aan domeinspecificiteit
De aangeboden methodologie maakt gebruik van een RAG-aanpak, waarbij gebruik wordt gemaakt van inbeddingen om domeinspecifieke informatie te leveren die niet in de oorspronkelijke trainingsgegevens is opgenomen. Op een hoog niveau transformeren inbeddingsmodellen tekst of andere gegevens in een weergave als een vector of een eendimensionale matrix van getallen. Deze techniek is nuttig omdat het semantische informatie in tekst omzet in een dichte, numerieke vorm. Door een gebruikersquery in dezelfde inbeddingsruimte te projecteren, kunnen verschillende algoritmen worden gebruikt om de afstand15 te berekenen, en dus bij benadering semantische gelijkenis, tussen de gebruikersquery en secties van tekstdocumenten. Het maken van een database van dergelijke vectoren uit documenten die zijn opgedeeld in afzonderlijke secties kan het dus gemakkelijker maken om in een aanzienlijk aantal documenten te zoeken naar tekst die het meest relevant is voor een gebruikerszoekopdracht (Figuur 1). Deze aanpak is uitbreidbaar naar elk tekstdocument. Terwijl andere benaderingen, zoals online zoekmogelijkheden, beginnen te worden geïmplementeerd om LLM's te verbeteren, stelt deze aanpak gebruikers in staat om bronnen te kiezen die als voldoende hoogwaardig worden beschouwd voor hun gebruikssituatie.

Oplossing 2: Gebrek aan privacy
In deze implementatie werd een veilige cloudomgeving gebruikt voor hosting, zonder gebruikersprompts, gegenereerde antwoorden of andere gegevens die dit ecosysteem verlieten. Alle code is echter op een platformonafhankelijke manier geschreven om ervoor te zorgen dat een andere cloudprovider of lokale hardware kan worden vervangen.

Oplossing 3: Gebrek aan gegarandeerde stabiliteit
Deze aanpak maakt gebruik van open-sourcebibliotheken en richt zich op het uitbreiden van LLM's met openbaar beschikbare gewichten, waardoor een hogere mate van transparantie, stabiliteit en versiebeheer mogelijk is, indien nodig.

Een volledig schema van ons voorgestelde systeem wordt weergegeven in figuur 2, en gedetailleerde instructies voor het repliceren van dit of een vergelijkbaar systeem worden uiteengezet in het protocolgedeelte. Een extra overweging bij het veranderen van modelgedrag door middel van fine-tuning of augmentatie is de evaluatie van de prestaties. In taalgenererende modellen vormt dit een unieke uitdaging, aangezien veel traditionele machine learning-metrieken niet van toepassing zijn. Hoewel er een verscheidenheid aan technieken bestaat16, werden in deze studie door experts geschreven meerkeuzevragen (MCQ's) gebruikt om de nauwkeurigheid te beoordelen en de prestaties voor en na de augmentatie te vergelijken, evenals met populaire alternatieve LLM's.

Protocol

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

In de use case die in dit artikel wordt gedemonstreerd, is de vectoropslag gegenereerd met behulp van gepubliceerde richtlijnen van de Chicago Consensus Working Group17. Deze expertgroep is opgericht om richtlijnen te ontwikkelen voor de behandeling van peritoneale kankers. Het vakgebied is gekozen omdat het binnen het gebied van klinische expertise van de onderzoekers valt. De reeks artikelen was toegankelijk via online tijdschriften, waaronder Cancer en de Annals of Surgical Oncology. Een compact (33,4 miljoen parameters) inbeddingsmodel gemaakt door de Beijing Academy for Artificial Intelligence (BAAI, https://www.baai.ac.cn/english.html), bge-small-en, werd gebruikt om inbeddingen te genereren uit brondocumenten. De resulterende database werd vervolgens gebruikt om Llama 2 en Open-AI foundationmodellen7 uit te breiden. Voor het gemak van de lezer wordt de code beschikbaar gesteld via GitHub (https://github.com/AnaiLab/AugmentedLLM). Om de reproduceerbaarheid te garanderen, wordt aanbevolen om dezelfde versies van bibliotheken te gebruiken die worden gebruikt in de lijst met vereisten, evenals dezelfde versie van Python. Aanvullende informatie over installatie of documentatie met betrekking tot tools die in de volgende methoden worden gebruikt, is te vinden op de officiële websites van de providers voor Python (https://www.python.org), git (https://git-scm.com), Llama-Index (https://llamaindex.ai) en Chroma (https://trychroma.com).

1. Vereisten: Controleer de code en installeer de vereiste bibliotheken

  1. Controleer of git, python en pip zijn geïnstalleerd.
    1. Voer in een terminal de volgende opdrachten uit om de installatie te controleren:
      git --versie
      python3 --versie
      pip3 --versie
  2. Controleer de code en installatievereisten.
    1. Voer in een terminal de volgende opdrachten uit:
      Git kloon https://github.com/AnaiLab/AugmentedLLM.git
      cd ./AugmentedLLM/

      pip3 installeren -r requirements.txt

2. Creatie van een vectordatabase met Llama-Index

  1. Converteer RTF-bestandsindelingen (alleen vereist als bestanden in een RTF-indeling zijn).
    1. Bewerk het bestand met de titel config.py en vervang de bestandspaden in de volgende code door de locatie van de RTF-artikelen die moeten worden geconverteerd en de locatie waarnaar de platte tekstbestanden moeten worden geschreven door de volgende opdrachten te typen. Sla het bestand op.
      rtf_file_dir = './articles_rtf/'
      converted_file_dir = './articles_converted/'
    2. Voer in een terminal, in dezelfde map, de code uit om platte tekstversies van RTF-bestanden te genereren door de volgende opdracht uit te voeren:
      python3 ./convert_rtf.py
  2. Maak de vectordatabase en sla deze op.
    1. Bewerk het config.py bestand en vervang de waarde van de volgende variabele door het bestandspad van de map met documenten waarmee de LLM moet worden uitgebreid; Sla het bestand op.
      article_dir = './artikelen/'
    2. Voer in een terminal, in dezelfde map, de code uit met de volgende opdracht om de database te maken en te behouden. Controleer of de database nu is opgeslagen in de map vector_db.
      python3 ./build_index.py

3. Uitbreiding van een Lama-model met vectordatabase gegenereerd in sectie 2

  1. Aangepaste LLM lokaal instantiëren (optioneel)
    OPMERKING: Het uitvoeren van deze stap is alleen vereist als u een ander model wilt gebruiken dan de standaard Lama-2-7B. Als u het standaardmodel wilt gebruiken, gaat u verder met stap 3.2.
    1. (Met behulp van een aangepaste LLM) Geef een LLM op die u wilt uitbreiden door run_augmented_llm.py te bewerken en een llama-index LLM-object in de constructor door te geven als de llm-parameter in de volgende coderegels in plaats van Geen.
      augmentedLLM = AugmentedLLM(vector_store, llm=Geen)
  2. Query augmented LLM
    1. Voer de volgende opdracht uit in de terminal:
      python3 ./run_augmented_llm.py
    2. Voer gebruikersquery's uit om een antwoord te krijgen dat wordt aangevuld met gegevens in de set manuscripten (Afbeelding 3 en Afbeelding 4). Druk op CTRL + C om af te sluiten wanneer u klaar bent.

4. Programmatische vergelijking van alternatieve LLM's

  1. Maak MCQ's.
    1. Bewerk het bestand questions.py en let op het formaat van de voorbeelden. Voeg vragen toe volgens een vergelijkbare indeling. Sla het bestand op.
  2. Maak via API verbinding met GPT-3.5, GPT-4, OpenChat of andere vergelijkingsmodellen.
    1. Bewerk het config.py bestand en voeg de API-sleutel voor OpenAI of Huggingface toe als het doel is om te benchmarken met modellen van beide providers. Sla het bestand op.
      huggingface_key = ''
      openai_key = ''
    2. Bewerk het compare_llms.py bestand en kies de set modellen waarmee u wilt testen door de modellen waarmee u wilt vergelijken (de '# '-tekens verwijderen bij het smeken van die regel) te verwijderen (door de '#'-tekens te verwijderen).
      OPMERKING: Sommige vergelijkers vereisen een API-sleutel zoals ingesteld in stap 4.2.1. Bewerk bovendien de output_dir-parameter om te wijzigen waar LLM-uitvoer wordt opgeslagen, indien gewenst; anders wordt een standaard gebruikt.
      output_dir = './llm_responses/'
    3. Voer in een terminal de code uit met het volgende commando. Bekijk na uitvoering de modelantwoorden in de map die is opgegeven in stap 4.2.2 voor beoordeling of andere beoordeling.
      python3 ./compare_llms.py
  3. (Optioneel) Experimenteer met geautomatiseerde beoordeling van meerkeuzevragen. De voorbeeldcode maakt gebruik van de LMQL-bibliotheek om LLM-uitvoer te beperken tot een verwacht formaat.
    1. Open het bestand automated_comparison.py en net als bij stap 4.2.2, verwijder de opmerkingen van modellen die moeten worden opgenomen, bewerk de output_dir variabele of pas op een andere manier aan. Houd er rekening mee dat de modeluitvoer nog steeds op dezelfde manier wordt opgeslagen. Sla het bestand op.
    2. Voer de code uit stap 4.3.1 uit door de volgende opdracht in een terminal uit te voeren:
      python3 ./automated_comparison.py

Resultaten

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

Een set van 22 publicaties van de managementrichtlijnen van de Chicago Consensus Working Group werd gebruikt om het basismodel Llama-7b17 uit te breiden. De documenten werden omgezet in een vectorindex met behulp van de tool Llama-Index om Llama-2-7b-CCWG-Embed te genereren. Populaire OpenAI-modellen zoals GPT-3.5 en GPT-4 werden ook op een vergelijkbare manier uitgebreid om GPT-XX-CCWG-Embed-modellen te produceren. Er werden in totaal 20 meerkeuzevragen (MCQ) ontwikkeld om de kennis met betrekking tot de behandeling van verschillende maligniteiten van het peritoneale oppervlak te beoordelen. De MCQ's zijn gemaakt door een board-gecertificeerde chirurgische oncoloog om te testen op het kennisniveau dat van een chirurgisch oncologie-fellow wordt verwacht. Lama-2-7b-CCWG-Embed presteerde significant beter dan het basismodel (zie Tabel 1), net als verbeterde OpenAI-modellen. Dit wordt beschouwd als een positief resultaat voor deze methode, aangezien de prestaties van het model zijn verbeterd met augmentatie in vergelijking met de uitgangswaarde.

figure-results-1
Figuur 1: Schema voor het genereren van een vectordatabase uit academische papers. Klik hier om een grotere versie van deze figuur te bekijken.

figure-results-2
Figuur 2: Algemeen systeemdiagram voor augmented LLM. Klik hier om een grotere versie van deze figuur te bekijken.

figure-results-3
Figuur 3: Augmented Llama-2 model draaiend in Linux terminal. Klik hier om een grotere versie van deze figuur te bekijken.

figure-results-4
Figuur 4: Query resultaat van augmented Llama-2 model. Klik hier om een grotere versie van deze figuur te bekijken.

LLMScore (% correct)
Lama-2-7b-chat-hf65%
Lama-2-7b-CCWG-insluiten75%
Openchat-3.5-01061865%
Mistral-7B-v0.11970%
GPT-3.575%
GPT-3.5-CCWG-Insluiten85%
GPT-485%
GPT-4-CCWG-Insluiten90%

Tabel 1: Scores (percentage correct) van verschillende LLM's op een set van 20 vragen met betrekking tot de behandeling van peritoneale maligniteiten.

Discussie

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

De hier aangeboden methoden zijn bedoeld om het onderzoek naar domeinspecifieke toepassingen van LLM's te vergemakkelijken zonder de noodzaak van de novo training of uitgebreide verfijning. Aangezien LLM's een gebied van aanzienlijke onderzoeksinteresse worden, zullen benaderingen voor het vergroten van kennisbases en het verbeteren van de nauwkeurigheid van antwoorden steeds belangrijker worden 18,19,20,21. Zoals aangetoond in de verstrekte resultaten, biedt het geschetste protocol verbetering van de prestaties op domeinspecifieke vragen in vergelijking met dezelfde LLM zonder augmentatie en benadert het de prestaties van complexere modellen zoals OpenAI GPT-modellen. Aangezien LLM's enorme rekenkracht kunnen vereisen om antwoordente genereren 22,23, kan het uitbreiden van een eenvoudiger model een weg bieden voor implementatie in gebruiksscenario's met beperkte middelen. Bovendien leverde het RAG-systeem ook voordelen op bij het uitbreiden van modellen met een hoge complexiteit, zoals die van OpenAI. Hoewel de gepresenteerde resultaten specifiek zijn voor de behandeling van peritoneale kanker, zijn er recente studies naar RAG-systemen geproduceerd met een verscheidenheid aan gegevensbronnen van zowel het domein als de schaal, wat wijst op de brede toepasbaarheid van dergelijke systemen 21,24,25,26. Aangezien de kwaliteit van de antwoorden nauw verband houdt met de tekstgegevens die worden gebruikt voor augmentatie, is het echter van cruciaal belang dat gebruikers zorgvuldig overwegen welke bronnen optimaal zijn voor hun specifieke domein en gewenste toepassing. Deze overweging is van bijzonder belang in domeinen zoals de gezondheidszorg, waar bijzondere aandacht aan is besteed in LLM-gerelateerde studies. LLM-gebruik voor diagnostiek27,28, matching van klinische proeven29,30 en tal van andere toepassingen worden onderzocht en vereisen gevalideerde, betrouwbare tekstbronnen in plaats van te vertrouwen op onbekende trainingscorpora.

De prestaties werden gemeten aan de hand van het percentage correcte MCQ's geschreven door een expert op het gebied van peritoneale kankers en hun klinische behandeling. Antwoorden werden door menselijke beoordeling als correct of onjuist geclassificeerd; om repetitieve taken voor onderzoekers tot een minimum te beperken, wordt echter basiscode verstrekt om te beginnen met het benaderen van een meer geautomatiseerde vergelijking van de prestaties van LLM's.

Een belangrijk voordeel van dit protocol is de meegeleverde code om programmatisch toegang te krijgen tot een verscheidenheid aan LLM's. Voorheen konden gebruikers zonder de vereiste technische mogelijkheden nodig hebben om de prestaties van MCQ's te beoordelen, afhankelijk van repetitieve handmatige tests via een webgebaseerde interface. De meegeleverde code geeft basisklassen om te communiceren met verschillende populaire LLM's, samen met voorbeelden van hoe de code moet worden uitgevoerd. Het doel van het verstrekken van deze tools is om meer onderzoekers in staat te stellen over te stappen op het automatiseren van workflows die reacties op een prompt in verschillende LLM's beoordelen, waardoor het vermogen om vergelijkende studies uit te voeren wordt verbeterd.

Bovendien zijn de geschetste methoden ontworpen om de nadruk te leggen op flexibiliteit en uitbreidbaarheid. Hoewel code kan worden gebruikt zoals het is, is het geschreven met de bedoeling om indien nodig verder aan te passen aan specifieke gebruiksscenario's, zoals het gebruik van verschillende LLM's en het insluiten van modellen voor augmentatie of vergelijking. Aangezien het LLM-landschap snel evolueert, zal deze uitbreidbaarheid steeds belangrijker worden om te voldoen aan de uiteenlopende behoeften van gebruikers in verschillende domeinen. Bovendien biedt de Llama-Index-bibliotheek een aanzienlijk aantal functies die niet worden gebruikt in de gedemonstreerde methoden, waardoor gebruikers extra opties kunnen krijgen bij het maken van vergelijkbare systemen. Deze zijn te vinden in de officiële documentatie van de Llama-Index.

Lezers moeten ook zorgvuldig evaluatiemethoden overwegen die optimaal zijn voor hun gebruiksscenario. Hoewel MCQ's aan populariteit hebben gewonnen voor LLM-vergelijkingen vanwege hun gemakkelijk kwantificeerbare aard31,32, moet voorzichtigheid worden betracht bij het beschouwen ervan als een uitgebreide prestatiemaatstaf voor generatieve systemen. Recente literatuur heeft een breed scala aan evaluaties geïmplementeerd, waaronder kwalitatieve benaderingen, menselijke beoordeling, Stanford Holistic Evaluation of Language Models (HELM)33 en standaard metrieken voor natuurlijke taalverwerking zoals Bilingual Evaluation Understudy (BLEU), General Language Understanding Evaluation (GLUE), ROUGE, perplexity en F1-score 34,35,36,37,38,39.

Er zijn beperkingen aan deze methoden, zoals hier wordt beschreven. Hoewel er bijvoorbeeld interfaces zijn geïmplementeerd voor verschillende toonaangevende LLM-aanbieders, is deze implementatie mogelijk niet alomvattend, gezien de snel evoluerende aard van dit vakgebied en hoe gevarieerd de gebruiksscenario's ook kunnen zijn. De code is echter ontworpen met dit in gedachten, zoals eerder besproken. Hoewel er basiscode werd verstrekt om over te stappen op geautomatiseerde beoordeling, is er ruimte voor uitbreiding naar het gebruik van alternatieve tools voor het beoordelen van antwoorden, zoals HELM of BLEU. Verder kan aanvullend gebruik van tools om de output te beperken op basis van vooraf gedefinieerde grammatica's, zoals Language model query language (LMQL), worden gebruikt om dit werk uit te breiden en de automatisering van vergelijkende LLM-studies te vergroten. Gezien de grote verscheidenheid aan mogelijke gebruiksscenario's is bovendien verder onderzoek nodig naar het effect van RAG-systemen op algemene, niet-domein-prestaties om eventuele prestatie-trade-offs te karakteriseren. Ten slotte moeten aanvullende methoden voor het verbeteren van de betrouwbaarheid en evaluatie van LLM-antwoorden verder worden onderzocht.

Merk op dat om technische redenen python 3.10 of hoger vereist is. Shell-prompts worden geschreven voor bash, zsh of andere UNIX-achtige terminals. Commando's kunnen worden uitgevoerd (in het protocol 'running the command' genoemd) door simpelweg de tekst te typen, gevolgd door de Return-toets. Voor elke stap in het protocol kan een gebruiker de code in het bestand dat wordt uitgevoerd willen onderzoeken om een beter begrip te krijgen van de mechanica achter de workflow.

Openbaarmakingen

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

De auteurs hebben geen belangenconflicten te melden.

Dankbetuigingen

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

Dit werk werd mogelijk gemaakt door verschillende open-sourcebibliotheken, met name lama-index (https://www.llamaindex.ai/), ChromaDB (https://www.trychroma.com/) en LMQL (https://lmql.ai/).

Materialen

Lijst van materialen gebruikt in dit artikel
NaamBedrijfCatalogusnummerOpmerkingen
pip3 versie 22.0.2 
Python versie 3.10.12

Referenties

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

Herprints en machtigingen

Toestemming aanvragen om de tekst of afbeeldingen van dit JoVE-artikel te hergebruiken

Toestemming aanvragen

Trefwoorden

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

Gerelateerde artikelen