Kontekstualno ugrađivanje izvan zlatnog odlomka
Nova metoda obuke, model i benčmark za pronalaženje odgovora i pratećeg konteksta.
Uvod
Kontekstualna ugrađivanja hvataju značenje svakog odlomka ili isečka u kontekstu celog dokumenta. Njihova obuka i procena obično pretpostavljaju jedan relevantan isečak po upitu, poznat kao „zlatni odlomak“. Međutim, zlatni odlomak u praksi često nije dovoljan. On može sadržati odgovor, ali mu nedostaje prateći kontekst potreban da se on razume ili verifikuje, što ga čini dvosmislenim u izolaciji.
Predstavljamo pplx-embed-v2-context-9b-preview, naš novi model za kontekstualne embeddinge. Model je obučen novim pristupom koji koristi Perplexityjev model kompresije konteksta kao učitelja. Njegova predviđanja na nivou tokena agregiramo u skorove relevantnosti na nivou segmenta, čime embedding model učimo da pronalazi i segmente sa odgovorom i prateći kontekst, umesto samo jednog zlatnog segmenta. Model generiše jedan embedding po segmentu bez dodatnih troškova inferencije i podržava embeddinge dimenzija 1024 i int8.
On postiže vrhunske rezultate na context-bench-u, novom benčmarku za kontekstualno svesnu pretragu koji je kreirao i privatno drži turbopuffer, i na ConTEB-u, naširoko korišćenom javnom benčmarku. Naš model je razvijen nezavisno od context-bench-a i procenjen kao slepa prijava.
Context-bench se sastoji od 2.099 upita u 38.894 duga dokumenta u 21 domenu i procenjuje tri sposobnosti kontekstualnih ugrađivanja: razrešavanje dvosmislenosti dokumenata među skoro dupliranim dokumentima, pronalaženje zlatnih isečaka čije značenje zavisi od udaljenog konteksta, i opoziv pratećih dokaza potrebnih za potvrdu odgovora.
Pregled modela je javno dostupan na platformi Hugging Face. Benčmark privatno drži turbopuffer kako bi se smanjio rizik od kontaminacije obuke i sačuvala njegova vrednost za merenje napretka. Da biste zatražili procenu, kontaktirajte turbopuffer na adresu contextbench@turbopuffer.com.
Zašto je kontekst važan za pretragu
Sistemi za pretragu obično dele dugačke dokumente na manje isečke koji se mogu nezavisno indeksirati i pretraživati. Deljenje na isečke je praktično u praksi, ali uklanja kontekst u kojem se svaki isečak prvobitno pojavio, stvarajući kompromis između granularnosti kompresije informacija i konteksta korišćenog tokom kodiranja. Isečak može se odnositi na entitet uveden ranije, naslediti svoje značenje iz naslova odeljka ili se oslanjati na definicije koje se nalaze negde drugde u dokumentu. Jednom izvučen, on možda više neće sadržati dovoljno informacija da bi se pouzdano podudarao sa upitom. Kodiranje celog dokumenta kao jednog vektora ne rešava ovo, pošto jedna udružena reprezentacija ne može verno da uhvati svaki aspekt dugačkog dokumenta.
Modeli kontekstualnog ugrađivanja rešavaju ovo ograničenje predstavljanjem svakog isečka u kontekstu njegovog okolnog sadržaja, najčešće kroz kasno deljenje na isečke: dokument se kodira u jednom prolazu, a reprezentacije isečaka se naknadno udružuju, tako da se svaki vektor isečka računa sa celim dokumentom u vidu. Prethodni rad, kao što su ConTEB i naš sopstveni pplx-embed-context-v1, pokazao je da kontekstualizovane reprezentacije isečaka značajno poboljšavaju pretragu u odnosu na nezavisno kodirane isečke, posebno na dugačkim dokumentima.
Ograničenja supervizije zlatnih isečaka
Obuka modela kontekstualnog ugrađivanja zahteva superviziju koja identifikuje koji delovi dokumenta su relevantni za dati upit. Uobičajeni pristup su anotacije zlatnih isečaka: za svaki upit, anotator, obično veliki jezički model (LLM), identifikuje isečak dokumenta koji odgovara na njega.
Obuka obično kombinuje dva kontrastivna gubitka: gubitak kontrastiranja između dokumenata koji suprotstavlja zlatni isečak isečcima iz drugih dokumenata, i gubitak kontrastiranja unutar dokumenta koji ga suprotstavlja drugim isečcima u istom dokumentu.
Ovaj pristup ima nekoliko ograničenja:
- Samo je jedan isečak relevantan. On tretira svaki drugi isečak u dokumentu kao negativan, uključujući one sa korisnim pratećim informacijama. Supervizija na nivou dokumenta funkcioniše u drugoj krajnosti. Ona identifikuje dokument kao relevantan bez navođenja koji isečci unutar njega su važni. U praksi, relevantnost se često nalazi između ovih krajnosti. Isečak sa odgovorom može zavisiti od nekoliko pratećih isečaka koji uvode entitet, razrešavaju referencu ili pružaju komplementarnu činjenicu, dok je ostatak dokumenta irelevantan. Model mora stoga da nauči pravi nivo selektivnosti: širi od jednog zlatnog isečka, ali fokusiraniji od dokumenta u celini.
- Gruba supervizija. Pošto svaka anotacija identifikuje jedan zlatni isečak umesto da hvata stepene relevantnosti širom dokumenta, ona pruža ograničene signale obuke za količinu računarskih resursa utrošenih na njeno stvaranje.
- Skupo za skaliranje. Svaki par za obuku zahteva od LLM-a da pročita dokument i izabere relevantan isečak, tako da trošak anotacije raste linearno sa veličinom skupa podataka za obuku i ograničava koliko podaci za obuku mogu biti obimni i raznovrsni.
- Osetljivost na granice isečaka. Oznake su takođe vezane za granice isečaka korišćene tokom anotacije. Zlatna oznaka dodeljena prozoru fiksne veličine tokena ne precizira koje kraće rečenice ili duži pasusi su relevantni. Promena strategije deljenja na isečke, ili obuka kroz više podela na isečke radi poboljšanja robusnosti na način na koji se dokumenti dele u vreme indeksiranja, može stoga zahtevati ponovno označavanje korpusa.
Novi pristup kontekstualnom učenju
Rešavamo ograničenja supervizije zlatnih isečaka destilacijom procena relevantnosti iz modela kompresije konteksta svesnog upita. Ovaj model služi kao nastavnik: on čita upit i dokument zajedno i dodeljuje svakom tokenu dokumenta ocenu relevantnosti. Njegova predviđanja nude nekoliko prednosti za obuku kontekstualnih ugrađivanja:
- Fleksibilne granice isečaka. Ocene relevantnosti na nivou tokena mogu se agregirati preko bilo kojih izabranih granica isečaka, omogućavajući istoj predviđanjima nastavnika da nadgledaju različite podele na isečke bez ponovne anotacije.
- Kontinuirana relevantnost. Za razliku od binarnih oznaka zlatnih isečaka, nastavnik pruža kontinuirane ocene koje hvataju stepene relevantnosti koji prirodno razlikuju isečke sa odgovorima, prateći kontekst i irelevantan sadržaj.
- Manji trošak anotacije. Nastavnik je kompaktan i specijalizovan za ocenjivanje relevantnosti, što ga čini znatno jeftinijim za nadgledanje u velikom obimu nego LLM opšte namene.
Treniramo naš model sa ponderisanom sumom kontrastivnog gubitka na nivou dokumenta i gubitka destilacije na nivou isečka preko serija parova upit-dokument. Za svaki upit, upareni dokument služi kao pozitivan, dok preostali dokumenti u istoj seriji služe kao negativni.
Za svaku seriju nasumično biramo strategiju deljenja na isečke, delimo dokumente u skladu s tim i ubacujemo tokene razdelnika između isečaka. Zatim obrađujemo svaki dokument u jednom prolazu i primenjujemo srednju vrednost (mean-pooling) na reprezentacije tokena unutar svakog isečka kako bismo dobili ugrađivanja kontekstualnih isečaka. Upiti se kodiraju odvojeno, sa primenom srednje vrednosti na njihove reprezentacije tokena. Na kraju, izračunavamo kosinusnu sličnost između svakog ugrađivanja upita i svakog ugrađivanja isečka u seriji.
Funkcija gubitka
Kontrastivni gubitak na nivou dokumenta
Iako naš model ugrađivanja proizvodi samo sličnosti na nivou isečka, iz njih možemo prirodno da izvedemo sličnosti na nivou dokumenta. Smatramo da je dokument d relevantan za upit q u onoj meri u kojoj je to njegov najrelevantniji isečak. Ovo pravilo bodovanja je inspirisano MaxSim operacijom modela ColBERT, koja se ovde primenjuje na isečke umesto na tokene.
Konkretno, s obzirom na upit q sa ugrađivanjem q i dokument d kao uređenu listu isečaka c sa ugrađivanjima c, definišemo sličnost na nivou dokumenta kao:
S obzirom na ove sličnosti na nivou dokumenta, možemo da formulišemo InfoNCE ciljnu funkciju na nivou dokumenta preko negativnih primera unutar serije.
Za upit q, neka d⁺ označava njegov relevantan dokument, a 𝒟 dokumente u seriji. Kontrastivni gubitak je sledeći, izostavljajući temperature radi bolje čitljivosti:
Gubitak destilacije na nivou isečka
Kontrastivni gubitak uči model koji dokument je relevantan za upit. Gubitak destilacije ga uči gde se relevantnost nalazi unutar tog dokumenta, što je neophodno za kontekstualni model.
Tokom obuke, prosleđujemo svaki pozitivni par upit-dokument našem modelu kompresije konteksta, koji dodeljuje ocenu relevantnosti svakom tokenu u dokumentu. Kao i kod bodovanja na nivou dokumenta, izvodimo relevantnost svakog isečka iz njegovih najrelevantnijih sadržaja. Da bismo smanjili osetljivost na izolovane tokene, uključujući one na granicama isečaka, definišemo relevantnost na nivou isečka kao srednju vrednost n najboljih ocena tokena unutar isečka.
Za svaki upit, primenjujemo softmaks skaliran temperaturom na ocene relevantnosti nastavnika na nivou isečka unutar pozitivnog dokumenta kako bismo dobili ciljnu distribuciju. Isečci u drugim dokumentima u seriji dobijaju ciljnu verovatnoću nula. Treniramo model ugrađivanja da se poklopi sa ovim ciljem minimizovanjem forward KL divergencije između cilja i njegove predviđene distribucije preko svih isečaka u seriji:
Ovde gornji indeksi T i S označavaju nastavnika i učenika, a rⱼ je nastavnikova ocena relevantnosti za isečak cⱼ u pozitivnom dokumentu d⁺. Ciljna distribucija nastavnika dodeljuje nultu verovatnoću isečcima u svim drugim dokumentima u seriji.
Za razliku od jedne oznake zlatnog isečka, ovaj cilj hvata stepene relevantnosti. Prateći isečci dobijaju težinu u skladu sa nastavnikovim ocenama umesto da se tretiraju kao negativni, učeći model da pronađe prateći kontekst kao i odgovor.
Kombinovani gubitak
Naš kombinovani cilj obuke je ponderisana suma kontrastivnog gubitka na nivou dokumenta i gubitka destilacije na nivou isečka. Računamo prosek ovog ponderisanog gubitka preko serije parova upit-dokument.
Slika 2 ilustruje naš pristup obuci. Kompresor konteksta služi kao nastavnik samo tokom obuke. U vreme zaključivanja, model ugrađivanja proizvodi jedno kontekstualno ugrađivanje po isečku, bez dodatne kompresije ili faze ponovnog rangiranja. Ovaj pristup poboljšava način na koji se uče kontekstualna ugrađivanja bez povećanja skladištenja indeksa ili dodavanja latencije modela nastavnika u vreme pretrage.
Podaci za obuku
Podaci za obuku sastoje se od otprilike 430 javnih i internih skupova podataka sa upitima i dokumentima koji obuhvataju preko 50 jezika.
Sastavljamo interne skupove podataka u parovima od produkcijskih podataka filtriranih za lične podatke (PII) i sintetizovanjem relevantnih upita preko dugih dokumenata. Za svaki prosleđeni prolaz biramo jedan skup podataka i uzorkujemo celu seriju iz njega kako bismo povećali težinu negativnih primera unutar serije i izbegli učenje prečica. Nijedan od naših skupova podataka za obuku nema anotacije na nivou isečaka: sva supervizija unutar dokumenta dolazi od modela kompresije, i nijedan ConTEB podatak se ne koristi za obuku. Štaviše, nikakvi podaci iz context-bench-a nisu bili dostupni tokom razvoja modela.
Postavka obuke
Model počinje od internog ColBERT modela za pronalaženje sa 9 milijardi parametara i proizvodi ugrađivanja dimenzionalnosti 2048 preko linearnog projekcionog sloja. Granice isečaka označavamo naučenim <|chunk_sep|> tokenom i formiramo svako ugrađivanje isečka utvrđivanjem proseka njegovih ugrađivanja tokena. Upiti se kodiraju pomoću istog modela, pri čemu se njihova ugrađivanja tokena utvrđuju kao prosek u jedan vektor.
Koristimo Matryoshka obuku za podršku ugrađivanjima dimenzionalnosti 1024 i 2048, kao i obuku svesnu kvantizacije za podršku nativnim int8 ugrađivanjima. Tokom obuke postepeno povećavamo stopu učenja, držimo je konstantnom, a zatim je smanjujemo.
Objavljeni model predstavlja mešavinu modela koja računa prosek težina nekoliko kontrolnih tačaka iz istog ciklusa obuke.
Novi benčmark za pronalaženje na nivou isečaka
Javni benčmarkzi kontekstualnog pronalaženja kao što je ConTEB dele pretpostavku koja stoji iza supervizije zlatnih isečaka: svaki upit ima jedan relevantan isečak, a model je nagrađen samo za rangiranje tog isečka na prvo mesto. Oni takođe nasleđuju njegova ograničenja.
Prvo, ConTEB testira pronalaženje na zadacima gde je isečak dvosmislen bez okolnog konteksta. Na ovim zadacima, kontekstualni modeli su nadmašili modele koji nezavisno kodiraju svaki isečak. Međutim, on ne postavlja pitanje da li model takođe iznosi na površinu druge delove dokumenta koji čine isečak razumljivim.
Drugo, on sistematski ne testira da li se pravi dokument može pronaći kada se skoro identični dokumenti u istom korpusu razlikuju samo u kontekstu koji okružuje inače identičnu rečenicu.
Oba svojstva su važna kada agent za pretragu ili korisnik mora da razume i potvrdi odgovor iz nekoliko pronađenih rečenica, umesto iz celog dokumenta. Zbog toga smo izgradili context-bench, kontrolisani benčmark za pronalaženje preko dugih dokumenata, dizajniran da razlikuje upotrebu konteksta dokumenta od opšteg kvaliteta pronalaženja. On testira da li kontekstualna ugrađivanja koriste informacije sa drugih mesta u dokumentu da podrže tri sposobnosti:
- Razrešavanje dvosmislenosti dokumenata: Identifikacija tačnog dokumenta među skoro identičnim alternativama.
- Pronalaženje odgovora: Pronalaženje isečaka koji sadrže odgovore čije značenje zavisi od detalja na drugim mestima u dokumentu.
- Pronalaženje dokaza: Pronalaženje pratećih isečaka koji pojašnjavaju ili potkrepljuju odgovor.
Context-bench sadrži 2.099 upita i 38.894 dokumenta. Koriste se isečci dužine rečenice, što rezultira sa ukupno 2.458.072 isečka. Upiti pokrivaju 21 domen, uključujući korporativne izveštaje, klinička Istraživanja, putovanja, zabavu, obrazovanje, vladu, pravne ugovore i softversku dokumentaciju.
Svaki upit je dizajniran da testira jednu od dvanaest kontekstualnih mogućnosti. Primarni ciljni dokumenti su namerno dugi: 1.061 od 1.197 različitih primarnih ciljnih dokumenata ima najmanje 200 rečenica, sa medijanom dužine od oko 6.100 tokena. Svaki upit ima tačno jedan tačan odgovor u korpusu. Tamo gde je ista činjenica navedena više puta u zlatnom dokumentu, na primer u rečenici sa sažetkom i u redu tabele, bilo koja od tih rečenica se prihvata kao odgovor.
Putanja odgovora je jedna validna kombinacija isečka sa odgovorom i pratećih dokaza potrebnih za tumačenje ili verifikaciju. U okviru 2.099 upita, putanja odgovora primarnog ciljnog dokumenta ima jednu grupu dokaza za 964 upita, dve za 735, tri ili više za 332, i nijednu za 68. Alternativne validne putanje odgovora mogu zahtevati različite grupe dokaza.
Tabela 1: Statistika benčmarka.
Statistika | Vrednost |
Upiti | 2.099 |
Dokumenti | 38.894 |
Isečci u vidu rečenica | 2.458.072 |
Medijan dužine primarnog ciljnog dokumenta | 6.100 tokena |
Domeni | 21 |
Grupe dokaza po upitu (putanja odgovora primarnog ciljnog dokumenta) | 1: 964; 2: 735; 3+: 332; nijedna: 68 |
Tabela 2: Dvanaest kontekstualnih mogućnosti koje testira context-bench, sa ilustrativnim primerima.
Mogućnost | Primer upita | Isečak sa odgovorom | Zahtevani kontekst dokumenta |
1. Identitet entiteta | Koliko je Northlake potrošio na otkup akcija? | Kompanija je otkupila akcije u vrednosti od 12,8 milijardi dolara. | U uvodu se Northlake identifikuje kao „kompanija“. Sličan izveštaj za Southlake nije relevantan. |
2. Period ili verzija | Koji kertridž odgovara M40 reviziji B? | Instalirajte kertridž KC-42. | Odeljak o primenljivosti navodi da ova uputstva pokrivaju reviziju B, a ne reviziju C. |
3. Definicije i pseudonimi | Kolika je bila stopa povlačenja za grupu od 15 mg? | Zeta je imala stopu povlačenja od 12,7%. | U izveštaju se Zeta definiše kao grupa od 15 mg. Bez te definicije, isečak ne identifikuje traženu grupu. |
4. Struktura tabele | Koliki je kapacitet baterije Max modela? | Tipičan kapacitet: 4.250 | 4.700 | 5.150. | Zaglavlje tabele uspostavlja Mini | Base | Max, izraženo u mAh. Odgovor je stoga 5.150 mAh. |
5. Uslovi i izuzeci | Koliko traje pokriće baterije za komercijalnu upotrebu? | Pokriće baterije traje 18 meseci. | Uvod u odeljak ograničava ovo pokriće na komercijalne instalacije; kućne instalacije imaju drugačiju garanciju. |
6. Reference i zamenice | Kada je Mara postala zamenica gradonačelnika? | stupila je na dužnost 2021. godine. | Prethodni narativ utvrđuje da se „ona“ odnosi na Maru, a ne na Elin, koja se takođe pominje. |
7. Redosled i pozicija na listi | Koja pesma je otvorila bis? | 14. Lantern Road. | Beleška na drugom mestu navodi da su pesme 14–16 činile bis. Numera 14 je stoga njena uvodna pesma. |
8. Opseg odeljka | Koje sočivo je korišćeno za snimanje filma? | Fiksno sočivo od 35 mm korišćeno je sve vreme. | Ovaj odlomak pripada odeljku „Glavna fotografija“, a ne posebnom odeljku o promotivnim fotografijama. |
9. Pripisivanje govorniku | Koji datum ponovnog otvaranja je gradonačelnik obećao? | Ponovo ćemo se otvoriti 12. juna. | Transkript identifikuje gradonačelnika kao govornika. Iste reči izrečene od strane izvođača ne bi predstavljale gradonačelnikovo obećanje. |
10. Promene tokom vremena | Koji otkazni rok se primenjivao nakon majske izmene? | Otkazni rok sada iznosi 45 dana. | Istorija izmena utvrđuje da je ova promena stupila na snagu u maju, zamenivši ranije pravilo od 30 dana. |
11. Uzročno-posledične veze | Zašto je zapadna pumpa stala? | Taj kvar je izazvao prekid rada. | Istraživanje identifikuje „taj kvar“ kao blokirani ležaj u zapadnoj pumpi i razlikuje ga od nepovezane opstrukcije na ulazu. |
12. Preneseno ili jezičko značenje | Preneseno značenje: Šta u pesmi simbolizuje „zimska soba“? Višejezično značenje: Koju komponentu francusko uputstvo nalaže tehničaru da ukloni? | Preneseno značenje: Predstavlja egzil, a ne fizičku sobu. Višejezično značenje: Retirez le capot. (Uklonite poklopac.) | Preneseno značenje: Komentar identifikuje „to“ kao pesminu sliku „zimske sobe“ koja se ponavlja. Višejezično značenje: Glosar u vodiču precizira da „capot“ znači zaštitna hauba motora, a ne transportni poklopac. |
Dokumenti i upiti
Upiti, dokumenti i mogućnosti koje se testiraju inspirisani su razgovorima sa turbopuffer-ovim klijentima.
Da navedemo jedan primer, razmotrite potrebe pretrage kompanije za upravljanje nekretninama. Ove firme imaju stotine, ponekad hiljade ugovora o zakupstvu koji se razlikuju samo po imenima zakupaca, datumima i nekoliko drugih ključnih detalja. Čest upit za taj skup podataka može biti „kada se završava zakup za 5 park avenue i kolika je trenutna kirija?“. Ugovori o zakupstvu takođe mogu biti dugački, a kritične komponente za razrešavanje dvosmislenosti koje bi potvrdile da ste pronašli pravi dokument (poput datuma, adrese, imena zakupca itd.) često mogu biti veoma daleko od ključne rečenice sa odgovorom koja sadrži iznos mesečne zakupnine. U praksi, identične rečenice poput „Mesečna kirija iznosi $X,XXX.“ mogu se pojaviti u mnogim dokumentima u korpusu.
Dobar model kontekstualnog ugrađivanja treba da koristi kontekst iz celog dokumenta kako bi identifikovao tačan dokument i pronašao i odgovor i prateće rečenice. Ovo omogućava korisniku ili agentu za pretragu da brzo verifikuje odgovor i potvrdi da dolazi iz pravog dokumenta.
Oznake odgovora i dokaza
Za svaki upit označavamo rečenice „odgovora“ i „dokaza“ u ciljnom dokumentu. Model prolazi naš test „dovoljnosti čitaoca“ ako pronađe rečenicu sa odgovorom zajedno sa najmanje jednom rečenicom iz svake grupe dokaza. Zajedno, ove rečenice pružaju dovoljno konteksta da čitalac verifikuje odgovor sa pratećim dokazima.
Kada modeli kontekstualnog ugrađivanja ovo rade dobro, mogu drastično smanjiti broj tokena koje agenti za pretragu treba da pregledaju, kao i olakšati osobi da brzo potvrdi da je locirala tačan odgovor na svoj prvobitni upit bez potrebe da čita ceo dokument.
Svaka grupa dokaza mora biti opozvana, ali bilo koja alternativa iz grupe dovoljna je za njeno opozivanje. Često se može videti da je ista činjenica navedena na nekoliko mesta u ovim opsežnim dokumentima. Pronalaženje samo jedne rečenice iz svake grupe dokaza zadovoljava kriterijume dovoljnosti čitaoca i kao takvo bilo bi prihvaćeno kao savršen opoziv dokaza.
Metrike
Svaki dokument se deli na isečke u vidu rečenica, i iste granice se koriste za sve modele. Testiraju se dva uslova za nekontekstualne modele ugrađivanja: jedan gde je svaka rečenica ugrađena nezavisno i drugi gde je ceo dokument ugrađen kao jedan isečak.
Koristimo uslov na nivou rečenice za merenje opoziva odgovora i opoziva dokaza. On testira da li nekontekstualni model može da identifikuje tačan odgovor i prateće dokaze kada je svaka rečenica ugrađena bez pristupa okolnom dokumentu. Ovo je namerno izazovno. U mnogim upitima, sama rečenica sa odgovorom nema detalje potrebne da bi se razlikovala od sličnih rečenica na drugim mestima u korpusu.
Koristimo uslov na nivou dokumenta kao osnovnu liniju za opoziv dokumenata. On testira da li fino zrnasta ugrađivanja rečenica pružaju dovoljno koristi pri pretrazi da opravdaju trošak dodatnog skladištenja u odnosu na skladištenje jednog vektora po dokumentu. Indeks na nivou rečenice kreira znatno više vektora nego indeks na nivou dokumenta, tako da bi trebalo da nadmaši osnovnu liniju sa jednim vektorom po dokumentu kako bi opravdao taj trošak.
Sve procene koriste iscrpna rangiranja u odnosu na svih 2.458.072 isečka. Razlike između modela stoga odražavaju reprezentacije, a ne konfiguraciju indeksa. Fokusiramo se na tri ključne metrike:
Document@K je definisan kao:
gde je najbolje rangirani dokument u .
Answer@K je definisan kao:
gde je prvih isečaka u celom korpusu i je skup prihvaćenih isečaka sa odgovorima.
Evidence Recall@K se meri unutar na sledeći način: Rangirajte rečenice iz prema sličnosti, uklonite najbolje rangiranu rečenicu sa odgovorom i neka predstavlja prvih preostalih. Za grupe dokaza , grupa je opozvana ako neka alternativa zadovoljava , i
Document@K postavlja pitanje da li kontekstualizacija omogućava pravom dokumentu da nadmaši srodne dokumente i ometajuće elemente koji dele njegov rečnik.
Answer@K postavlja pitanje da li sama rečenica sa odgovorom se rangira među najbolje isečke.
Evidence Recall@K postavlja pitanje koliko je pratećeg konteksta opozvano među prvih K isečaka tačnog dokumenta, nakon izuzimanja najbolje rangiranog isečka sa odgovorom. Uklanjanje odgovora sprečava da opoziv dokaza dvaput računa ono što Answer@K već meri, i ostavlja sve slotove za prateći kontekst. Zahtev da zlatni dokument bude među 10 najboljih pronađenih dokumenata znači da nijedan model ne dobija krediti za dokument koji ne bi izneo na površinu. Takođe izveštavamo o All-Evidence@K, frakciji upita sa opozvanom svakom grupom.
Zajedno, ove metrike razlažu izazove sa kojima se suočavaju modeli kontekstualnih ugrađivanja: pronalaženje pravog dokumenta, pronalaženje pravog odgovora i pronalaženje minimalnog konteksta koji pokazuje zašto je odgovor tačan.
Slika 3 ilustruje metrike sa primerom upravljanja nekretninama.
Rezultati procene
Procenjujemo naš model u odnosu na kontekstualne i nekontekstualne modele ugrađivanja na četiri fronta.
Naše osnovne linije kontekstualnih modela su pplx-embed-context-v1-4B i voyage-context-4. Naše osnovne linije nekontekstualnih modela su voyage-4-large i NVIDIA-in Nemotron-3-Embed-8B-BF16, koji nezavisno kodiraju isečke. Skup osnovnih linija varira u zavisnosti od eksperimenta, kao što je naznačeno na svakoj slici.
Počinjemo sa context-bench-om, koji direktno testira sposobnosti koje motivišu ovaj rad, a zatim izveštavamo o rezultatima na ConTEB-u, standardnom javnom benčmarku za kontekstualna ugrađivanja. Da bismo proveri da ovi dobici ne dolaze nauštrb opšteg kvaliteta pretrage, takođe procenjujemo benčmarke za pronalaženje dokumenata i isečaka specifične za domene koje smo izgradili od javnih skupova podataka. Na kraju, ispitujemo dva praktična svojstva za primenu: kvalitet pretrage u odnosu na troškove skladištenja po vektoru, i osetljivost na veličinu isečka korišćenu u vreme indeksiranja. Sive procene kodiraju dokumente veličine do 32.768 tokena u jednom prolazu.
Context-bench
Kao što je prikazano na Slici 1 u uvodu, naš pregled vodi u Answer@K i Evidence Recall@K na svakom prijavljenom pragu, 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. On takođe vodi u Document@1 i Document@10, dostižući 15,2% odnosno 61,6%. Pri K = 10, naš pregled premašuje voyage-context-4 za 14,4 procentna poena u opozivu odgovora i 5,0 poena u opozivu dokaza.
ConTEB
Naš model pregleda postiže najviši prosečni nDCG@10 među modelima prikazanim na ConTEB-u na Slici 4. On ne vodi u svakom zadatku: pplx-context-v1-4B ima viši rezultat na NarrativeQA, dok Nemotron-3-8B ima najviši rezultat na COVID-QA. Kao što su glavni autori takođe istakli u radu o ConTEB-u, COVID-QA uključuje uglavnom uparivanja upita i isečaka koja su vrlo ekstraktivna i mogu se zadovoljiti jednostavnim površinskim leksičkim podudaranjem na tehničkim medicinskim terminima. Kao rezultat toga, razumevanje konteksta je manje korisno za ovaj zadatak i nekontekstualni modeli obično nadmašuju kontekstualne.
Opšti kvalitet pretrage po domenima
Pored benčmarka dizajniranih za kontekstualna ugrađivanja, procenjujemo performanse našeg modela specifične za domen.
Naš paket upita ka isečku (Q2C) koristi MTEB zadatke kao što su LegalBench i FinanceBench zajedno sa dodatnim zadacima pretrage koje smo pripremili iz javnih skupova podataka. Unutar svakog relevantnog dokumenta, isečak se označava kao relevantan ako sadrži tačan opseg odgovora kada zadatak isti obezbeđuje, a u suprotnom pomoću LLM-a koji procenjuje njegovu relevantnost za upit. Paket upita ka dokumentu (Q2D) koristi iste zadatke i boduje da li je relevantan dokument pronađen.
Naš model postiže najviši prosečni rezultat pri pronalaženju isečaka na Slici 5 i vodi u pravnom, tehničkom i zdravstvenom domenu. On ne vodi u svakom domenu: voyage-context-4 ima viši rezultat u finansijama i višejezičnom pretraživanju, a Nemotron-3-8B ima najviši rezultat u pretraživanju razgovora. Pri pronalaženju dokumenata na Slici 6, naš model postiže rezultat neznatno ispod voyage-context-4 u proseku, dok vodi u tehničkom domenu. Osnovna linija pplx-context-v1-4B ima niži prosek u oba paketa, što je u skladu sa činjenicom da je treniran samo na ConTEB skupu podataka za obuku, pokazujući da supervizija vezana za zlatne isečke jednog benčmarka slabo prelazi na druge domene.
Kvalitet pretrage i troškovi skladištenja
Model kontekstualnog ugrađivanja proizvodi jedan vektor po isečku, tako da indeks izgrađen sa našim modelom sadrži tačno onoliko vektora koliko i konvencionalni indeks na nivou isečka sa istom strategijom deljenja na isečke. Kontekstualizacija menja ono što svaki vektor kodira, a ne koliko se vektora skladišti. Otisak skladištenja je stoga uređen veličinom svakog vektora. Model nudi dva načina da se to smanji: skraćivanje ugrađivanja sa 2048 na 1024 dimenzije i njegovu kvantizaciju u int8.
Slika 7 prikazuje povoljan kompromis između kvaliteta pretrage i skladištenja vektora. Pri 1024 dimenzije, naša int8 ugrađivanja koriste 1 KB po vektoru uz blago premašivanje rezultata pronalaženja isečaka 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 podiže kvalitet pretrage uz 2 KB po vektoru. Ove cifre skladištenja odnose se samo na vektore, a ne na ostatak indeksa.
Osetljivost na veličinu isečka
Slika 8 prikazuje samo skromnu promenu u kvalitetu pretrage kako se veličina isečka povećava sa 64 na 512 tokena: prosečni rezultat pada sa 81,0% na 79,9%, što predstavlja smanjenje od 1,1 procentnog poena. Ovo sugeriše da model ostaje efikasan u svim testiranim veličinama isečaka, dajući cevovodima za indeksiranje fleksibilnost u načinu na koji se dokumenti dele.
Izdanje
turbopuffer čuva privatnost celog korpusa, upita i oznaka za context-bench i izveštava rezultate za podnete modele. Javni benčmark ove vrste podstiče direktno treniranje na njegovim upitima i dokumentima, što bi ga postepeno zasićilo i umanjilo njegovu vrednost za praćenje napretka tokom vremena. Ako želite da vaš model bude procenjen na benčmarku, kontaktirajte turbopuffer na adresu contextbench@turbopuffer.com.
Pregled našeg modela dostupan je na Hugging Face, i svi rezultati u ovom postu su prijavljeni za ovaj pregled. Radimo na tome da model učinimo dostupnim preko Perplexity API-ja, kao i na daljem poboljšanju pretrage preko dugih dokumenata zajedno sa turbopuffer-om.
Citiranje
@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}
}