$$\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.