Représentation vectorielle contextuelle au-delà du passage de référence
Nouvelle méthode d'entraînement, modèle et benchmark pour récupérer les réponses et leur contexte de soutien.
Introduction
Les représentations vectorielles contextuelles saisissent le sens de chaque passage ou extrait dans le contexte de l'ensemble du document. Leur entraînement et leur évaluation supposent généralement un seul extrait pertinent par requête, connu sous le nom de « passage de référence (gold passage) ». Cependant, un passage de référence ne suffit souvent pas en pratique. Il peut contenir la réponse mais manquer du contexte de soutien nécessaire pour la comprendre ou la vérifier, ce qui la laisse ambigüe de manière isolée.
Nous présentons pplx-embed-v2-context-9b-preview, notre nouveau modèle de représentation vectorielle contextuelle. Le modèle est entraîné selon une approche novatrice qui utilise le modèle de compression de contexte de Perplexity comme professeur. Nous agrégeons ses prédictions au niveau des jetons en scores de pertinence au niveau des extraits, enseignant ainsi au modèle de représentation vectorielle de récupérer à la fois les extraits de réponse et le contexte de soutien plutôt qu'un unique extrait de référence. Le modèle produit une représentation vectorielle par extrait sans coût d'inférence supplémentaire et prend en charge les représentations vectorielles à 1024 dimensions et int8.
Il obtient des résultats de pointe sur context-bench, un nouveau benchmark pour la récupération consciente du contexte créé et détenu à titre privé par turbopuffer, ainsi que sur ConTEB, un benchmark public largement utilisé. Notre modèle a été développé indépendamment de context-bench et évalué en tant que soumission en aveugle.
Context-bench se compose de 2 099 requêtes portant sur 38 894 documents longs répartis dans 21 domaines et évalue trois capacités des représentations vectorielles contextuelles : la désambiguïsation de documents parmi des documents quasi en double, la récupération d'extraits de référence (gold chunks) dont le sens dépend d'un contexte distant, et le rappel des éléments de preuve requis pour vérifier une réponse.
Un aperçu du modèle est accessible au public sur Hugging Face. Le benchmark est conservé à titre privé par turbopuffer afin de réduire le risque de contamination de l'entraînement et de préserver sa valeur pour mesurer les progrès. Pour demander une évaluation, veuillez contacter turbopuffer à l'adresse contextbench@turbopuffer.com.
Pourquoi le contexte est important pour la récupération
Les systèmes de récupération divisent généralement les documents longs en extraits plus petits qui peuvent être indexés et recherchés indépendamment. Le découpage en extraits est pratique, mais il supprime le contexte dans lequel chaque extrait est apparu à l'origine, créant un compromis entre la granularité de la compression d'informations et le contexte utilisé lors de l'encodage. Un extrait peut faire référence à une entité introduite plus tôt, hériter de son sens d'un titre de section ou s'appuyer sur des définitions situées ailleurs dans le document. Une fois extrait, il peut ne plus contenir suffisamment de données pour être mis en correspondance de manière fiable avec une requête. Encoder le document entier sous la forme d'un vecteur unique ne résout pas ce problème, car une représentation regroupée (pooled) ne peut pas capturer fidèlement chaque facette d'un document long.
Les modèles de représentation vectorielle contextuelle répondent à cette limite en représentant chaque extrait dans le contexte de son contenu environnant, le plus souvent par le biais d'un découpage tardif (late chunking) : le document est encodé en un seul passage et les représentations des extraits sont regroupées (pooled) par la suite, de sorte que chaque vecteur d'extrait est calculé avec le document entier en vue. Des travaux antérieurs, tels que ConTEB et notre propre pplx-embed-context-v1, ont montré que les représentations d'extraits contextualisées améliorent considérablement la récupération par rapport à des extraits encodés de manière indépendante, en particulier sur les documents longs.
Les limites de la supervision par extraits de référence
L'entraînement de modèles de représentation vectorielle contextuelle nécessite une supervision qui identifie quelles parties d'un document sont pertinentes pour une requête donnée. Une approche courante consiste à utiliser des annotations par extraits de référence : pour chaque requête, un annotateur, généralement un grand modèle de langage (LLM), identifie l'extrait du document qui y répond.
L'entraînement combine généralement deux pertes contrastives : une perte interdocuments qui oppose l'extrait de référence aux extraits d'autres documents, et une perte intradocument qui l'oppose aux autres extraits du même document.
Cette approche présente quelques limites :
- Un seul extrait est pertinent. Elle traite tous les autres extraits du document comme des exemples négatifs, y compris ceux qui contiennent des informations de soutien utiles. La supervision au niveau du document fonctionne à l'autre extrême. Elle identifie le document comme pertinent sans préciser quels extraits en son sein comptent. En pratique, la pertinence se situe souvent entre ces deux extrêmes. L'extrait porteur de la réponse peut dépendre de quelques extraits de soutien qui introduisent une entité, résolvent une référence ou fournissent un fait complémentaire, tandis que le reste du document n'est pas pertinent. Le modèle doit donc apprendre le bon niveau de sélectivité : plus large qu'un simple extrait de référence, mais plus ciblé que le document dans son ensemble.
- Supervision grossière. Étant donné que chaque annotation identifie un seul extrait de référence plutôt que de capturer des degrés de pertinence à travers le document, elle fournit des signaux d'entraînement limités par rapport à la quantité de calcul dépensée pour la produire.
- Coûteux à mettre à l'échelle. Chaque paire d'entraînement exige qu'un LLM lise le document et sélectionne l'extrait pertinent, de sorte que le coût d'annotation croît linéairement avec la taille de l'ensemble d'entraînement et limite l'ampleur et la diversité des données d'entraînement.
- Sensible aux limites des extraits. Les étiquettes sont également liées aux limites des extraits utilisées lors de l'annotation. Une étiquette de référence attribuée à une fenêtre de taille de jetons fixe ne précise pas quelles phrases plus courtes ou paragraphes plus longs sont pertinents. Modifier la stratégie de découpage, ou s'entraîner sur plusieurs découpages pour améliorer la robustesse face à la façon dont les documents sont divisés au moment de l'indexation, peut par conséquent nécessiter d'annoter à nouveau le corpus.
Une nouvelle approche de l'apprentissage contextuel
Nous répondons aux limites de la supervision par extraits de référence en extrayant des jugements de pertinence d'un modèle de compression de contexte conscient des requêtes. Ce modèle sert de professeur : il lit la requête et le document conjointement et attribue un score de pertinence à chaque jeton du document. Ses prédictions offrent plusieurs avantages pour l'entraînement de représentations vectorielles contextuelles :
- Limites d'extraits flexibles. Les scores de pertinence au niveau des jetons peuvent être agrégés sur n'quelles limites d'extraits choisies, permettant aux mêmes prédictions du professeur de superviser différents découpages sans ré-annotation.
- Pertinence continue. Contrairement aux étiquettes binaires d'extraits de référence, le professeur fournit des scores continus qui capturent des degrés de pertinence distinguant naturellement les extraits porteurs de réponses, le contexte de soutien et le contenu non pertinent.
- Coût d'annotation inférieur. Le professeur est compact et spécialisé dans l'évaluation de la pertinence, ce qui le rend beaucoup moins cher à superviser à grande échelle qu'un LLM à usage général.
Nous entrainons notre modèle à l'aide d'une somme pondérée d'une perte contrastive au niveau du document et d'une perte de distillation au niveau des extraits sur des lots de paires requête-document. Pour chaque requête, le document apparié sert d'exemple positif, tandis que les documents restants du même lot servent d'exemples négatifs.
Pour chaque lot, nous sélectionnons aléatoirement une stratégie de découpage, divisons les documents en conséquence et insérons des jetons de séparation entre les extraits. Nous traitons ensuite chaque document en un seul passage aller et effectuons une mise en moyenne (mean-pooling) des représentations de jetons au sein de chaque extrait pour obtenir des représentations vectorielles d'extraits contextuelles. Les requêtes sont encodées séparément, avec une mise en moyenne sur leurs représentations de jetons. Enfin, nous calculons la similarité cosinus entre chaque représentation vectorielle de requête et chaque représentation vectorielle d'extrait dans le lot.
Fonction de perte
Perte contrastive au niveau du document
Bien que notre modèle de représentation vectorielle ne produise que des similarités au niveau des extraits, nous pouvons naturellement en dériver des similarités au niveau du document. Nous considérons qu'un document d est aussi pertinent pour une requête q que son extrait le plus pertinent. Cette règle de score s'inspire de l'opération MaxSim de ColBERT, appliquée ici aux extraits plutôt qu'aux jetons.
Plus précisément, étant donné une requête q dotée d'une représentation vectorielle q et un document d sous forme de liste ordonnée d'extraits c dotés de représentations vectorielles c, nous définissons la similarité au niveau du document comme suit :
Étant données ces similarités au niveau du document, nous pouvons formuler un objectif InfoNCE au niveau du document sur les exemples négatifs intra-lot.
Pour une requête q, soit d⁺ son document pertinent et 𝒟 les documents du lot. La perte contrastive est la suivante, en omettant les températures pour faciliter la lecture :
Perte de distillation au niveau des extraits
La perte contrastive apprend au modèle quel document est pertinent pour une requête. La perte de distillation lui apprend où réside la pertinence au sein de ce document, ce qui est essentiel pour un modèle contextuel.
Pendant l'entraînement, nous transmettons chaque paire positive requête-document à notre modèle de compression de contexte, qui attribue un score de pertinence à chaque jeton du document. Comme pour le calcul de score au niveau du document, nous déduisons la pertinence de chaque extrait à partir de ses contenus les plus pertinents. Pour réduire la sensibilité aux jetons aberrants, y compris ceux situés aux limites des extraits, nous définissons la pertinence au niveau des extraits comme la moyenne des n meilleurs scores de jetons au sein de l'extrait.
Pour chaque requête, nous appliquons une fonction softmax mise à l'échelle par la température aux scores de pertinence au niveau des extraits du professeur dans le document positif afin d'obtenir une distribution cible. Les extraits des autres documents du lot reçoivent une probabilité cible nulle. Nous entrainons le modèle de représentation vectorielle à faire correspondre cette cible en minimisant la divergence de Kullback-Leibler avant (forward KL divergence) entre la cible et sa distribution prédite sur tous les extraits du lot :
Ici, les exposants T et S indiquent le professeur et l'étudiant, et rⱼ est le score de pertinence du professeur pour l'extrait cⱼ dans le document positif d⁺. La distribution cible du professeur attribue une probabilité nulle aux extraits de tous les autres documents du lot.
Contrairement à une étiquette d'extrait de référence unique, cette cible capture des degrés de pertinence. Les extraits de soutien reçoivent un poids en fonction des scores du professeur au lieu d'être traités comme des exemples négatifs, ce qui apprend au modèle à récupérer le contexte de soutien ainsi que la réponse.
Perte combinée
Notre objectif d'entraînement combiné est une somme pondérée de la perte contrastive au niveau du document et de la perte de distillation au niveau des extraits. Nous faisons la moyenne de cette perte pondérée sur le lot de paires requête-document.
La figure 2 illustre notre approche d'entraînement. Le compresseur de contexte sert de professeur uniquement pendant l'entraînement. Au moment de l'inférence, le modèle de représentation vectorielle produit une représentation vectorielle contextuelle par extrait, sans étape supplémentaire de compression ou de reclassement (reranking). L'approche améliore la façon dont les représentations vectorielles contextuelles sont apprises sans accroître le stockage de l'index ni ajouter de latence liée au modèle professeur au moment de la récupération.
Données d'entraînement
Les données d'entraînement se composent d'environ 430 ensembles de données de requêtes et documents publics et internes couvrant plus de 50 langues.
Nous construisons des ensembles de données de paires internes à partir de données de production filtrées contre les PII et en synthétisant des requêtes pertinentes sur de longs documents. Pour chaque passage aller, nous sélectionnons un ensemble de données et en échantillonnons un lot entier afin d'accroître la difficulté des exemples négatifs intra-lot et d'éviter l'apprentissage par raccourcis. Aucun de nos ensembles de données d'entraînement ne comporte d'annotations au niveau des extraits : toute la supervision intradiocument provient du modèle de compression, et aucune donnée de ConTEB n'est utilisée pour l'entraînement. De plus, aucune donnée de context-bench n'était disponible pendant le développement du modèle.
Configuration de l'entraînement
Le modèle part d'un modèle de récupération ColBERT interne de 9 milliards de paramètres et produit des représentations vectorielles (embeddings) à 2048 dimensions par l'intermédiaire d'une couche de projection linéaire. Nous marquons les limites des extraits à l'aide d'un jeton <|chunk_sep|> appris et formons chaque représentation vectorielle d'extrait en faisant la moyenne de ses représentations vectorielles de jetons. Les requêtes sont encodées par le même modèle, leurs représentations vectorielles de jetons étant moyennées en un seul vecteur.
Nous utilisons l'entraînement Matryoshka pour prendre en charge les représentations vectorielles à 1024 et 2048 dimensions, ainsi que l'entraînement tenant compte de la quantification pour prendre en charge les représentations vectorielles int8 natives. Durant l'entraînement, nous augmentons progressivement le taux d'apprentissage, le maintenons constant, puis le réduisons.
Le modèle publié est une fusion de modèles (model soup) qui fait la moyenne des pondérations de plusieurs points de contrôle issus de la même exécution d'entraînement.
Un nouveau benchmark pour la récupération au niveau des extraits
Les benchmarks publics de récupération contextuelle tels que ConTEB partagent l'hypothèse sous-jacente à la supervision par extraits de référence (gold chunks) : chaque requête possède un unique extrait pertinent et un modèle est récompensé uniquement s'il classe cet extrait en premier. Ils en héritent également les limites.
Premièrement, ConTEB teste la récupération sur des tâches où un extrait est ambigu sans son contexte environnant. Sur ces tâches, les modèles contextuels ont surperformé les modèles qui encodent chaque extrait de manière indépendante. Cependant, il ne cherche pas à savoir si un modèle met également en surface les autres parties du document qui rendent l'extrait compréhensible.
Deuxièmement, il ne teste pas systématiquement s'il est possible de trouver le bon document lorsque des documents quasi identiques dans le même corpus ne diffèrent que par le contexte entourant une phrase par ailleurs identique.
Ces deux capacités comptent lorsqu'un agent de recherche ou un utilisateur doit comprendre et vérifier une réponse à partir de quelques phrases récupérées plutôt qu'à partir d'un document entier. C'est pourquoi nous avons créé context-bench, un benchmark contrôlé pour la récupération sur de longs documents, conçu pour distinguer l'utilisation du contexte documentaire de la qualité de récupération générale. Il teste si les représentations vectorielles contextuelles utilisent des informations provenant d'ailleurs dans un document pour prendre en charge trois capacités :
- Désambiguïsation de documents : Identifier le bon document parmi des solutions de rechange quasi identiques.
- Récupération de réponses : Récupérer des extraits porteurs de réponses dont le sens dépend de détails situés ailleurs dans le document.
- Récupération d'éléments de preuve : Récupérer les extraits justificatifs qui clarifient ou étayent la réponse.
Context-bench contient 2 099 requêtes et 38 894 documents. Des extraits de la taille d'une phrase sont utilisés, ce qui donne un total de 2 458 072 extraits. Les requêtes couvrent 21 domaines, notamment les documents réglementaires d'entreprise, la recherche clinique, le voyage, le divertissement, l'éducation, le gouvernement, les contrats juridiques et la documentation logicielle.
Chaque requête est conçue pour tester l'une des douze capacités contextuelles. Les documents cibles principaux sont intentionnellement longs : 1 061 des 1 197 documents cibles principaux distincts comptent au moins 200 phrases, avec une longueur médiane d'environ 6 100 jetons. Chaque requête possède exactement une réponse correcte dans le corpus. Lorsque le même fait est énoncé plus d'une fois dans un document de référence, par exemple dans une phrase de synthèse et dans une ligne de tableau, l'une ou l'autre de ces phrases est acceptée comme réponse.
Un chemin de réponse est une combinaison valide d'un extrait de réponse et des éléments de preuve justificatifs nécessaires pour l'interpréter ou le vérifier. Sur les 2 099 requêtes, le chemin de réponse du document cible principal comporte un groupe d'éléments de preuve pour 964 requêtes, deux pour 735, trois ou plus pour 332, et aucun pour 68. D'autres chemins de réponse valides peuvent nécessiter différents groupes d'éléments de preuve.
Tableau 1 : Statistiques du benchmark.
Statistique | Valeur |
Requêtes | 2 099 |
Documents | 38 894 |
Extraits de phrases | 2 458 072 |
Longueur médiane du document cible principal | 6 100 jetons |
Domaines | 21 |
Groupes d'éléments de preuve par requête (chemin de réponse du document cible principal) | 1 : 964 ; 2 : 735 ; 3+ : 332 ; aucun : 68 |
Tableau 2 : Douze capacités contextuelles testées par context-bench, accompagnées d'exemples illustratifs.
Capacité | Exemple de requête | Extrait de réponse | Contexte documentaire requis |
1. Identité d'une entité | Combien Northlake a-t-elle dépensé en rachat d'actions ? | L'entreprise a racheté pour 12,8 milliards de dollars d'actions. | L'introduction identifie Northlake comme « l'entreprise ». Un rapport similaire concernant Southlake n'est pas pertinent. |
2. Période ou version | Quelle cartouche convient à la révision B du M40 ? | Installez la cartouche KC-42. | La section sur l'applicabilité indique que ces instructions couvrent la révision B, et non la révision C. |
3. Définitions et alias | Quel taux d'abandon a enregistré le groupe de 15 mg ? | Zêta a enregistré un taux d'abandon de 12,7 %. | Le rapport définit Zêta comme le groupe de 15 mg. Sans cette définition, l'extrait n'identifie pas le groupe demandé. |
4. Structure de tableau | Quelle est la capacité de la batterie du modèle Max ? | Capacité typique : 4 250 | 4 700 | 5 150. | L'en-tête du tableau établit Mini | Base | Max, mesuré en mAh. La réponse est donc de 5 150 mAh. |
5. Conditions et exceptions | Quelle est la durée de la couverture de la batterie pour un usage commercial ? | La couverture de la batterie est de 18 mois. | Une introduction de section restreint cette couverture aux installations commerciales ; les installations domestiques bénéficient d'une garantie différente. |
6. Références et pronoms | Quand Mara est-elle devenue mairesse adjointe ? | Elle est entrée en fonction en 2021. | Le récit précédent établit que « elle » fait référence à Mara, et non à Elin, qui est également mentionnée. |
7. Ordre et position dans une liste | Quelle chanson a ouvert le rappel ? | 14. Lantern Road. | Une note ailleurs indique que les chansons 14 à 16 constituaient le rappel. La piste 14 est donc sa chanson d'ouverture. |
8. Portée d'une section | Quel objectif a été utilisé pour la cinématographie du film ? | Une focale fixe de 35 mm a été utilisée tout au long. | Ce passage appartient à « Principal Photography », et non à la section distincte concernant les photographies promotionnelles. |
9. Attribution des propos | Quelle date de réouverture le maire a-t-il promise ? | Nous rouvrirons le 12 juin. | La transcription identifie le maire comme l'orateur. Les mêmes mots prononcés par un entrepreneur n'établiraient pas la promesse du maire. |
10. Changements au fil du temps | Quel délai de préavis s'appliquait après la modification de mai ? | Le délai de préavis est désormais de 45 jours. | L'historique des modifications établit que ce changement est entré en vigueur en mai, remplaçant la règle précédente de 30 jours. |
11. Relations de cause à effet | Pourquoi la pompe ouest s'est-elle arrêtée ? | Cette panne a provoqué l'arrêt. | L'enquête identifie « cette panne » comme étant un roulement grippé dans la pompe ouest, et la distingue d'une obstruction d'admission sans rapport. |
12. Sens figuré ou interlinguistique | Figuré : Que symbolise « la pièce d'hiver » dans le poème ? Interlinguistique : Quel composant l'instruction en français indique-t-elle au technicien de retirer ? | Figuré : Elle représente l'exil, plutôt qu'une pièce physique. Interlinguistique : Retirez le capot. | Figuré : Le commentaire identifie « elle » comme l'image récurrente de « la pièce d'hiver » du poème. Interlinguistique : Le glossaire du guide précise que « capot » désigne le capot de protection du moteur, et non le couvercle de transport. |
Documents et requêtes
Les requêtes, documents et capacités testés s'inspirent de conversations avec les clients de turbopuffer.
Pour donner un exemple, prenons les besoins de recherche d'une entreprise de gestion immobilière. Ces entreprises possèdent des centaines, parfois des milliers de contrats de location qui ne diffèrent que par le nom des locataires, les dates et quelques autres détails clés. Une requête courante pour cet ensemble de données pourrait être « quand prend fin le bail du 5 Park Avenue et quel est le loyer actuel ? ». Les contrats de location peuvent également être longs et les composants de désambiguïsation critiques qui confirment que vous avez récupéré le bon document (tels que la date, l'adresse, le nom du locataire, etc.) peuvent souvent se trouver très loin de la phrase de réponse clé contenant le montant du loyer mensuel. En pratique, des phrases identiques telles que « Le loyer mensuel est de X XXX $. » peuvent apparaître dans de nombreux documents du corpus.
Un bon modèle de représentation vectorielle contextuelle devrait utiliser le contexte de l'ensemble du document pour identifier le bon document et récupérer à la fois la réponse et ses phrases justificatives. Cela permet à un utilisateur ou à un agent de recherche de vérifier rapidement la réponse et de confirmer qu'elle provient du bon document.
Étiquettes de réponse et d'éléments de preuve
Pour chaque requête, nous étiquetons les phrases de « réponse » et de « preuve » dans le document cible. Un modèle réussit notre test de « suffisance pour le lecteur » s'il récupère une phrase de réponse ainsi qu'au moins une phrase de chaque groupe d'éléments de preuve. Ensemble, ces phrases fournissent suffisamment de contexte à un lecteur pour vérifier la réponse à l'aide d'éléments de preuve justificatifs.
Lorsque les modèles de représentation vectorielle contextuelle réussissent cela, ils peuvent réduire considérablement le nombre de jetons que les agents de recherche doivent examiner et permettre à une personne de confirmer beaucoup plus rapidement qu'elle a localisé la réponse correcte à sa requête initiale sans avoir à lire le document entier.
Chaque groupe d'éléments de preuve doit être récupéré, mais l'une quelconque des solutions de rechange d'un groupe suffit pour le récupérer. Il est courant de voir le même fait énoncé à plusieurs endroits dans ces documents longs. Récupérer une seule phrase de chaque groupe d'éléments de preuve satisfait aux critères de suffisance pour le lecteur et serait par conséquent accepté comme un rappel d'éléments de preuve parfait.
Mesures
Chaque document est découpé en phrases, et les mêmes limites sont utilisées pour tous les modèles. Deux conditions sont testées pour les modèles de représentation vectorielle non contextuelle : l'une où chaque phrase est représentée de manière indépendante et une autre où le document entier est représenté sous la forme d'un unique extrait.
Nous utilisons la condition au niveau de la phrase pour mesurer le rappel de réponses et le rappel d'éléments de preuve. Elle teste si un modèle non contextuel peut identifier la réponse correcte et les éléments de preuve justificatifs lorsque chaque phrase est représentée sans accès au document environnant. C'est intentionnellement difficile. Dans de nombreuses requêtes, la phrase de réponse seule manque des détails nécessaires pour la distinguer de phrases similaires ailleurs dans le corpus.
Nous utilisons la condition au niveau du document comme référence pour le rappel de documents. Elle teste si les représentations vectorielles de phrases fines procurent suffisamment d'avantages en matière de récupération pour justifier leur coût de stockage supplémentaire par rapport au stockage d'un vecteur par document. Un index au niveau de la phrase crée considérablement plus de vecteurs qu'un index au niveau du document, il doit donc surpasser la référence d'un vecteur par document pour justifier ce coût.
Toutes les évaluations utilisent des classements exhaustifs par rapport à l'ensemble des 2 458 072 extraits. Les différences entre les modèles reflètent donc les représentations, et non la configuration de l'index. Nous nous concentrons sur trois mesures clés :
Document@K est défini comme :
où est le document le mieux classé dans .
Answer@K est défini comme :
où représente les meilleurs extraits du corpus global et est l'ensemble des extraits de réponse acceptés.
Evidence Recall@K est mesuré au sein de comme suit : classer les phrases de par similarité, retirer la phrase de réponse la mieux classée, et laisser désigner les meilleures phrases restantes. Pour les groupes d'éléments de preuve , le groupe est récupéré si une solution de rechange satisfait , et
Document@K cherche à savoir si la contextualisation permet au bon document de surpasser les documents frères et les distracteurs qui partagent son vocabulaire.
Answer@K cherche à savoir si la phrase de réponse elle-même se classe parmi les meilleurs extraits.
Evidence Recall@K mesure quelle proportion du contexte justificatif est récupérée parmi les K meilleurs extraits du document correct, après avoir exclu l'extrait de réponse le mieux classé. Le retrait de la réponse évite que le rappel d'éléments de preuve ne comptabilise en double ce que Answer@K mesure déjà, et laisse tous les emplacements pour le contexte de soutien. Exiger que le document de référence figure parmi les 10 premiers documents récupérés signifie qu'aucun modèle ne reçoit de crédits pour les éléments de preuve pour un document qu'il n'aurait pas mis en surface. Nous signalons également All-Evidence@K, soit la fraction de requêtes pour lesquelles chaque groupe a été récupéré.
Ensemble, ces mesures décomposent les difficultés auxquelles font face les modèles d'incorporation contextuelle : trouver le bon document, trouver la bonne réponse et récupérer le contexte minimal qui démontre pourquoi la réponse est correcte.
La figure 3 illustre les mesures à l'aide de l'exemple de gestion immobilière.
Résultats de l'évaluation
Nous évaluons notre modèle par rapport à des modèles de représentation vectorielle contextuels et non contextuels sur quatre fronts.
Nos références contextuelles sont pplx-embed-context-v1-4B et voyage-context-4. Nos références non contextuelles sont voyage-4-large et Nemotron-3-Embed-8B-BF16 de NVIDIA, qui encodent les extraits de manière indépendante. L'ensemble de référence varie selon l'expérience, comme l'indique chaque figure.
Nous commençons par context-bench, qui teste directement les capacités qui motivent ces travaux, puis nous présentons les résultats sur ConTEB, le benchmark public standard pour les représentations vectorielles contextuelles. Pour vérifier que ces gains ne se font pas au détriment de la qualité de récupération générale, nous évaluons également des benchmarks de récupération de documents et d'extraits spécifiques à un domaine que nous avons construits à partir de jeux de données publics. Enfin, nous examinons deux propriétés pratiques pour le déploiement : la qualité de récupération par rapport aux coûts de stockage par vecteur, et la sensibilité à la taille des extraits utilisée au moment de l'indexation. Toutes les évaluations encodent des documents allant jusqu'à 32 768 jetons en un seul passage.
Context-bench
Comme le montre la figure 1 de l'introduction, notre aperçu domine en matière d'Answer@K et d'Evidence Recall@K à chaque seuil rapporté, ainsi que pour All-Evidence@10. À K = 10, il atteint 45,5 % de rappel de réponses, 40,6 % de rappel d'éléments de preuve et 31,1 % de rappel de tous les éléments de preuve. Il domine également pour Document@1 et Document@10, atteignant respectivement 15,2 % et 61,6 %. À K = 10, notre aperçu dépasse voyage-context-4 de 14,4 points de pourcentage pour le rappel de réponses et de 5,0 points pour le rappel d'éléments de preuve.
ConTEB
Notre modèle en aperçu atteint le nDCG@10 moyen le plus élevé parmi les modèles présentés sur ConTEB à la figure 4. Il ne domine pas toutes les tâches : pplx-context-v1-4B obtient un score plus élevé sur NarrativeQA, tandis que Nemotron-3-8B obtient le score le plus élevé sur COVID-QA. Comme les auteurs principaux l'ont également souligné dans l'article sur ConTEB, COVID-QA comprend principalement des associations de requêtes et d'extraits qui sont très extractives et peuvent être satisfaites par une simple correspondance lexicale de surface sur des termes médicaux techniques. Par conséquent, la compréhension du contexte est moins utile pour cette tâche et les modèles non contextuels surpassent généralement les modèles contextuels.
Qualité de récupération générale à travers les domaines
Au-delà des benchmarks conçus pour les représentations vectorielles contextuelles, nous évaluons les performances spécifiques à un domaine de notre modèle.
Notre suite requête-à-extrait (Q2C) utilise des tâches MTEB telles que LegalBench et FinanceBench en plus de tâches de récupération supplémentaires que nous avons sélectionnées à partir de jeux de données publics. Au sein de chaque document pertinent, un extrait est étiqueté comme pertinent s'il contient l'étendue de la réponse exacte lorsque la tâche en fournit une, et est évalué par un LLM quant à sa pertinence par rapport à la requête dans le cas contraire. La suite requête-à-document (Q2D) utilise les mêmes tâches et évalue si le document pertinent est récupéré.
Notre modèle obtient le score moyen le plus élevé pour la récupération d'extraits à la figure 5 et domine dans les domaines juridique, technique et de la santé. Il ne domine pas dans tous les domaines : voyage-context-4 obtient un score plus élevé dans la finance et la récupération multilingue, et Nemotron-3-8B obtient le score le plus élevé dans la récupération de conversations. En ce qui concerne la récupération de documents à la figure 6, notre modèle obtient un score légèrement inférieur à celui de voyage-context-4 en moyenne, tout en dominant dans le domaine technique. La référence pplx-context-v1-4B obtient un score moyen inférieur dans les deux suites, ce qui correspond au fait qu'elle n'a été entraînée que sur l'ensemble d'entraînement de ConTEB, montrant ainsi que la supervision liée aux extraits de référence d'un seul benchmark se transfère mal à d'autres domaines.
Qualité de récupération et coûts de stockage
Un modèle de représentation vectorielle contextuelle produit un vecteur par extrait, de sorte qu'un index construit avec notre modèle contient exactement autant de vecteurs qu'un index conventionnel au niveau des extraits doté de la même stratégie de découpage. La contextualisation modifie ce que chaque vecteur encode, et non le nombre de vecteurs stockés. L'empreinte de stockage est par conséquent régie par la taille de chaque vecteur. Le modèle offre deux moyens de la réduire : tronquer la représentation vectorielle de 2048 à 1024 dimensions et la quantifier en int8.
La figure 7 montre un compromis favorable entre la qualité de récupération et le stockage des vecteurs. À 1024 dimensions, nos représentations vectorielles int8 utilisent 1 Ko par vecteur tout en dépassant légèrement le score de récupération d'extraits de voyage-context-4 à 2048 dimensions en float32, qui utilise 8 Ko par vecteur. L'augmentation de la taille de notre représentation vectorielle à 2048 dimensions accroît encore la qualité de récupération à 2 Ko par vecteur. Ces chiffres de stockage concernent les vecteurs seuls, et non le reste de l'index.
Sensibilité à la taille des extraits
La figure 8 ne montre qu'un changement modeste de la qualité de récupération à mesure que la taille des extraits passe de 64 à 512 jetons : le score moyen chute de 81,0 % à 79,9 %, soit une diminution de 1,1 point de pourcentage. Cela suggère que le modèle demeure efficace pour l'ensemble des tailles d'extraits testées, offrant aux pipelines d'indexation une certaine souplesse quant à la manière dont les documents sont divisés.
Version
turbopuffer veille à garder l'intégralité du corpus, des requêtes et des étiquettes de context-bench confidentiels et communique les résultats pour les modèles soumis. Un benchmark public de ce type invite à un entraînement direct sur ses requêtes et documents, ce qui le saturerait progressivement et éroderait sa valeur pour suivre la progression au fil du temps. Si vous souhaitez que votre modèle soit évalué sur le benchmark, veuillez contacter turbopuffer à l'adresse contextbench@turbopuffer.com.
Un aperçu de notre modèle est disponible sur Hugging Face, et tous les résultats de cet article sont rapportés pour cet aperçu. Nous travaillons à rendre le modèle accessible via l'API de Perplexity, et à améliorer davantage la récupération sur les documents longs en collaboration avec turbopuffer.
Citation
@online{perplexity2026ContextualEmbeddingBeyondTheGoldPassage,
author = {{Perplexity} and Sarah Eslami and William Barber and Markus Krimmel and Antoine Chaffin and Bo Wang and Louis Milliken and Jarrod Bryan and Claire Beamer and Jeremy Yang},
title = {{Contextual embedding beyond the gold passage}},
date = {2026-09-30},
url = {https://www.perplexity.ai/hub/blog/contextual-embedding-beyond-the-gold-passage}
}