Kontekstualno ugrađivanje izvan zlatnog ulomka

Nova metoda učenja, model i mjerilo za dohvaćanje odgovora i njihovog pratećeg konteksta.

AutoriPerplexity Research & turbopuffer

Uvod

Kontekstualna ugrađivanja hvataju značenje svakog ulomka ili dijela u kontekstu cijelog dokumenta. Njihovo učenje i evaluacija obično pretpostavljaju jedan relevantan dio po upitu, poznat kao “zlatni ulomak”. Međutim, zlatni ulomak u praksi često nije dovoljan. Može sadržavati odgovor, ali mu nedostaje prateći kontekst potreban za njegovo razumijevanje ili provjeru, što ga čini dvosmislenim u izolaciji.

Predstavljamo pplx-embed-v2-context-9b-preview, naš novi model kontekstualnog ugrađivanja. Model je treniran novim pristupom koji koristi Perplexityjev model kompresije konteksta kao učitelja. Agregiramo njegova predviđanja na razini tokena u ocjene relevantnosti na razini dijelova, učeći model ugrađivanja da dohvaća i dijelove s odgovorima i prateći kontekst umjesto jednog zlatnog dijela. Model proizvodi jedno ugrađivanje po dijelu bez dodatnih troškova zaključivanja i podržava ugrađivanja s 1024 dimenzije i int8.

Ostvaruje vrhunske rezultate na mjerilu context-bench, novom mjerilu za kontekstualno svjesno pronalaženje koje je stvorio i privatno drži turbopuffer, te na ConTEB-u, naširoko korištenom javnom mjerilu. naš model razvijen je neovisno o mjerilu context-bench i evaluiran kao slijepa prijava.

Context-bench se sastoji od 2.099 upita nad 38.894 duga dokumenta u 21 domeni i procjenjuje tri mogućnosti kontekstualnih ugrađivanja: razlučivanje dokumenata među gotovo identičnim dokumentima, pronalaženje zlatnih dijelova čije značenje ovisi o udaljenom kontekstu te dohvaćanje pratećih dokaza potrebnih za verifikaciju odgovora.

Pregled modela javno je dostupan na Hugging Faceu. Mjerilo privatno drži turbopuffer kako bi se smanjio rizik kontaminacije učenja i očuvala njegova vrijednost za mjerenje napretka. Za zahtjev za procjenu, obratite se turbopufferu na contextbench@turbopuffer.com.

Slika 1: Answer@K, Document@K, Evidence Recall@K i All-Evidence@10 na mjerilu context-bench, uspoređujući Perplexity v2 preview 9B s Voyage Context 4, Voyage 4 Large i Perplexity context v1 4B.

Zašto je kontekst važan za dohvaćanje

Sustavi za pronalaženje obično dijele duge dokumente na manje dijelove koji se mogu neovisno indeksirati i pretraživati. Dijeljenje je praktično u praksi, ali uklanja kontekst u kojem se svaki dio izvorno pojavio, stvarajući kompromis između granularnosti sažimanja informacija i konteksta korištenog tijekom kodiranja. Dio se može odnositi na entitet uveden ranije, naslijediti svoje značenje iz naslova odjeljka ili se oslanjati na definicije smještene negdje drugdje u dokumentu. Jednom izvučen, možda više neće sadržavati dovoljno informacija za pouzdano povezivanje s upitom. Kodiranje cijelog dokumenta kao jednog vektora ne rješava to, budući da jedan združeni prikaz ne može vjerno uhvatiti svaku fazu dugog dokumenta.

Modeli kontekstualnog ugrađivanja rješavaju ovo ograničenje predstavljanjem svakog dijela u kontekstu njegovog okolnog sadržaja, najčešće putem kasnog dijeljenja: dokument se kodira u jednom prolazu, a prikazi dijelova se naknadno združuju, tako da se svaki vektor dijela računa s obzirom na cijeli dokument. Prethodni rad, kao što su ConTEB i naš vlastiti pplx-embed-context-v1, pokazao je da kontekstualizirani prikazi dijelova značajno poboljšavaju pronalaženje u odnosu na neovisno kodirane dijelove, posebno na dugim dokumentima.

Ograničenja nadzora zlatnih dijelova

Učenje modela kontekstualnog ugrađivanja zahtijeva nadzor koji identificira koji su dijelovi dokumenta relevantni za dati upit. Uobičajeni pristup su oznake zlatnih dijelova: za svaki upit ocjenjivač, obično veliki jezični model (LLM), identificira dio dokumenta koji na njega odgovara.

Učenje obično kombinira dva kontrastivna gubitka: gubitak kontrasta na razini dokumenta koji suprotstavlja zlatni dio s dijelovima iz drugih dokumenata, i gubitak kontrasta unutar dokumenta koji ga suprotstavlja s ostalim dijelovima u istom dokumentu.

Ovaj pristup ima nekoliko ograničenja:

  1. Samo je jedan dio relevantan. Tretira svaki drugi dio u dokumentu kao negativan, uključujući one s korisnim pratećim informacijama. Nadzor na razini dokumenta djeluje na drugoj krajnosti. Identificira dokument kao relevantan bez navođenja koji su dijelovi unutar njega važni. U praksi se relevantnost često nalazi između ovih krajnosti. Dio koji sadrži odgovor može ovisiti o nekoliko pratećih dijelova koji uvode entitet, rješavaju referencu ili daju komplementarnu činjenicu, dok je ostatak dokumenta irelevantan. Model stoga mora naučiti pravu razinu selektivnosti: širu od jednog zlatnog dijela, ali fokusiraniju od dokumenta u cjelini.
  2. Grubi nadzor. Budući da svaka oznaka identificira jedan zlatni dio umjesto hvatanja stupnjeva relevantnosti kroz dokument, pruža ograničene signale učenja za količinu računalne snage utrošene na njihovo stvaranje.
  3. Skupo za skaliranje. Svaki par za učenje zahtijeva da LLM pročita dokument i odabere relevantan dio, tako da trošak označavanja raste linearno s veličinom skupa podataka za učenje i ograničava koliko podaci za učenje mogu biti opsežni i raznoliki.
  4. Osjetljivo na granice dijelova. Oznake su također vezane uz granice dijelova korištene tijekom označavanja. Zlatna oznaka dodijeljena prozoru fiksne veličine tokena ne precizira koje su kraće rečenice ili duži odlomci relevantni. Promjena strategije dijeljenja ili učenje kroz višestruka dijeljenja radi poboljšanja robusnosti na način na koji se dokumenti dijele u trenutku indeksiranja, stoga može zahtijevati ponovno označavanje korpusa.

Novi pristup kontekstualnom učenju

Rješavamo ograničenja nadzora zlatnih dijelova destiliranjem ocjena relevantnosti iz modela kompresije konteksta svjesnog upita. Ovaj model služi kao učitelj: čita upit i dokument zajedno i svakom tokenu dokumenta dodjeljuje ocjenu relevantnosti. Njegova predviđanja nude nekoliko prednosti za učenje kontekstualnih ugrađivanja:

  1. Fleksibilne granice dijelova. Ocjene relevantnosti na razini tokena mogu se agregirati preko bilo kojih odabranih granica dijelova, omogućujući istim predviđanjima učitelja da nadziru različita dijeljenja bez ponovnog označavanja.
  2. Kontinuirana relevantnost. Za razliku od binarnih oznaka zlatnih dijelova, učitelj pruža kontinuirane ocjene koje hvataju stupnjeve relevantnosti koji prirodno razlikuju dijelove s odgovorima, prateći kontekst i irelevantan sadržaj.
  3. Niži trošak označavanja. Učitelj je kompaktan i specijaliziran za bodovanje relevantnosti, što ga čini znatno jeftinijim za nadzor u velikom mjerilu u odnosu na LLM opće namjene.

Treniramo naš model s ponderiranom sumom kontrastivnog gubitka na razini dokumenta i gubitka destilacije na razini dijela preko serija parova upit-dokument. Za svaki upit, upareni dokument služi kao pozitivan primjer, dok preostali dokumenti u istoj seriji služe kao negativni.

Za svaku seriju nasumično odabiremo strategiju dijeljenja, sukladno tome dijelimo dokumente i umećemo tokene razdjelnika između dijelova. Zatim obrađujemo svaki dokument u jednom prolazu i primjenjujemo srednju vrijednost na prikaze tokena unutar svakog dijela kako bismo dobili ugrađivanja kontekstualnih dijelova. Upiti se kodiraju zasebno, s primjenom srednje vrijednosti nad njihovim prikazima tokena. Na kraju izračunavamo kosinusnu sličnost između svakog ugrađivanja upita i svakog ugrađivanja dijela u seriji.

Funkcija gubitka

Kontrastivni gubitak na razini dokumenta

Iako naš model ugrađivanja proizvodi samo sličnosti na razini dijela, iz njih možemo prirodno izvesti sličnosti na razini dokumenta. Smatramo da je dokument d relevantan za upit q u onoj mjeri u kojoj je to njegov najrelevantniji dio. Ovo pravilo bodovanja inspirirano je operacijom MaxSim modela ColBERT, primijenjenom ovdje na dijelove umjesto na tokene.

Točnije, s obzirom na upit q s ugrađivanjem q i dokument d kao uređeni popis dijelova c s ugrađivanjima c, definiramo sličnost na razini dokumenta kao:

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

S obzirom na ove sličnosti na razini dokumenta, možemo formulirati InfoNCE ciljnu funkciju na razini dokumenta preko negativnih primjera unutar serije.

Za upit q, neka d⁺ označava njegov relevantan dokument, a 𝒟 dokumente u seriji. Kontrastivni gubitak je sljedeći, izostavljajući temperature radi lakšeg čitanja:

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))}

Gubitak destilacije na razini dijela

Kontrastivni gubitak uči model koji je dokument relevantan za upit. Gubitak destilacije uči ga gdje se relevantnost nalazi unutar tog dokumenta, što je bitno za kontekstualni model.

Tijekom učenja prosljeđujemo svaki pozitivan par upit-dokument našem modelu kompresije konteksta, koji dodjeljuje ocjenu relevantnosti svakom tokenu u dokumentu. Kao i kod bodovanja na razini dokumenta, izvodimo relevantnost svakog dijela iz njegovog najrelevantnijeg sadržaja. Kako bismo smanjili osjetljivost na odstupajuće tokene, uključujući one na granicama dijelova, definiramo relevantnost na razini dijela kao srednju vrijednost top n ocjena tokena unutar dijela.

Za svaki upit primjenjujemo softmax skaliran temperaturom na ocjene relevantnosti dijelova učitelja unutar pozitivnog dokumenta kako bismo dobili ciljnu distribuciju. Dijelovi u drugim dokumentima u seriji primaju nultu ciljnu vjerojatnost. Treniramo model ugrađivanja da odgovara ovom cilju minimaliziranjem usmjerene KL divergencije između cilja i njegove predviđene distribucije preko svih dijelova u seriji:

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)}

Ovdje gornji indeksi T i S označavaju učitelja i učenika, a rⱼ je učiteljeva ocjena relevantnosti za dio cⱼ u pozitivnom dokumentu d⁺. Učiteljeva ciljna distribucija dodjeljuje nultu vjerojatnost dijelovima u svim ostalim dokumentima u seriji.

Za razliku od jedne oznake zlatnog dijela, ovaj cilj hvata stupnjeve relevantnosti. Prateći dijelovi primaju težinu u skladu s učiteljevim ocjenama umjesto da se tretiraju kao negativni primjeri, učeći model da dohvaća i prateći kontekst i odgovor.

Kombinirani gubitak

Naš kombinirani cilj učenja je ponderirana suma kontrastivnog gubitka na razini dokumenta i gubitka destilacije na razini dijela. Izračunavamo prosjek ovog ponderiranog gubitka preko serije parova upit-dokument.

Slika 2 ilustrira naš pristup učenju. Kompresor konteksta služi kao učitelj samo tijekom učenja. U vrijeme zaključivanja, model ugrađivanja proizvodi jedno kontekstualno ugrađivanje po dijelu, bez dodatne kompresije ili faze ponovnog rangiranja. Pristup poboljšava način na koji se uče kontekstualna ugrađivanja bez povećanja pohrane u indeksu ili dodavanja latencije modela učitelja u vrijeme pronalaženja.

Slika 2: Postavke učenja našeg modela. Kontekstualni koder (učenik, lijevo) obrađuje dokumente, od kojih se svaki sastoji od nekoliko dijelova. Svaki je dio ugrađen s obzirom na okolni kontekst dokumenta. Upit A je poznato podudaranje za Dokument A i boduje se u odnosu na dijelove svih dokumenata kako bi se dobile predviđene sličnosti. Ove ocjene na razini dijelova se maksimalno združuju u ocjene na razini dokumenta. Treniramo predviđanja na razini dijela i predviđanja na razini dokumenta da odgovaraju ciljnim distribucijama (desno). Cilj na razini dijela izračunava se u vrijeme učenja kao predviđanje kompresora konteksta unutar poznatog relevantnog dokumenta i postavlja se na nulu unutar poznatih irelevantnih dokumenata. Ciljna distribucija na razini dokumenta postavljena je da bude one-hot na poznatom relevantnom dokumentu.

Podaci za učenje

Podaci za učenje sastoje se od otprilike 430 javnih i internih skupova podataka upita i dokumenata koji obuhvaćaju preko 50 jezika.

Sastavljamo interne skupove podataka parova iz PII-filtriranih produkcijskih podataka i sintetiziranjem relevantnih upita preko dugih dokumenata. Za svaki prolaz unaprijed odabiremo jedan skup podataka i uzorkujemo cijelu seriju iz njega kako bismo povećali težinu negativnih primjera unutar serije i izbjegli učenje prečicom. Nijedan od naših skupova podataka za učenje nema oznake na razini dijelova: cijeli nadzor unutar dokumenta dolazi iz modela kompresije, a za učenje se ne koriste nikakvi ConTEB podaci. Štoviše, nikakvi podaci s mjerila context-bench nisu bili dostupni tijekom razvoja modela.

Postavke učenja

Model kreće od internog ColBERT modela pronalaženja s 9 milijardi parametara i proizvodi ugrađivanja s 2048 dimenzija kroz sloj linearne projekcije. Granice dijelova označavamo naučenim <|chunk_sep|> tokenom i oblikujemo svako ugrađivanje dijela prosječnim vrijednostima njegovih ugrađivanja tokena. Upiti su kodirani istim modelom, s prosječnim vrijednostima ugrađivanja njihovih tokena svedenima u jedan vektor.

Koristimo Matryoshka učenje za podršku ugrađivanjima s 1024 i 2048 dimenzija, te učenje svjesno kvantizacije za podršku nativnim int8 ugrađivanjima. Tijekom učenja postepeno povećavamo stopu učenja, držimo je konstantnom, a zatim je smanjujemo.

Objavljeni model je mješavina modela koja utvrđuje prosjek težina nekoliko kontrolnih točaka iz istog ciklusa učenja.

Novi mjerilo za pronalaženje na razini dijelova

Javni mjerila kontekstualnog pronalaženja poput ConTEB-a dijele pretpostavku koja stoji iza nadzora zlatnih dijelova: svaki upit ima jedan relevantan dio, a model je nagrađen samo za rangiranje tog dijela na prvo mjesto. Oni također nasljeđuju njegova ograničenja.

Prvo, ConTEB testira pronalaženje na zadacima gdje je dio dvosmislen bez okolnog konteksta. Na tim zadacima modeli kontekstualnog pronalaženja nadmašili su modele koji kodiraju svaki dio zasebno. Međutim, ne postavlja pitanje iznosi li model na površinu i druge dijelove dokumenta koji čine taj dio razumljivim.

Drugo, sustavno ne testira može li se pronaći pravi dokument kada se gotovo identični dokumenti u istom korpusu razlikuju samo po kontekstu koji okružuje inače identičnu rečenicu.

Obje su mogućnosti važne kada agent za pretraživanje ili korisnik mora razumjeti i provjeriti odgovor iz nekoliko dohvaćenih rečenica, umjesto iz cijelog dokumenta. Stoga smo izgradili context-bench, kontrolirani mjerilo za pronalaženje preko dugih dokumenata, osmišljen kako bi razlikovao korištenje konteksta dokumenta od opće kvalitete pronalaženja. On testira koriste li kontekstualna ugrađivanja informacije iz drugih dijelova dokumenta kako bi podržala tri mogućnosti:

  1. Razlikovanje dokumenata: Identificirajte ispravan dokument među gotovo identičnim alternativama.
  2. Dohvaćanje odgovora: Dohvatite dijelove koji sadrže odgovore čije značenje ovisi o detaljima drugdje u dokumentu.
  3. Dohvaćanje dokaza: Dohvatite potkrepljujuće dijelove koji pojašnjavaju ili potkrepljuju odgovor.

Context-bench sadrži 2.099 upita i 38.894 dokumenta. Koriste se dijelovi veličine rečenice, što rezultira s ukupno 2.458.072 dijela. Upiti pokrivaju 21 domenu, uključujući korporativne izvještaje, kliničko istraživanje, putovanja, zabavu, obrazovanje, vladine poslove, pravne ugovore i softversku dokumentaciju.

Svaki je upit osmišljen za testiranje jedne od dvanaest kontekstualnih mogućnosti. Primarni ciljni dokumenti namjerno su dugački: 1.061 od 1.197 različitih primarnih ciljnih dokumenata ima najmanje 200 rečenica, s medijanom duljine od oko 6.100 tokena. Svaki upit ima točno jedan točan odgovor u korpusu. Tamo gdje je ista činjenica navedena više puta u zlatnom dokumentu, na primjer u sažetku i retku tablice, bilo koja od tih rečenica prihvaća se kao odgovor.

Put do odgovora je jedna valjana kombinacija dijela s odgovorom i pratećih dokaza potrebnih za njegovo tumačenje ili provjeru. Kroz 2.099 upita, put do odgovora primarnog ciljnog dokumenta ima jednu skupinu dokaza za 964 upita, dvije za 735, tri ili više za 332, a nijednu za 68. Alternativni valjani putevi do odgovora mogu zahtijevati različite skupine dokaza.

Tablica 1: Statistika mjerila.

Statistika

Vrijednost

Upiti

2.099

Dokumenti

38.894

Dijelovi rečenica

2.458.072

Medijan duljine primarnog ciljnog dokumenta

6.100 tokena

Domene

21

Skupine dokaza po upitu (put do odgovora primarnog ciljnog dokumenta)

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

Tablica 2: Dvanaest kontekstualnih mogućnosti koje testira context-bench, s ilustrativnim primjerima.

Mogućnost

Primjer upita

Dio s odgovorom

Potrebni kontekst dokumenta

1. Identitet entiteta

Koliko je Northlake potrošio na otkup dionica?

Tvrtka je otkupila dionice u vrijednosti od 12,8 milijardi dolara.

Uvod identificira Northlake kao “tvrtku”. Slično izvješće za Southlake nije relevantno.

2. Razdoblje ili verzija

Koji uložak odgovara reviziji B modela M40?

Ugradite uložak KC-42.

Odjeljak o primjenjivosti navodi da ove upute pokrivaju reviziju B, a ne reviziju C.

3. Definicije i alijasi

Koliku je stopu povlačenja imala skupina od 15 mg?

Zeta je imala stopu povlačenja od 12,7%.

Izvješće definira Zetu kao skupinu od 15 mg. Bez te definicije dio teksta ne identificira traženu skupinu.

4. Struktura tablice

Koliki je kapacitet baterije modela Max?

Tipičan kapacitet: 4.250 | 4.700 | 5.150.

Zaglavlje tablice uspostavlja Mini | Base | Max, mjereno u mAh. Odgovor je stoga 5.150 mAh.

5. Uvjeti i iznimke

Koliko traje jamstvo za bateriju u komercijalnoj upotrebi?

Jamstvo za bateriju traje 18 mjeseci.

Uvod u odjeljak ograničava ovo pokriće na komercijalne instalacije; kućne instalacije imaju drugačije jamstvo.

6. Reference i zamjenice

Kada je Mara postala zamjenica gradonačelnika?

Preuzela je dužnost 2021. godine.

Prethodni narativ utvrđuje da se “ona” odnosi na Maru, a ne na Elin, o kojoj se također raspravlja.

7. Redoslijed i položaj na popisu

Koja je pjesma otvorila bis?

14. Lantern Road.

Bilješka na drugom mjestu navodi da su pjesme 14–16 činile bis. Pjesma 14 stoga je njena uvodna pjesma.

8. Opseg odjeljka

Koja je leća korištena za snimanje filma?

Tijekom cijelog snimanja korišten je fiksni objektivan od 35 mm.

Ovaj ulomak pripada “Glavnom snimanju”, a ne zasebnom odjeljku o promotivnim fotografijama.

9. Atribucija govornika

Koji je datum ponovnog otvaranja obećao gradonačelnik?

Ponovno ćemo se otvoriti 12. lipnja.

Transkript identificira gradonačelnika kao govornika. Iste riječi izgovorene od strane izvođača ne bi predstavljale gradonačelnikovo obećanje.

10. Promjene tijekom vremena

Koji je otkazni rok vrijedio nakon svibanjske izmjene?

Otkazni rok sada iznosi 45 dana.

Povijest izmjena utvrđuje da je ova promjena stupila na snagu u svibnju, zamijenivši prethodno pravilo od 30 dana.

11. Uzročno-posljedične veze

Zašto se zaustavila zapadna crpka?

Ta je greška uzrokovala prekid rada.

Istraživanje identificira “tu grešku” kao blokirani ležaj u zapadnoj crpki i razlikuje je od nepovezane blokade na ulazu.

12. Preneseno ili međujezično značenje

Preneseno:

Što u pjesmi simbolizira “zimska soba”?

Međujezično:

Koju komponentu francuska uputa nalaže tehničaru da ukloni?

Preneseno:

Predstavlja progonstvo, a ne fizičku sobu.

Međujezično:

Retirez le capot. (Uklonite poklopac.)

Preneseno:

Komentar identificira “to” kao pjesnikovu ponavljajuću sliku “zimske sobe”.

Međujezično:

Rječnik u vodiču navodi da “capot” znači zaštitni poklopac motora, a ne transportni poklopac.

Dokumenti i upiti

Upiti, dokumenti i mogućnosti koje se testiraju inspirirani su razgovorima s turbopufferovim korisnicima.

Kao primjer, razmotrite potrebe pretraživanja tvrtke za upravljanje nekretninama. Te tvrtke imaju stotine, ponekad tisuće ugovora o najmu koji se razlikuju samo po imenima stanara, datumima i nekoliko drugih ključnih detalja. Uobičajeni upit za taj skup podataka mogao bi biti “kada istječe najam za 5 Park Avenue i kolika je trenutna najamnina?”. Ugovori o najmu također mogu biti opširni, a kritične komponente za razlučivanje koje bi potvrdile da ste dohvatili pravi dokument (poput datuma, adrese, imena stanara itd.) često mogu biti vrlo daleko od ključne rečenice s odgovorom koja sadrži mjesečni iznos najamnine. U praksi se identične rečenice poput “Mjesečna najamnina iznosi X,XXX USD.” mogu pojaviti u mnogim dokumentima u korpusu.

Dobar model kontekstualnog ugrađivanja trebao bi koristiti kontekst iz cijelog dokumenta kako bi identificirao ispravan dokument i dohvatio i odgovor i prateće rečenice. To omogućuje korisniku ili agentu za pretraživanje da brzo provjeri odgovor i potvrdi da dolazi iz pravog dokumenta.

Oznake odgovora i dokaza

Za svaki upit označavamo rečenice s “odgovorom” i “dokazom” u ciljnom dokumentu. Model prolazi naš test “dostatnosti za čitača” ako dohvati rečenicu s odgovorom zajedno s barem jednom rečenicom iz svake skupine dokaza. Zajedno, ove rečenice pružaju dovoljno konteksta da čitač može provjeriti odgovor s pratećim dokazima.

Kada modeli kontekstualnog ugrađivanja to rade dobro, mogu drastično smanjiti broj tokena koje agenti za pretraživanje trebaju pregledati, kao i znatno olakšati osobi da brzo potvrdi je li pronašla točan odgovor na svoj izvorni upit bez potrebe za čitanjem cijelog dokumenta.

Svaka skupina dokaza mora biti oporavljena, ali bilo koja alternativa unutar skupine dovoljna je za njeno pronalaženje. Često se događa da je ista činjenica navedena na nekoliko mjesta u ovim opsežnim dokumentima. Dohvaćanje samo jedne rečenice iz svake skupine dokaza zadovoljava kriterije dostatnosti za čitača i stoga bi se prihvatilo kao savršeno dohvaćanje dokaza.

Metrike

Svaki je dokument podijeljen u rečenice, a iste granice koriste se za sve modele. Testiraju se dva uvjeta za nekontekstualne modele ugrađivanja: jedan u kojem se svaka rečenica ugrađuje zasebno i drugi u kojem se cijeli dokument ugrađuje kao jedan dio.

Uvjet na razini rečenice koristimo za mjerenje opoziva odgovora i opoziva dokaza. Njime se testira može li nekontekstualni model identificirati točan odgovor i prateće dokaze kada je svaka rečenica ugrađena bez pristupa okolnom dokumentu. To je namjerno izazovno. U mnogim upitima rečenici s odgovorom same nedostaju detalji potrebni za razlikovanje od sličnih rečenica drugdje u korpusu.

Uvjet na razini dokumenta koristimo kao osnovnu liniju opoziva dokumenata. Njime se testira pružaju li fino zrnata ugrađivanja rečenica dovoljno koristi pri dohvaćanju kako bi opravdala dodatni trošak pohrane u odnosu na pohranu jednog vektora po dokumentu. Indeks na razini rečenice stvara znatno više vektora nego indeks na razini dokumenta, stoga bi trebao nadmašiti osnovnu liniju od jednog vektora po dokumentu kako bi opravdao taj trošak.

Sve evaluacije koriste iscrpno rangiranje protiv svih 2.458.072 dijela. Razlike između modela stoga odražavaju prikaze, a ne konfiguraciju indeksa. Usredotočujemo se na tri ključne metrike:

Document@K definira se kao:

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

gdje je d∗d^{*} najbolje rangirani dokument u DqD_q.

Answer@K definira se kao:

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

gdje je CK(q)C_K(q) top KK dijelova kroz cijeli korpus, a AqA_{q} skup prihvaćenih dijelova s odgovorima.

Evidence Recall@K mjeri se unutar d∗d^{*} na sljedeći način: Rangirajte rečenice iz d∗d^{*} prema sličnosti, uklonite najbolje rangiranu rečenicu s odgovorom i neka RK(q)R_K(q) budu top KK koje preostaju. Za skupine dokaza Gq={g1,…,gm}G_q=\{g_1,\ldots,g_m\}, skupina gjg_j je oporavljena ako neka alternativa E∈gjE\in g_j zadovoljava 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 pita omogućuje li kontekstualizacija da pravi dokument nadmaši srodne i distraktore koji dijele njegov rječnik.

Answer@K pita nalazi li se sama rečenica s odgovorom među vodećim dijelovima.

Evidence Recall@K pita koliki je dio pratećeg konteksta oporavljen među top K dijelova točnog dokumenta, nakon izuzimanja najbolje rangiranog dijela s odgovorom. Uklanjanje odgovora sprječava da dohvaćanje dokaza dvaput broji ono što Answer@K već mjeri, te ostavlja sve KK utore za prateći kontekst. Zahtjev da zlatni dokument bude u top 10 dohvaćenih dokumenata znači da nijedan model ne dobiva kredite za dokaze za dokument koji ne bi iznio na površinu. Također izvještavamo o All-Evidence@K, udjelu upita sa svim oporavljenim skupinama.

Zajedno, ove metrike raščlanjuju izazove s kojima se suočavaju modeli kontekstualnih ugrađivanja: pronaći pravi dokument, pronaći pravi odgovor i oporaviti minimalni kontekst koji pokazuje zašto je odgovor točan.

Slika 3 ilustrira metrike na primjeru upravljanja nekretninama.

Slika 3: Metrike mjerila context-bench ilustrirane na primjeru upita o najmu. Document@K testira dohvaćanje ispravnog dokumenta; Answer@K testira dohvaćanje njegovog dijela s odgovorom; Evidence Recall@K mjeri oporavak skupina pratećih dokaza unutar ciljnog dokumenta. U ovom primjeru, provjera najamnine zahtijeva dokaze i o adresi i o godini najma. Opoziv dokaza isključuje vrhunski dio s odgovorom i zahtijeva da se ciljni dokument rangira među prvih 10.

Rezultati evaluacije

Evaluiramo naš model u usporedbi s kontekstualnim i nekontekstualnim modelima ugrađivanja na četiri fronta.

Naše kontekstualne osnovne linije su pplx-embed-context-v1-4B i voyage-context-4. Naše nekontekstualne osnovne linije su voyage-4-large i NVIDIA-in Nemotron-3-Embed-8B-BF16, koji kodiraju dijelove zasebno. Skup osnovnih linija razlikuje se ovisno o eksperimentu, kako je naznačeno na svakoj slici.

Počinjemo s mjerilom context-bench, koje izravno testira mogućnosti koje motiviraju ovaj rad, a zatim izvještavamo o rezultatima na ConTEB-u, standardnom javnom mjerilu za kontekstualna ugrađivanja. Kako bismo provjerili da ovi dobici nisu ostvareni nauštrb opće kvalitete pronalaženja, također procjenjujemo mjerila pronalaženja dokumenata i dijelova specifična za domenu koja smo izgradili iz javnih skupova podataka. Na kraju razmatramo dva praktična svojstva za primjenu: kvalitetu pronalaženja u odnosu na troškove pohrane po vektoru i osjetljivost na veličinu dijela korištenu u trenutku indeksiranja. Sve evaluacije kodiraju dokumente veličine do 32.768 tokena u jednom prolazu.

Context-bench

Kao što je prikazano na Slici 1 u uvodnom dijelu, naš pregled prednjači u Answer@K i Evidence Recall@K pri svakoj prijavljenoj graničnoj vrijednosti, kao i u All-Evidence@10. Pri K = 10 postiže 45,5% opoziva odgovora, 40,6% opoziva dokaza i 31,1% opoziva svih dokaza. Također prednjači u Document@1 i Document@10, dosežući 15,2% odnosno 61,6%. Pri K = 10, naš pregled premašuje voyage-context-4 za 14,4 postotna boda u opozivu odgovora i 5,0 bodova u opozivu dokaza.

ConTEB

Naš model pregleda postiže najvišu prosječnu nDCG@10 vrijednost među modelima prikazanima na ConTEB-u na Slici 4. Ne prednjači u svakom zadatku: pplx-context-v1-4B ostvaruje viši rezultat na NarrativeQA-u, dok Nemotron-3-8B ostvaruje najviši rezultat na COVID-QA-u. Kao što su glavni autori istaknuli u radu o ConTEB-u, COVID-QA uključuje uglavnom uparivanja upita i dijelova koja su vrlo ekstraktivna i mogu se zadovoljiti jednostavnim površinskim leksičkim podudaranjem na tehničkim medicinskim pojmovima. Zbog toga je razumijevanje konteksta manje korisno za ovaj zadatak i nekontekstualni modeli obično nadmašuju kontekstualne.

Slika 4: nDCG@10 po zadacima na ConTEB-u u postavci upita prema dijelu. Prosjek je neponderirana sredina kroz osam zadataka.

Opća kvaliteta pronalaženja po domenama

Izvan mjerila osmišljenih za kontekstualna ugrađivanja, procjenjujemo performanse našeg modela specifične za domenu.

Naš paket upita prema dijelu (Q2C) koristi MTEB zadatke kao što su LegalBench i FinanceBench uz dodatne zadatke pronalaženja koje smo prikupili iz javnih skupova podataka. Unutar svakog relevantnog dokumenta, dio se označava kao relevantan ako sadrži točan raspon odgovora kada zadatak takav nudi, a u suprotnom putem LLM-a koji procjenjuje njegovu relevantnost za upit. Paket upita prema dokumentu (Q2D) koristi iste zadatke i boduje je li relevantan dokument dohvaćen.

Naš model postiže najviši prosječan rezultat u pronalaženju dijelova na Slici 5 i prednjači u pravnoj, tehničkoj i zdravstvenoj domeni. Ne prednjači u svakoj domeni: voyage-context-4 ostvaruje viši rezultat u financijama i višejezičnom pronalaženju, a Nemotron-3-8B ostvaruje najviši rezultat u pronalaženju razgovora. Pri pronalaženju dokumenata na Slici 6, naš model u prosjeku ostvaruje nešto niži rezultat od voyage-context-4, dok prednjači u tehničkoj domeni. Osnovna linija pplx-context-v1-4B ostvaruje niži prosječni rezultat u oba paketa, što je u skladu s činjenicom da je trenirana samo na skupu podataka za učenje ConTEB, što pokazuje da se nadzor vezan uz zlatne dijelove jednog mjerila slabo prenosi na druge domene.

Slika 5: Srednji nDCG@10 na zadacima upita prema dijelu (Q2C), grupirani po domeni. Stupci domena su neponderirane sredine rezultata na razini zadatka u toj domeni; ukupni prosjek je neponderirana sredina kroz sve prikazane zadatke.
Slika 6: Srednji rezultat pronalaženja na zadacima upita prema dokumentu (Q2D), grupirani po domeni. Svaki stupac u domeni predstavlja neponderiranu sredinu njegovih glavnih rezultata na razini zadatka; ukupni prosjek je neponderirana sredina kroz sve prikazane zadatke.

Kvaliteta pronalaženja i troškovi pohrane

Model kontekstualnog ugrađivanja proizvodi jedan vektor po dijelu, tako da indeks izgrađen s našim modelom sadrži točno onoliko vektora koliko i konvencionalni indeks na razini dijela s istom strategijom dijeljenja. Kontekstualizacija mijenja ono što svaki vektor kodira, a ne koliko je vektora pohranjeno. Otisak pohrane stoga je određen veličinom svakog vektora. Model nudi dva načina za njegovo smanjenje: skraćivanje ugrađivanja s 2048 na 1024 dimenzije i njegovu kvantizaciju u int8.

Slika 7 prikazuje povoljan kompromis između kvalitete pronalaženja i pohrane vektora. Pri 1024 dimenzije, naša int8 ugrađivanja koriste 1 KB po vektoru uz blago premašivanje rezultata pronalaženja dijelova za voyage-context-4 pri 2048 dimenzija u float32, koji koristi 8 KB po vektoru. Povećanje naše veličine ugrađivanja na 2048 dimenzija dodatno povećava kvalitetu pronalaženja uz 2 KB po vektoru. Ovi podaci o pohrani odnose se samo na vektore, a ne na ostatak indeksa.

Slika 7: Kvaliteta pronalaženja dijelova (prosječni nDCG@10) kao funkcija pohrane po vektoru. Puna linija označava float32, a isprekidana linija označava int8; oznake navode dimenziju ugrađivanja.

Osjetljivost na veličinu dijela

Slika 8 prikazuje samo skromnu promjenu u kvaliteti pronalaženja kako se veličina dijela povećava s 64 na 512 tokena: prosječni rezultat pada s 81,0% na 79,9%, što je smanjenje od 1,1 postotnog boda. To sugerira da model ostaje učinkovit u svim testiranim veličinama dijelova, dajući cjevovodima indeksiranja fleksibilnost u načinu na koji se dokumenti dijele.

Slika 8: Osjetljivost našeg modela na veličinu dijela. Svaka točka predstavlja neponderiranu sredinu nDCG@10 kroz 74 MTEB zadatka, s dokumentima indeksiranima pri zadanoj veličini dijela.

Izdanje

turbopuffer drži cijeli korpus, upite i oznake s mjerila context-bench privatnima te izvještava o rezultatima za poslane modele. Javni mjerilo ove vrste potiče izravno učenje na svojim upitima i dokumentima, što bi ga postepeno zasitilo i umanjilo njegovu vrijednost za praćenje napretka tijekom vremena. Ako želite da se vaš model ocijeni na mjerilu, obratite se turbopufferu na adresu contextbench@turbopuffer.com.

Pregled našeg modela dostupan je na Hugging Faceu, a svi rezultati u ovoj objavi izvješteni su za ovaj pregled. Radimo na tome da model učinimo dostupnim putem Perplexity API-ja, te na daljnjem poboljšanju pronalaženja preko dugih dokumenata zajedno s turbopufferom.

Citiranje

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