Încorporare contextuală dincolo de pasajul de aur

O nouă metodă de antrenare, un nou model și un nou benchmark pentru regăsirea răspunsurilor și a contextului de sprijin.

AutoriPerplexity Research & turbopuffer

Introducere

Încorporările contextuale surprind semnificația fiecărui pasaj sau fragment în contextul întregului document. Antrenarea și evaluarea lor presupun de obicei un singur fragment relevant per interogare, cunoscut sub numele de „pasajul de aur”. Cu toate acestea, un pasaj de aur nu este adesea suficient în practică. El poate conține răspunsul, dar poate lipsi contextul de sprijin necesar pentru a-l înțelege sau verifica, lăsându-l ambiguu în izolare.

Introducem pplx-embed-v2-context-9b-preview, noul nostru model de încorporare contextuală. Modelul este antrenat cu o abordare nouă care utilizează modelul de compresie a contextului al Perplexity ca profesor. Agregăm predicțiile sale la nivel de token în scoruri de relevanță la nivel de fragment, învățând modelul de încorporare să regăsească atât fragmentele de răspuns, cât și contextul de sprijin, mai degrabă decât un singur fragment de aur. Modelul produce o încorporare per fragment fără costuri suplimentare de inferență și acceptă încorporări de 1024 de dimensiuni și int8.

Obține rezultate de ultimă generație pe context-bench, un nou benchmark pentru regăsirea conștientă de context creat și deținut în privat de turbopuffer, și pe ConTEB, un benchmark public utilizat pe scară largă. Modelul nostru a fost dezvoltat independent de context-bench și evaluat ca o trimitere oarbă.

Context-bench constă în 2.099 de interogări pe 38.894 de documente lungi din 21 de domenii și evaluează trei capabilități ale încorporărilor contextuale: dizambiguizarea documentelor printre documente aproape duplicate, regăsirea fragmentelor de aur a căror înțeles depinde de un context îndepărtat și rechemarea dovezilor suport necesare pentru a verifica un răspuns.

O previzualizare a modelului este disponibilă public pe Hugging Face. Benchmarkul este deținut în mod privat de turbopuffer pentru a reduce riscul de contaminare a antrenării și a-și păstra valoarea pentru măsurarea progresului. Pentru a solicita o evaluare, vă rugăm să contactați turbopuffer la contextbench@turbopuffer.com.

Figura 1: Answer@K, Document@K, Evidence Recall@K și All-Evidence@10 pe context-bench, comparând Perplexity v2 previzualizare 9B cu Voyage Context 4, Voyage 4 Large și Perplexity context v1 4B.

De ce contează contextul pentru regăsire

Sistemele de regăsire împart de obicei documentele lungi în fragmente mai mici care pot fi indexate și căutate independent. Fragmentarea este convenabilă în practică, dar elimină contextul în care fiecare fragment a apărut inițial, creând un compromis între granulația compresiei informațiilor și contextul utilizat în timpul codificării. Un fragment poate face referire la o entitate introdusă anterior, își poate moșteni înțelesul dintr-un titlu de secțiune sau se poate baza pe definiții situate în altă parte în document. Odată extras, este posibil să nu mai conțină suficiente informații pentru a fi asociat în mod fiabil cu o interogare. Codificarea întregului document ca un singur vector nu rezolvă acest lucru, deoarece o reprezentare combinată nu poate surprinde cu fidelitate fiecare fațetă a unui document lung.

Modelele de încorporare contextuală abordează această limitare reprezentând fiecare fragment în contextul conținutului său înconjurător, cel mai adesea prin fragmentare târzie: documentul este codificat într-o singură trecere, iar reprezentările fragmentelor sunt reunite ulterior, astfel încât fiecare vector de fragment este calculat având întregul document în vizor. Lucrările anterioare, cum ar fi ConTEB și propriul nostru pplx-embed-context-v1, au arătat că reprezentările fragmentelor contextualizate îmbunătățesc substanțial regăsirea față de fragmentele codificate independent, în special pe documente lungi.

Limitele supervizării prin fragmentul de aur

Antrenarea modelelor de încorporare contextuală necesită o supervizare care să identifice ce părți ale unui document sunt relevante pentru o anumită interogare. O abordare comună este reprezentată de adnotările de tip fragment de aur: pentru fiecare interogare, un adnotator, de obicei un model lingvistic mare (LLM), identifică fragmentul din document care răspunde la aceasta.

Antrenarea combină de obicei două pierderi contrastive: o pierdere contrastivă la nivel de document care contrastează fragmentul de aur cu fragmente din alte documente și o pierdere la nivel de document care îl contrastează cu celelalte fragmente din același document.

Această abordare are câteva limitări:

  1. Doar un singur fragment este relevant. Tratează fiecare alt fragment din document ca fiind negativ, inclusiv pe cele cu informații utile de sprijin. Supervizarea la nivel de document operează la cealaltă extremă. Ea identifică documentul ca fiind relevant fără a specifica ce fragmente din acesta contează. În practică, relevanța se situează adesea între aceste extreme. Fragmentul purtător de răspuns poate depinde de câteva fragmente de sprijin care introduc o entitate, rezolvă o referință sau furnizează un fapt complementar, în timp ce restul documentului este irelevant. Modelul trebuie prin urmare să învețe nivelul corect de selectivitate: mai larg decât un singur fragment de aur, dar mai concentrat decât documentul în ansamblu.
  2. Supervizare brută. Deoarece fiecare adnotare identifică un singur fragment de aur în loc să surprindă grade de relevanță în cadrul documentului, ea oferă semnale limitate de antrenare pentru cantitatea de calcul cheltuită pentru producerea sa.
  3. Costisitor de scalat. Fiecare pereche de antrenare necesită ca un LLM să citească documentul și să selecteze fragmentul relevant, astfel încât costul de adnotare crește liniar odată cu dimensiunea setului de date de antrenare și limitează cât de mult și cât de diverse pot fi datele de antrenare.
  4. Sensibil la limitele fragmentelor. Etichetele sunt de asemenea legate de limitele fragmentelor utilizate în timpul adnotării. O etichetă de aur atribuită unei ferestre cu dimensiune fixă de tokeni nu specifică care propoziții mai scurte sau paragrafe mai lungi sunt relevante. Schimbarea strategiei de fragmentare sau antrenarea pe mai multe fragmentări pentru a îmbunătăți robustețea la modul în care documentele sunt împărțite în momentul indexării poate necesita prin urmare reetichetarea corpusului.

O nouă abordare a învățării contextuale

Abordăm limitările supravegherii prin fragmentul de aur prin distilarea judecăților de relevanță de la un model de compresie a contextului conștient de interogare. Acest model servește drept profesor: citește interogarea și documentul în mod comun și atribuie fiecărui token din document un scor de relevanță. Predicțiile sale oferă mai multe avantaje pentru antrenarea încorporărilor contextuale:

  1. Limite flexibile ale fragmentelor. Scorurile de relevanță la nivel de token pot fi agregate peste orice limite alese ale fragmentelor, permițând acelorași predicții ale profesorului să supravegheze o fragmentare diferită fără re-adnotare.
  2. Relevanță continuă.Spre deosebire de etichetele binare de fragmente de aur, profesorul oferă scoruri continue care surprind grade de relevanță care disting în mod natural fragmentele purtătoare de răspuns, contextul de sprijin și conținutul irelevant.
  3. Cost de adnotare mai mic. Profesorul este compact și specializat în punctarea relevanței, făcându-l mult mai ieftin de supravegheat la scară largă decât un LLM cu scop general.

Antrenăm modelul nostru cu o sumă ponderată a unei pierderi contrastive la nivel de document și a unei pierderi de distilare la nivel de fragment pe loturi de perechi interogare-document. Pentru fiecare interogare, documentul asociat servește drept pozitiv, în timp ce documentele rămase din același lot servesc drept negative.

Pentru fiecare lot, selectăm aleatoriu o strategie de fragmentare, împărțim documentele în consecință și inserăm tokeni de separare între fragmente. Apoi procesăm fiecare document într-o singură trecere înainte și facem media reprezentărilor tokenilor din fiecare fragment pentru a obține încorporări contextuale de fragmente. Interogările sunt codificate separat, cu medierea reprezentărilor lor de tokeni. În cele din urmă, calculăm similitudinea cosinus între fiecare încorporare de interogare și fiecare încorporare de fragment din lot.

Funcția de pierdere

Pierdere contrastivă la nivel de document

În timp ce modelul nostru de încorporare produce doar similitudini la nivel de fragment, putem deriva în mod natural similitudini la nivel de document din acestea. Considerăm că un document d este la fel de relevant pentru o interogare q ca cel mai relevant fragment al său. Această regulă de notare este inspirată de operația MaxSim a ColBERT, aplicată aici fragmentelor în loc de tokeni.

Mai exact, având în vedere o interogare q cu încorporarea q și un document d ca o listă ordonată de fragmente c cu încorporări c, definim similitudinea la nivel de document ca:

s(q,d):=max⁡c∈dq⊤c.s(q,d):=\max_{c\in d}\mathbf{q}^{\top}\mathbf{c}.

Având în vedere aceste similitudini la nivel de document, putem formula un obiectiv InfoNCE la nivel de document peste negativele din lot.

Pentru o interogare q, fie d⁺ documentul său relevant și 𝒟 documentele din lot. Pierderea contrastivă este următoarea, ommițând temperaturile pentru lizibilitate:

Ldoc(q,d+)=−log⁡exp⁡(s(q,d+))∑d∈Dexp⁡(s(q,d))\mathcal{L}_{\mathrm{doc}}(q,d^{+})=-\log\frac{\exp(s(q,d^{+}))}{\sum_{d\in\mathcal{D}}\exp(s(q,d))}

Pierdere de distilare la nivel de fragment

Pierderea contrastivă învață modelul care document este relevant pentru o interogare. Pierderea de distilare îl învață unde se află relevanța în acel document, ceea ce este esențial pentru un model contextual.

În timpul antrenării, trecem fiecare pereche pozitivă interogare-document la modelul nostru de compresie a contextului, care atribuie un scor de relevanță fiecărui token din document. Ca și în cazul notării la nivel de document, derivăm relevanța fiecărui fragment din conținutul său cel mai relevant. Pentru a reduce sensibilitatea la tokenii aberanți, inclusiv cei de la limitele fragmentelor, definim relevanța la nivel de fragment ca media primelor n scoruri de tokeni din cadrul fragmentului.

Pentru fiecare interogare, aplicăm un softmax scalat în funcție de temperatură scorurilor de relevanță la nivel de fragment ale profesorului din documentul pozitiv pentru a obține o distribuție țintă. Fragmentele din celelalte documente din lot primesc o probabilitate țintă zero. Antrenăm modelul de încorporare pentru a se potrivi cu această țintă prin minimizarea divergenței KL directe dintre țintă și distribuția sa prezisă pe toate fragmentele din lot:

Ldist(q,d+)=KL ⁣(pT∥pS)\mathcal{L}_{\mathrm{dist}}(q,d^{+})=\mathrm{KL}\!\left(p^{\mathrm{T}}\parallel p^{\mathrm{S}}\right)
pT(cj)=exp⁡(rj)∑ck∈d+exp⁡(rk)p^{\mathrm{T}}(c_j)=\frac{\exp(r_j)}{\sum_{c_k\in d^{+}}\exp(r_k)}
pS(c)=exp⁡(q⊤c)∑d∈D∑ck∈dexp⁡(q⊤ck)p^{\mathrm{S}}(c)=\frac{\exp(\mathbf{q}^{\top}\mathbf{c})}{\sum_{d\in\mathcal{D}}\sum_{c_k\in d}\exp(\mathbf{q}^{\top}\mathbf{c}_k)}

Aici, superscripturile T și S indică profesorul și elevul, iar rj este scorul de relevanță al profesorului pentru fragmentul cj în documentul pozitiv d⁺. Distribuția țintă a profesorului atribuie probabilitate zero fragmentelor din toate celelalte documente din lot.

Spre deosebire de o singură etichetă de fragment de aur, această țintă surprinde grade de relevanță. Fragmentele de sprijin primesc o pondere în funcție de scorurile profesorului, în loc să fie tratate ca negative, învățând modelul să regăsească contextul de sprijin, precum și răspunsul.

Pierdere combinată

Obiectivul nostru de antrenare combinat este o sumă ponderată a pierderii contrastive la nivel de document și a pierderii de distilare la nivel de fragment. Facem media acestei pierderi ponderate pe lotul de perechi interogare-document.

Figura 2 ilustrează abordarea noastră de antrenare. Compresorul de context servește drept profesor numai în timpul antrenării. În momentul inferenței, modelul de încorporare produce o încorporare contextuală per fragment, fără nicio etapă suplimentară de compresie sau reordonare. Abordarea îmbunătățește modul în care sunt învățate încorporările contextuale fără a crește stocarea în index sau a adăuga latență a modelului profesor în momentul regăsirii.

Figura 2: Configurarea antrenării modelului nostru. Codificatorul contextual (elev, stânga) procesează documente, fiecare constând din mai multe fragmente. Fiecare fragment este încorporat în raport cu contextul documentului său înconjurător. Interogarea A este o potrivire cunoscută pentru Documentul A și este punctată față de fragmentele tuturor documentelor pentru a obține similitudini prezise. Aceste scoruri la nivel de fragment sunt reunite prin max-pooling în scoruri la nivel de document. Antrenăm predicțiile la nivel de fragment și predicțiile la nivel de document pentru a se potrivi cu distribuțiile țintă (dreapta). Ținta la nivel de fragment este calculată în momentul antrenării ca predicție a compresorului de context în cadrul documentului relevant cunoscut și este setată la zero în cadrul documentelor irelevante cunoscute. Distribuția țintă la nivel de document este setată să fie one-hot pe documentul relevant cunoscut.

Date de antrenare

Datele de antrenare constau în aproximativ 430 de seturi de date publice și interne de tip interogare-document care acoperă peste 50 de limbi.

Construim seturi de date de perechi interne din date de producție filtrate PII și sintetizând interogări relevante pe documente lungi. Pentru fiecare trecere înainte, selectăm un set de date și eșantionăm un lot întreg din acesta pentru a crește dificultatea exemplelor negative din cadrul lotului și pentru a evita învățarea prin scurtături. Niciunul dintre seturile noastre de date de antrenare nu conține adnotări la nivel de fragment: toată supervizarea din cadrul documentului provine de la modelul de compresie și nicio dată ConTEB nu este folosită pentru antrenare. În plus, nicio dată context-bench nu a fost disponibilă în timpul dezvoltării modelului.

Configurarea antrenării

Modelul pornește de la un model de regăsire ColBERT intern cu 9B de parametri și produce încorporări cu 2048 de dimensiuni printr-un strat de proiecție liniară. Marcăm limitele fragmentelor cu un token învățat <|chunk_sep|> și formăm fiecare încorporare de fragment făcând media încorporărilor sale de tokeni. Interogările sunt codificate de același model, încorporările lor de tokeni fiind mediate într-un singur vector.

Folosim antrenarea Matryoshka pentru a sprijini atât încorporările de 1024, cât și de 2048 de dimensiuni, și antrenarea conștientă de cuantizare pentru a sprijini încorporările native int8. În timpul antrenării, creștem treptat rata de învățare, o menținem constantă, apoi o reduc.

Modelul lansat este un model compozit care mediază ponderile mai multor puncte de control din aceeași rulare de antrenare.

Un nou benchmark pentru regăsirea la nivel de fragment

Benchmarkurile publice de regăsire contextuală, cum ar fi ConTEB, împărtășesc ipoteza din spatele supravegherii prin fragmentul de aur: fiecare interogare are un singur fragment relevant și un model este recompensat numai pentru clasarea acelui fragment pe primul loc. De asemenea, ele moștenesc limitările acestuia.

În primul rând, ConTEB testează regăsirea pe sarcini în care un fragment este ambiguu fără contextul său înconjurător. În aceste sarcini, modelele contextuale au depășit modelele care codifică fiecare fragment în mod independent. Cu toate acestea, el nu întreabă dacă un model scoate la suprafață și celelalte părți ale documentului care fac fragmentul de înțeles.

În al doilea rând, el nu testează în mod sistematic dacă documentul corect poate fi găsit atunci când documente aproape identice din același corpus diferă doar prin contextul care înconjoară o propoziție altfel identică.

Ambele capabilități contează atunci când un agent de căutare sau un utilizator trebuie să înțeleagă și să verifice un răspuns dintr-un număr mic de propoziții regăsite, mai degrabă decât dintr-un document întreg. Prin urmare, am construit context-bench, un benchmark controlat pentru regăsirea pe documente lungi, conceput pentru a distinge utilizarea contextului documentului de calitatea generală a regăsirii. El testează dacă încorporările contextuale folosesc informații din altă parte dintr-un document pentru a sprijini trei capabilități:

  1. Dizambiguizarea documentelor: Identificarea documentului corect printre alternative aproape identice.
  2. Regăsirea răspunsurilor: Regăsirea fragmentelor purtătoare de răspuns ale căror înțeles depinde de detalii din altă parte a documentului.
  3. Regăsirea dovezilor: Regăsirea fragmentelor de sprijin care clarifică sau substanțiază răspunsul.

Context-bench conține 2.099 de interogări și 38.894 de documente. Sunt utilizate fragmente de dimensiunea unei propoziții, rezultând un total de 2.458.072 de fragmente. Interogările acoperă 21 de domenii, inclusiv dosare corporatiste, cercetare clinică, turism, divertisment, educație, guvern, contracte legale și documentație software.

Fiecare interogare este concepută pentru a testa una dintre cele douăsprezece capabilități contextuale. Documentele țintă primare sunt în mod intenționat lungi: 1.061 din cele 1.197 de documente țintă primare distincte au cel puțin 200 de propoziții, cu o lungime mediană de aproximativ 6.100 de tokeni. Fiecare interogare are exact un răspuns corect în corpus. Acolo unde același fapt este enunțat de mai multe ori într-un document de aur, de exemplu într-o propoziție rezumat și într-un rând de tabel, oricare dintre acele propoziții este acceptată ca răspuns.

O rută de răspuns este o combinație validă între un fragment de răspuns și dovezile de sprijin necesare pentru a o interpreta sau verifica. Pe parcursul celor 2.099 de interogări, ruta de răspuns a documentului țintă primar are un grup de dovezi pentru 964 de interogări, două pentru 735, trei sau mai multe pentru 332 și niciuna pentru 68. Rutele de răspuns alternative valide pot necesita diferite grupuri de dovezi.

Tabelul 1: Statistici ale benchmarkului.

Statistică

Valoare

Interogări

2.099

Documente

38.894

Fragmente de propoziții

2.458.072

Lungimea mediană a documentului țintă primar

6.100 de tokeni

Domenii

21

Grupuri de dovezi per interogare (rută de răspuns a documentului țintă primar)

1: 964; 2: 735; 3+: 332; niciuna: 68

Tabelul 2: Douăsprezece capabilități contextuale testate de context-bench, cu exemple ilustrative.

Capabilitate

Interogare de exemplu

Fragment de răspuns

Contextul documentului necesar

1. Identitatea entității

Cât a cheltuit Northlake pentru răscumpărarea de acțiuni?

Compania a răscumpărat acțiuni în valoare de 12,8 miliarde de dolari.

Introducerea identifică Northlake drept „compania”. Un raport similar pentru Southlake nu este relevant.

2. Perioadă sau versiune

Ce cartuș se potrivește pentru M40 revizia B?

Instalați cartușul KC-42.

Secțiunea de aplicabilitate spune că aceste instrucțiuni acoperă revizia B, nu revizia C.

3. Definiții și aliasuri

Ce rată de retragere a avut grupul de 15 mg?

Zeta a avut o rată de retragere de 12,7%.

Raportul definește Zeta ca fiind grupul de 15 mg. Fără această definiție, fragmentul nu identifică grupul solicitat.

4. Structura tabelului

Care este capacitatea bateriei modelului Max?

Capacitate tipică: 4.250 | 4.700 | 5.150.

Antetul tabelului stabilește Mini | Base | Max, măsurat în mAh. Răspunsul este, prin urmare, 5.150 mAh.

5. Condiții și excepții

Cât timp durează acoperirea bateriei pentru uz comercial?

Acoperirea bateriei durează 18 luni.

O introducere de secțiune restricționează această acoperire la instalațiile comerciale; instalațiile casnice au o garanție diferită.

6. Referințe și pronume

Când a devenit Mara viceprimar?

Ea și-a preluat mandatul în 2021.

Narațiunea anterioară stabilește că „ea” se referă la Mara, nu la Elin, care este de asemenea discutată.

7. Ordinea și poziția în listă

Ce melodie a deschis bisul?

14. Lantern Road.

O notă din altă parte spune că melodiile 14–16 au constituit bisul. Piesa 14 este, prin urmare, melodia de deschidere a acestuia.

8. Domeniul de aplicare a secțiunii

Ce obiectiv a fost folosit pentru cinematografia filmului?

Un obiectiv fix de 35 mm a fost folosit în întregime.

Acest pasaj aparține secțiunii „Fotografie principală”, nu secțiunii separate despre fotografiile de publicitate.

9. Atribuirea vorbitorului

Ce dată de redeschidere a promis primarul?

Vom redeschide pe 12 iunie.

Transcripția îl identifică pe primar drept vorbitor. Aceleași cuvinte spuse de un antreprenor nu ar stabili promisiunea primarului.

10. Modificări în timp

Ce perioadă de preaviz s-a aplicat după amendamentul din mai?

Perioada de preaviz este acum de 45 de zile.

Istoricul amendamentelor stabilește că această modificare a intrat în vigoare în mai, înlocuind regula anterioară de 30 de zile.

11. Relații cauzale

De ce s-a oprit pompa vestică?

Această defecțiune a provocat oprirea.

Investigația identifică „acea defecțiune” ca fiind un lagăr gripat în pompa vestică și o distinge de o ocluzie a admisiei fără legătură.

12. Semnificație figurativă sau interlingvistică

Figurativ:

Ce simbolizează „camera de iarnă” în poem?

Interlingvistic:

Ce componentă îi cere instrucțiunea în franceză tehnicianului să o elimine?

Figurativ:

Reprezintă exilul, mai degrabă decât o cameră fizică.

Interlingvistic:

Retirez le capot. (Scoateți capacul.)

Figurativ:

Comentariul identifică „aceasta” drept imaginea recurrentă „camera de iarnă” a poemului.

Interlingvistic:

Glosarul ghidului precizează că „capot” înseamnă capota de protecție a motorului, nu capacul de transport.

Documente și interogări

Interogările, documentele și capabilitățile testate sunt inspirate de conversațiile cu clienții turbopuffer.

Pentru a da un exemplu, luați în considerare nevoile de căutare ale unei firme de administrare a proprietăților. Aceste firme au sute, uneori mii de contracte de închiriere care diferă doar prin numele chiriașilor, date și câteva alte detalii cheie. O interogare comună pentru acel set de date ar putea fi „când se termină contractul de închiriere pentru 5 Park Avenue și care este chiria actuală?”. Contractele de închiriere pot fi, de asemenea, lungi, iar componentele critice de dizambiguizare care ar confirma că ați regăsit documentul corect (cum ar fi data, adresa, numele chiriașului etc.) pot fi adesea foarte departe de propoziția cheie de răspuns care conține suma plății lunare a chiriei. În practică, propoziții identice precum „Chiria lunară este de $X,XXX.” pot apărea în multe documente din corpus.

Un model bun de încorporare contextuală ar trebui să folosească contextul din întregul document pentru a identifica documentul corect și a regăsi atât răspunsul, cât și propozițiile sale de sprijin. Acest lucru îi permite unui utilizator sau agent de căutare să verifice rapid răspunsul și să confirme că acesta provine din documentul corect.

Etichete de răspuns și dovezi

Pentru fiecare interogare, etichetăm propozițiile de „răspuns” și „dovezi” din documentul țintă. Un model trece testul nostru de „suficiență pentru cititor” dacă regăsește o propoziție de răspuns împreună cu cel puțin o propoziție din fiecare grup de dovezi. Împreună, aceste propoziții oferă suficient context pentru ca un cititor să verifice răspunsul cu dovezi de sprijin.

Atunci când modelele de încorporare contextuală fac acest lucru bine, ele pot reduce dramatic numărul de tokeni pe care agenții de căutare trebuie să îi revizuiască, precum și să facă mult mai ușor pentru o persoană să confirme rapid că a localizat răspunsul corect la interogarea sa inițială fără a fi nevoită să citească întregul document.

Fiecare grup de dovezi trebuie recuperat, dar oricare dintre alternativele unui grup este suficientă pentru a-l recupera. Este obișnuit să se vadă același fapt enunțat în mai multe locuri din aceste documente lungi. Regăsirea unei singure propoziții din fiecare grup de dovezi îndeplinește criteriile de suficiență pentru cititor și, ca atare, ar fi acceptată ca rechemare perfectă a dovezilor.

Metrici

Fiecare document este fragmentat în propoziții, iar aceleași limite sunt utilizate pentru toate modelele. Sunt testate două condiții pentru modelele de încorporare necontextuale: una în care fiecare propoziție este încorporată independent și alta în care întregul document este încorporat ca un singur fragment.

Folosim condiția la nivel de propoziție pentru a măsura rechemarea răspunsului și rechemarea dovezilor. Aceasta testează dacă un model necontextual poate identifica răspunsul corect și dovezile de sprijin atunci când fiecare propoziție este încorporată fără acces la documentul înconjurător. Acest lucru este în mod intenționat dificil. În multe interogări, propoziția de răspuns în sine nu are detaliile necesare pentru a o distinge de propoziții similare din altă parte a corpusului.

Folosim condiția la nivel de document ca punct de referință pentru rechemarea documentelor. Aceasta testează dacă încorporările de propoziții de granulație fină oferă suficient beneficiu de regăsire pentru a justifica costul lor suplimentar de stocare în comparație cu stocarea unui singur vector per document. Un index la nivel de propoziție creează substanțial mai mulți vectori decât un index la nivel de document, așa că ar trebui să depășească punctele de referință de un vector per document pentru a justifica acel cost.

Toate evaluările utilizează clasamente exhaustive față de toate cele 2.458.072 de fragmente. Diferențele dintre modele reflectă prin urmare reprezentările, nu configurarea indexului. Ne concentrăm pe trei metrici cheie:

Document@K este definit ca:

Document@K=1[rank⁡(d∗)≤K]\text{Document@K}=1[\operatorname{rank}(d^{*})\le K]

unde d∗d^{*} este documentul cel mai bine clasat din DqD_q.

Answer@K este definit ca:

Answer@K=1[Aq∩CK(q)≠∅]\text{Answer@K}=1[A_q\cap C_K(q)\ne\varnothing]

unde CK(q)C_K(q) este reprezentat de primele KK fragmente din întregul corpus, iar AqA_{q} este setul de fragmente de răspuns acceptate.

Evidence Recall@K este măsurat în cadrul d∗d^{*} după cum urmează: Se clasează propozițiile din d∗d^{*} după similitudine, se elimină propoziția de răspuns cel mai bine clasată și se lasă RK(q)R_K(q) să fie primele KK care rămân. Pentru grupurile de dovezi Gq={g1,…,gm}G_q=\{g_1,\ldots,g_m\}, grupul gjg_j este recuperat dacă vreo alternativă E∈gjE\in g_j satisface E⊆RK(q)E\subseteq R_K(q), și

EvidenceRecall@K=1[rank⁡(d∗)≤10]⋅1m∑j=1m1[gj recovered].\text{EvidenceRecall@K}=1[\operatorname{rank}(d^{*})\le10]\cdot\frac{1}{m}\sum_{j=1}^{m}1[g_j\ \text{recovered}].

Document@K întreabă dacă contextualizarea permite documentului corect să învingă frații și distractorii care îi împărtășesc vocabularul.

Answer@K întreabă dacă propoziția de răspuns în sine se clasează printre primele fragmente.

Evidence Recall@K întreabă cât la sută din contextul de sprijin este recuperat printre primele K fragmente ale documentului corect, după excluderea fragmentului de răspuns cel mai bine clasat. Eliminarea răspunsului împiedică rechemarea dovezilor să contabilizeze dublu ceea ce Answer@K măsoară deja și lasă toate sloturile KK pentru contextul de sprijin. Solicitarea ca documentul de aur să se afle în primele 10 documente regăsite înseamnă că niciun model nu primește credite de dovadă pentru un document pe care nu l-ar fi scos la suprafață. De asemenea, raportăm All-Evidence@K, fracțiunea de interogări cu fiecare grup recuperat.

Luate împreună, aceste metrici descompun provocările cu care se confruntă modelele de încorporare contextuală: găsirea documentului corect, găsirea răspunsului corect și recuperarea contextului minimal care arată de ce răspunsul este corect.

Figura 3 ilustrează metricile cu exemplul de administrare a proprietăților.

Figura 3: Metricile context-bench ilustrate cu o interogare de închiriere. Document@K testează regăsirea documentului corect; Answer@K testează regăsirea fragmentului său de răspuns; Evidence Recall@K măsoară recuperarea grupurilor de dovezi de sprijin din documentul țintă. În acest exemplu, verificarea chiriei necesită dovezi atât pentru adresă, cât și pentru anul închirierii. Rechemarea dovezilor exclude fragmentul de răspuns de sus și necesită ca documentul țintă să se claseze în primele 10.

Rezultatele evaluării

Evaluăm modelul nostru în raport cu modelele de încorporare contextuală și necontextuală pe patru fronturi.

Bazele noastre contextuale sunt pplx-embed-context-v1-4B și voyage-context-4. Bazele noastre necontextuale sunt voyage-4-large și Nemotron-3-Embed-8B-BF16 de la NVIDIA, care codifică fragmentele în mod independent. Setul de bază variază în funcție de experiment, așa cum se indică în fiecare figură.

Începem cu context-bench, care testează direct capabilitățile care motivează această lucrare, și apoi raportăm rezultatele pe ConTEB, benchmarkul public standard pentru încorporările contextuale. Pentru a verifica că aceste câștiguri nu vin în detrimentul calității generale a regăsirii, evaluăm și benchmarkuri de regăsire de documente și fragmente specifice domeniului pe care le-am construit din seturi de date publice. În cele din urmă, examinăm două proprietăți practice pentru implementare: calitatea regăsirii versus costurile de stocare per vector și sensibilitatea la dimensiunea fragmentului utilizată în momentul indexării. Toate evaluările codifică documente de până la 32.768 de tokeni într-o singură trecere.

Context-bench

Așa cum se arată în Figura 1 din introducere, previzualizarea noastră conduce la Answer@K și Evidence Recall@K la fiecare prag raportat, precum și la All-Evidence@10. La K = 10, obține o rechemare a răspunsului de 45,5%, o rechemare a dovezilor de 40,6% și o rechemare pentru toate dovezile de 31,1%. De asemenea, conduce la Document@1 și Document@10, atingând 15,2% și, respectiv, 61,6%. La K = 10, previzualizarea noastră depășește voyage-context-4 cu 14,4 puncte procentuale în rechemarea răspunsului și 5,0 puncte în rechemarea dovezilor.

ConTEB

Modelul nostru de previzualizare obține cel mai mare nDCG@10 mediu dintre modelele prezentate pe ConTEB în Figura 4. Nu conduce în fiecare sarcină: pplx-context-v1-4B obține un scor mai mare pe NarrativeQA, în timp ce Nemotron-3-8B obține cel mai mare scor pe COVID-QA. Așa cum au subliniat și autorii principali în lucrarea ConTEB, COVID-QA include în mare parte asocieri interogare-fragment care sunt foarte extractive și pot fi satisfăcute cu o simplă potrivire lexicală de suprafață pe termeni medicali tehnici. Ca urmare, înțelegerea contextului este mai puțin utilă pentru această sarcină, iar modelele necontextuale le depășesc de obicei pe cele contextuale.

Figura 4: nDCG@10 la nivel de sarcină pe ConTEB în setarea de la interogare la fragment. Media este media neponderată pe cele opt sarcini.

Calitatea generală a regăsirii în diferite domenii

Dincolo de benchmarkurile concepute pentru încorporări contextuale, evaluăm performanța specifică domeniului a modelului nostru.

Suita noastră de la interogare la fragment (Q2C) utilizează sarcini MTEB, cum ar fi LegalBench și FinanceBench, alături de sarcini suplimentare de regăsire pe care le-am curatoriat din seturi de date publice. În cadrul fiecărui document relevant, un fragment este etichetat ca relevant dacă conține intervalul exact al răspunsului atunci când sarcina furnizează unul, și altfel printr-un LLM care îi judecă relevanța pentru interogare. Suita de la interogare la document (Q2D) utilizează aceleași sarcini și punctează dacă documentul relevant este regăsit.

Modelul nostru obține cel mai mare scor mediu pentru regăsirea fragmentelor în Figura 5 și conduce în domeniile juridic, tehnic și al sănătății. Nu conduce în fiecare domeniu: voyage-context-4 obține un scor mai mare în finanțe și regăsire multilingvă, iar Nemotron-3-8B obține cel mai mare scor în regăsirea conversațiilor. La regăsirea documentelor din Figura 6, modelul nostru obține un scor ușor sub voyage-context-4 în medie, conducând în același timp în domeniul tehnic. Baza pplx-context-v1-4B obține un scor mediu mai mic în ambele suite, ceea ce este în concordanță cu faptul că a fost antrenată doar pe setul de antrenare ConTEB, arătând că supervizarea legată de fragmentele de aur ale unui benchmark se transferă slab în alte domenii.

Figura 5: nDCG@10 mediu pe sarcinile de la interogare la fragment (Q2C), grupate după domeniu. Barele de domeniu sunt medii neponderate ale scorurilor la nivel de sarcină din acel domeniu; media generală este o medie neponderată pe toate sarcinile afișate.
Figura 6: Scor mediu de regăsire pentru sarcinile de la interogare la document (Q2D), grupate după domeniu. Fiecare bară dintr-un domeniu este media neponderată a scorurilor principale la nivel de sarcină; media generală este o medie neponderată pe toate sarcinile afișate.

Calitatea regăsirii și costurile de stocare

Un model de încorporare contextuală produce un singur vector per fragment, astfel încât un index construit cu modelul nostru conține exact la fel de mulți vectori ca un index convențional la nivel de fragment cu aceeași strategie de fragmentare. Contextualizarea schimbă ceea ce codifică fiecare vector, nu câți vectori sunt stocați. Amprenta de stocare este prin urmare guvernată de dimensiunea fiecărui vector. Modelul oferă două modalități de a o reduce: trunchierea încorporării de la 2048 la 1024 de dimensiuni și cuantizarea acesteia la int8.

Figura 7 arată un schimb favorabil între calitatea regăsirii și stocarea vectorilor. La 1024 de dimensiuni, încorporările noastre int8 folosesc 1 KB per vector, depășind în același timp ușor scorul de regăsire a fragmentelor al voyage-context-4 la 2048 de dimensiuni în float32, care folosește 8 KB per vector. Creșterea dimensiunii încorporării noastre la 2048 de dimensiuni ridică și mai mult calitatea regăsirii la 2 KB per vector. Aceste cifre de stocare se referă doar la vectori, nu și la restul indexului.

Figura 7: Calitatea regăsirii fragmentelor (nDCG@10 mediu) ca funcție a stocării per vector. Liniile continue denotă float32, iar liniile întrerupte denotă int8; etichetele indică dimensiunea încorporării.

Sensibilitatea la dimensiunea fragmentului

Figura 8 arată doar o modificare modestă a calității regăsirii pe măsură ce dimensiunea fragmentului crește de la 64 la 512 tokeni: scorul mediu scade de la 81,0% la 79,9%, o scădere de 1,1 puncte procentuale. Acest lucru sugerează că modelul rămâne eficient pentru dimensiunile de fragmente testate, oferind conductelor de indexare flexibilitate în modul în care sunt împărțite documentele.

Figura 8: Sensibilitatea la dimensiunea fragmentului a modelului nostru. Fiecare punct este nDCG@10 mediu neponderat pe 74 de sarcini MTEB, cu documente indexate la dimensiunea dată a fragmentului.

Lansare

turbopuffer păstrează întregul corpus, interogările și etichetele context-bench confidențiale și raportează rezultatele pentru modelele trimise. Un benchmark public de acest fel încurajează antrenarea directă pe interogările și documentele sale, ceea ce l-ar satura treptat și i-ar diminua valoarea pentru urmărirea Progresului în timp. Dacă doriți ca modelul dvs. să fie evaluat pe benchmark, vă rugăm să contactați turbopuffer la adresa contextbench@turbopuffer.com.

O previzualizare a modelului nostru este disponibilă pe Hugging Face, iar toate rezultatele din această postare sunt raportate pentru această previzualizare. Lucrăm la punerea modelului la dispoziție prin API-ul Perplexity și la îmbunătățirea în continuare a regăsirii pe documente lungi împreună cu turbopuffer.

Citare

BibTeX
@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}
}