Martin Sondov Hallan

Martin Sondov Hallan

Artificial Intelligence Developer / Software Developer

UTOVER GENERERING: HVORDAN RAG TRANSFORMERER DATAINNHENTING

Tenk deg en verden der kunstig intelligens ikke bare genererer innhold ut av løse luften, men også dykker dypt inn i havet av eksisterende kunnskap for å hente nøyaktig det den trenger for å svare på spørsmålene dine. Generativ AI har allerede revolusjonert fremtiden, og den er i ferd med å bli enda mer effektiv med Retrieval Augmented Generation (RAG) – teknologien som transformerer hvordan vi finner, forstår og bruker informasjon. RAG er revolusjonende for hvordan språkmodeller forstår og skaper innhold. Ved direkte å trekke fra et hav av eksisterende kunnskap kan språkmodeller som benytter RAG gi presise, relevante svar på komplekse spørsmål.

Vær i forkant av utviklingen sammen med oss

I denne bloggposten vil vi dykke inn i hvordan RAG fungerer, utforske dets potensial og se nærmere på hvordan det bygger på og utvider kapasiteten til generative AI-modeller. Videre vil vi diskutere hvorfor det er viktig for et bredt publikum å holde seg oppdatert på denne spennende teknologiske utviklingen.

RAG løfter språkmodellene til et helt nytt nivå

I en tid hvor begreper som «ChatGPT» og «språkmodeller» har blitt husstandsnavn, er det en glede å utforske og dele et relatert, men likevel distinkt konsept som tar srpåkmodeller til nye høyder: Retrieval Augmented Generation (RAG). Dette er en avansering fra den generative AI-teknologien, som mange av oss har blitt kjent med gjennom modeller som GPT (Generative Pre-trained Transformer) og LLM (Large Language Model, også kjent som språkmodeller). Vinteren 2022 ble verden blåst av gårde av de revolusjonerende evnene til språkmodellen ChatGPT. Siden den tid har generativ AI og språkmodeller blitt en del av hverdagen for mange, og fortsetter til den dag i dag å bli smartere og mer presise. Disse modellene har imponert oss med sin evne til å generere menneskelignende tekst basert på det de har lært. RAG tar språkmodeller et skritt videre ved ikke bare å generere, men også aktivt søke etter og integrere ny og relevant informasjon fra det brede spekteret av kunnskap tilgjengelig på nettet.

Forstå betydningen av Retrieval Augmented Generation (RAG)

Se for deg at du ønsker å lage en spesiell rett for første gang, si for eksempel en tradisjonell italiensk lasagne, men du er usikker på oppskriften. Du begynner prosessen med å søke etter lasagne-oppskrifter på internett, leser gjennom ulike varianter, velger ut de ingrediensene som ser mest autentiske ut, og bestemmer deg for en tilberedningsmetode basert på en kombinasjon av de forskjellige kildene du har funnet. Med denne innsamlede kunnskapen, setter du i gang med å lage lasagnen, og tilpasser oppskriften litt her og der basert på din egen smak og de ingrediensene du har tilgjengelig. På en lignende måte fungerer RAG-systemet.

Hva er Retrieval Augmented Generation (RAG)?

Retrieval Augmented Generation (RAG) er en metode for informasjonsinnhenting. Ved å «søke» gjennom store mengder data for å finne informasjon som er relevant for det spørsmålet eller emnet de er blitt bedt om å utforske. Når den relevante informasjonen er funnet, bruker RAG denne informasjonen til å «lage»- eller generere en sammenhengende og informativ tekst. Akkurat som du kombinerer ulike oppskrifter for å lage din perfekte versjon av lasagne, kombinerer RAG informasjon fra forskjellige kilder for å skape et nyttig og tilpasset svar eller innhold.

Hva består RAG-teknologien av?

RAG-teknologien kombinerer to hovedkomponenter: en retriever (søkemotor) og en generator (tekstgenererende AI). Retrieveren begynner med å utføre en søkeoppgave for å finne relevante tekstsnutter (ofte kalt dokumenter) som svarer på en gitt forespørsel. Deretter tar generatoren disse tekstsnuttene som input og skaper et sammensatt, sammenhengende svar. Dette skrittet innebærer avanserte algoritmer for tekstforståelse og -syntese, som sikrer at svaret ikke bare er relevant, men også flytende og naturlig for mennesker å lese.

«Men jeg har jo brukt chatGPT til å skrive damenes tale på julebordet, og da var den jo dødsbra. Hvorfor trenger jeg RAG?» - Alf Åge (62)

RAG bøter på feil i språkmodeller

En av de viktigste problemene å forebygge når man bygger applikasjoner som bruker generativ AI, er hallusinasjoner. Hallusinasjoner forekommer når språkmodellen prøver å gi deg et godt svar, men ikke nødvendigvis har tilgang på informasjon som er kritisk for å levere et presist svar. I slike situasjoner hender det at språkmodellene rett og slett «hallusinerer» frem et svar, der den finner på noe for å svare på spørsmålet ditt. Den lyver rett og slett.

Det er naturligvis ikke så heldig hvis en språkmodell lyver om den er en kritisk del av løsningen din. For eksempel om du integrerer en chatbot som en tjeneste for flyselskapet ditt, og den hallusinerer frem en refund-policy som ikke eksisterer, så kan du ende opp med å faktisk måtte betale refusjonen. Dette er jo heldigvis bare et morsomt tilfelle, men det er et godt eksempel på at man må ha innsikt i implementasjonen sin og skape et trygt rammeverk for å forhindre hallusinasjoner.

Bruksområder for RAG

RAG representerer mer enn bare en ny teknologi; det bygger på den allerede banebrytende revolusjonsvaken av generativ AI og utnytter den stadig voksende verdenen av digital informasjon. For IT-konsulentbedrifter representerer dette en enestående mulighet til å skille seg ut og tilby verdifulle, tidsriktige løsninger. Navnet til RAG gir oss allerede litt innsikt i teknologiens kjerne, så det er lurt å huske at styrkene til RAG er retrieval (innhenting av data) og generering (skapelse fra data).

La oss se på noen muligheter for hvordan RAG kan transformere tjenester og prosesser, både internt og hos kunder.

Hente nøyaktig informasjon og data

Med evnen til å dykke dypt inn i det digitale informasjonshavet for å hente nøyaktig og relevant kunnskap, endrer RAG fundamentalt hvordan Q&A-systemer fungerer. Dette åpner for muligheten til å tilby kundene lynraske og presise svar på deres tekniske spørsmål, noe som igjen forbedrer kundeopplevelsen betydelig. Med RAG kan man tilby robuste og intelligente Q&A-systemer for klientene sine. Tenk på en helpdesk-løsning som ikke bare svarer på vanlige IT-spørsmål med uovertruffen presisjon, men som kontinuerlig lærer og oppdaterer seg selv med den siste teknologiske utviklingen. Ved å utnytte RAG sitt grunnlag for å ikke oppgi feilaktig informasjon, kan man sikre at ende-brukere alltid har tilgang til de mest nøyaktige og relevante svarene, som øyeblikkelig forbedrer av brukeropplevelsen og effektiviteten.

Forvandle data til verdifull innsikt

I takt med at digitale datastrømmer vokser eksponentielt, står bedrifter overfor utfordringen med å gjøre denne informasjonen om til verdifull innsikt. Tradisjonelle analyseteknikker, som ofte involverer manuell gransking av omfattende datasett eller komplekse spørrespråk, kan være tidkrevende og til tider overveldende. Her åpner RAG for en ny æra av dataforståelse og beslutningsstøtte.

Illustrasjon: Her hjelper RAG deg i en tidkrevende oppgave

Forestille deg en situasjon hvor du, istedenfor å grave deg ned i uendelige Excel-ark med komplekse formler og makroer, kan spørre en RAG-drevet LLM (Language and Learning Model) om å trekke ut de mest relevante innsiktene fra dine datasett. Ved å formulere naturlige språkspørsmål, kan du motta konsise sammendrag, trendanalyser og forslag til strategiske beslutninger basert på dataene dine.

En slik RAG-assistent kan også spille en avgjørende rolle i prosjektstyring og samarbeid, særlig i komplekse IT-prosjekter der koordinering og kommunikasjon er nøkkelen til suksess. Med prosjekter som ofte involverer tverrfaglige team spredt over ulike geografiske lokasjoner, kan utfordringene med å holde alle oppdatert og på samme side være betydelige. Her kan RAG bidra til å transformere måten prosjektinformasjon blir håndtert og delt, eller RAG kan bidra med innsikt i prosjektets flaskehalser og veidumper.

Tekniske utfordringer knyttet til RAG

Bruk av RAG introduserer spesifikke tekniske utfordringer, som å balansere granulariteten av informasjon og unngå misledende svar fra AI-modeller. Forståelse og håndtering av disse er kritisk for å utnytte RAGs fulle potensial.

Granularitet: Nøyaktighet av data 

Et av de største utfordringene man møter med RAG er å finne rett balanse i granulariteten av informasjon som hentes. Granulariteten refererer til detaljnivået på dataen som hentes eller behandles. Når vi snakker om dette i konteksten av RAG, så refererer vi til størrelsen og omfanget av tekstblokker («chunks») som modellen henter fra kunnskapsbasen sin, og som er kilden til innholdet i responsen. Granulariteten her kan variere fra veldig fine detaljer (f.eks. en setning eller en liten paragraf) til mer grove detaljer (f.eks. et helt avsnitt eller til og med en hel artikkel). For fin granularitet kan føre til at viktig kontekst mistes, mens for grov granularitet kan føre til at overvelde genereringsmodellen med irrelevant informasjon.

Løsninger

Prosessen av å finne riktig balanse i granularitet er utfordrende, men også helt essensiell for at genereringsmodellen har det riktige perspektivet for å finne hva den leter etter. En effektiv løsning er å justere «chunk»-størrelsen dynamisk, basert på forespørselen («prompten») til brukeren.

En annen løsning kan være «Propositions», som presentert i Chen et. Al sin vitenskapelige artikkel om Dense Retrieval. Ved å bruke proposition-tilnærmingen i dense retrieval, blir et stort corpus (samlingen av innhentet tekstdata) systematisk delt inn i mindre, mer håndterbare og mer relevante biter ved hjelp av avanserte teknikker for språkprosessering. Disse bitene representerer selvstendige enheter av informasjon som hver uttrykker et distinkt fakta eller en idé i en kortfattet form. Etter at tekstcorpuset er blitt delt inn i propositions, blir de indeksert i en søkbar database, som lar retrieval systemet effektivt søke gjennom og hente de propositionene som best matcher forespørselen.

Hallusinasjoner: Misledende AI-modeller

Et annet stort problem i generative AI-modeller er de tidligere nevnte hallusinasjonene. Selv om rett balanse i granularitet bidrar til mindre hallusinasjoner i seg selv, kan modellene fortsatt bli misledet av den hentede informasjonen i komplekse RAG-systemer. For å takle dette, kan man innføre ytterligere trinn for validering. Det som er fint med generative AI-modeller, er at de er så versatile. Vi kan inkludere en modell som står for kryss-sjekking av informasjonen som hentes mot flere kilder og bruk av moduler for faktasjekking integrert i RAG-arkitekturen. Ved å implementere disse modulene reduserer vi ikke antallet hallusinasjoner som oppstår, men vi reduserer antall hallusinasjoner som kommer gjennom som et svar til brukeren.

Effektiviteten av datasøk, særlig når det gjelder store datamengder, er kritisk for ytelsen til RAG-systemer. Det er ingen som liker å vente lenge på responsen, så brukeropplevelsen blir for dårlig om datasøket ikke er håndtert korrekt. Implementering av effektive indekserings- og søkealgoritmer kan forbedre søkehastigheten betydelig. Bruk av distribuert databaser og caching av ofte innhentet informasjon kan også bidra til å redusere søketiden, og bidrar også til faktasjekking av svar.

Vi oppfordrer deg til å utforske mulighetene med RAG

Teknologien utvikler seg raskere enn noen gang, og RAG er intet unntak. Det som i dag står som en banebrytende innovasjon, kan raskt bli morgendagens norm. For bedrifter og teknologientusiaster er det derfor avgjørende å ikke bare forstå RAGs nåværende kapabiliteter, men også å holde seg informert om de kontinuerlige fremskrittene som utvikles. RAG er allerede en effektiv teknikk for å bedre ytelse og sikre svar i språkmodeller, men det er ingenting som står i veien for å bruke denne teknikken i andre felter innenfor generativ AI.

RAG bidrar til flere kreative løsninger i mange bransjer

Når vi tar i bruk RAG for visuelt innhold og andre områder utenfor tekst, åpner vi dører for nye måter å være kreative og nyskapende på. Dette gir designere, analytikere, markedsførere, og mange andre fagfolk nye verktøy for å formidle idéer og informasjon på måter som engasjerer, informerer og inspirerer på dypt personlige nivåer. Denne tverrfaglige anvendelsen av RAG vil utvilsomt åpne for nye perspektiver på problemløsning.

Skap konkurransefortrinn med kunstig intelligens

 


Kilder

Air-Canada sin chatbot incident:
Airline held liable for its chatbot giving passenger bad advice - what this means for travellers - BBC Travel

Benchmarking Large Language Models in Retrieval Augmented Generation
[2309.01431] Benchmarking Large Language Models in Retrieval-Augmented Generation (arxiv.org)

Survey of hallucinations in Natural Language Generation
[2202.03629] Survey of Hallucination in Natural Language Generation (arxiv.org)

Dense X Retrieval: What Retrieval Granularity Should We Use?
[2312.06648] Dense X Retrieval: What Retrieval Granularity Should We Use? (arxiv.org)

About this author

Martin Sondov Hallan

Martin Sondov Hallan

Artificial Intelligence Developer / Software Developer

Martin is a developer with broad insight in the field of Artificial Intelligence. He has worked on projects that apply a varied specter of AI techniques and technologies for different purposes and spends a lot of his time researching and staying up to date with ...