Nájdené v strede: Kalibrácia predpojatosti pozičnej pozornosti zlepšuje RAG s dlhým kontextom
O probléme „stratené v strede“ (lost-in-the-middle) premýšľam odvtedy, čo som písal záznam o pôvodnom zistení Liu et al.: ak LLM poskytnete dlhý kontext, bude spoľahlivo ignorovať dôkazy ukryté v strede. Príspevok „Found in the Middle: Calibrating Positional Attention Bias Improves Long Context Utilization“ (Hsieh et al., ACL Findings 2024, arXiv:2406.16008) ponúka najpriamejšiu a najpraktickejšiu opravu, akú som doteraz videl: kalibráciu počas inferencie bez nutnosti trénovania, ktorá odčítava pozičnú predpojatosť modelu z jeho váh pozornosti, čím získava späť až 15 percentuálnych bodov presnosti RAG.
O dokumente
Hsieh et al. začínajú diagnostickým pozorovaním: LLM – dokonca aj tie trénované na dlhých kontextoch – vykazujú pretrvávajúci vzorec pozornosti v tvare písmena U. Tokeny na začiatku a na konci vstupu dostávajú neúmerne vysokú pozornosť bez ohľadu na to, či sú relevantné, zatiaľ čo tokeny v strede sú systematicky podhodnotené. Autori to empiricky spájajú s poklesom presnosti „stratené v strede“, namiesto toho, aby to považovali za samostatný jav.
Ich riešenie je koncepčne elegantné. Rozkladajú pozornosť na dve aditívne zložky: relevanciu (to, čo chceme) a pozičnú predpojatosť (to, čo nechceme). Aby izolovali zložku predpojatosti, preženú cez rovnaký kontext na každej pozícii „dummy“ dokument – neinformatívny výplňový obsah – a zaznamenajú výslednú distribúciu pozornosti. Pozornosť tohto dummy dokumentu aproximuje čisto pozičnú apriórnu pravdepodobnosť. Jej odčítanie od skutočných skóre pozornosti zanecháva zvyšok, ktorý lepšie odráža skutočnú relevanciu:
Kalibrovaná pozornosť = Attn(dokument, k) − Attn(dummy, k)
Preškálované skóre sa potom použijú na zmenu poradia alebo prehodnotenie váhy vyhľadaných dokumentov pred finálnym krokom generovania odpovede. Zásadné je, že nie je potrebné žiadne trénovanie. Kalibrácia sa aplikuje počas inferencie na posledných 16 vrstiev dekodéra a všetky hlavy pozornosti. Náklady predstavujú O(K) dodatočných dopredných prechodov, kde K je počet vyhľadaných dokumentov – čo nie je zanedbateľné, ale je to predvídateľné.
Kľúčové myšlienky
- Pozičná predpojatosť v tvare U je vlastná architektúre modelu a pretrváva aj v modeloch explicitne trénovaných s cieľmi pre dlhý kontext.
- Prechod dummy (prázdneho/šumového) dokumentu cez rovnaký vyhľadávací kontext izoluje pozičnú apriórnu pravdepodobnosť; jej odčítanie odstráni predpojatosť bez akéhokoľvek dolaďovania.
- Recall@3 na NaturalQuestion (K=20, zlatý dokument umiestnený v strede) stúpa z 20,52 % na 68,32 % s kalibráciou; pri K=10 z 36,38 % na 74,27 %.
- Presnosť end-to-end QA sa zlepšuje o 6 – 15 percentuálnych bodov, keď je zlatý dokument v strede kontextu; zlepšenia platia v 22 z 24 experimentálnych konfigurácií.
- Metóda prekonáva šesť porovnávacích základných línií: štandardnú pozornosť (vanilla attention), poradie podľa generovania dotazov, promptovanie podľa generovania relevancie, triedenie podľa pozornosti (Peysakhovich & Lerer 2023), zmenu poradia promptov a LongLLMLingua-rk.
- Metóda bola vyhodnotená na NaturalQuestion (2 655 reálnych dotazov nad Wikipédiou) a SynthWiki (990 syntetických záznamov generovaných GPT-4).
Čo obstojí — a čo nie
Hlavný výsledok je pozoruhodný a verím mu. Rozdiel v Recall@3 pre zlaté dokumenty v strede kontextu z 20,52 % na 68,32 % nie je údaj, ktorý by sa pri bližšom skúmaní rozplynul – meria niečo skutočné o tom, ako je distribuovaná pozornosť. Dizajn bez nutnosti trénovania je skutočnou praktickou výhodou: môžete to nasadiť na akýkoľvek existujúci RAG proces bez zásahu do váh modelu.
Napriek tomu mám určité výhrady. Po prvé, prístup s „dummy dokumentom“ predpokladá, že pozičná predpojatosť je zhruba pozične oddeliteľná a aditívna – ide o lineárny rozklad, ktorý samotní autori označujú za potenciálne príliš zjednodušujúci. Skutočná predpojatosť pozornosti môže s obsahom interagovať nelineárnym spôsobom. Po druhé, O(K) extra dopredných prechodov je označených za „prijateľné“, ale nikdy neboli testované z hľadiska latencie alebo nákladov. V produkčnom systéme s K=20 vyhľadávaniami spúšťate 21 dopredných prechodov namiesto jedného na dotaz. Pre Beancount agenta triediaceho stovky transakcií je tento multiplikátor dôležitý.
Po tretie – a to je najzaujímavejšie obmedzenie – autori uvádzajú, že pozičná predpojatosť môže byť pre určité úlohy v skutočnosti užitočná. Napríklad predpojatosť k aktuálnosti (recency bias) môže byť tým, čo núti model správne pripisovať väčšiu váhu nedávnym záznamom v účtovnej knihe oproti starším. Nerozlišujúce odstránenie predpojatosti by mohlo poškodiť úlohy, kde je pozícia platným signálom. Toto je síce brané na vedomie, ale nebolo to študované.
Nakoniec, experimenty využívajú NaturalQuestion a syntetický dataset. Finančne špecifické dokumenty – husté tabuľky, viacročné výkazy, záznamy v účtovnej knihe s opakujúcou sa štruktúrou – sa veľmi líšia od pasáží z Wikipédie. Kalibráciu by bolo potrebné overiť na týchto distribúciách predtým, než sa vyhlási, že bude fungovať pre finančný RAG.
Prečo je to dôležité pre finančnú AI
Priame prepojenie je jasné: každý záznam od DocFinQA krúži okolo rovnakého problému. Keď agent Beancount vyhľadá 20 relevantných záznamov v účtovnej knihe, aby odpovedal na otázku typu „odsúhlasiť marec s bankovým výpisom“, záznamom v strede vyhľadaného okna sa bude venovať systematicky menšia pozornosť v porovnaní so záznamami na začiatku a na konci kontextu. To nie je zlyhanie vyhľadávania – je to zlyhanie na strane generovania, ktoré nespraví žiadne zlepšenie poradia vyhľadávania.
Kalibrácia „nájdené v strede“ je pravdepodobným zmiernením, ktoré nevyžaduje žiadne pretrénovanie základného modelu a mohlo by sa aplikovať priamo v kroku generovania akéhokoľvek QA procesu nad účtovnou knihou. Obava z nákladov O(K) je reálna, ale zvládnuteľná – 20-dokumentové vyhľadávacie okno s modelom strednej veľkosti je stále v praktických medziach. Čo by som chcel vidieť pred nasadením, je overenie konkrétne na údajoch so štruktúrou Beancount: pomáha pozičná korekcia jednotne, alebo neúmyselne potláča signál aktuálnosti, vďaka ktorému sú nedávne transakcie dôveryhodnejšie ako tie staré?
Širší princíp – že mechanizmy pozornosti kódujú pozičné apriórne pravdepodobnosti nezávisle od relevancie obsahu a že tieto pravdepodobnosti možno skalibrovať bez pretrénovania – stojí za zapamätanie. Otvára to dvere podobným kalibráciám pre iné predpojatosti: predpojatosť k frekvencii tokenov, normalizáciu dĺžky vstupu, predpojatosť k rozvláčnosti pri generovaní.
Čo si prečítať ďalej
- „Mitigate Position Bias in LLMs via Scaling a Single Hidden States Channel“ (arXiv:2406.02536, ACL Findings 2025) – navrhuje škálovanie jednej dimenzie skrytého stavu namiesto odčítania skóre pozornosti; stojí za priame porovnanie s prístupom „nájdené v strede“.
- „Large Language Models for Anomaly and Out-of-Distribution Detection: A Survey“ (arXiv:2409.01980, NAACL 2025) – ďalšie na zozname čítania; spája vlákna AnoLLM, CausalTAD a AD-LLM do jednotnej taxonómie.
- Liu et al., „Lost in the Middle: How Language Models Use Long Contexts“ (arXiv:2307.03172, TACL 2023) – pôvodná diagnóza, na ktorú „nájdené v strede“ reaguje; nevyhnutné základné čítanie.
