Kontextuell inbäddning bortom guldpassagen
En ny träningsmetod, modell och ett nytt riktmärke för att hämta svar och tillhörande kontext.
Introduktion
Kontextuella inbäddningar fångar upp betydelsen av varje passage eller fragment i kontexten av hela dokumentet. Deras träning och utvärdering antar typiskt ett enda relevant fragment per sökning, känt som ”guldpassagen”. En guldpassage är dock ofta inte tillräcklig i praktiken. Den kan innehålla svaret men sakna den stödjande kontext som behövs för att förstå eller verifiera det, vilket gör den tvetydig i isolering.
Vi presenterar pplx-embed-v2-context-9b-preview, vår nya modell för kontextuell inbäddning. Modellen är tränad med ett nytt tillvägagångssätt som använder Perplexitys kontextkomprimeringsmodell som lärare. Vi aggregerar dess förutsägelser på tokennivå till relevanspoäng på fragmentnivå, vilket lär inbäddningsmodellen att hämta både svarsfragment och stödjande kontext snarare än ett enda guldfragment. Modellen producerar en inbäddning per fragment utan extra slutledningskostnad och stöder 1024-dimensionella samt int8-inbäddningar.
Den uppnår toppmoderna resultat på context-bench, ett nytt riktmärke för kontextmedveten hämtning som skapats och förvaras privat av turbopuffer, och på ConTEB, ett allmänt använt offentligt riktmärke. Vår modell utvecklades oberoende av context-bench och utvärderades som en blindinlämning.
Context-bench består av 2 099 sökningar över 38 894 långa dokument i 21 domäner och utvärderar tre förmågor hos kontextuella inbäddningar: dokumentskiljedom bland nästan identiska dubblettdokument, hämtning av guldfragment vars betydelse beror på avlägsen kontext, och återkallelse av de stödbevis som krävs för att verifiera ett svar.
En förhandsversion av modellen är allmänt tillgänglig på Hugging Face. Riktmärket förvaras privat av turbopuffer för att minska risken för träningskontaminering och bevara dess värde för att mäta framsteg. För att begära en utvärdering, vänligen kontakta turbopuffer på contextbench@turbopuffer.com.
Varför kontext har betydelse för hämtning
Hämtningssystem delar vanligtvis upp långa dokument i mindre fragment som kan indexeras och sökas oberoende av varandra. Fragmentering är praktiskt i praktiken, men den tar bort den kontext som varje fragment ursprungligen dök upp i, vilket skapar en avvägning mellan informationskomprimeringens kornighet och den kontext som används under kodningen. Ett fragment kan hänvisa till en entitet som introducerats tidigare, ärva sin betydelse från en avsnittsrubrik eller förlita sig på definitioner som finns någon annanstans i dokumentet. När det väl har extraherats kanske det inte längre innehåller tillräckligt med information för att matchas tillförlitligt mot en sökning. Att koda hela dokumentet som en enda vektor löser inte detta, eftersom en sammanslagen representation inte troget kan fånga varje facet av ett långt dokument.
Modeller för kontextuell inbäddning adresserar denna begränsning genom att representera varje fragment i kontexten av dess omgivande innehåll, oftast genom sen fragmentering: dokumentet kodas i en enda passering och fragmentrepresentationer slås samman i efterhand, så att varje fragmentvektor beräknas med hela dokumentet i synfältet. Tidigare arbete, såsom ConTEB och vår egen pplx-embed-context-v1, har visat att kontextualiserade fragmentrepresentationer avsevärt förbättrar hämtningen över oberoende kodade fragment, i synnerhet på långa dokument.
Gränserna för övervakning av guldfragment
Att träna modeller för kontextuell inbäddning kräver övervakning som identifierar vilka delar av ett dokument som är relevanta för en given sökning. Ett vanligt tillvägagångssätt är guldfragmentanteckningar: för varje sökning identifierar en annotatör, vanligtvis en stor språkmodell (LLM), det fragment av dokumentet som besvarar den.
Träningen kombinerar vanligtvis två kontrastiva förluster: en tvärdokumentär förlust som kontrasterar guldfragmentet med fragment från andra dokument, och en interndokumentär förlust som kontrasterar det med de andra fragmenten i samma dokument.
Detta tillvägagångssätt har några begränsningar:
- Endast ett fragment är relevant. Det behandlar alla andra fragment i dokumentet som negativa, inklusive de med användbar stöderinformation. Övervakning på dokumentnivå fungerar i den andra extremen. Den identifierar dokumentet som relevant utan att specificera vilka fragment däri som har betydelse. I praktiken ligger relevansen ofta någonstans mellan dessa ytterligheter. Det svarsbärande fragmentet kan bero på några stödjande fragment som introducerar en entitet, löser en referens eller tillhandahåller ett kompletterande faktum, medan resten av dokumentet är irrelevant. Modellen måste därför lära sig rätt nivå av selektivitet: bredare än ett enskilt guldfragment, men mer fokuserat än dokumentet som helhet.
- Grov övervakning. Eftersom varje anteckning identifierar ett enskilt guldfragment snarare än att fånga grader av relevans över hela dokumentet, ger den begränsade träningssignaler i förhållande till den beräkningskapacitet som lagts ner på att producera den.
- Kostsam att skala upp. Varje träningspar kräver att en LLM läser dokumentet och väljer det relevanta fragmentet, så anteckningskostnaden växer linjärt med storleken på träningssetet och sätter ett tak för hur mycket och hur mångsidig träningsdata kan vara.
- Känslig för fragmentgränser. Etiketterna är också knutna till de fragmentgränser som användes under annoteringen. En guldetikett tilldelad ett fast fönster med tokenstorlek anger inte vilka kortare meningar eller längre stycken som är relevanta. Att ändra fragmenteringsstrategi, eller att träna över flera fragmenteringar för att förbättra robustheten mot hur dokument delas upp vid indexeringstillfället, kan därför kräva att korpusen annoteras på nytt.
Ett nytt tillvägagångssätt för kontextuell inlärning
Vi adresserar begränsningarna med guldfragmentövervakning genom att destillera relevansbedömningar från en sökmedveten kontextkomprimeringsmodell. Denna modell fungerar som en lärare: den läser sökningen och dokumentet gemensamt och tilldelar varje dokument-token en relevanspoäng. Dess förutsägelser erbjuder flera fördelar för att träna kontextuella inbäddningar:
- Flexibla fragmentgränser. Relevanspoäng på tokennivå kan aggregeras över valda fragmentgränser, vilket gör att samma lärarförutsägelser kan övervaka olika fragmentering utan omannotering.
- Kontinuerlig relevans. Till skillnad från binära guldfragmentetiketter tillhandahåller läraren kontinuerliga poäng som fångar grader av relevans som naturligt skiljer åt svarsbärande fragment, stödjande kontext och irrelevant innehåll.
- Lägre anteckningskostnad. Läraren är kompakt och specialiserad på relevansbedömning, vilket gör den långt billigare att övervaka i stor skala än en allmän LLM.
Vi tränar vår modell med en vägd summa av en kontrastiv förlust på dokumentnivå och en destillationsförlust på fragmentnivå över batcher av fråge-dokument-par. För varje sökning fungerar det ihopkopplade dokumentet som det positiva, medan de återstående dokumenten i samma batch fungerar som negativa.
För varje batch väljer vi slumpmässigt ut en fragmenteringsstrategi, delar upp dokumenten därefter och sätter in avgränsningstokens mellan fragmenten. Vi bearbetar sedan varje dokument i en enda framåtriktad passering och beräknar medelvärdet för tokenrepresentationerna inom varje fragment för att erhålla kontextuella fragmentinbäddningar. Sökningar kodas separat, med medelvärdesbildning över deras tokenrepresentationer. Slutligen beräknar vi cosinuslikheten mellan varje sökmedelsinbäddning och varje fragmentinbäddning i batchen.
Förlustfunktion
Kontrastiv förlust på dokumentnivå
Även om vår inbäddningsmodell enbart producerar likheter på fragmentnivå, kan vi naturligt härleda likheter på dokumentnivå från dem. Vi anser att ett dokument d är lika relevant för en sökning q som dess mest relevanta fragment. Denna poängsättningsregel är inspirerad av MaxSim-operationen i ColBERT, som här tillämpas på fragment i stället för tokens.
Närmare bestämt, givet en sökning q med inbäddning q och ett dokument d som en ordnad lista av fragment c med inbäddningar c, definierar vi likheten på dokumentnivå som:
Givet dessa likheter på dokumentnivå kan vi formulera ett InfoNCE-mål på dokumentnivå över negativa exempel i batchen.
För en sökning q, låt d⁺ beteckna dess relevanta dokument och 𝒟 dokumenten i batchen. Den kontrastiva förlusten är som följer, exklusive temperaturer för läsbarhetens skull:
Destillationsförlust på fragmentnivå
Den kontrastiva förlusten läror modellen vilket dokument som är relevant för en sökning. Destillationsförlusten lär den var relevansen ligger inom det dokumentet, vilket är avgörande för en kontextuell modell.
Under träningen skickar vi varje positivt fråge-dokument-par till vår kontextkomprimeringsmodell, som tilldelar en relevanspoäng till varje token i dokumentet. Liksom vid poängsättning på dokumentnivå härleder vi varje fragments relevans från dess mest relevanta innehåll. För att minska känsligheten för avvikande tokens, inklusive de vid fragmentgränser, definierar vi relevansen på fragmentnivå som medelvärdet av de översta n token-poängen inom fragmentet.
För varje sökning tillämpar vi en temperaturviktad softmax på lärarens relevanspoäng på fragmentnivå inom det positiva dokumentet för att erhålla en måldistribution. Fragment i de andra dokumenten i batchen får noll i målsannolikhet. Vi tränar inbäddningsmodellen att matcha detta mål genom att minimera den framåtriktade KL-divergensen mellan målet och dess förutsagda distribution över alla fragment i batchen:
Här indikerar de övre indexen T och S läraren respektive studenten, och rⱼ är lärarens relevanspoäng för fragment cⱼ i det positiva dokumentet d⁺. Lärarens måldistribution tilldelar noll sannolikhet till fragment i alla andra dokument i batchen.
Till skillnad från en enskild guldfragmentetikett fångar detta mål grader av relevans. Stödjande fragment får vikt enligt lärarens poäng i stället för att behandlas som negativa, vilket lärir modellen att hämta stödjande kontext såväl som svaret.
Kombinerad förlust
Vårt kombinerade träningsmål är en vägd summa av den kontrastiva förlusten på dokumentnivå och destillationsförlusten på fragmentnivå. Vi beräknar medelvärdet av denna vägda förlust över batchen av fråge-dokument-par.
Figur 2 illustrerar vårt träningsförfaringssätt. Kontextkomprimatorn fungerar som lärare endast under träningen. Vid slutledningstidpunkt producerar inbäddningsmodellen en kontextuell inbäddning per fragment, utan extra komprimerings- eller omrankningssteg. Tillvägagångssättet förbättrar hur kontextuella inbäddningar lärs in utan att öka indexlagringen eller lägga till lärarmodellens latens vid hämtningstillfället.
Träningsdata
Träningsdata består av ungefär 430 offentliga och interna fråge- och dokumentdatauppsättningar som täcker över 50 språk.
Vi konstruerar interna pardatauppsättningar från PII-filtrerade produktionsdata och genom att syntetisera relevanta sökningar över långa dokument. För varje framåtriktad passering väljer vi ut en datauppsättning och samplar en hel batch från den för att öka svårighetsgraden för negativa batch-exempel och undvika genvägsinlärning. Ingen av våra träningsdatauppsättningar har fragmentnivåanteckningar: all övervakning inom dokumentet kommer från komprimeringsmodellen, och inga data från ConTEB används för träning. Dessutom fanns inga data från context-bench tillgängliga under modellutvecklingen.
Träningskonfiguration
Modellen utgår från en intern ColBERT-hämtningsmodell med 9 miljarder parametrar och producerar 2048-dimensionella inbäddningar genom ett linjärt projektionslager. Vi markerar fragmentgränser med en inlärd <|chunk_sep|>-token och bildar varje fragmentinbäddning genom att genomsnittsberäkna dess tokeninbäddningar. Sökningar kodas av samma modell, där deras tokeninbäddningar genomsnittsberäknas till en enda vektor.
Vi använder Matryoshka-träning för att stödja både 1024- och 2048-dimensionella inbäddningar, samt kvantiseringsmedveten träning för att stödja inbyggda int8-inbäddningar. Under träningen ökar vi gradvis inlärningshastigheten, håller den konstant och minskar den sedan.
Den lanserade modellen är en modellsoppa som beräknar medelvärdet av vikterna för flera kontrollpunkter från samma träningskörning.
Ett nytt riktmärke för hämtning på fragmentnivå
Offentliga riktmärkessystem för kontextuell hämtning, såsom ConTEB, delar antagandet bakom övervakning av guldfragment: varje sökning har ett enda relevant fragment och en modell belönas endast för att placera det fragmentet först. De ärver också dess begränsningar.
För det första testar ConTEB hämtning på uppgifter där ett fragment är tvetydigt utan sin omgivande kontext. På dessa uppgifter presterade kontextuella modeller bättre än modeller som kodar varje fragment oberoende. Den frågar dock inte om modellen också ytgör de andra delarna av dokumentet som gör fragmentet förståeligt.
För det andra testar den inte systematiskt om rätt dokument kan hittas när nästan identiska dokument i samma korpus endast skiljer sig åt i den kontext som omger en i övrigt identisk mening.
Båda förmågorna spelar roll när en sökagent eller användare måste förstå och verifiera ett svar från några hämtade meningar snarare än ett hela dokument. Vi byggde därför context-bench, ett kontrollerat riktmärke för hämtning över långa dokument, utformat för att skilja användningen av dokumentkontext från allmän hämtningskvalitet. Det testar om kontextuella inbäddningar använder information från andra delar av ett dokument för att stödja tre förmågor:
- Dokumentskiljedom: Identifiera rätt dokument bland nästan identiska alternativ.
- Svarshämtning: Hämta svarsbärande fragment vars betydelse beror på detaljer på andra ställen i dokumentet.
- Bevisåterkallelse: Hämta stödjande fragment som klargör eller underbygger svaret.
Context-bench innehåller 2 099 sökningar och 38 894 dokument. Fragment i meningsstorlek används, vilket resulterar i totalt 2 458 072 fragment. Sökningarna täcker 21 domäner, inklusive bolagsrapporter, klinisk forskning, resor, underhållning, utbildning, myndigheter, juridiska avtal och programvarudokumentation.
Varje sökning är utformad för att testa en av tolv kontextuella förmågor. De primära måldokumenten är avsiktligt långa: 1 061 av de 1 197 distinkta primära måldokumenten har minst 200 meningar, med en medianlängd på ungefär 6 100 tokens. Varje sökning har exakt ett korrekt svar i korpusen. Om samma faktum anges mer än en gång i ett guldument, till exempel i en sammanfattningsmening och en tabellrad, accepteras vilken som helst av dessa meningar som svar.
En svarsväg är en giltig kombination av ett svarsfragment och de stödbevis som behövs för att tolka eller verifiera det. Över de 2 099 sökningarna har det primära måldokumentets svarsväg en bevisgrupp för 964 sökningar, två för 735, tre eller fler för 332 och ingen för 68. Alternativa giltiga svarsvägar kan kräva olika bevisgrupper.
Tabell 1: Riktmärkesstatistik.
Statistik | Värde |
Sökningar | 2 099 |
Dokument | 38 894 |
Meningsfragment | 2 458 072 |
Medianlängd för primärt måldokument | 6 100 tokens |
Domäner | 21 |
Bevisgrupper per sökning (det primära måldokumentets svarsväg) | 1: 964; 2: 735; 3+: 332; inga: 68 |
Tabell 2: Tolv kontextuella förmågor som testas av context-bench, med illustrativa exempel.
Förmåga | Exempelsökning | Svarsfragment | Obligatorisk dokumentkontext |
1. Entitetsidentitet | Hur mycket spenderade Northlake på aktieåterköp? | Företaget köpte tillbaka aktier för 12,8 miljarder dollar. | Introduktionen identifierar Northlake som ”företaget”. En liknande rapport från Southlake är inte relevant. |
2. Period eller version | Vilken patron passar M40 revision B? | Installera patronen KC-42. | Tillämplighetsavsnittet säger att dessa instruktioner täcker revision B, inte revision C. |
3. Definitioner och alias | Vilken avhoppsfrekvens hade 15 mg-gruppen? | Zeta hade en avhoppsfrekvens på 12,7 %. | Rapporten definierar Zeta som 15 mg-gruppen. Utan den definitionen identifierar fragmentet inte den efterfrågade gruppen. |
4. Tabellstruktur | Vad är Max-modellens batterikapacitet? | Typisk kapacitet: 4 250 | 4 700 | 5 150. | Tabellhuvudet fastställer Mini | Base | Max, mätt i mAh. Svaret är därför 5 150 mAh. |
5. Villkor och undantag | Hur lång är batterigarantin för kommersiellt bruk? | Batterigarantin gäller i 18 månader. | En avsnittsintroduktion begränsar denna garanti till kommersiella installationer; hushållsinstallationer har en annan garanti. |
6. Referenser och pronomen | När blev Mara biträdande borgmästare? | Hon tillträdde ämbetet 2021. | Den föregående berättelsen slår fast att ”hon” syftar på Mara, inte Elin, som också diskuteras. |
7. Listordning och position | Vilken låt inledde extranumret? | 14. Lantern Road. | En anteckning på annat håll anger att låtarna 14–16 utgjorde extranumret. Spår 14 är därför dess inledande låt. |
8. Avsnittets omfattning | Vilket objektiv användes för filmens foto? | Ett fast 35 mm-objektiv användes rakt igenom. | Det här stycket hör till ”Huvudfotografering”, inte det separata avsnittet om PR-fotografier. |
9. Talartilldelning | Vilket återöppningsdatum utlovade borgmästaren? | Vi öppnar igen den 12 juni. | Transkriptet identifierar borgmästaren som talare. Samma ord från en entreprenör skulle inte etablera borgmästarens löfte. |
10. Förändringar över tid | Vilken uppsägningstid gällde efter majändringen? | Uppsägningstiden är nu 45 dagar. | Ändringshistoriken slår fast att denna förändring trädde i kraft i maj och ersatte den tidigare 30-dagarsregeln. |
11. Orsakssamband | Varför stannade den västra pumpen? | Det felet orsakade avstängningen. | Utredningen identifierar ”det felet” som ett skuret lager i den västra pumpen och särskiljer det från ett orelaterat inloppshinder. |
12. Bildlig eller tvärspråkig betydelse | Bildligt: Vad symboliserar ”vinterrummet” i dikten? Tvärspråkigt: Vilken komponent uppmanar den franska instruktionen teknikern att ta bort? | Bildligt: Det representerar exil snarare än ett fysiskt rum. Tvärspråkigt: Retirez le capot. (Ta bort kåpan.) | Bildligt: Kommentaren identifierar ”det” som diktens återkommande bild av ”vinterrummet”. Tvärspråkigt: Guidens ordlista anger att ”capot” betyder motorns skyddskåpa, inte transportskyddet. |
Dokument och sökningar
Sökningarna, dokumenten och förmågorna som testas är inspirerade av konversationer med turbopuffers kunder.
För att ge ett exempel, tänk på sökbehoven hos ett fastighetsförvaltningsföretag. Dessa företag har hundratals, ibland tusentals hyresavtal som endast skiljer sig åt vad gäller hyresgästernas namn, datum och några andra nyckeldetaljer. En vanlig sökning för den datauppsättningen kan vara ”när löper 5 park avenues hyresavtal ut och vad är den aktuella hyran?”. Hyresavtal kan också vara långkloiga och de kritiska särskiljande komponenter som bekräftar att du har hämtat rätt dokument (som datum, adress, hyresgästens namn etc.) kan ofta ligga mycket långt ifrån den nyckelsvarsmening som innehåller det månatliga hyresbeloppet. I praktiken kan identiska meningar som ”Månadshyran är X XXX USD.” förekomma i många dokument i korpusen.
En bra modell för kontextuell inbäddning bör använda kontext från hela dokumentet för att identifiera rätt dokument och hämta både svaret och dess stödjande meningar. Detta gör det möjligt för en användare eller sökagent att snabbt verifiera svaret och bekräfta att det kommer från rätt dokument.
Svars- och bevisetiketter
För varje sökning märker vi ut ”svar”- och ”bevis”-meningar i måldokumentet. En modell klarar vårt ”läsartillräcklighets”-test om den hämtar en svarsmening tillsammans med minst en mening från varje bevisgrupp. Tillsammans ger dessa meningar tillräckligt med kontext för att en läsare ska kunna verifiera svaret med stödbevis.
När modeller för kontextuell inbäddning gör detta bra kan de dramatiskt minska antalet tokens som sökagenter behöver granska samt göra det mycket enklare för en person att snabbt bekräfta att de har hittat rätt svar på sin ursprungliga sökning utan att behöva läsa hela dokumentet.
Varje bevisgrupp måste återskapas, men vilket som helst av en grupps alternativ räcker för att återställa den. Det är vanligt att se samma faktum uttryckt på flera ställen i dessa långa dokument. Att hämta bara en mening från varje bevisgrupp uppfyller kriterierna för läsartillräcklighet och skulle därmed accepteras som perfekt bevisåterkallelse.
Mätvärden
Varje dokument delas upp i meningar i form av fragment, och samma gränser används för alla modeller. Två villkor testas för icke-kontextuella inbäddningsmodeller: ett där varje mening bäddas in oberoende och ett där hela dokumentet bäddas in som ett enda fragment.
Vi använder det meningsbaserade villkoret för att mäta svarsåterkallelse och bevisåterkallelse. Det testar om en icke-kontextuell modell kan identifiera rätt svar och stödbevis när varje mening bäddas in utan tillgång till det omgivande dokumentet. Detta är avsiktligt utmanande. I många sökningar saknar svarsmeningen ensam de detaljer som behövs för att skilja den från liknande meningar på andra ställen i korpusen.
Vi använder det dokumentbaserade villkoret som en baslinje för dokumentåterkallelse. Det testar om finkorniga meningsinbäddningar ger tillräcklig hämtningsfördel för att rättfärdiga sin extra lagringskostnad i förhållande till att lagra en vektor per dokument. Ett index på meningsnivå skapar väsentligt fler vektorer än ett index på dokumentnivå, så det bör prestera bättre än baslinjen med en vektor per dokument för att motivera den kostnaden.
Alla utvärderingar använder uttömmande rangordningar mot alla 2 458 072 fragment. Skillnader mellan modeller återspeglar därför representationerna, inte indexkonfigurationen. Vi fokuserar på tre nyckeltal:
Document@K definieras som:
där är det högst rankade dokumentet i .
Answer@K definieras som:
där är de översta fragmenten över hela korpusen och är uppsättningen av accepterade svarsfragment.
Evidence Recall@K mäts inom på följande sätt: Rangordna meningarna i efter likhet, ta bort den högst rankade svarsmeningen och låt vara de översta som återstår. För bevisgrupper anses grupp återskapad om något alternativ uppfyller , och
Document@K frågar om kontextualisering gör att rätt dokument kan slå syskon och distraktioner som delar dess vokabulär.
Answer@K frågar om själva svarsmeningen rankas bland de översta fragmenten.
Evidence Recall@K frågar hur stor del av den stödjande kontexten som återfås bland det korrekta dokumentets översta K fragment, efter att ha exkluderat det högst rankade svarsfragmentet. Att ta bort svaret förhindrar att bevisåterkallelsen dubbelräknar det som Answer@K redan mäter, och lämnar alla platser för stödjande kontext. Att kräva att guldumentet finns med bland de 10 bästa hämtade dokumenten innebär att ingen modell får beviskrediter för ett dokument som den inte skulle ha tagit fram. Vi rapporterar också All-Evidence@K, andelen sökningar där varje grupp har återskapats.
Tillsammans bryter dessa mätvärden ned de utmaningar som modeller för kontextuella inbäddningar ställs inför: att hitta rätt dokument, hitta rätt svar och återskapa den minimala kontext som visar varför svaret är korrekt.
Figur 3 illustrerar mätvärdena med exemplet med fastighetsförvaltning.
Utvärderingsresultat
Vi utvärderar vår modell mot kontextuella och icke-kontextuella inbäddningsmodeller på fyra fronter.
Våra kontextuella baslinjer är pplx-embed-context-v1-4B och voyage-context-4. Våra icke-kontextuella baslinjer är voyage-4-large och NVIDIAs Nemotron-3-Embed-8B-BF16, som kodar fragment oberoende. Baslinjeuppsättningen varierar beroende på experiment, vilket anges i varje figur.
Vi börjar med context-bench, som direkt testar de förmågor som motiverar detta arbete, och rapporterar sedan resultat för ConTEB, det vanliga offentliga riktmärket för kontextuella inbäddningar. För att kontrollera att dessa vinster inte sker på bekostnad av den allmänna hämtningskvaliteten utvärderar vi även domänspecifika riktmärken för dokument- och fragmenthämtning som vi har byggt upp från offentliga datauppsättningar. Slutligen undersöker vi två praktiska egenskaper för driftsättning: hämtningskvalitet kontra lagringskostnader per vektor, och känslighet för den fragmentstorlek som används vid indexeringstillfället. Alla utvärderingar kodar dokument på upp till 32 768 tokens i en enda passering.
Context-bench
Som visas i Figur 1 i introduktionen leder vår förhandsversion när det gäller Answer@K och Evidence Recall@K vid varje rapporterad gräns, liksom All-Evidence@10. Vid K = 10 uppnår den 45,5 % svarsåterkallelse, 40,6 % bevisåterkallelse och 31,1 % återkallelse för alla bevis. Den leder också på Document@1 och Document@10 och når 15,2 % respektive 61,6 %. Vid K = 10 överträffar vår förhandsversion voyage-context-4 med 14,4 procentenheter i svarsåterkallelse och 5,0 poäng i bevisåterkallelse.
ConTEB
Vår förhandsmodell uppnår det högsta genomsnittliga nDCG@10 bland de modeller som visas på ConTEB i Figur 4. Den leder inte varje uppgift: pplx-context-v1-4B får högre poäng på NarrativeQA, medan Nemotron-3-8B får högst poäng på COVID-QA. Som de huvudsakliga författarna också påpekade i ConTEB-papperet innehåller COVID-QA mestadels fråge-fragmentparningar som är mycket extraktiva och kan tillfredsställas med enkel lexikal ytmatchning på tekniska medicinska termer. Som ett resultat är kontextförståelse mindre användbar för denna uppgift och icke-kontextuella modeller presterar i regel bättre än kontextuella.
Allmän hämtningskvalitet över domäner
Utöver riktmärken utformade för kontextuella inbäddningar utvärderar vi vår modells domänspecifika prestanda.
Vår svit för sökning-till-fragment (Q2C) använder MTEB-uppgifter som LegalBench och FinanceBench tillsammans med ytterligare hämtningsuppgifter som vi har sammanställt från offentliga datauppsättningar. Inom varje relevant dokument märks ett fragment som relevant om det innehåller det exakta svarsintervallet när uppgiften tillhandahåller ett sådant, och annars av en språkmodell som bedömer dess relevans för sökningen. Svit för sökning-till-dokument (Q2D) använder samma uppgifter och poängsätter huruvida det relevanta dokumentet hämtas.
Vår modell uppnår den högsta genomsnittliga poängen för fragmenthämtning i Figur 5 och leder inom de juridiska, tekniska och hälsorelaterade domänerna. Den leder inte i alla domäner: voyage-context-4 får högre poäng inom finans och flerspråkig hämtning, och Nemotron-3-8B får högst poäng inom konversationshämtning. Vid dokumenthämtning i Figur 6 ligger vår modell i genomsnitt något under voyage-context-4, samtidigt som den leder inom den tekniska domänen. Baslinjen pplx-context-v1-4B får lägre genomsnittspoäng i båda sviterna, vilket stämmer överens med att den enbart har tränats på ConTEB-träningssetet, vilket visar att övervakning knuten till ett riktmärkes guldfragment överförs dåligt till andra domäner.
Hämtningskvalitet och lagringskostnader
En kontextuell inbäddningsmodell producerar en vektor per fragment, så ett index som byggs med vår modell innehåller exakt lika många vektorer som ett konventionellt index på fragmentnivå med samma fragmenteringsstrategi. Kontextualisering förändrar vad varje vektor kodar, inte hur många vektorer som lagras. Lagringsutrymmet styrs därför av storleken på varje vektor. Modellen erbjuder två sätt att minska det: att korta av inbäddningen från 2048 till 1024 dimensioner och att kvantisera den till int8.
Figur 7 visar en gynnsam avvägning mellan hämtningskvalitet och vektorlagring. Vid 1024 dimensioner använder våra int8-inbäddningar 1 KB per vektor samtidigt som de lätt överträffar fragmenthämtningspoängen för voyage-context-4 vid 2048 dimensioner i float32, som använder 8 KB per vektor. Att öka vår inbäddningsstorlek till 2048 dimensioner höjer hämtningskvaliteten ytterligare vid 2 KB per vektor. Dessa lagringssiffror avser enbart vektorerna, inte resten av indexet.
Känslighet för fragmentstorlek
Figur 8 visar bara en blygsam förändring i hämtningskvalitet när fragmentstorleken ökas från 64 till 512 tokens: genomsnittspoängen sjunker från 81,0 % till 79,9 %, en minskning med 1,1 procentenheter. Detta tyder på att modellen förblir effektiv över de testade fragmentstorlekarna, vilket ger indexeringspipelines flexibilitet i hur dokument delas upp.
Lansering
turbopuffer behåller hela korpusen, sökningarna och etiketterna för context-bench privata och rapporterar resultat för inskickade modeller. Ett offentligt riktmärke av det här slaget inbjuder till direkt träning på dess sökningar och dokument, vilket gradvis skulle mätta det och urholka dess värde för att följa framsteg över tid. Om du vill att din modell ska utvärderas på riktmärket, vänligen kontakta turbopuffer på contextbench@turbopuffer.com.
En förhandsversion av vår modell finns tillgänglig på Hugging Face, och alla resultat i det här inlägget rapporteras för denna förhandsversion. Vi arbetar på att göra modellen tillgänglig via Perplexity API, och på att ytterligare förbättra hämtningen över långa dokument tillsammans med turbopuffer.
Citering
@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}
}