Embedding contextuel au-delà du passage idéal
Une nouvelle méthode d'entraînement, un nouveau modèle et un nouveau benchmark pour la récupération de réponses et de leur contexte justificatif.
Introduction
Les embeddings contextuels capturent 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, appelé "passage idéal". Cependant, un passage idéal ne suffit souvent pas en pratique. Il peut contenir la réponse mais manquer du contexte justificatif nécessaire pour la comprendre ou la vérifier, ce qui la rend ambiguë de manière isolée.
Nous présentons pplx-embed-v2-context-9b-preview, notre nouveau modèle d'embedding contextuel. 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, apprenant au modèle d'embedding à récupérer à la fois les extraits de réponse et le contexte justificatif plutôt qu'un seul extrait idéal. Le modèle produit un embedding par extrait sans coût d'inférence supplémentaire et prend en charge les embeddings à 1 024 dimensions et en 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 en privé par turbopuffer, et 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 longs documents dans 21 domaines et évalue trois capacités des embeddings contextuels : la désambiguïsation de documents parmi des documents quasi en double, la récupération d'extraits idéaux dont le sens dépend d'un contexte distant, et le rappel des preuves justificatives requises pour vérifier une réponse.
Un aperçu du modèle est disponible publiquement sur Hugging Face. Le benchmark est conservé de manière privée par turbopuffer afin de réduire le préjudice lié à la contamination de l'entraînement et de préserver sa valeur pour la mesure des progrès. Pour demander une évaluation, veuillez contacter turbopuffer à l'adresse contextbench@turbopuffer.com.
Pourquoi le contexte compte pour la récupération
Les systèmes de récupération divisent généralement les longs documents en extraits plus petits qui peuvent être indexés et recherchés indépendamment. Le découpage en extraits est pratique en 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 en un seul vecteur ne résout pas ce problème, car une représentation mise en commun ne peut pas capturer fidèlement chaque facette d'un document long.
Les modèles d'embedding contextuel répondent à cette limitation en représentant chaque extrait dans le contexte de son contenu environnant, le plus souvent par le biais d'extraction tardive : le document est encodé en un seul passage et les représentations des extraits sont mises en commun par la suite, de sorte que chaque vecteur d'extrait est calculé avec l'ensemble du document 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 indépendamment, en particulier sur de longs documents.
Les limites de la supervision par extrait idéal
L'entraînement de modèles d'embedding contextuel nécessite une supervision qui identifie quelles parties d'un document sont pertinentes pour une requête donnée. Une approche courante consiste en des annotations par extrait idéal : 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 contrastive inter-document qui oppose l'extrait idéal aux extraits d'autres documents, et une perte contrastive intra-document 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 négatifs, y compris ceux contenant des informations justificatives utiles. La supervision au niveau du document fonctionne à l'autre extrême. Elle identifie le document comme pertinent sans spécifier quels extraits en son sein comptent. En pratique, la pertinence se situe souvent entre ces extrêmes. L'extrait contenant la réponse peut dépendre de quelques extraits justificatifs 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 seul extrait idéal, mais plus ciblé que le document dans son ensemble.
- Supervision grossière. Étant donné que chaque annotation identifie un seul extrait idéal plutôt que de capturer des degrés de pertinence à travers le document, elle fournit des signaux d'entraînement limités pour la quantité de calcul dépensée pour la produire.
- Coûteux à mettre à l'échelle. Chaque paire d'entraînement nécessite 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 du jeu d'entraînement et limite l'ampleur et la diversité des données d'entraînement.
- Sensible aux frontières des extraits. Les étiquettes sont également liées aux frontières des extraits utilisées lors de l'annotation. Une étiquette idéale assignée à une fenêtre de taille de jeton 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 manière dont les documents sont divisés au moment de l'indexation, peut donc nécessiter d'annoter à nouveau le corpus.
Une nouvelle approche de l'apprentissage contextuel
Nous répondons aux limites de la supervision par extrait idéal en distillant les jugements de pertinence à partir d'un modèle de compression de contexte conscient des requêtes. Ce modèle sert de professeur : il lit conjointement la requête et le document et attribue à chaque jeton du document un score de pertinence. Ses prédictions offrent plusieurs avantages pour l'entraînement d'embeddings contextuels :
- Frontières d'extraits flexibles. Les scores de pertinence au niveau des jetons peuvent être agrégés sur n'importe quelles frontières 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 d'extrait idéal binaires, le professeur fournit des scores continus qui capturent des degrés de pertinence distinguant naturellement les extraits contenant les réponses, le contexte justificatif et le contenu non pertinent.
- Coût d'annotation réduit. Le professeur est compact et spécialisé dans la notation de pertinence, ce qui le rend beaucoup moins cher à superviser à grande échelle qu'un LLM polyvalent.
Nous entraînons notre modèle avec une somme pondérée d'une perte contrastive au niveau du document et d'une perte de distillation au niveau de l'extrait sur des lots de paires requête-document. Pour chaque requête, le document associé sert de positif, tandis que les documents restants du même lot servent de 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 direct et faisons la moyenne des représentations des jetons au sein de chaque extrait pour obtenir des embeddings d'extraits contextuels. Les requêtes sont encodées séparément, avec un moyennage sur leurs représentations de jetons. Enfin, nous calculons la similarité cosinus entre chaque embedding de requête et chaque embedding d'extrait du lot.
Fonction de perte
Perte contrastive au niveau du document
Bien que notre modèle d'embedding 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 notation s'inspire de l'opération MaxSim de ColBERT, appliquée ici à des extraits plutôt qu'à des jetons.
Plus précisément, étant donné une requête q avec l'embedding q et un document d en tant que liste ordonnée d'extraits c avec des embeddings 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 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 la lisibilité :
Perte de distillation au niveau de l'extrait
La perte contrastive apprend au modèle quel document est pertinent pour une requête. La perte de distillation lui apprend où se situe 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 la notation au niveau du document, nous dérivons 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 frontières des extraits, nous définissons la pertinence au niveau de l'extrait comme la moyenne des n meilleurs scores de jetons au sein de l'extrait.
Pour chaque requête, nous appliquons un softmax mis à l'échelle par la température aux scores de pertinence au niveau de l'extrait du professeur dans le document positif pour obtenir une distribution cible. Les extraits des autres documents du lot reçoivent une probabilité cible nulle. Nous entraînons le modèle d'embedding à faire correspondre cette cible en minimisant la divergence KL aller 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 idéal unique, cette cible capture des degrés de pertinence. Les extraits justificatifs reçoivent un poids en fonction des scores du professeur plutôt que d'être traités comme des négatifs, ce qui apprend au modèle à récupérer le contexte justificatif 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 de l'extrait. 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 d'embedding produit un embedding contextuel par extrait, sans étape supplémentaire de compression ou de ré-classement. L'approche améliore la manière dont les embeddings contextuels sont appris sans augmenter 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 jeux de données de requêtes-documents publics et internes couvrant plus de 50 langues.
Nous construisons des jeux de données de paires internes à partir de données de production filtrées pour les informations personnelles identifiables (PII) et en synthétisant des requêtes pertinentes sur de longs documents. Pour chaque passage direct, nous sélectionnons un jeu de données et échantillonnons un lot entier à partir de celui-ci pour accroître la difficulté des négatifs intra-lot et éviter l'apprentissage de raccourcis. Aucun de nos jeux de données d'entraînement ne comporte d'annotations au niveau des extraits : toute la supervision intrapassage 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 à 9 milliards de paramètres et produit des embeddings à 2 048 dimensions via une couche de projection linéaire. Nous marquons les frontières des extraits avec un jeton appris <|chunk_sep|> et formons chaque embedding d'extrait en faisant la moyenne de ses embeddings de jetons. Les requêtes sont encodées par le même modèle, leurs embeddings de jetons étant moyennés en un seul vecteur.
Nous utilisons l'entraînement Matryoshka pour prendre en charge les embeddings à 1 024 et 2 048 dimensions, ainsi qu'un entraînement tenant compte de la quantification pour prendre en charge les embeddings int8 natifs. Pendant l'entraînement, nous augmentons progressivement le taux d'apprentissage, le maintenons constant, puis le réduisons.
Le modèle publié est un mélange de modèles qui fait la moyenne des poids 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 de récupération contextuelle publics tels que ConTEB partagent l'hypothèse sous-jacente à la supervision par extrait idéal : chaque requête possède un seul extrait pertinent et un modèle n'est récompensé que s'il classe cet extrait en premier. Ils héritent également de ses 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 indépendamment. Cependant, il ne cherche pas à savoir si un modèle fait également surface aux autres parties du document qui rendent l'extrait compréhensible.
Deuxièmement, il ne teste pas systématiquement si le bon document peut être trouvé lorsque des documents quasi identiques dans le même corpus ne diffèrent que par le contexte qui entoure une phrase par ailleurs identique.
Ces deux capacités importent 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 que d'un document entier. Nous avons donc conçu context-bench, un benchmark contrôlé pour la récupération sur de longs documents, destiné à distinguer l'utilisation du contexte documentaire de la qualité de récupération générale. Il teste si les embeddings contextuels utilisent des informations provenant d'ailleurs dans un document pour prendre en charge trois capacités :
- Désambiguïsation de documents : Identifier le document correct parmi des alternatives quasi identiques.
- Récupération de réponses : Récupérer des extraits contenant des réponses dont le sens dépend de détails situés ailleurs dans le document.
- Récupération de preuves : 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, les voyages, 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 idéal, par exemple dans une phrase de synthèse et une ligne de tableau, l'une 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 preuves justificatives 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 de preuves 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 de preuves.
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 de preuves 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, avec des exemples illustratifs.
Capacité | Exemple de requête | Extrait de réponse | Contexte documentaire requis |
1. Identité de l'entité | Combien Northlake a-t-il dépensé en rachats d'actions ? | L'entreprise a racheté 12,8 milliards de dollars d'actions. | L'introduction identifie Northlake comme "l'entreprise". Un rapport similaire sur Southlake n'est pas pertinent. |
2. Période ou version | Quelle cartouche s'adapte à 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 le groupe de 15 mg a-t-il enregistré ? | Zeta a enregistré un taux d'abandon de 12,7 %. | Le rapport définit Zeta 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 dure 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 maire adjointe ? | Elle a pris ses fonctions 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 la 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 de la section | Quel objectif a été utilisé pour la cinématographie du film ? | Un objectif fixe de 35 mm a été utilisé partout. | Ce passage appartient à "Photographie principale", et non à la section séparée sur les photographies publicitaires. |
9. Attribution de locuteur | Quelle date de réouverture le maire a-t-il promise ? | Nous rouvrirons le 12 juin. | La transcription identifie le maire comme le locuteur. 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 l'amendement de mai ? | Le délai de préavis est désormais de 45 jours. | L'historique des amendements établit que ce changement a pris effet 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 de l'admission non liée. |
12. Signification figurative ou interlinguistique | Figuré : Que symbolise "la chambre d'hiver" dans le poème ? Interlinguistique : Quel composant l'instruction en français demande-t-elle au technicien de retirer ? | Figuré : Il représente l'exil, plutôt qu'une pièce physique. Interlinguistique : Retirez le capot. (Remove the cover.) | Figuré : Le commentaire identifie "il" comme étant l'image récurrente de "la chambre 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 d'expédition. |
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, examinons les besoins de recherche d'une société de gestion immobilière. Ces entreprises possèdent des centaines, voire des milliers de contrats de location qui ne diffèrent que par les noms des locataires, les dates et quelques autres détails clés. Une requête courante pour ce jeu de données pourrait être "quand se termine 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 confirmeraient que vous avez récupéré le bon document (comme la date, l'adresse, le nom du locataire, etc.) peuvent souvent être très éloignés 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 d'embedding contextuel doit utiliser le contexte de l'ensemble du document pour identifier le document correct 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 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 de preuves. Ensemble, ces phrases fournissent suffisamment de contexte pour qu'un lecteur puisse vérifier la réponse à l'aide de preuves justificatives.
Lorsque les modèles d'embedding contextuel 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 de preuves doit être récupéré, mais l'une quelconque des alternatives d'un groupe suffit pour le récupérer. Il est courant de voir le même fait énoncé à plusieurs endroits dans ces longs documents. Récupérer une seule phrase de chaque groupe de preuves satisfait aux critères de suffisance pour le lecteur et serait donc accepté comme un rappel de preuves parfait.
Métriques
Chaque document est découpé en phrases, et les mêmes frontières sont utilisées pour tous les modèles. Deux conditions sont testées pour les modèles d'embedding non contextuels : l'une où chaque phrase est encodée de manière indépendante et une autre où le document entier est encodé en un seul extrait.
Nous utilisons la condition au niveau de la phrase pour mesurer le rappel des réponses et le rappel des preuves. Elle teste si un modèle non contextuel peut identifier la réponse correcte et les preuves justificatives lorsque chaque phrase est encodé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 des documents. Elle teste si les embeddings de phrases à granularité fine 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 sensiblement plus de vecteurs qu'un index au niveau du document, il doit donc surperformer la référence d'un vecteur par document pour justifier ce coût.
Toutes les évaluations utilisent des classements exhaustifs par rapport aux 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 métriques clés :
Document@K est défini comme suit :
où est le document le mieux classé dans .
Answer@K est défini comme suit :
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é dans comme suit : classer les phrases de par similarité, supprimer la phrase de réponse la mieux classée et laisser désigner les meilleures restantes. Pour les groupes de preuves , le groupe est récupéré si une alternative satisfait , et
Document@K demande si la contextualisation permet au bon document de surpasser ses frères et les éléments distracteurs qui partagent son vocabulaire.
Answer@K demande si la phrase de réponse elle-même se classe parmi les meilleurs extraits.
Evidence Recall@K demande 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é. La suppression de la réponse évite que le rappel des preuves ne compte double ce que Answer@K mesure déjà, et laisse tous les emplacements pour le contexte justificatif. Exiger que le document idéal figure dans le top 10 des documents récupérés signifie qu'aucun modèle ne reçoit de crédits de preuve pour un document qu'il n'aurait pas mis en surface. Nous rapportons également All-Evidence@K, la fraction de requêtes pour lesquelles chaque groupe a été récupéré.
Ensemble, ces métriques décomposent les défis auxquels sont confrontés les modèles d'embedding contextuel : trouver le bon document, trouver la bonne réponse et récupérer le contexte minimal qui montre pourquoi la réponse est correcte.
La figure 3 illustre les métriques avec l'exemple de la gestion immobilière.
Résultats d'évaluation
Nous évaluons notre modèle par rapport à des modèles d'embedding contextuels et non contextuels sur quatre fronts.
Nos bases de référence contextuelles sont pplx-embed-context-v1-4B et voyage-context-4. Nos bases de référence 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 des bases de référence varie selon l'expérience, comme indiqué dans chaque figure.
Nous commençons par context-bench, qui teste directement les capacités qui motivent ce travail, puis nous rapportons les résultats sur ConTEB, le benchmark public standard pour les embeddings contextuels. 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 est en tête pour Answer@K et 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 de preuves et 31,1 % de rappel de toutes les preuves. Il est également en tête 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 des réponses et de 5,0 points pour le rappel des preuves.
ConTEB
Notre modèle d'aperçu atteint le nDCG@10 moyen le plus élevé parmi les modèles présentés sur ConTEB dans la figure 4. Il n'est pas en tête pour 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 appariements requête-extrait qui sont très extractifs et peuvent être satisfaits par une simple mise en 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 surperforment 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 embeddings contextuels, 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 ainsi que des tâches de récupération supplémentaires que nous avons sélectionnées à partir de jeux de données publics. Dans chaque document pertinent, un extrait est étiqueté comme pertinent s'il contient l'intervalle de réponse exact lorsque la tâche en fournit un, et sinon par un LLM jugeant de sa pertinence par rapport à la requête. 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 dans la figure 5 et est en tête dans les domaines juridique, technique et de la santé. Il n'est pas en tête 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. Pour la récupération de documents dans la figure 6, notre modèle obtient un score légèrement inférieur à celui de voyage-context-4 en moyenne, tout en étant en tête dans le domaine technique. La base de 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 le jeu de données d'entraînement de ConTEB, montrant que la supervision liée aux extraits idéaux d'un benchmark se transfère mal à d'autres domaines.
Qualité de récupération et coûts de stockage
Un modèle d'embedding contextuel 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 donc régie par la taille de chaque vecteur. Le modèle offre deux moyens de la réduire : tronquer l'embedding de 2 048 à 1 024 dimensions et le quantifier en int8.
La figure 7 montre un compromis favorable entre la qualité de récupération et le stockage des vecteurs. À 1 024 dimensions, nos embeddings 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 à 2 048 dimensions en float32, qui utilise 8 Ko par vecteur. L'augmentation de la taille de notre embedding à 2 048 dimensions accroît encore la qualité de récupération à 2 Ko par vecteur. Ces chiffres de stockage font référence aux vecteurs seuls, et non au 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 lorsque la taille des extraits passe de 64 à 512 jetons : le score moyen passe de 81,0 % à 79,9 %, soit une diminution de 1,1 point de pourcentage. Cela suggère que le modèle reste efficace pour toutes les tailles d'extraits testées, offrant aux pipelines d'indexation une flexibilité dans la manière dont les documents sont divisés.
Publication
turbopuffer conserve l'intégralité du corpus, des requêtes et des étiquettes de context-bench de manière privée et communique les résultats pour les modèles soumis. Un benchmark public de ce type invite à l'entraînement direct sur ses requêtes et ses documents, ce qui l'en saturation progressive et éroderait sa valeur pour le suivi des progrès 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 disponible via l'API de Perplexity, et à améliorer encore la récupération sur de longs documents 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}
}