Artificiell intelligens
En djupdykning i hÀmtning-augmented generation i LLM

TÀnk dig att du Àr analytiker och har tillgÄng till en stor sprÄkmodell. Du Àr entusiastisk över de möjligheter den ger ditt arbetsflöde. Men sÄ frÄgar du den om de senaste aktiekurserna eller den aktuella inflationstakten, och den trÀffar dig med:
âJag Ă€r ledsen, men jag kan inte tillhandahĂ„lla data i realtid eller efter grĂ€nsen. Mina senaste trĂ€ningsdata gĂ€ller bara fram till januari 2022.â
Stora sprÄkmodeller, trots all sin sprÄkliga kraft, saknar förmÄgan att förstÄnu'. Och i den snabba vÀrlden, 'nu' Àr allt.
Forskning har visat att stora förtrÀnade sprÄkmodeller (LLM) ocksÄ Àr arkiv för faktakunskap.
De har trÀnats pÄ sÄ mycket data att de har absorberat en mÀngd fakta och siffror. NÀr de finjusteras kan de uppnÄ anmÀrkningsvÀrda resultat pÄ en mÀngd olika NLP-uppgifter.
Men hÀr Àr haken: deras förmÄga att komma Ät och manipulera denna lagrade kunskap Àr ibland inte perfekt. Speciellt nÀr uppgiften Àr kunskapsintensiv kan dessa modeller halka efter mer specialiserade arkitekturer. Det Àr som att ha ett bibliotek med alla böcker i vÀrlden, men ingen katalog för att hitta det du behöver.
OpenAIs ChatGPT fÄr en uppgradering av webblÀsarfunktionen
OpenAIs nyliga tillkÀnnagivande om ChatGPT:s webblÀsarfunktioner Àr ett betydande steg i riktning mot Retrieval-Augmented Generation (RAG). Med ChatGPT som nu kan söka igenom internet efter aktuell och auktoritativ information, speglar det RAG:s tillvÀgagÄngssÀtt att dynamiskt hÀmta data frÄn externa kÀllor för att ge berikade svar.
ChatGPT kan nu surfa pÄ internet för att förse dig med aktuell och auktoritativ information, komplett med direktlÀnkar till kÀllor. Det Àr inte lÀngre begrÀnsat till datum före september 2021. pic.twitter.com/pyj8a9HWkB
- OpenAI (@OpenAI) September 27, 2023
OpenAI planerar att lansera funktionen för alla anvÀndare inom kort, och den Àr för nÀrvarande tillgÀnglig för Plus- och Enterprise-anvÀndare. AnvÀndare kan aktivera den genom att vÀlja "BlÀddra med Bing" under alternativet GPT-4.
Snabb ingenjörskonst Àr effektivt men otillrÀckligt
Uppmaningar fungerar som en inkörsport till en juridiklÀrares kunskap. De vÀgleder modellen och ger en riktning för svaret. Att utforma en effektiv uppmaning Àr dock inte den fullstÀndiga lösningen för att fÄ det man vill ha frÄn en juridiklÀrare. LÄt oss ÀndÄ gÄ igenom nÄgra goda exempel att tÀnka pÄ nÀr man skriver en uppmaning:
- KlarhetEn vÀldefinierad prompt eliminerar tvetydighet. Den bör vara enkel och sÀkerstÀller att modellen förstÄr anvÀndarens avsikt. Denna tydlighet leder ofta till mer sammanhÀngande och relevanta svar.
- Sammanhang: Speciellt för omfattande ingÄngar kan placeringen av instruktionen pÄverka utmatningen. Att flytta instruktionen till slutet av en lÄng prompt kan till exempel ofta ge bÀttre resultat.
- Precision i instruktionFrÄgans kraft, ofta förmedlad genom ramverket "vem, vad, var, nÀr, varför, hur", kan vÀgleda modellen mot ett mer fokuserat svar. Dessutom kan angivande av önskat utdataformat eller storlek ytterligare förfina modellens utdata.
- Hantera osÀkerhetDet Àr viktigt att vÀgleda modellen i hur den ska reagera nÀr den Àr osÀker. Att till exempel instruera modellen att svara med "Jag vet inte" nÀr den Àr osÀker kan förhindra att den genererar felaktiga eller "hallucinerad" svar.
- Steg-för-steg-tÀnkande: För komplexa instruktioner kan vÀgledning av modellen att tÀnka systematiskt eller dela upp uppgiften i deluppgifter leda till mer omfattande och korrekta utdata.
I relation till vikten av uppmaningar för att vÀgleda ChatGPT, kan en omfattande artikel hittas i en artikel pÄ Unite.ai.
Utmaningar i generativa AI-modeller
Prompt engineering innebĂ€r att finjustera direktiven som ges till din modell för att förbĂ€ttra dess prestanda. Det Ă€r ett mycket kostnadseffektivt sĂ€tt att öka noggrannheten i din generativa AI-applikation, vilket endast krĂ€ver mindre kodjusteringar. Ăven om prompt engineering kan förbĂ€ttra resultaten avsevĂ€rt Ă€r det avgörande att förstĂ„ de inneboende begrĂ€nsningarna hos stora sprĂ„kmodeller (LLM). TvĂ„ primĂ€ra utmaningar Ă€r hallucinationer och kunskapsgrĂ€nser.
- Hallucinationer: Detta hĂ€nvisar till fall dĂ€r modellen med sĂ€kerhet returnerar ett felaktigt eller tillverkat svar. Ăven om avancerad LLM har inbyggda mekanismer för att kĂ€nna igen och undvika sĂ„dana utdata.
- KunskapsgrÀnserVarje LLM-modell har ett slutdatum för trÀningen, efter vilket den inte Àr medveten om hÀndelser eller utvecklingar. Denna begrÀnsning innebÀr att modellens kunskap fryses vid tidpunkten för dess senaste trÀningsdatum. Till exempel skulle en modell som trÀnats fram till 2022 inte kÀnna till hÀndelserna 2023.
HÀmtningsförstÀrkt generation (RAG) erbjuder en lösning pÄ dessa utmaningar. Det gör det möjligt för modeller att fÄ tillgÄng till extern information, vilket mildrar problem med hallucinationer genom att ge tillgÄng till proprietÀra eller domÀnspecifika data. För kunskapsbrister kan RAG fÄ tillgÄng till aktuell information bortom modellens trÀningsdatum, vilket sÀkerstÀller att utdata Àr uppdaterade.
Det gör ocksÄ att LLM kan hÀmta data frÄn olika externa kÀllor i realtid. Detta kan vara kunskapsbaser, databaser eller till och med internets stora vidd.
Introduktion till Retrieval-Augmented Generation
Retrieval-Augmented Generation (RAG) Àr ett ramverk, snarare Àn en specifik teknik, som gör det möjligt för stora sprÄkmodeller att utnyttja data som de inte har trÀnats pÄ. Det finns flera sÀtt att implementera RAG, och den bÀsta lösningen beror pÄ din specifika uppgift och dina datas natur.
RAG-ramverket fungerar pÄ ett strukturerat sÀtt:
Snabbinmatning
Processen börjar med en anvÀndares inmatning eller uppmaning. Detta kan vara en frÄga eller ett pÄstÄende som söker specifik information.
HÀmtning frÄn externa kÀllor
IstÀllet för att direkt generera ett svar baserat pÄ sin trÀning söker modellen, med hjÀlp av en retrieverkomponent, igenom externa datakÀllor. Dessa kÀllor kan strÀcka sig frÄn kunskapsbaser, databaser och dokumentarkiv till internettillgÀnglig data.
FörstÄ hÀmtning
I grund och botten speglar sökandet en sökoperation. Det handlar om att extrahera den mest relevanta informationen som svar pÄ en anvÀndares inmatning. Denna process kan delas upp i tvÄ steg:
- Indexering: Förmodligen Àr den mest utmanande delen av hela RAG-resan att indexera din kunskapsbas. Indexeringsprocessen kan grovt delas in i tvÄ faser: laddning och splittring. I verktyg som LangChain kallas dessa processer "avlastning"Och"splitters". Laddare hÀmtar innehÄll frÄn olika kÀllor, oavsett om det Àr webbsidor eller PDF-filer. NÀr de har hÀmtats segmenterar de sedan detta innehÄll i lagom stora bitar och optimerar dem för inbÀddning och sökning.
- att frÄga: Detta Àr handlingen att extrahera de mest relevanta kunskapsfragmenten baserat pÄ en sökterm.
Ăven om det finns mĂ„nga sĂ€tt att nĂ€rma sig hĂ€mtning, frĂ„n enkel textmatchning till att anvĂ€nda sökmotorer som Google, Ă€r moderna RAG-system (Retrieval-Augmented Generation) beroende av semantisk sökning. I hjĂ€rtat av semantiskt sökande ligger konceptet med inbĂ€ddningar.
InbÀddningar Àr centrala för hur stora sprÄkmodeller (LLM) förstÄr sprÄk. NÀr mÀnniskor försöker artikulera hur de hÀrleder mening frÄn ord, cirklar förklaringen ofta tillbaka till inneboende förstÄelse. Djupt inom vÄra kognitiva strukturer inser vi att "barn" och "barn" Àr synonyma, eller att "rött" och "grönt" bÄda betecknar fÀrger.
FörstÀrka uppmaningen
Den hÀmtade informationen kombineras sedan med den ursprungliga prompten, vilket skapar en utökad eller utökad prompt. Denna utökade prompt ger modellen ytterligare kontext, vilket Àr sÀrskilt vÀrdefullt om informationen Àr domÀnspecifik eller inte ingÄr i modellens ursprungliga trÀningsdatabas.
Genererar avslutningen
Med den utökade prompten i handen genererar modellen sedan ett kompletterande svar. Detta svar baseras inte bara pÄ modellens trÀning utan informeras ocksÄ av de realtidsdata som hÀmtas.
Arkitektur av First RAG LLM
Forskningsartikeln av Meta publicerad 2020 "Retrieval-Augmented Generation för kunskapsintensiva NLP-uppgifterâ ger en djupgĂ„ende titt pĂ„ denna teknik. Retrieval-Augmented Generation-modellen utökar den traditionella generationsprocessen med en extern hĂ€mtning eller sökmekanism. Detta gör att modellen kan hĂ€mta relevant information frĂ„n stora datakorpora, vilket förbĂ€ttrar dess förmĂ„ga att generera kontextuellt korrekta svar.
SÄhÀr fungerar det:
- Parametriskt minneDetta Àr din traditionella sprÄkmodell, som en seq2seq-modell. Den har trÀnats pÄ stora mÀngder data och vet mycket.
- Icke-parametriskt minneTÀnk pÄ detta som en sökmotor. Det Àr ett tÀtt vektorindex av, sÀg, Wikipedia, som kan nÄs med hjÀlp av en neural hÀmtningsenhet.
NÀr de kombineras skapar dessa tvÄ en exakt modell. RAG-modellen hÀmtar först relevant information frÄn sitt icke-parametriska minne och anvÀnder sedan sin parametriska kunskap för att ge ett sammanhÀngande svar.
1. TvÄstegsprocess:
RAG LLM fungerar i en tvÄstegsprocess:
- hÀmtning: Modellen söker först efter relevanta dokument eller passager frÄn en stor datamÀngd. Detta görs med hjÀlp av en tÀt hÀmtningsmekanism, som anvÀnder inbÀddningar för att representera bÄde frÄgan och dokumenten. InbÀddningarna anvÀnds sedan för att berÀkna likhetspoÀng och de högst rankade dokumenten hÀmtas.
- GenerationMed de k mest relevanta dokumenten i handen kanaliseras de sedan till en sekvens-till-sekvens-generator tillsammans med den initiala frÄgan. Denna generator skapar sedan den slutliga utdata och hÀmtar kontext frÄn bÄde frÄgan och de hÀmtade dokumenten.
2. TÀt hÀmtning:
Traditionella hÀmtningssystem förlitar sig ofta pÄ glesa representationer som TF-IDF. RAG LLM anvÀnder dock tÀta representationer, dÀr bÄde frÄgan och dokumenten Àr inbÀddade i kontinuerliga vektorutrymmen. Detta möjliggör mer nyanserade likhetsjÀmförelser och fÄngar semantiska relationer bortom bara sökordsmatchning.
3. Sekvens-till-sekvensgenerering:
De hÀmtade dokumenten fungerar som ett utökat sammanhang för genereringsmodellen. Denna modell, ofta baserad pÄ arkitekturer som Transformers, genererar sedan den slutliga utdata, vilket sÀkerstÀller att den Àr sammanhÀngande och kontextuellt relevant.
Dokumentsökning
Indexering och hÀmtning av dokument
För effektiv informationssökning, sÀrskilt frÄn stora dokument, lagras data ofta i en vektordatabas. Varje bit data eller dokument indexeras baserat pÄ en inbÀddningsvektor, som fÄngar innehÄllets semantiska vÀsen. Effektiv indexering sÀkerstÀller snabb hÀmtning av relevant information baserat pÄ inmatningsuppmaningen.
Vektordatabaser

KĂ€lla: Redis
Vektordatabaser, ibland kallade vektorlagring, Àr skrÀddarsydda databaser som Àr skickliga pÄ att lagra och hÀmta vektordata. Inom AI och datavetenskap Àr vektorer i huvudsak listor över siffror som symboliserar punkter i ett flerdimensionellt utrymme. Till skillnad frÄn traditionella databaser, som Àr mer anpassade till tabelldata, lyser vektordatabaser i att hantera data som naturligt passar ett vektorformat, sÄsom inbÀddningar frÄn AI-modeller.
NÄgra anmÀrkningsvÀrda vektordatabaser inkluderar Annoy, Faiss av Meta, Milvusoch Pinecone. Dessa databaser Àr centrala i AI-applikationer och hjÀlper till med uppgifter som strÀcker sig frÄn rekommendationssystem till bildsökningar. Plattformar som AWS erbjuder ocksÄ tjÀnster skrÀddarsydda för vektordatabasbehov, sÄsom Amazon OpenSearch Service och Amazon RDS för PostgreSQL. Dessa tjÀnster Àr optimerade för specifika anvÀndningsfall, vilket sÀkerstÀller effektiv indexering och sökning.
Chunking för relevans
Med tanke pÄ att mÄnga dokument kan vara omfattande, anvÀnds ofta en teknik som kallas "chunking". Detta innebÀr att bryta ner stora dokument i mindre, semantiskt sammanhÀngande bitar. Dessa bitar indexeras sedan och hÀmtas vid behov, vilket sÀkerstÀller att de mest relevanta delarna av ett dokument anvÀnds för snabb förstÀrkning.
ĂvervĂ€ganden i sammanhangsfönster
Varje LLM arbetar inom ett kontextfönster, vilket i huvudsak Àr den maximala mÀngd information den kan beakta samtidigt. Om externa datakÀllor tillhandahÄller information som överskrider detta fönster mÄste den delas upp i mindre bitar som passar in i modellens kontextfönster.
Fördelar med att anvÀnda Retrieval-Augmented Generation
- FörbÀttrad noggrannhet: Genom att utnyttja externa datakÀllor kan RAG LLM generera svar som inte bara Àr baserade pÄ dess trÀningsdata utan ocksÄ informeras av den mest relevanta och aktuella informationen som finns tillgÀnglig i hÀmtningskorpusen.
- Att övervinna kunskapsluckorRAG adresserar effektivt de inneboende kunskapsbegrÀnsningarna hos LLM, oavsett om det beror pÄ modellens trÀningsgrÀns eller avsaknaden av domÀnspecifik data i dess trÀningssamling.
- MÄngsidighet: RAG kan integreras med olika externa datakÀllor, frÄn egna databaser inom en organisation till allmÀnt tillgÀnglig internetdata. Detta gör den anpassningsbar till ett brett spektrum av applikationer och industrier.
- Minska hallucinationer: En av utmaningarna med LLM Àr potentialen för "hallucinationer" eller generering av faktiskt felaktig eller tillverkad information. Genom att tillhandahÄlla realtidsdatakontext kan RAG avsevÀrt minska chanserna för sÄdana utdata.
- Skalbarhet: En av de frÀmsta fördelarna med RAG LLM Àr dess förmÄga att skala. Genom att separera hÀmtnings- och genereringsprocesserna kan modellen effektivt hantera stora datamÀngder, vilket gör den lÀmplig för verkliga applikationer dÀr data finns i överflöd.
Utmaningar och övervÀganden
- BerÀkningsoverhead: TvÄstegsprocessen kan vara berÀkningsintensiv, speciellt nÀr man hanterar stora datamÀngder.
- Databeroende: Kvaliteten pÄ de hÀmtade dokumenten pÄverkar direkt genereringskvaliteten. DÀrför Àr det avgörande att ha en omfattande och vÀlkurerad hÀmtningskorpus.
Slutsats
Genom att integrera hÀmtnings- och genereringsprocesser erbjuder Retrieval-Augmented Generation en robust lösning för kunskapsintensiva uppgifter, vilket sÀkerstÀller utdata som Àr bÄde informerade och kontextuellt relevanta.
Det verkliga löftet med RAG ligger i dess potentiella verkliga tillÀmpningar. För sektorer som sjukvÄrd, dÀr aktuell och korrekt information kan vara avgörande, erbjuder RAG möjligheten att extrahera och generera insikter frÄn omfattande medicinsk litteratur sömlöst. Inom finansomrÄdet, dÀr marknaderna utvecklas för varje minut, kan RAG tillhandahÄlla datadrivna insikter i realtid, vilket hjÀlper till med vÀlgrundat beslutsfattande. Vidare, inom akademi och forskning, kan forskare utnyttja RAG för att skanna stora arkiv med information, vilket gör litteraturgenomgÄngar och dataanalys mer effektiva.