Gevonden in het midden: Kalibreren van positionele aandachts-bias verbetert RAG met lange context
Ik denk al na over het verloren-in-het-midden-probleem sinds ik de log schreef over de oorspronkelijke bevinding van Liu et al.: geef een lange context aan een LLM, en het zal betrouwbaar bewijsmateriaal negeren dat in het midden begraven ligt. "Found in the Middle: Calibrating Positional Attention Bias Improves Long Context Utilization" (Hsieh et al., ACL Findings 2024, arXiv:2406.16008) biedt de meest directe en praktische oplossing die ik tot nu toe heb gezien: een trainingsvrije kalibratie tijdens de inferentie-tijd die de positionele bias van het model aftrekt van de aandachtsgewichten, waardoor tot 15 procentpunten aan RAG-nauwkeurigheid wordt hersteld.
De paper
Hsieh et al. beginnen bij een diagnostische observatie: LLM's — zelfs die getraind zijn op lange contexten — vertonen een hardnekkig U-vormig aandachtspatroon. Tokens aan het begin en aan het einde van de invoer krijgen onevenredig veel aandacht, ongeacht of ze relevant zijn, terwijl tokens in het midden systematisch ondergewaardeerd worden. De auteurs koppelen dit empirisch aan de verloren-in-het-midden-nauwkeurigheidsdip, in plaats van het als een afzonderlijk fenomeen te behandelen.
Hun oplossing is elegant in concept. Ze ontleden aandacht in twee additieve componenten: relevantie (wat we willen) en positionele bias (wat we niet willen). Om de bias-term te isoleren, sturen ze een "dummy"-document — niet-informatieve vulmateriaal — door dezelfde context op elke positie en registreren ze de resulterende aandachtsverdeling. Die aandacht voor het dummy-document benadert de pure positionele prior. Door deze af te trekken van de werkelijke aandachtsscores, blijft er een residu over dat de ware relevantie beter weerspiegelt:
Gekalibreerde aandacht = Attn(document, k) − Attn(dummy, k)
De herschaalde scores worden vervolgens gebruikt om opgehaalde documenten te herordenen of te herwegen vóór de uiteindelijke stap van antwoordgeneratie. Cruciaal is dat er geen training vereist is. De kalibratie wordt tijdens de inferentie toegepast op de laatste 16 decoderlagen en alle aandachtskoppen. De kosten zijn O(K) extra forward-passes, waarbij K het aantal opgehaalde documenten is — niet onbeduidend, maar wel voorspelbaar.
Kernideeën
- De U-vormige aandachts-bias is intrinsiek aan de modelarchitectuur en blijft bestaan, zelfs in modellen die expliciet zijn getraind met doelstellingen voor lange context.
- Het doorgeven van een dummy (leeg/ruis) document door dezelfde ophaalcontext isoleert de positionele prior; het aftrekken ervan verwijdert bias zonder enige finetuning.
- Recall@3 op NaturalQuestion (K=20, referentiedocument in het midden geplaatst) springt van 20,52% naar 68,32% met kalibratie; bij K=10, van 36,38% naar 74,27%.
- De end-to-end QA-nauwkeurigheid verbetert met 6–15 procentpunten wanneer het referentiedocument zich midden in de context bevindt; verbeteringen houden stand in 22 van de 24 experimentele configuraties.
- De methode presteert beter dan zes vergelijkingsbasislijnen: standaard aandacht, query-generatie ranking, relevantie-generatie prompting, attention sorting (Peysakhovich & Lerer 2023), prompt herordening en LongLLMLingua-rk.
- De methode werd geëvalueerd op NaturalQuestion (2.655 echte zoekopdrachten over Wikipedia) and SynthWiki (990 synthetische, door GPT-4 gegenereerde items).
Wat standhoudt — en wat niet
Het kernresultaat is opvallend en ik geloof het. Een Recall@3-gat van 20,52%→68,32% voor referentiedocumenten in het midden van de context is niet het soort getal dat bij nader inzien verdampt — het meet iets werkelijks over hoe aandacht wordt verdeeld. Het trainingsvrije ontwerp is een echt praktisch voordeel: je kunt dit bovenop elke bestaande RAG-pipeline plaatsen zonder de modelgewichten aan te raken.
Dat gezegd hebbende, heb ik enkele bedenkingen. Ten eerste gaat de "dummy-document" benadering ervan uit dat positionele bias ruwweg positie-scheidbaar en additief is — een lineaire decompositie waarvan de auteurs zelf aangeven dat deze potentieel te simplistisch is. Echte aandachts-bias kan op niet-lineaire manieren interageren met de inhoud. Ten tweede worden de O(K) extra forward-passes geprijsd als "acceptabel", maar ze worden nooit gebenchmarkt voor latentie of kosten. In een productiesysteem met K=20 resultaten draai je 21 forward-passes in plaats van 1 per zoekopdracht. Voor een Beancount-agent die honderden transacties sorteert, doet deze vermenigvuldiger ertoe.
Ten derde — en dit is de meest interessante beperking — merken de auteurs op dat positionele bias nuttig kan zijn voor bepaalde taken. Recency-bias (bias naar recentheid) zou er bijvoorbeeld voor kunnen zorgen dat een model recente grootboekmutaties correct zwaarder weegt dan oudere. Het lukraak verwijderen van bias zou taken kunnen schaden waarbij positie een geldig signaal is. Dit wordt erkend maar niet bestudeerd.
Ten slotte gebruiken de experimenten NaturalQuestion en een synthetische dataset. Financieel-specifieke documenten — dichte tabellen, meerjarige deponeringen, grootboekmutaties met een repetitieve structuur — verschillen sterk van open-domein Wikipedia-passages. De kalibratie zou op die distributies gevalideerd moeten worden voordat men kan claimen dat het zal werken voor financiële RAG.
Waarom dit belangrijk is voor financiële AI
De directe verbinding is duidelijk: elke log sinds DocFinQA draait om hetzelfde probleem. Wanneer een Beancount-agent 20 relevante grootboekmutaties ophaalt om een vraag te beantwoorden als "reconcilieer maart tegen het bankafschrift", zullen mutaties uit het midden van het opgehaalde venster systematisch minder aandacht krijgen dan mutaties bovenaan en onderaan de context. Dat is geen fout bij het ophalen — het is een fout aan de kant van de generatie die met geen enkele verbetering in retrieval-ranking op te lossen is.
De gevonden-in-het-midden-kalibratie is een aannemelijke verzachting die geen hertraining van het onderliggende model vereist en rechtstreeks kan worden toegepast binnen de generatiestap van elke grootboek-QA-pipeline. De bezorgdheid over de O(K)-kosten is reëel maar beheersbaar — een venster van 20 documenten met een model van gemiddelde grootte valt nog steeds binnen praktische grenzen. Wat ik zou willen zien voordat ik het implementeer, is een validatie specifiek op Beancount-gestructureerde gegevens: helpt de positionele correctie uniform, of onderdrukt het onbedoeld het recentheidssignaal dat recente transacties betrouwbaarder maakt dan oude?
Het bredere principe — dat aandachtsmechanismen positionele priors coderen onafhankelijk van de relevantie van de inhoud, en dat die priors kunnen worden weggekalibreerd zonder hertraining — is er een om te onthouden. Het opent de deur naar vergelijkbare kalibraties voor andere biases: tokenfrequentie-bias, normalisatie van invoerlengte, en verbositeits-bias in generatie.
Wat nu te lezen
- "Mitigate Position Bias in LLMs via Scaling a Single Hidden States Channel" (arXiv:2406.02536, ACL Findings 2025) — stelt voor om een enkele dimensie van de verborgen toestand te schalen in plaats van aandachtsscores af te trekken; de moeite waard om direct te vergelijken met de gevonden-in-het-midden benadering.
- "Large Language Models for Anomaly and Out-of-Distribution Detection: A Survey" (arXiv:2409.01980, NAACL 2025) — de volgende op de leeslijst; verbindt de AnoLLM-, CausalTAD- en AD-LLM-threads in een verenigde taxonomie.
- Liu et al., "Lost in the Middle: How Language Models Use Long Contexts" (arXiv:2307.03172, TACL 2023) — de oorspronkelijke diagnose waarop gevonden-in-het-midden reageert; essentiële achtergrondinformatie.
