Vad är ökning av hämtningsgenerering (RAG)?

Alan Zeichick | Teknisk innehållsstrateg | 19 september 2023

Generativ artificiell intelligens (AI) är utmärkt för att skapa textsvar baserat på stora språkmodeller (LLM:er) där AI tränas på ett stort antal datapunkter. Den goda nyheten är att den genererade texten ofta är lätt att läsa och ger detaljerade svar som är allmänt tillämpliga på de frågor som ställs av programvaran, ofta kallade prompt.

Den dåliga nyheten är att den information som används för att generera svaret är begränsad till den information som används för att träna AI, vilket ofta är en generaliserad LLM. LLM:s data kan vara inaktuella i veckor, månader eller år och i en AI-chattrobot för företag kanske den inte innehåller specifik information om organisationens produkter eller tjänster. Det kan leda till felaktiga svar som minskar förtroendet för tekniken bland kunder och anställda.

Vad är ökning av hämtningsgenerering (RAG)?

Det är där ökning av hämtningsgenerering (RAG) kommer in. RAG erbjuder ett sätt att optimera resultatet av en LLM med riktad information utan att ändra den underliggande modellen i sig. Den riktade information kan vara mer aktuell än LLM och specifik för en viss organisation och bransch. Det innebär att det generativa AI-systemet kan ge mer kontextuellt lämpliga svar på frågor samt basera svaren på extremt aktuella data.

RAG uppmärksammades först av generativa AI-utvecklare efter publiceringen av ”Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks”, en rapport från 2020 publicerad av Patrick Lewis och ett team på Facebook AI Research. Konceptet RAG har omfattats av många akademiska forskare och branschforskare, som ser det som ett sätt att avsevärt förbättra värdet av generativa AI-system.

En förklaring till ökning av hämtningsgenerering

Tänk på en sportliga som vill att fans och media ska kunna använda en chatt för att komma åt sina data och svara på frågor om spelare, lag, sportens historia och regler samt aktuell statistik och placering. En generaliserad LLM kan svara på frågor om historia och regler, eller kanske beskriva ett visst lags arena. Den skulle inte kunna diskutera gårdagens match eller ge aktuell information om en viss idrottares skada eftersom LLM inte skulle ha den informationen. Dessutom är de inte möjligt att hålla LLM-modellen uppdaterad eftersom det krävs betydande datorkraft för att omskola den.

Förutom den stora, ganska statiska LLM:en, äger eller har sportligan ligan tillgång till många andra informationskällor, inklusive databaser, datalager, dokument som innehåller spelarbiografier och nyhetsflöden som diskuterar varje match på djupet. Med RAG kan den generativa AI:n ta del av den här informationen. Nu kan chatten ge information som är mer aktuell, mer kontextuellt lämplig och mer exakt.

Enkelt uttryckt hjälper RAG LLM:er att ge bättre svar.

Viktiga lärdomar

  • RAG är en relativt ny teknik för artificiell intelligens som kan förbättra kvaliteten på generativ AI genom att låta stora språkmodeller (LLM:er) utnyttja ytterligare dataresurser utan omskolning.
  • RAG-modellerna bygger kunskapsdatalager baserat på organisationens egna data och datalagren kan uppdateras kontinuerligt för att hjälpa generativ AI:n att ge aktuella och kontextuella svar.
  • Chattrobotar och andra konversationssystem som använder bearbetning av naturligt språk kan dra stor nytta av RAG och generativ AI.
  • För att genomföra RAG krävs teknik som vektordatabaser, vilket möjliggör snabb kodning av nya data och söker efter dessa data för att mata in dem i LLM.

Hur fungerar ökning av hämtningsgenerering?

Tänk på all information som en organisation har – strukturerade databaser, ostrukturerade PDF-filer och andra dokument, bloggar, nyhetsflöden och chattavskrifter från tidigare kundtjänstsessioner. I RAG översätts denna stora mängd dynamiska data till ett gemensamt format och lagras i ett kunskapsbibliotek som är tillgängligt för det generativa AI-systemet.

Data i det kunskapsbiblioteket bearbetas sedan till numeriska representationer med hjälp av en speciell typ av algoritm som kallas en inbäddad språkmodell och lagras i en vektordatabas, som snabbt kan sökas och användas för att hämta rätt kontextuell information.

RAG och stora språkmodeller (LLM:er)

Låt oss säga att en slutanvändare skickar generativa AI-systemet en specifik fråga, till exempel, ”Var kommer kvällens match spelas, vem startar och vad säger reportrar om lagen?” Frågan omvandlas till en vektor och används för att söka efter vektordatabasen som i sin tur hämtar information relevant för frågans sammanhang. Den kontextuella informationen plus den ursprungliga uppmaningen matas sedan in i LLM som genererar ett textsvar baserat på både sin något inaktuella generaliserade kunskap och den mycket aktuella kontextuella informationen.

Intressant nog är processen att träna den generaliserade LLM:en tidskrävande och kostsam, medan uppdateringar av RAG-modellen är precis tvärtom. Nya data kan laddas i den inbäddade språkmodellen och översättas till vektorer på en kontinuerlig och inkrementell basis. Faktum är att svaren från hela det generativa AI-systemet kan återföras RAG-modellen, vilket förbättrar dess prestanda och noggrannhet eftersom det i själva verket vet hur det redan har svarat på en liknande fråga.

En ytterligare fördel med RAG är att med hjälp av vektordatabasen kan den generativa AI:n tillhandahålla den specifika datakällan som citeras i svaret – något som LLM inte kan göra. Om det finns en felaktighet i den generativa AI: s utdata kan det dokument som innehåller den felaktiga informationen snabbt identifieras och korrigeras. Därefter kan den korrigerade informationen matas in i vektordatabasen.

Kort sagt ger RAG generativ AI aktualitet, sammanhang och precision grundad på bevis, vilket går utöver vad LLM själv kan erbjuda.

Ökning av hämtningsgenerering kontra semantisk sökning

RAG är inte den enda tekniken som används för att förbättra noggrannheten hos LLM-baserad generativ AI. En annan teknik är semantisk sökning som hjälper AI-systemet att begränsa betydelsen av en fråga genom att söka djup förståelse för specifika ord och fraser i prompten.

Traditionell sökning är inriktad på nyckelord. Om man till exempel ställer en grundläggande fråga om trädarter i Frankrike kan AI-systemet söka i databasen med ”träd” och ”Frankrike” som nyckelord och hitta data som innehåller båda nyckelorden. Men systemet kanske inte riktigt förstår innebörden av träd i Frankrike och kan därför hämta för mycket information, för lite, eller till och med fel information. Den nyckelordsbaserade sökningen kan också sakna information eftersom nyckelordssökningen är alltför bokstavlig: Träden som är växer i Normandy kan missas, även om de finns i Frankrike, eftersom det nyckelordet saknades.

Semantisk sökning går längre än nyckelordssökning genom att fastställa innebörden av frågor och källdokument samt använda den innebörden för att hämta mer exakta resultat. Semantisk sökning är en integrerad del av RAG.

Använda RAG i chattprogram

När en person vill ha ett omedelbart svar på en fråga är det svårt att slå omedelbarheten och användbarheten hos en chattrobot. De flesta botar tränas på ett begränsat antal avsikter – det vill säga kundens önskade uppgifter eller resultat – och därefter svarar de på dessa avsikter. RAG-funktionerna kan göra befintliga robotar bättre genom att låta AI-systemet ge naturliga svar på frågor som inte finns i avsiktslistan.

Paradigmet ”ställa en fråga, få ett svar” gör chattrobotar till ett perfekt användningsfall för generativ AI av många skäl. Frågor kräver ofta en viss kontext för att generera ett exakt svar och med tanke på att chattrobotanvändare ofta har höga förväntningar på relevans och precision, är det tydligt hur RAG-tekniker kan tillämpas. För många organisationer kan chattrobotar faktiskt vara startpunkten för RAG och generativ AI-användning.

Frågor kräver ofta specifika sammanhang för att kunna ge ett exakt svar. Kundfrågor om en nyligen introducerad produkt är till exempel inte användbara om uppgifterna avser den tidigare modellen och de kan i själva verket vara missvisande. Och en vandrare som vill veta om en park är öppen på söndag förväntar sig aktuell och korrekt information om parken i fråga på det specifika datumet.

Fördelar med ökning av hämtningsgenerering

RAG-tekniker kan användas för att förbättra kvaliteten på ett generativt AI-systems svar på frågor, utöver vad en LLM kan leverera på egen hand. Exempel på fördelar är:

  • RAG har tillgång till information som kan vara färskare än de data som används för att utbilda LLM.
  • Data i RAG:s kunskapsdatalager kan uppdateras kontinuerligt utan att det medför betydande kostnader.
  • RAG:s kunskapslager kan innehålla data som är mer kontextuella än data i en generell LLM.
  • Källan till informationen i RAG:s vektordatabas kan identifieras. Och eftersom datakällorna är kända kan felaktig information i RAG korrigeras eller tas bort.

Utmaningar med ökning av hämtningsgenerering

Eftersom RAG är en relativt ny teknik, som först föreslogs 2020, håller AI-utvecklare fortfarande på att lära sig hur man bäst implementera sina mekanismer för informationshämtning i generativ AI. Några stora utmaningar är

  • Förbättra organisationens kunskaper och förståelse för RAG eftersom det är så nytt
  • Ökade kostnader: Medan generativ AI med RAG blir dyrare att implementera än en LLM på egen hand, är denna metod mindre kostsam än att regelbundet omskola själva LLM:en
  • Fastställa hur strukturerade och ostrukturerade data bäst ska modelleras i kunskapsbiblioteket och vektordatabasen
  • Utveckla krav för en process för att stegvis mata in data till RAG-systemet
  • Införande av processer för att hantera rapporter om felaktigheter och korrigera eller radera dessa informationskällor i RAG-systemet

Exempel på ökning av hämtningsgenerering

Det finns många möjliga exempel på generativ AI som kompletteras med RAG.

Cohere, som är ledande inom generativ AI och RAG, har skrivit om en chattbot som kan ge kontextuell information om ett semesterboende på Kanarieöarna, inklusive faktabaserade svar om strandtillgänglighet, badvakter på närliggande stränder och om det finns volleybollplaner inom gångavstånd.

Oracle har beskrivit andra användningsfall för RAG, t.ex. analyser av ekonomiska rapporter, hjälp med upptäckt av gas och olja, granskning av avskrifter från kundmöten i callcenter och sökning i medicinska databaser för relevanta forskningsartiklar.

Framtiden för ökning av hämtningsgenerering

Än så länge, i de tidiga faserna av RAG, används tekniken för att ge korrekta och kontextuella svar på frågor i rätt tid. Dessa användningsfall är lämpliga för chattrobotar, e-post, textmeddelanden och andra konversationsapplikationer.

I framtiden skulle RAG-tekniken kunna användas för att hjälpa generativ AI att vidta lämpliga åtgärder baserat på kontextuell information och användarfrågor. Ett RAG-augmenterat AI-system kan t.ex. identifiera den högst rankade semesterbostaden på Kanarieöarna och sedan inleda bokning en av en stuga med två sovrum inom gångavstånd från stranden under en volleybollturnering.

RAG kan också hjälpa till med mer sofistikerade frågeställningar. I dag kan generativ AI berätta för en anställd om företagets policy för återbetalning av studieavgifter. RAG kan lägga till mer kontextuella data för att informera den anställda om vilka närliggande skolor som har kurser som passar in i den policyn och kanske rekommendera program som passar den anställdes arbete eller tidigare utbildning. Den till och med kanske hjälpa till att söka dessa program och starta en begäran om återbetalning.

Generativ AI med Oracle

Oracle erbjuder en mängd avancerade molnbaserade AI-tjänster, inklusive OCI Generative AI-tjänsten som körs på Oracle Cloud Infrastructure (OCI). Oracles erbjudanden omfattar robusta modeller baserat på organisationens unika data och branschkunskap. Kunddata delas inte med LLM-leverantörer och ses inte heller av andra kunder. Dessutom kan anpassade modeller som tränas med kunddata bara användas av den kunden.

Oracle integrerar dessutom generativ AI i sitt breda utbud av molnapplikationer och generativa AI-funktioner är tillgängliga för utvecklare som använder OCI och dess databasportfölj. Oracles AI-tjänster erbjuder dessutom förutsägbara resultat och priser med hjälp av AI-kluster med en enda klient som är dedikerade till din användning.

Kraften och kapaciteten hos LLM:er och generativ AI är allmänt känd och förstådd och de har varit föremål för hissnande nyhetsrubriker för det senaste året. Ökning av hämtningsgenerering bygger på fördelarna med LLM:er genom att göra dem mer aktuella, mer exakta och mer kontextuella. För affärsapplikationer av generativ AI är RAG en viktig teknik att bevaka, studera och testa.

Vad är det som gör Oracle bäst lämpat för generativ AI?

Oracle erbjuder en modern dataplattform och en AI-infrastruktur med hög prestanda till låg kostnad. Ytterligare faktorer som kraftfulla högpresterande modeller, oöverträffad datasäkerhet och inbäddade AI-tjänster, visar varför Oracles AI-produkt verkligen är byggd för företag.

Vanliga frågor om ökning av hämtningsgenerering

Är RAG samma som generativ AI?

Nej. Ökning av hämtningsgenerering är en teknik som kan ge mer exakta resultat till frågor än en generativ stor språkmodell på egen hand eftersom RAG använder kunskap utanför data som redan finns i LLM.

Vilken typ av information används i RAG?

RAG kan införliva data från många källor, såsom relationsdatabaser, ostrukturerade dokumentdatalager, internetdataströmmar, nyhetsflöden i media, ljudutskrifter och transaktionsloggar.

Hur använder generativ AI RAG?

Data från ett företags datakällor är inbäddade i ett kunskapsdatalager och omvandlas sedan till vektorer som lagras i en vektordatabas. När en slutanvändare gör en fråga hämtar vektordatabasen relevant kontextuell information. Den kontextuella informationen, tillsammans med frågan, skickas till den stora språkmodellen som använder kontexten för att skapa ett mer aktuellt, korrekt och kontextuellt svar.

Kan en RAG citera referenser för de data som den hämtar?

Ja. De vektordatabaser och kunskapsdatalager som används av RAG innehåller specifik information om informationskällorna. Detta innebär att källor kan citeras och om det finns ett fel i någon av dessa källor kan det snabbt korrigeras eller raderas så att efterföljande frågor inte returnerar den felaktiga informationen.