Fusion-in-Decoder: Hoe Multi-Passage Retrieval Generatieve QA Verbetert
Retrieval-augmented generation valt of staat bij de vraag hoe goed de generator bewijsmateriaal kan synthetiseren dat over meerdere documenten is verspreid. Het EACL-artikel van Izacard en Grave uit 2021, "Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering", stelt een bedrieglijk eenvoudige architecturale oplossing voor — codeer passages onafhankelijk, voeg ze allemaal samen in de decoder — die het destijds dominante RAG-framework met een aanzienlijke marge overtreft. Ik lees het nu omdat het ontwerpprincipe direct vertaalbaar is naar grootboek-QA: voordat we beslissen hoe we boekingen ophalen in Beancount-agents, is het de moeite waard om te begrijpen welke fusiestrategie daadwerkelijk werkt.
Het artikel
De originele RAG van Lewis et al. (arXiv:2005.11401) koppelt een 'dense retriever' aan een BART-generator, maar dwingt de generator om te conditioneren op één enkele opgehaalde passage tegelijk, door te marginaliseren over passages per sequentie (RAG-Sequence) of per token (RAG-Token). Izacard en Grave identificeerden dit als de beperkende factor: een model dat slechts één passage tegelijk kan zien, kan bewijsmateriaal dat verspreid is over verschillende documenten niet eenvoudig trianguleren.
Hun FiD-oplossing (Fusion-in-Decoder) is elegant. Elke opgehaalde passage wordt samengevoegd met de vraag en vervolgens onafhankelijk gecodeerd door de encoder van T5. De encoder draait eenmaal per passage — volledig paralleliseerbaar. De decoder voert vervolgens cross-attention uit over de samenvoeging van alle representaties van de passages tegelijkertijd. De complexiteit van de encoder schaalt lineair met het aantal passages; de decoder kan, cruciaal, over passagegrenzen heen kijken tijdens elke generatiestap. Het artikel gebruikt T5-base en T5-large als basis voor de generator.
Kernideeën
- FiD-large met 100 opgehaalde passages behaalt een 'exact match' van 51,4% op Natural Questions en 67,6% op TriviaQA open, vergeleken met respectievelijk 47,5% en 56,1% voor RAG-Sequence — winsten van ongeveer 4 en 11 punten.
- De prestaties op Natural Questions schalen monotoon met het aantal passages: 37,3% bij 1 passage, 48,8% bij 10, 50,8% bij 50, 51,4% bij 100. Het marginale rendement neemt af, maar wordt nooit negatief.
- TriviaQA verbetert met 6% en Natural Questions met 3,5% bij het opschalen van 10 naar 100 passages — bewijs dat de decoder daadwerkelijk aggregeert en niet simpelweg de beste passage kiest.
- De coderingsstap is goedkoop te paralleliseren: elk (vraag, passage)-paar wordt onafhankelijk verwerkt, waardoor de verwerkingstijd sub-lineair schaalt met de hardware.
- FiD-base met 770M parameters overtreft T5-11B closed-book (44,1% vs. 36,6% op NQ), wat aantoont dat retrieval ervoor zorgt dat kleinere modellen ver boven hun gewichtsklasse presteren.
Wat standhoudt — en wat niet
Het kernresultaat is robuust en is uitgebreid gerepliceerd. Het architecturale inzicht — onafhankelijke codering, gezamenlijke decodering — is oprecht helder: het vermijdt de kwadratische explosie van self-attention die zou ontstaan door alle passages naïef samen te voegen vóór de encoder, terwijl de decoder toch wereldwijde context behoudt over alle opgehaalde bewijzen.
De beperking die het artikel nauwelijks erkent, is dat de cross-attention van de decoder de bottleneck vormt tijdens inferentie. Cross-attention moet alle encoder key-value paren laden per decoderlaag per generatiestap, en die key-value tensoren groeien lineair met het aantal passages. Een vervolgonderzoek uit 2023, FiDO (arXiv:2212.08153), toonde aan dat het vervangen van multi-head attention door multi-query attention en het snoeien van cross-attention-lagen een 7x snellere inferentie oplevert met minimaal nauwkeurigheidsverlies — wat impliceert dat de originele FiD-decoder aanzienlijk overgedimensioneerd is voor wat de taak vereist.
Er is ook een kalibratiekloof die het artikel niet onderzoekt: het rapporteert 'exact match', wat systemen beloont die toevallig de exacte canonieke antwoordreeks produceren. Voor feitelijke synthesetaken — het samenvatten van bevindingen uit meerdere passages in plaats van het extraheren van een fragment — onderschat exact match fouten en overschat het het vertrouwen. In een financiële context, waar een fout getal in een verder correcte zin een ernstige fout is, is exact match de verkeerde metriek.
Waarom dit belangrijk is voor financiële AI
Beancount grootboek-QA is van nature een probleem van multi-passage retrieval. Een vraag als "Wat heb ik in het derde kwartaal aan reizen uitgegeven over alle accounts?" vereist het synthetiseren van tientallen transactieboekingen van verschillende data, rekeningen en commodity-types. De belangrijkste bevinding van FiD — dat generatieve modellen kunnen aggregeren over vele opgehaalde passages en dat prestaties verbeteren met meer context — is direct bemoedigend.
De praktische implicatie voor het ontwerp is concreet: bij het bouwen van een Beancount QA-laag is het ophalen van meer kandidaat-boekingen (50–100 in plaats van de gebruikelijke top-5) en de generator gezamenlijke toegang geven tot al deze gegevens waarschijnlijk beter dan te vertrouwen op re-ranking om één juist antwoord te kiezen. De FiD-architectuur sluit ook naadloos aan op de grootboekstructuur: elke transactieboeking kan onafhankelijk worden gecodeerd (goedkoop, paralleliseerbaar) voordat de decoder over al deze boekingen synthetiseert.
De bezorgdheid over de inferentiekosten is reëel voor productie-omgevingen, maar het vervolgonderzoek van FiDO laat zien dat dit op architectuurniveau oplosbaar is zonder verlies van nauwkeurigheid. De meer prangende beperking voor financiële agents is dat FiD is ontworpen voor factoid-QA met korte generatieve outputs. Grootboekanalyse vereist vaak rekenwerk in meerdere stappen — bedragen optellen, ratio's berekenen — en de generator van FiD stuurt dat niet inherent door naar een interpreter. Het combineren van FiD-stijl fusie met een PAL-stijl code-generatie-head is de natuurlijke volgende stap voor numerieke nauwkeurigheid.
Wat nu te lezen
- FiDO (arXiv:2212.08153, ACL Findings 2023) — multi-query attention en cross-attention pruning herstellen FiD-nauwkeurigheid bij een 7x snellere inferentie; essentieel voordat FiD in productie wordt genomen.
- REALM: Retrieval-Augmented Language Model Pre-Training (arXiv:2002.08909, ICML 2020) — Guu et al. laten zien hoe retrieval kan worden opgenomen tijdens de pre-training in plaats van alleen bij inferentie; biedt de stroomopwaartse motivatie waar FiD op voortbouwt.
- Atlas: Few-shot Learning with Retrieval Augmented Language Models (arXiv:2208.03299, JMLR 2023) — De eigen uitbreiding van Izacard et al. op FiD voor few-shot instellingen met gezamenlijke training van retriever en reader, de meest complete synthese van deze onderzoekslijn.
