Needle In A Haystack (NIAH)
Le test de l’aiguille dans une botte de foin (NIAH) vérifie si un LLM peut trouver un fait dissimulé à n’importe quelle profondeur d’un long contexte. Présentation de son origine, de ses résultats, de ses variantes et de ses limites.
Needle in a haystack (NIAH, « aiguille dans une botte de foin ») est une évaluation qui dissimule un fait unique, l’aiguille, à une profondeur donnée dans un long passage de texte sans rapport, la botte de foin, puis demande à un grand modèle de langage (LLM) de le retrouver. Répéter le test avec différentes longueurs de contexte et positions de l’aiguille produit une carte thermique qui montre à quel endroit de la fenêtre de contexte un modèle cesse de retrouver l’information. En novembre 2023, Greg Kamradt a présenté le test dans un dépôt NIAH open source : il a dissimulé la phrase « The best thing to do in San Francisco is eat a sandwich and sit in Dolores Park on a sunny day » parmi les essais de Paul Graham, puis a demandé à chaque modèle quelle était la meilleure chose à faire à San Francisco. Les premiers essais ont porté sur GPT-4 Turbo d’OpenAI, avec une fenêtre de 128 K tokens, et Claude 2.1 d’Anthropic, avec 200 K.
Fonctionnement du test#
La longueur de la botte de foin est ramenée à une cible exprimée en tokens, l’aiguille est insérée à une fraction de cette longueur, de 0 % au début à 100 % à la fin, puis la réponse du modèle est comparée à l’aiguille. Un test complet balaie les deux axes :
L’aiguille n’a aucun rapport avec les essais qui l’entourent ; le test isole donc une capacité du mécanisme d’attention : localiser et copier un passage précis n’importe où dans une longue invite.
Principaux résultats#
Les premières cartes thermiques de Kamradt ont montré que GPT-4 Turbo ne retrouvait plus l’aiguille au-delà d’environ 73 K tokens, surtout lorsqu’elle se trouvait entre environ 7 % et 50 % de la profondeur, une faiblesse proche du milieu de l’invite que l’étude Lost in the Middle avait mesurée la même année. Claude 2.1 a obtenu 27 % avec l’invite d’origine ; Anthropic a fait passer ce résultat à 98 % grâce à un changement d’ingénierie des invites : commencer la réponse de Claude par « Here is the most relevant sentence in the context: ». NIAH est devenu un graphique standard lors des lancements de modèles. Le rapport Gemini 1.5 de Google revendiquait un taux de récupération supérieur à 99 % jusqu’à au moins 10 millions de tokens et étendait le test aux bottes de foin audio et vidéo ; Anthropic a indiqué que Claude 3 Opus dépassait 99 % de rappel et remarquait parfois que l’aiguille semblait avoir été artificiellement insérée dans le texte.
Variantes et limites#
La version simple de NIAH se rapproche d’une recherche lexicale, puisque la question reprend les mots clés de l’aiguille, et les modèles de pointe atteignent désormais son plafond. Les variantes plus difficiles modifient ce que l’aiguille exige :
- Récupération d’un mot de passe : un nombre aléatoire dissimulé dans un texte répétitif, utilisé en 2023 pour tester Landmark Attention avant l’existence de NIAH.
- Plusieurs aiguilles et agrégation : le benchmark RULER de NVIDIA dissimule plusieurs clés et valeurs, ajoute le suivi de variables et l’agrégation de mots courants, et a montré que seuls 8 des 17 modèles revendiquant une fenêtre d’au moins 32 K tokens obtenaient des résultats satisfaisants à 32 K.
- Aucune correspondance littérale : NoLiMa formule chaque question de manière à ce qu’elle recoupe à peine l’aiguille. À 32 K tokens, 11 des 13 modèles sont tombés sous la moitié de leurs scores obtenus avec un contexte court.
La baisse de précision révélée par ces tests plus difficiles lorsque la taille des entrées augmente s’appelle la dégradation du contexte. NIAH diffère aussi de la génération augmentée par récupération (RAG), où une recherche vectorielle externe sélectionne des passages avant que le modèle ne les lise, et de la détection d’anomalies, qui recherche des écarts inconnus plutôt qu’une cible connue.
Aiguilles dans les images#
En vision par ordinateur, la même expression désigne la détection de petits objets : une personne dans une image aérienne, un navire dans une scène satellite ou une cellule tumorale dans une lame entière numérisée pour l’analyse d’images médicales. Le problème tient à la résolution : par défaut, Ultralytics YOLO26 redimensionne chaque image à 640 pixels sur son côté le plus long ; une image de drone de 4 000 pixels est donc réduite de plus de six fois et un piéton de 10 pixels finit par faire moins de 2 pixels de large. L’inférence par tuiles avec SAHI exécute YOLO26 sur des tuiles qui se chevauchent, par exemple de 256 × 256, à la résolution native et fusionne les boîtes englobantes. Dans les tests de l’article sur SAHI sur les jeux de données aériens VisDrone et xView, le découpage en tuiles a augmenté l’AP de détection d’objets de 5,1 à 6,8 % pour trois détecteurs différents.










