FLARE : Génération augmentée par récupération active
La semaine dernière, je lisais l'article fondateur sur le RAG de Lewis et al. — récupérer une fois, ajouter le résultat en préfixe, générer. Cela fonctionne, mais cela suppose que vous sachiez d'avance ce dont vous aurez besoin. FLARE (EMNLP 2023) s'attaque directement à cette hypothèse : et si le bon moment pour récupérer était au milieu d'une phrase, précisément quand le modèle commence à devenir incertain ? Cette question mérite d'être examinée attentivement pour tout système — comme un agent Beancount — qui doit raisonner sur l'historique d'un grand livre qu'il ne peut pas faire tenir dans une seule fenêtre de contexte.
L'article
« Active Retrieval Augmented Generation » par Zhengbao Jiang, Frank F. Xu, Luyu Gao, Zhiqing Sun, Qian Liu, Jane Dwivedi-Yu, Yiming Yang, Jamie Callan, et Graham Neubig propose FLARE : Forward-Looking Active REtrieval augmented generation. Le problème qu'ils résolvent est l'hallucination lors de la génération de longs textes, où un modèle doit extraire plusieurs éléments de connaissance tout au long d'une sortie étendue. Le RAG standard effectue une récupération unique au moment de la requête et espère que le passage récupéré couvre tout ce dont la génération aura besoin — ce qui convient aux réponses courtes, mais s'avère fragile pour les réponses de plusieurs paragraphes.
FLARE décompose la génération en étapes au niveau de la phrase. À chaque étape, il génère une phrase candidate suivante. Si un jeton de cette candidate a une probabilité prédite inférieure à un seuil θ, FLARE traite ces segments de faible confiance comme des signaux de récupération, les utilise (soit masqués, soit complétés) pour former une requête, effectue une recherche dans Wikipédia et régénère la phrase avec le contexte récupéré. Le résultat est un système qui ne récupère que quand et approximativement là où il est incertain — sans charger inutilement au début du contenu dont il n'aura jamais besoin. Toutes les expériences ont été menées sur GPT-3.5 (text-davinci-003) sans aucun ajustement fin (fine-tuning).
Idées clés
- La confiance comme déclencheur de récupération : une probabilité de jeton inférieure à θ signale que le modèle est susceptible d'halluciner ; la récupération n'est déclenchée qu'à ce moment-là, et non par défaut. Les auteurs constatent que le déclenchement pour 40 à 80 % des phrases fonctionne généralement le mieux.
- Requêtes tournées vers l'avenir : plutôt que d'utiliser uniquement ce qui a déjà été généré comme requête (l'approche par « fenêtre précédente »), FLARE utilise la phrase suivante prédite — ce que le modèle pense qu'il va dire — comme une requête de récupération beaucoup plus ciblée.
- Deux variantes : FLARE-instruct masque les jetons de faible confiance et utilise le segment masqué comme requête ; FLARE-direct utilise l'intégralité de la phrase prédite. Sur 2WikiMultihopQA, la variante directe atteint 51,0 EM contre 42,4 pour la variante instruct.
- Les gains par rapport à la récupération unique sont réels mais inégaux : sur 2WikiMultihopQA, FLARE-direct atteint 51,0 EM contre 39,4 pour la récupération unique et 28,2 sans récupération — une amélioration décisive. Sur ASQA, l'écart est beaucoup plus réduit (41,3 contre 40,0), et sur WikiAsp (UniEval 53,4 contre 52,4), c'est presque une égalité.
- Cas d'échec explicites : les auteurs rapportent que FLARE n'offre aucun gain sur Wizard of Wikipedia et ELI5, où les sorties courtes signifient que la récupération en plusieurs étapes ajoute une surcharge sans bénéfice.
- Coût : comme la génération et la récupération s'entrelacent, chaque exemple peut déclencher plusieurs complétions de modèle de langage et appels de récupération. La mise en cache n'est pas simple.
Ce qui tient la route — et ce qui ne la tient pas
La formulation tournée vers l'avenir est la partie véritablement ingénieuse. Utiliser le contenu prédit comme requête de récupération est plus informatif que le préfixe seul, en particulier pour les tâches multi-étapes où les conclusions intermédiaires déterminent le fait dont vous aurez besoin ensuite. L'écart de 51,0 contre 39,4 EM sur 2WikiMultihopQA confirme cela.
Mais le signal de confiance de FLARE dépend entièrement de la qualité de la calibration du modèle. Les probabilités de jetons d'un modèle de complétion de base comme text-davinci-003 sont raisonnablement corrélées à l'incertitude. Ce n'est pas le cas pour les modèles de chat optimisés pour les instructions ou affinés par RLHF, qui sont souvent trop confiants — ils émettent des jetons à haute probabilité même lorsqu'ils hallucinent. Un suivi de 2024, Unified Active Retrieval (UAR, arXiv:2406.12534), évalue FLARE sur une suite de décisions de récupération plus large et constate qu'il n'atteint que 56,50 % de précision dans divers scénarios, contre 85,32 % pour l'approche basée sur un classificateur d'UAR. Le problème de la calibration n'est pas un cas marginal ; c'est l'hypothèse centrale sur laquelle repose la méthode.
Il y a aussi une question de granularité de récupération que l'article n'aborde pas pleinement. Le déclenchement au niveau de la phrase est une heuristique raisonnable, mais certains faits s'étendent sur plusieurs propositions, et d'autres sont localisés sur un seul nom d'entité. Une faible probabilité sur un jeton numérique (un montant en dollars, une date) devrait probablement déclencher la récupération différemment d'une faible probabilité sur un mot de liaison. L'article traite tous les jetons de faible confiance de manière symétrique.
Enfin, la boucle « régénérer si incertain » introduit une latence. Les auteurs le reconnaissent mais ne le quantifient pas par rapport à un budget de latence, ce qui importe pour les applications interactives ou en temps quasi réel.
Pourquoi c'est important pour l'IA financière
Un agent Beancount résumant un grand livre sur plusieurs années ne peut pas récupérer toutes les écritures historiques d'emblée — le contexte déborderait et la majeure partie serait sans rapport avec la réponse attendue. La conception de FLARE correspond bien à ce problème : générer un premier brouillon du commentaire de rapprochement, remarquer une faible confiance sur le solde courant d'un fournisseur spécifique, récupérer uniquement les transactions pertinentes, puis régénérer cette phrase. Le schéma est cohérent.
Le problème de la calibration est cependant une préoccupation sérieuse. Les agents financiers en production utilisent presque universellement des modèles de chat optimisés pour les instructions (GPT-4, Claude, Gemini), et non des modèles de complétion de base. Si ces modèles sont trop confiants — ce qu'ils sont fréquemment sur des affirmations numériques — ils ignoreront la récupération précisément quand ils devraient la déclencher. Un agent d'écriture Beancount qui hallucine une date de transaction avec une confiance élevée et ne procède jamais à une récupération pour vérifier est pire qu'inutile.
La leçon pratique est de coupler la construction de requêtes tournées vers l'avenir de FLARE avec un déclencheur de récupération qui ne repose pas uniquement sur la probabilité des jetons. Des marqueurs d'incertitude explicites (expressions de nuance, nombres ronds, entités nommées que le modèle n'a pas vues récemment) pourraient compléter le signal de confiance. Ou bien adopter l'approche UAR : entraîner un classificateur léger sur les états cachés du modèle, qui est plus robuste à la mauvaise calibration que les probabilités brutes (logits).
Que lire ensuite
- IRCoT : « Interleaving Retrieval with Chain-of-Thought Reasoning for Knowledge-Intensive Multi-Step Questions » (arXiv:2212.10509) — couple la récupération avec les étapes CoT plutôt qu'avec la confiance des jetons ; mérite d'être comparé directement à FLARE sur les tâches multi-étapes.
- Unified Active Retrieval (UAR, arXiv:2406.12534) — le suivi direct qui expose l'écart de calibration de FLARE et propose des décisions de récupération basées sur un classificateur à travers quatre scénarios de récupération.
- « Adaptive Retrieval without Self-Knowledge? Bringing Uncertainty Back Home » (arXiv:2501.12835) — un article de 2025 qui réexamine si les déclencheurs basés sur la probabilité des jetons peuvent être réhabilités avec de meilleures techniques de calibration.
