Self-RAG: Adaptief ophalen en zelfkritiek voor LLM's
Standaard RAG haalt altijd informatie op, ongeacht of ophalen helpt of niet. Self-RAG door Asai et al. (ICLR 2024 Oral) stelt een andere vraag: wat als het model zelf besluit wanneer het iets moet opzoeken en vervolgens het resultaat beoordeelt? Dat blijkt behoorlijk belangrijk te zijn, en het mechanisme is helder genoeg om zorgvuldig te bestuderen.
Het artikel
De kern van het probleem bij standaard Retrieval-Augmented Generation is dat het lukraak gebeurt: haal een vast aantal fragmenten op voor elke input, voeg ze toe en genereer. Dat werkt goed genoeg wanneer ophalen helpt, maar het schaadt actief wanneer de fragmenten irrelevant zijn of wanneer het model het antwoord al in zijn parameters heeft. Het artikel introduceert Self-Reflective Retrieval-Augmented Generation (Self-RAG), geschreven door Akari Asai, Zeqiu Wu, Yizhong Wang, Avirup Sil en Hannaneh Hajishirzi (University of Washington en IBM Research).
Het belangrijkste mechanisme is een set van vier speciale reflectie-tokens die tijdens de training in de woordenschat van het model zijn verwerkt. Retrieve beslist of de retriever überhaupt moet worden aangeroepen. IsRel (relevantie) beoordeelt of een opgehaald fragment daadwerkelijk nuttige informatie bevat voor de zoekopdracht. IsSup (ondersteuning) controleert of de gegenereerde bewering volledig, gedeeltelijk of niet wordt ondersteund door het fragment. IsUse (nut) scoort de algehele kwaliteit van de respons van 1 tot 5. Het model leert deze tokens inline met de normale uitvoer uit te sturen — zo bekritiseert het zijn eigen ophaalproces en generatie in één enkele forward pass.
De training bestaat uit twee fasen: eerst wordt een criticus-model (LLaMA 2, 7B fine-tuned) getraind op ongeveer 4.000–20.000 gelabelde voorbeelden per tokentype, waarbij een overeenkomst van meer dan 90% met GPT-4 voorspellingen wordt bereikt. Die criticus annoteert vervolgens offline een corpus van 150.000 instructie-uitvoer-voorbeelden, en de generator wordt getraind op deze geannoteerde data waarbij reflectie-tokens als gewoon vocabulaire worden behandeld. Er is geen reinforcement learning vereist.
Kernpunten
- De vier reflectie-tokens (Retrieve, IsRel, IsSup, IsUse) geven het model een gestructureerde interne dialoog over de vraag of bewijsmateriaal te vertrouwen is — niet alleen een binaire beslissing om wel of niet op te halen.
- Self-RAG 13B bereikt 55,8% op PopQA, 69,3% op TriviaQA, 74,5% op PubHealth, 73,1% op ARC-Challenge en een Biografie FactScore van 80,2 — waarmee het ChatGPT en retrieval-augmented Llama2-chat op elk van deze punten overtreft.
- Ablaties op PopQA laten zien dat het verwijderen van ophalen tijdens de testfase 20,8 procentpunt kost, terwijl het verwijderen van alleen de criticus slechts 2,9 pp kost — de retriever is de dragende kracht; de kritiek voegt daar kalibratie aan toe.
- Tijdens de inferentie kunnen de gewichten op kritiek-tokens worden aangepast om een afweging te maken tussen citatie-precisie en vloeiendheid zonder her-training. Dit maakt het gedrag van het model configureerbaar voor verschillende toepassingen.
- De programmacommissie van ICLR 2024 kende Self-RAG de oral-status toe (top 1%), wat een oprechte erkenning door vakgenoten van de technische bijdrage weerspiegelt.
Wat standhoudt — en wat niet
De ablatieresultaten zijn overtuigend. Het gat tussen altijd-ophalen en nooit-ophalen is groot (20,8 pp); het model heeft duidelijk geleerd om nuttig ophalen van ruis te onderscheiden. De IsRel- en IsSup-tokens voegen meetbare waarde toe bovenop adaptief ophalen alleen. Dat is een zinvol resultaat, niet alleen een nieuwe formulering.
Waar ik minder van overtuigd ben, is de claim over generalisatie. Alle vijf evaluatietaken (PopQA, TriviaQA, PubHealth, ARC-Challenge, ASQA) zijn korte antwoorden of meerkeuzevragen — precies de setting waarin een enkel opgehaald fragment een beslissend signaal kan geven. Generatie in langere vorm over contexten met meerdere documenten, wat de plek is waar financiële taken zich afspelen, krijgt minder aandacht. De Biografie FactScore (80,2) is de dichtstbijzijnde benadering, maar biografieën zijn relatief goed gestructureerd vergeleken met een omvangrijk meerjarig onkostengrootboek.
Er is ook een obstakel voor reproduceerbaarheid: de trainingslabels van het criticus-model zijn afkomstig van GPT-4. Dat maakt de labelkwaliteit afhankelijk van een gesloten systeem en introduceert API-kosten die niet worden gerapporteerd. CRAG (arXiv:2401.15884) toonde later aan dat een 0,77B retrieval-evaluator — veel lichter dan de 7B criticus van Self-RAG — de ophaalkwaliteit kon corrigeren en 19,0 pp kon winnen ten opzichte van standaard RAG op PopQA, wat suggereert dat de zware fine-tuned criticus wellicht niet nodig is. Dat is een betekenisvolle uitdaging voor het ontwerp, zelfs als het kerninzicht over selectief ophalen standhoudt.
Ten slotte is de vergelijkingslijn van belang. Het verslaan van ChatGPT (waarschijnlijk GPT-3.5-turbo, eind 2023) en Llama2-chat is een redelijke lat voor een open 13B-model, maar frontier-modellen zijn sindsdien aanzienlijk verbeterd. Of het adaptieve ophalen van Self-RAG een goed geprompt GPT-4o zou verslaan met een eenvoudige altijd-ophalen-setup op deze zelfde benchmarks, wordt niet behandeld.
Waarom dit belangrijk is voor financiële AI
Financiële agents die werken met Beancount-grootboeken worden geconfronteerd met precies het probleem van ophaal-discriminatie dat Self-RAG aanpakt. Wanneer een gebruiker vraagt "wat is mijn netto-inkomen deze maand?", kan de agent dit berekenen vanuit zijn geladen context — ophalen zou alleen maar ruis kunnen toevoegen. Wanneer diezelfde gebruiker vraagt "heb ik de factuur van de aannemer uit het derde kwartaal geregistreerd?", moet de agent mogelijk jaren aan boekingen scannen. Altijd-ophalen verspilt context en riskeert het injecteren van irrelevante oude transacties; nooit-ophalen mist de zoekopdracht.
De IsRel- en IsSup-tokens sluiten nauw aan bij de validatielogica van het grootboek. IsRel: heeft de opgehaalde transactieboeking daadwerkelijk betrekking op de vraag? IsSup: ondersteunt de opgehaalde context daadwerkelijk het gegenereerde saldo, of is het getal gehallucineerd? De utiliteitsscore (1–5) zou de betrouwbaarheid van het terugschrijven kunnen beïnvloeden: voer een voorgestelde journaalpost alleen door wanneer het model de eigen redenering een 4 of 5 geeft, en markeer de rest voor menselijke beoordeling.
De zorg over reproduceerbaarheid is hier ook van belang. Voor een productie-boekhoudagent is de afhankelijkheid van GPT-4 voor het genereren van trainingslabels een operationele beperking. Als een lichtere evaluator (à la CRAG) vergelijkbaar selectief ophalen kan bereiken, is dat het beter inzetbare pad. De ontwerpprincipes van Self-RAG — beslis vóór het ophalen, bekritiseer na het ophalen — blijven waardevol, zelfs als het specifieke recept voor token-training wordt vervangen.
Wat hierna te lezen
- CRAG: Corrective Retrieval Augmented Generation (arXiv:2401.15884) — bouwt voort op het idee van adaptief ophalen van Self-RAG met een lichtere evaluator en een terugvaloptie naar zoeken op het web wanneer lokaal ophalen faalt; de moeite waard om direct te vergelijken met Self-RAG op overlappende benchmarks.
- RQ-RAG: Learning to Refine Queries for Retrieval Augmented Generation (arXiv:2404.00610) — richt zich specifiek op query-decompositie voor complexe multi-hop QA, wat het scenario is dat Self-RAG het minst soepel afhandelt.
- FRAMES: Retrieval and Augmentation for Multi-Hop Evaluation (arXiv:2409.12941) — Google DeepMind-benchmark voor multi-document RAG die het koppelen van verschillende opgehaalde feiten vereist; een natuurlijke, moeilijkere test voor modellen in Self-RAG-stijl.
