Anslut dig till vÄrt nÀtverk!

Artificiell intelligens

En djupdykning i hÀmtning-augmented generation i LLM

mm
Retrieval Augmented Generation Illustration med Midjourney

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.

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.

Chatgpt Ny surffunktion

Chatgpts nya "Bing"-surffunktion

 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
Hallucinationer i LLM

Hallucinationer i LLM

  • 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.
KunskapsavgrÀnsning i LLMS

KunskapsavgrÀnsning i LLM

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:

  1. 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.
  2. 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.

Retrieval-Augmented Generation

Retrieval-Augmented Generation

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:

  1. Parametriskt minneDetta Àr din traditionella sprÄkmodell, som en seq2seq-modell. Den har trÀnats pÄ stora mÀngder data och vet mycket.
  2. 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.

RAG ORIGINAL MODELL AV META

Original RAG-modell av Meta

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

Vektor databas

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Jag har Àgnat de senaste fem Ären Ät att fördjupa mig i den fascinerande vÀrlden av Machine Learning och Deep Learning. Min passion och expertis har lett mig till att bidra till över 50 olika programvaruutvecklingsprojekt, med sÀrskilt fokus pÄ AI/ML. Min pÄgÄende nyfikenhet har ocksÄ dragit mig mot Natural Language Processing, ett omrÄde som jag Àr ivrig att utforska vidare.