AI-modeller og plattformer
Forbedring av gjenvinningsspråkmodeller: Selvresonnement og adaptiv forsterkning for konversasjonssystemer

Av
Aayush Mittal Mittal
Store språkmodeller har ofte vanskeligheter med å levere presise og aktuelle opplysninger, særlig i komplekse kunnskapsbaserte oppgaver. For å overvinne disse hindrene, undersøker forskere metoder for å forbedre disse modellene ved å integrere dem med eksterne datakilder.
To nye tilnærminger som har oppstått i dette feltet er selvresonnement-rammer og adaptiv gjenvinning-forsterket generering for konversasjonssystemer. I denne artikkelen vil vi dykke dypt inn i disse innovative teknikkene og utforske hvordan de skyver grensene for hva som er mulig med språkmodeller.
Løftene og fallgruvene med gjenvinningsspråkmodeller
La oss forstå konseptet om gjenvinningsspråkmodeller (RALM). Kjerneideen bak RALM er å kombinere den enorme kunnskapen og språkforståelsen til forhånds-trente språkmodeller med evnen til å aksessere og inkorporere eksterne, oppdaterte opplysninger under inferens.
Her er en enkel illustrasjon av hvordan en grunnleggende RALM kan fungere:
- En bruker stiller et spørsmål: “Hva var utfallet av OL 2024?”
- Systemet henter relevante dokumenter fra en ekstern kunnskapsbase.
- LLM prosesserer spørsmålet sammen med den hentede informasjonen.
- Modellen genererer et svar basert på både dens interne kunnskap og den eksterne data.
Dette tilnærmingen har vist stor løfte i å forbedre nøyaktigheten og relevansen av LLM-utdata, særlig for oppgaver som krever tilgang til aktuelle informasjon eller domenespesifikk kunnskap. Men RALM er ikke uten utfordringer. To nøkkelproblemer som forskere har kjempet med er:
- Pålitelighet: Hvordan kan vi sikre at den hentede informasjonen er relevant og nyttig?
- Sporbarhet: Hvordan kan vi gjøre modellens resonnementprosess mer gjennomsiktig og verifiserbar?
Ny forskning har foreslått innovative løsninger på disse utfordringene, som vi vil utforske i dybden.
Selvresonnement: Forbedring av RALM med eksplisitte resonnementstrajektorier
Dette er arkitekturen og prosessen bak gjenvinningsspråkmodeller, med fokus på en ramme kalt Selvresonnement. Denne tilnærmingen bruker trajektorier for å forbedre modellens evne til å resonnere over hentede dokumenter.
Når et spørsmål stilles, hentes relevante dokumenter og prosesseres gjennom en rekke resonnementstrinn. Selvresonnement-mekanismen anvender bevis- og trajektoranalyseprosesser for å filtrere og syntetisere informasjon før generering av det endelige svaret. Denne metoden forbedrer ikke bare nøyaktigheten av utdata, men sikrer også at resonnementet bak svarene er gjennomsiktig og sporbar.
I de ovennevnte eksemplene, som å bestemme utgivelsesdatoen for filmen “Catch Me If You Can” eller å identifisere kunstnerne som malte taket i Firenze-katedralen, filtrerer modellen effektivt gjennom de hentede dokumentene for å produsere nøyaktige, kontekstuell-støttede svar.
Dette bildet presenterer en sammenligningsanalyse av forskjellige LLM-varianter, inkludert LLaMA2-modeller og andre gjenvinning-forsterkede modeller over oppgaver som NaturalQuestions, PopQA, FEVER og ASQA. Resultatene er delt mellom baselinjer uten gjenvinning og de som er forbedret med gjenvinningsevner.
Dette bildet presenterer en scenario hvor en LLM er oppgitt å gi forslag basert på brukerforespørsler, og demonstrerer hvordan bruk av eksterne kunnskaper kan påvirke kvaliteten og relevansen av svarene. Bildet understreker to tilnærminger: en hvor modellen bruker en snippet av kunnskap og en hvor den ikke gjør det. Sammenligningen viser hvordan inkorporering av spesifikke opplysninger kan tilpasse svarene til å være mer i samsvar med brukerens behov, og gi dybde og nøyaktighet som ellers kunne ha manglet i en ren generativ modell.
En banebrytende tilnærming til å forbedre RALM er innføringen av selvresonnement-rammer. Kjerneideen bak denne metoden er å utnytte språkmodellens egne evner til å generere eksplisitte resonnementstrajektorier, som kan brukes til å forbedre kvaliteten og påliteligheten av dens utdata.
La oss bryte ned de nøkkelkomponentene i en selvresonnement-ramme:
- Relevans-bevisst prosess (RAP)
- Bevis-bevisst selektiv prosess (EAP)
- Trajektoranalyseprosess (TAP)
Relevans-bevisst prosess (RAP)
RAP er designet for å håndtere en av de grunnleggende utfordringene med RALM: å bestemme om de hentede dokumentene faktisk er relevante for det gitte spørsmålet. Her er hvordan det fungerer:
- Systemet henter en mengde potensielt relevante dokumenter ved hjelp av en gjenvinningmodell (f.eks. DPR eller Contriever).
- Språkmodellen instrueres deretter til å vurdere relevansen av disse dokumentene i forhold til spørsmålet.
- Modellen genererer eksplisitt grunner for hvorfor dokumentene anses som relevante eller irrelevante.
For eksempel, gitt spørsmålet “Når ble Eiffel-tårnet bygget?”, kan RAP produsere utdata som dette:
Relevant: True
Relevant grunn: De hentede dokumentene inneholder spesifik informasjon om byggingen av Eiffel-tårnet, inkludert starten i 1887 og fullføringen i 1889.Denne prosessen hjelper til å filtrere ut irrelevant informasjon tidlig i pipeline, og forbedrer kvaliteten på modellens svar.
Bevis-bevisst selektiv prosess (EAP)
EAP tar relevansvurderingen et skritt videre ved å instruere modellen til å identifisere og sitere spesifikke bevis fra de relevante dokumentene. Denne prosessen ligner på hvordan mennesker kan gå til en forskningstask, ved å velge ut nøkkelsetninger og forklare deres relevans. Her er hva utdata fra EAP kan se ut som:
Siter innhold: "Byggingen av Eiffel-tårnet begynte 28. januar 1887, og ble fullført 31. mars 1889."
Grunn til å sitere: Denne setningen gir de eksakte start- og sluttdatoene for byggingen av Eiffel-tårnet, og besvarer direkte spørsmålet om når det ble bygget.Ved å eksplisitt sitere kilder og forklare relevansen av hver bevis, forbedrer EAP sporbarheten og tolkbarheten av modellens utdata.
Trajektoranalyseprosess (TAP)
TAP er den siste fasen i selvresonnement-rammen, hvor modellen konsoliderer alle resonnementstrajektorier generert i de foregående trinnene. Den analyserer disse trajektoriene og produserer en kort sammenfatning samt et endelig svar. Utdata fra TAP kan se ut som følger:
Analyse: Eiffel-tårnet ble bygget mellom 1887 og 1889. Byggingen startet 28. januar 1887, og ble fullført 31. mars 1889. Denne informasjonen støttes av flere pålitelige kilder som gir konsistente datoer for tårnets byggeperiode.
Svar: Eiffel-tårnet ble bygget fra 1887 til 1889.
Denne prosessen tillater modellen å gi både en detaljert forklaring av sitt resonnement og et kort svar, og kan tilpasse seg ulike brukerbehov.
Implementering av selvresonnement i praksis
For å implementere denne selvresonnement-rammen, har forskere utforsket ulike tilnærminger, inkludert:
- Prompting forhånds-trente språkmodeller
- Fine-tuning av språkmodeller med parameter-effektive teknikker som QLoRA
- Utvikling av spesialiserte neurale arkitekturer, som multi-head attention-modeller
Hver av disse tilnærminger har sine egne for- og ulemper. For eksempel er prompting-tilnærmingen den enkleste å implementere, men kan ikke alltid produsere konsistente resultater. Fine-tuning tilbyr en god balanse mellom ytelse og effisiens, mens spesialiserte arkitekturer kan gi den beste ytelsen, men krever mer beregningskraft for å trene.
Her er et forenklet eksempel på hvordan du kan implementere en RAP-tilnærming ved hjelp av en prompting-tilnærming med en språkmodell som GPT-3:
import openai
<p>def relevans_bevisst_prosess(spørsmål, dokumenter):
prompt = f"""
Spørsmål: {spørsmål}</p>
Hentede dokumenter:
{dokumenter}
<p>Oppgave: Bestemm om de hentede dokumentene er relevante for å besvare spørsmålet.
Utdataformat:
Relevant: [True/False]
Relevant grunn: [Forklaring]</p>
Din analyse:
"""
<p>response = openai.Completion.create(
engine="text-davinci-002",
prompt=prompt,
max_tokens=150
)</p>
return response.choices[0].text.strip()
<p># Eksempel på bruk
spørsmål = "Når ble Eiffel-tårnet bygget?"
dokumenter = "Eiffel-tårnet er et jerngittertårn på Champ de Mars i Paris, Frankrike. Det er oppkalt etter ingeniør Gustave Eiffel, hvis selskap designet og bygde tårnet. Bygget fra 1887 til 1889 som inngangsbuen til Verdensutstillingen i 1889, ble det initialt kritisert av noen av Frankrikes ledende kunstnere og intellektuelle for sin design, men det har blitt et globalt kulturelt ikon for Frankrike."</p>
<p>resultat = relevans_bevisst_prosess(spørsmål, dokumenter)
print(resultat)
Dette eksempel demonstrerer hvordan RAP kan implementeres ved hjelp av en enkel prompting-tilnærming. I praksis ville mer avanserte teknikker bli brukt for å sikre konsistens og håndtere edge-cases.
Adaptiv gjenvinning-forsterket generering for konversasjonssystemer
Mens selvresonnement-rammen fokuserer på å forbedre kvaliteten og tolkbarheten av enkeltstående svar, har en annen forskningsretning utforsket hvordan å gjøre gjenvinning-forsterket generering mer adaptiv i sammenheng med konversasjonssystemer. Denne tilnærmingen, kjent som adaptiv gjenvinning-forsterket generering, har som mål å bestemme når eksterne kunnskaper skal brukes i en samtale og hvordan de skal inkorporeres effektivt.
Den viktigste innsikten bak denne tilnærmingen er at ikke hver enkelt vending i en samtale krever ekstern kunnskapsforsterkning. I noen tilfeller kan det å stole for mye på hentet informasjon føre til unaturlige eller for verbose svar. Utfordringen er derfor å utvikle et system som kan dynamisk bestemme når å bruke eksterne kunnskaper og hvordan å inkorporere dem effektivt.
Komponenter av adaptiv gjenvinning-forsterket generering
For å møte denne utfordringen, har forskere foreslått en ramme kalt RAGate, som består av flere nøkkelkomponenter:
- En binær kunnskapsport-mekanisme
- En relevans-bevisst prosess
- En bevis-bevisst selektiv prosess
- En trajektoranalyseprosess
Den binære kunnskapsport-mekanismen
Kjernen i RAGate-systemet er en binær kunnskapsport som bestemmer om å bruke eksterne kunnskaper for en gitt samtale-vending. Denne porten tar hensyn til samtalekonteksten og, eventuelt, de hentede kunnskaps-snippetene for å fatte sin beslutning.
Her er en forenklet illustrasjon av hvordan den binære kunnskapsporten kan fungere:
def kunnskapsport(kontekst, hentet_kunnskap=None): # Analyser konteksten og hentet kunnskap # Returner True hvis eksterne kunnskaper skal brukes, False ellers pass <p>def generer_svar(kontekst, kunnskap=None): if kunnskapsport(kontekst, kunnskap): # Bruk gjenvinning-forsterket generering return generer_med_kunnskap(kontekst, kunnskap) else: # Bruk standard språkmodell-generering return generer_uten_kunnskap(kontekst)
Denne port-mekanismen tillater systemet å være mer fleksibelt og kontekst-bevisst i sin bruk av eksterne kunnskaper.
Implementering av RAGate
Dette bildet illustrerer RAGate-rammen, et avansert system designet for å inkorporere eksterne kunnskaper i LLM for å forbedre svargenerering. Denne arkitekturen viser hvordan en grunnleggende LLM kan suppleres med kontekst eller kunnskap, enten gjennom direkte innputt eller ved å integrere eksterne databaser under genereringsprosessen. Denne dobbeltilnærmingen – å bruke både interne modell-kapabiliteter og eksterne data – muliggjør at LLM kan gi mer nøyaktige og kontekstuell-relevante svar.
Dette viser ytelsesmetrikker for ulike modell-varianter under RAGate-rammen, som fokuserer på å integrere gjenvinning med parameter-effektiv finjustering (PEFT). Resultatene understreker overlegenheten til kontekst-integrerte modeller, særlig de som bruker ner-know og ner-source-embeddings.
RAGate-PEFT og RAGate-MHA-modellene demonstrerer betydelige forbedringer i presisjon, gjennkall og F1-poeng, og understreker fordelen av å inkorporere både kontekst og kunnskapsinndata. Disse finjusteringsstrategier muliggjør at modellene kan fungere mer effektivt på kunnskapsintensive oppgaver, og gir en mer robust og skalerbar løsning for virkelige anvendelser.
For å implementere RAGate, har forskere utforsket flere tilnærminger, inkludert:
- Bruk av store språkmodeller med nøye utformet prompting
- Fine-tuning av språkmodeller med parameter-effektive teknikker
- Utvikling av spesialiserte neurale arkitekturer, som multi-head attention-modeller
Hver av disse tilnærminger har sine egne styrker og svakheter. For eksempel er prompting-tilnærmingen relativt enkel å implementere, men kan ikke alltid produsere konsistente resultater. Fine-tuning tilbyr en god balanse mellom ytelse og effisiens, mens spesialiserte arkitekturer kan gi den beste ytelsen, men krever mer beregningskraft for å trene.
Her er et forenklet eksempel på hvordan du kan implementere et RAGate-lignende system ved hjelp av en finjustert språkmodell:
import torch from transformers import AutoTokenizer, AutoModelForSequenceClassification <p>class RAGate: def __init__(self, model_name): self.tokenizer = AutoTokenizer.from_pretrained(model_name) self.model = AutoModelForSequenceClassification.from_pretrained(model_name)</p> <p>def skal_bruke_kunnskap(self, kontekst, kunnskap=None): inputs = self.tokenizer(kontekst, kunnskap or "", return_tensors="pt", truncation=True, max_length=512) with torch.no_grad(): outputs = self.model(**inputs) probabilities = torch.softmax(outputs.logits, dim=1) return probabilities[0][1].item() &amp;gt; 0.5 # Antag binær klassifisering (0: ingen kunnskap, 1: bruk kunnskap)</p> <p>class SamtaleSystem: def __init__(self, ragate, lm, retriever): self.ragate = ragate self.lm = lm self.retriever = retriever</p> <p>def generer_svar(self, kontekst): kunnskap = self.retriever.hent(kontekst) if self.ragate.skal_bruke_kunnskap(kontekst, kunnskap): return self.lm.generer_med_kunnskap(kontekst, kunnskap) else: return self.lm.generer_uten_kunnskap(kontekst)</p> <p># Eksempel på bruk ragate = RAGate("path/to/fine-tuned/model") lm = SpråkModell() # Din foretrukne språkmodell retriever = KunnskapsHenter() # Din kunnskaps-hentingssystem</p> <p>samtale_system = SamtaleSystem(ragate, lm, retriever)</p> <p>kontekst = "Bruker: Hva er hovedstaden i Frankrike?\nSystem: Hovedstaden i Frankrike er Paris.\nBruker: Fortell meg mer om dens berømte landemerker." svar = samtale_system.generer_svar(kontekst) print(svar)</p>
Dette eksempel demonstrerer hvordan et RAGate-lignende system kan implementeres i praksis. RAGate-klassen bruker en finjustert modell til å bestemme om å bruke eksterne kunnskaper, mens SamtaleSystem-klassen orkestrerer interaksjonen mellom porten, språkmodellen og henteren.
Utlendings- og fremtidige retninger
Selv om selvresonnement-rammer og adaptiv gjenvinning-forsterket generering viser stor løfte, er det fortsatt flere utfordringer som forskere jobber for å løse:
- Beregningseffisiens: Begge tilnærminger kan være beregningskrevende, særlig når det gjelder å håndtere store mengder hentet informasjon eller generere lange resonnementstrajektorier. Optimalisering av disse prosessene for sanntids-applikasjoner er et aktivt forskningsområde.
- Robusthet: Å sikre at disse systemene fungerer konsistent over en bred rekke emner og spørsmålstyper er avgjørende. Dette inkluderer håndtering av edge-cases og motstandsdyktige inndata som kan forvirre relevansvurderingen eller port-mekanismene.
- Flerspråklig og språk-overskridende støtte: Å utvide disse tilnærminger til å fungere effektivt på flere språk og å håndtere språk-overskridende informasjonshenting og resonnement er en viktig retning for fremtidig arbeid.
- Integrering med andre AI-teknologier: Å utforske hvordan disse tilnærminger kan kombineres med andre AI-teknologier, som multimodale modeller eller forsterkingslæring, kan føre til enda kraftigere og mer fleksible systemer.
Konklusjon
Utviklingen av selvresonnement-rammer og adaptiv gjenvinning-forsterket generering representerer et betydelig skritt fremover i feltet naturlig språkbehandling. Ved å aktivt la språkmodeller resonnere over den informasjonen de bruker, og å tilpasse sine kunnskapsforsterkningsstrategier dynamisk, lover disse tilnærminger å gjøre AI-systemer mer pålitelige, tolkbare og kontekst-bevisste.
Etterhvert som forskningen i dette området fortsetter å utvikle seg, kan vi forvente å se disse teknikkene forbedret og integrert i en rekke applikasjoner, fra spørsmål-svar-systemer og virtuelle assistenter til pedagogiske verktøy og forskningshjelpemidler. Evnen til å kombinere den enorme kunnskapen i store språkmodeller med dynamisk hentet, oppdatert informasjon, har potensialet til å revolusjonere hvordan vi samhandler med AI-systemer og aksesserer informasjon.
Jeg har brukt de siste fem årene på å dykke ned i den fasiniserende verden av Maskinlæring og Dypt Læring. Min lidenskap og ekspertise har ledet meg til å bidra til over 50 ulike programvareprosjekter, med særlig fokus på AI/ML. Min pågående nysgjørhet har også trukket meg mot Naturlig Språkbehandling, et felt jeg er ivrig etter å utforske videre.
Oppdag mer


Hva er Retrieval‑Augmented Generation (RAG)? Hvordan AI svarer med ekstern kunnskap


AI sin minneproblem: Hvorfor effektiv lang kontekst endrer alt, og hva det tar å gjøre det riktig


Hvorfor din biomedisinske RAG skjuler motsigelser for deg


Den virkelige grunnen til at din RAG-pipeline hallucinerer


2026-prediksjon – Åpen kildekode vil ri på AI-bølgen inn i sin neste gylne alder


AI-kontroll-dilemmaet: Risikoer og løsninger




