Aller au contenu principal

Found in the Middle : Calibrer le biais d'attention positionnelle améliore le RAG à long contexte

· 7 minutes de lecture
Mike Thrift
Mike Thrift
Marketing Manager

Je réfléchis au problème du « perdu au milieu » (lost-in-the-middle) depuis que j'ai écrit la note sur la découverte originale de Liu et al. : passez un contexte long à un LLM, et il ignorera systématiquement les preuves enfouies au milieu. « Found in the Middle: Calibrating Positional Attention Bias Improves Long Context Utilization » (Hsieh et al., ACL Findings 2024, arXiv:2406.16008) offre le correctif le plus direct et le plus pratique que j'aie vu : une calibration au moment de l'inférence sans entraînement qui soustrait le biais positionnel du modèle de ses poids d'attention, récupérant jusqu'à 15 points de pourcentage de précision RAG.

L'article

2026-07-02-found-in-the-middle-calibrating-positional-attention-bias

Hsieh et al. partent d'une observation diagnostique : les LLM — même ceux entraînés sur de longs contextes — présentent un schéma d'attention persistant en forme de U. Les jetons (tokens) au début et à la fin de l'entrée reçoivent une attention disproportionnée, qu'ils soient pertinents ou non, tandis que les jetons au milieu sont systématiquement sous-pondérés. Les auteurs relient cela empiriquement à la baisse de précision du « perdu au milieu » plutôt que de le traiter comme un phénomène distinct.

Leur correctif est élégant dans son concept. Ils décomposent l'attention en deux composantes additives : la pertinence (ce que nous voulons) et le biais positionnel (ce que nous ne voulons pas). Pour isoler le terme de biais, ils font passer un document « fictif » (dummy) — un contenu de remplissage non informatif — à travers le même contexte à chaque position et enregistrent la distribution d'attention résultante. Cette attention du document fictif approxime le pur a priori positionnel. En le soustrayant des scores d'attention réels, on obtient un résidu qui reflète mieux la véritable pertinence :

Attention calibrée = Attn(document, k) − Attn(fictif, k)

Les scores redimensionnés sont ensuite utilisés pour reclasser ou re-pondérer les documents récupérés avant l'étape finale de génération de la réponse. De manière cruciale, aucun entraînement n'est requis. La calibration est appliquée au moment de l'inférence aux 16 dernières couches du décodeur et à toutes les têtes d'attention. Le coût est de O(K) passages en avant (forward passes) supplémentaires, où K est le nombre de documents récupérés — non négligeable mais prévisible.

Idées clés

  • Le biais d'attention en forme de U est intrinsèque à l'architecture du modèle et persiste même dans les modèles explicitement entraînés avec des objectifs de contexte long.
  • Faire passer un document fictif (vide/bruit) à travers le même contexte de récupération isole l'a priori positionnel ; le soustraire élimine le biais sans aucun réglage fin (finetuning).
  • Le Recall@3 sur NaturalQuestion (K=20, document d'or placé au milieu) bondit de 20,52 % à 68,32 % avec la calibration ; à K=10, de 36,38 % à 74,27 %.
  • La précision du QA de bout en bout s'améliore de 6 à 15 points de pourcentage lorsque le document d'or est au milieu du contexte ; les améliorations se maintiennent dans 22 des 24 configurations expérimentales.
  • La méthode surpasse six lignes de base de comparaison : attention standard, classement par génération de requête, incitation par génération de pertinence, tri par attention (Peysakhovich & Lerer 2023), réordonnancement des prompts et LongLLMLingua-rk.
  • La méthode a été évaluée sur NaturalQuestion (2 655 requêtes réelles sur Wikipedia) et SynthWiki (990 entrées synthétiques générées par GPT-4).

Ce qui tient la route — et ce qui ne la tient pas

Le résultat principal est frappant et je le crois. Un écart de Recall@3 de 20,52 % → 68,32 % pour les documents d'or en milieu de contexte n'est pas le genre de chiffre qui s'évapore sous examen — il mesure quelque chose de réel sur la façon dont l'attention est distribuée. La conception sans entraînement est un véritable avantage pratique : vous pouvez l'ajouter à n'importe quel pipeline RAG existant sans toucher aux poids du modèle.

Cela dit, j'ai quelques réserves. Premièrement, l'approche du « document fictif » suppose que le biais positionnel est grossièrement séparable par position et additif — une décomposition linéaire que les auteurs eux-mêmes signalent comme potentiellement simpliste. Le biais d'attention réel peut interagir avec le contenu de manière non linéaire. Deuxièmement, les O(K) passages en avant supplémentaires sont présentés comme « acceptables » mais ne sont jamais évalués en termes de latence ou de coût. Dans un système de production avec K=20 récupérations, vous effectuez 21 passages en avant au lieu d'un seul par requête. Pour un agent Beancount triant des centaines de transactions, ce multiplicateur compte.

Troisièmement — et c'est la limitation la plus intéressante — les auteurs notent que le biais positionnel pourrait en réalité être utile pour certaines tâches. Le biais de récence, par exemple, pourrait être ce qui permet à un modèle de pondérer correctement les écritures de grand livre récentes par rapport aux plus anciennes. Supprimer le biais sans discernement pourrait nuire aux tâches où la position est un signal valide. Ceci est reconnu mais non étudié.

Enfin, les expériences utilisent NaturalQuestion et un ensemble de données synthétique. Les documents spécifiques à la finance — tableaux denses, dépôts pluriannuels, écritures de grand livre avec une structure répétitive — sont très différents des passages Wikipedia du domaine général. La calibration devrait être validée sur ces distributions avant d'affirmer qu'elle fonctionnera pour le RAG financier.

Pourquoi c'est important pour l'IA financière

Le lien direct est clair : chaque journal depuis DocFinQA tourne autour du même problème. Lorsqu'un agent Beancount récupère 20 écritures de grand livre pertinentes pour répondre à une question comme « rapprocher mars avec le relevé bancaire », les écritures au milieu de la fenêtre de récupération recevront systématiquement moins d'attention que celles en haut et en bas du contexte. Ce n'est pas un échec de la récupération — c'est un échec côté génération qu'aucune amélioration du classement de récupération ne corrigera.

La calibration « trouvé au milieu » est une atténuation plausible qui ne nécessite aucun réentraînement du modèle sous-jacent et pourrait être appliquée directement à l'étape de génération de n'importe quel pipeline de QA de grand livre. L'inquiétude concernant le coût O(K) est réelle mais gérable — une fenêtre de récupération de 20 documents avec un modèle de taille modérée reste tout à fait dans les limites du possible. Ce que je voudrais voir avant de le déployer est une validation spécifique sur des données structurées Beancount : la correction positionnelle aide-t-elle uniformément, ou supprime-t-elle par inadvertance le signal de récence qui rend les transactions récentes plus dignes de confiance que les anciennes ?

Le principe plus large — à savoir que les mécanismes d'attention encodent des a priori positionnels indépendamment de la pertinence du contenu, et que ces a priori peuvent être éliminés par calibration sans réentraînement — est à retenir. Cela ouvre la porte à des calibrations similaires pour d'autres biais : biais de fréquence des jetons, normalisation de la longueur d'entrée, biais de verbosité dans la génération.

Que lire ensuite

  • « Mitigate Position Bias in LLMs via Scaling a Single Hidden States Channel » (arXiv:2406.02536, ACL Findings 2025) — propose de mettre à l'échelle une seule dimension d'état caché plutôt que de soustraire les scores d'attention ; mérite d'être comparé directement à l'approche de « Found in the Middle ».
  • « Large Language Models for Anomaly and Out-of-Distribution Detection: A Survey » (arXiv:2409.01980, NAACL 2025) — le prochain sur la liste de lecture ; relie les fils de AnoLLM, CausalTAD et AD-LLM dans une taxonomie unifiée.
  • Liu et al., « Lost in the Middle: How Language Models Use Long Contexts » (arXiv:2307.03172, TACL 2023) — le diagnostic original auquel répond l'article actuel ; lecture de fond essentielle.