Kunstig intelligens
Et dybt dyk ned i genfindings-augmented generation i LLM

Forestil dig, at du er analytiker og har adgang til en stor sprogmodel. Du er begejstret for de muligheder, den bringer til din arbejdsgang. Men så spørger du den om de seneste aktiekurser eller den aktuelle inflation, og den rammer dig med:
"Jeg beklager, men jeg kan ikke levere data i realtid eller efter deadline. Mine seneste træningsdata går kun frem til januar 2022."
Den store sprogmodel mangler trods al deres sproglige magt evnen til at forstånu'. Og i den hurtige verden,'nu' er alting.
Forskning har vist, at store præ-trænede sprogmodeller (LLM'er) også er opbevaringssteder for faktuel viden.
De er blevet trænet i så meget data, at de har absorberet en masse fakta og tal. Når de finjusteres, kan de opnå bemærkelsesværdige resultater på en række forskellige NLP-opgaver.
Men her er hage: Deres evne til at tilgå og manipulere denne lagrede viden er til tider ikke perfekt. Især når den aktuelle opgave er videnintensiv, kan disse modeller halte bagefter mere specialiserede arkitekturer. Det er som at have et bibliotek med alle verdens bøger, men intet katalog til at finde det, du har brug for.
OpenAIs ChatGPT får en browseropgradering
OpenAIs nylige annoncering om ChatGPTs browserfunktioner er et betydeligt spring i retning af Retrieval-Augmented Generation (RAG). Med ChatGPT nu i stand til at gennemsøge internettet for aktuelle og autoritative oplysninger, afspejler det RAG's tilgang med dynamisk at trække data fra eksterne kilder for at give berigede svar.
ChatGPT kan nu surfe på internettet for at give dig aktuelle og autoritative oplysninger, komplet med direkte links til kilder. Det er ikke længere begrænset til data før september 2021. pic.twitter.com/pyj8a9HWkB
- OpenAI (@OpenAI) September 27, 2023
OpenAI planlægger snart at udrulle denne funktion til alle brugere, da den i øjeblikket er tilgængelig for Plus- og Enterprise-brugere. Brugere kan aktivere den ved at vælge 'Gennemse med Bing' under GPT-4-indstillingen.
Hurtig ingeniørarbejde er effektivt, men utilstrækkeligt
Prompter fungerer som indgangsporten til en LLM's viden. De guider modellen og giver en retning for svaret. At udarbejde en effektiv prompt er dog ikke den fulde løsning til at få det, du ønsker fra en LLM. Lad os alligevel gennemgå nogle gode fremgangsmåder, du kan overveje, når du skriver en prompt:
- KlarhedEn veldefineret prompt eliminerer tvetydighed. Den skal være ligetil og sikre, at modellen forstår brugerens intention. Denne klarhed resulterer ofte i mere sammenhængende og relevante svar.
- Kontekst: Især for omfattende input kan placeringen af instruktionen påvirke outputtet. For eksempel kan det ofte give bedre resultater at flytte instruktionen til slutningen af en lang prompt.
- Præcision i instruktionSpørgsmålets styrke, ofte formidlet gennem "hvem, hvad, hvor, hvornår, hvorfor, hvordan"-rammeværket, kan styre modellen mod et mere fokuseret svar. Derudover kan angivelse af det ønskede outputformat eller -størrelse yderligere forfine modellens output.
- Håndtering af usikkerhedDet er vigtigt at vejlede modellen i, hvordan den skal reagere, når den er usikker. For eksempel kan det at instruere modellen i at svare med "Jeg ved ikke", når den er usikker, forhindre den i at generere unøjagtige eller "hallucineret" svar.
- Trin-for-trin-tænkning: For komplekse instruktioner kan det føre til mere omfattende og præcise output at guide modellen til at tænke systematisk eller opdele opgaven i delopgaver.
I forhold til vigtigheden af prompter til at guide ChatGPT, kan en omfattende artikel findes i en artikel på Unite.ai.
Udfordringer i Generative AI-modeller
Prompt engineering involverer finjustering af de direktiver, der gives til din model, for at forbedre dens ydeevne. Det er en meget omkostningseffektiv måde at øge nøjagtigheden af din generative AI-applikation, da det kun kræver mindre kodejusteringer. Selvom prompt engineering kan forbedre output betydeligt, er det afgørende at forstå de iboende begrænsninger ved store sprogmodeller (LLM). To primære udfordringer er hallucinationer og vidensgrænser.
- Hallucinationer: Dette refererer til tilfælde, hvor modellen med sikkerhed returnerer et forkert eller opdigtet svar. Selvom avanceret LLM har indbyggede mekanismer til at genkende og undgå sådanne output.
- Viden Cut-offsEnhver LLM-model har en slutdato for træning, hvorefter den ikke er opmærksom på begivenheder eller udviklinger. Denne begrænsning betyder, at modellens viden er fastfrosset på tidspunktet for dens sidste træningsdato. For eksempel ville en model, der er trænet frem til 2022, ikke kende begivenhederne i 2023.
Genfinding-augmented generation (RAG) tilbyder en løsning på disse udfordringer. Det giver modeller adgang til ekstern information, hvilket afbøder problemer med hallucinationer ved at give adgang til proprietære eller domænespecifikke data. Ved manglende viden kan RAG få adgang til aktuelle oplysninger ud over modellens træningsdato, hvilket sikrer, at outputtet er opdateret.
Det giver også LLM mulighed for at trække data fra forskellige eksterne kilder i realtid. Dette kan være vidensbaser, databaser eller endda internettets store udstrækning.
Introduktion til Retrieval-Augmented Generation
Retrieval-augmented generation (RAG) er et framework snarere end en specifik teknologi, der gør det muligt for store sprogmodeller at udnytte data, de ikke er trænet i. Der er flere måder at implementere RAG på, og den bedste løsning afhænger af din specifikke opgave og arten af dine data.
RAG-rammen fungerer på en struktureret måde:
Prompt input
Processen begynder med en brugers input eller prompt. Dette kan være et spørgsmål eller en erklæring, der søger specifikke oplysninger.
Hentning fra eksterne kilder
I stedet for direkte at generere et svar baseret på dens træning, søger modellen ved hjælp af en retriever-komponent gennem eksterne datakilder. Disse kilder kan variere fra vidensbaser, databaser og dokumentlagre til internet-tilgængelige data.
Forståelse af hentning
I sin bund afspejler hentning en søgeoperation. Det handler om at udtrække de mest relevante oplysninger som svar på en brugers input. Denne proces kan opdeles i to faser:
- Indeksering: Den mest udfordrende del af hele RAG-rejsen er nok at indeksere din videnbase. Indekseringsprocessen kan i store træk opdeles i to faser: Indlæsning og opdeling. I værktøjer som LangChain kaldes disse processer "læssemaskiner"Og"splittere“. Indlæsere henter indhold fra forskellige kilder, det være sig websider eller PDF'er. Når de er hentet, segmenterer splitterne derefter dette indhold i små bidder, og optimerer dem til indlejring og søgning.
- Forespørger: Dette er handlingen med at udtrække de mest relevante vidensfragmenter baseret på en søgeterm.
Mens der er mange måder at nærme sig hentning på, fra simpel tekstmatchning til brug af søgemaskiner som Google, er moderne Retrieval-Augmented Generation (RAG)-systemer afhængige af semantisk søgning. Kernen i semantisk søgning ligger begrebet indlejringer.
Indlejringer er centrale for, hvordan store sprogmodeller (LLM) forstår sprog. Når mennesker forsøger at formulere, hvordan de får betydning fra ord, kredser forklaringen ofte tilbage til iboende forståelse. Dybt inde i vores kognitive strukturer erkender vi, at "barn" og "barn" er synonyme, eller at "rød" og "grøn" begge betegner farver.
Forøgelse af prompten
Den hentede information kombineres derefter med den oprindelige prompt, hvilket skaber en udvidet prompt. Denne udvidede prompt giver modellen yderligere kontekst, hvilket er særligt værdifuldt, hvis dataene er domænespecifikke eller ikke er en del af modellens oprindelige træningskorpus.
Generering af færdiggørelsen
Med den udvidede prompt i hånden genererer modellen derefter en fuldførelse eller et svar. Dette svar er ikke kun baseret på modellens træning, men er også informeret af de hentede realtidsdata.
Arkitektur af First RAG LLM
Forskningspapiret af Meta offentliggjort i 2020 "Retrieval-Augmented Generation til viden-intensive NLP-opgaver” giver et dybdegående kig på denne teknik. Retrieval-Augmented Generation-modellen udvider den traditionelle generationsproces med en ekstern genfindings- eller søgemekanisme. Dette gør det muligt for modellen at trække relevant information fra store datakorpora, hvilket forbedrer dens evne til at generere kontekstuelt nøjagtige svar.
Her er hvordan det virker:
- Parametrisk hukommelseDette er din traditionelle sprogmodel, ligesom en seq2seq-model. Den er blevet trænet på enorme mængder data og ved en masse.
- Ikke-parametrisk hukommelseTænk på dette som en søgemaskine. Det er et tæt vektorindeks af f.eks. Wikipedia, som kan tilgås ved hjælp af en neural retriever.
Når de kombineres, skaber disse to en nøjagtig model. RAG-modellen henter først relevant information fra sin ikke-parametriske hukommelse og bruger derefter sin parametriske viden til at give et sammenhængende svar.
1. To-trins proces:
RAG LLM opererer i en to-trins proces:
- Hentning: Modellen søger først efter relevante dokumenter eller passager fra et stort datasæt. Dette gøres ved hjælp af en tæt genfindingsmekanisme, som anvender indlejringer til at repræsentere både forespørgslen og dokumenterne. Indlejringerne bruges derefter til at beregne lighedsscore, og de toprangerede dokumenter hentes.
- GenerationMed de top-k relevante dokumenter i hånden kanaliseres de derefter til en sekvens-til-sekvens-generator sammen med den indledende forespørgsel. Denne generator skaber derefter det endelige output og trækker kontekst fra både forespørgslen og de hentede dokumenter.
2. Tæt hentning:
Traditionelle genfindingssystemer er ofte afhængige af sparsomme repræsentationer som TF-IDF. RAG LLM anvender dog tætte repræsentationer, hvor både forespørgslen og dokumenterne er indlejret i kontinuerlige vektorrum. Dette giver mulighed for mere nuancerede lighedssammenligninger, der fanger semantiske relationer ud over blot søgeordsmatchning.
3. Sekvens-til-sekvens-generering:
De hentede dokumenter fungerer som en udvidet kontekst for genereringsmodellen. Denne model, ofte baseret på arkitekturer som Transformers, genererer derefter det endelige output og sikrer, at det er sammenhængende og kontekstuelt relevant.
Dokumentsøgning
Dokumentindeksering og hentning
For effektiv informationssøgning, især fra store dokumenter, lagres dataene ofte i en vektordatabase. Hvert stykke data eller dokument indekseres baseret på en indlejringsvektor, som fanger indholdets semantiske essens. Effektiv indeksering sikrer hurtig genfinding af relevant information baseret på inputprompten.
Vektordatabaser

Kilde: Omfor
Vektordatabaser, nogle gange kaldet vektorlagring, er skræddersyede databaser, der er dygtige til at lagre og hente vektordata. Inden for kunstig intelligens og datalogi er vektorer i det væsentlige lister over tal, der symboliserer punkter i et multidimensionelt rum. I modsætning til traditionelle databaser, som er mere tilpasset tabeldata, skinner vektordatabaser i styring af data, der naturligt passer til et vektorformat, såsom indlejringer fra AI-modeller.
Nogle bemærkelsesværdige vektordatabaser inkluderer Annoy, Faiss af Meta, Milvusog Grankogle. Disse databaser er afgørende i AI-applikationer og hjælper med opgaver lige fra anbefalingssystemer til billedsøgninger. Platforme som AWS tilbyder også tjenester, der er skræddersyet til vektordatabasebehov, såsom Amazon OpenSearch Service og Amazon RDS til PostgreSQL. Disse tjenester er optimeret til specifikke use cases, hvilket sikrer effektiv indeksering og forespørgsel.
Chunking for relevans
Da mange dokumenter kan være omfattende, bruges ofte en teknik kendt som "chunking". Dette indebærer at nedbryde store dokumenter i mindre, semantisk sammenhængende bidder. Disse bidder indekseres derefter og hentes efter behov, hvilket sikrer, at de mest relevante dele af et dokument bruges til hurtig udvidelse.
Kontekstvindueovervejelser
Enhver LLM opererer inden for et kontekstvindue, hvilket i bund og grund er den maksimale mængde information, den kan tage højde for på én gang. Hvis eksterne datakilder leverer information, der overstiger dette vindue, skal den opdeles i mindre bidder, der passer ind i modellens kontekstvindue.
Fordele ved at bruge genfinding-augmented generation
- Forbedret nøjagtighed: Ved at udnytte eksterne datakilder kan RAG LLM generere svar, der ikke kun er baseret på dets træningsdata, men også er informeret om de mest relevante og opdaterede oplysninger, der er tilgængelige i genfindingskorpuset.
- Overvinde videnshullerRAG adresserer effektivt de iboende vidensbegrænsninger ved LLM, uanset om det skyldes modellens træningsgrænse eller fraværet af domænespecifikke data i dens træningskorpus.
- Alsidighed: RAG kan integreres med forskellige eksterne datakilder, fra proprietære databaser i en organisation til offentligt tilgængelige internetdata. Dette gør den tilpasselig til en bred vifte af applikationer og industrier.
- Reduktion af hallucinationer: En af udfordringerne med LLM er potentialet for "hallucinationer" eller generering af faktuelt ukorrekte eller opdigtede oplysninger. Ved at levere realtidsdatakontekst kan RAG reducere chancerne for sådanne output markant.
- Skalerbarhed: En af de primære fordele ved RAG LLM er dens evne til at skalere. Ved at adskille genfindings- og genereringsprocesserne kan modellen effektivt håndtere store datasæt, hvilket gør den velegnet til applikationer i den virkelige verden, hvor der er rigeligt med data.
Udfordringer og overvejelser
- Beregningsmæssig overhead: Totrinsprocessen kan være beregningsintensiv, især når der er tale om store datasæt.
- Dataafhængighed: Kvaliteten af de hentede dokumenter påvirker genereringskvaliteten direkte. Derfor er det afgørende at have et omfattende og velkurateret genfindingskorpus.
Konklusion
Ved at integrere genfindings- og genereringsprocesser tilbyder Retrieval-Augmented Generation en robust løsning på videntunge opgaver, der sikrer output, der er både informerede og kontekstuelt relevante.
RAG's virkelige løfte ligger i dets potentielle applikationer i den virkelige verden. For sektorer som sundhedspleje, hvor rettidig og nøjagtig information kan være afgørende, tilbyder RAG muligheden for problemfrit at udtrække og generere indsigt fra omfattende medicinsk litteratur. Inden for finansområdet, hvor markederne udvikler sig fra minuttet, kan RAG levere datadrevet indsigt i realtid, der hjælper med informeret beslutningstagning. Ydermere kan forskere i den akademiske verden og forskningen bruge RAG til at scanne enorme lagre af information, hvilket gør litteraturgennemgange og dataanalyse mere effektive.