pplx-embed: pažangiausi teksto vektorių modeliai žiniatinklio paieškai

Šiandien išleidžiame pplx-embed-v1 ir pplx-embed-context-v1 – du pažangiausius teksto vektorių modelius, sukurtus realaus pasaulio paieškai žiniatinklio mastu.

AutoriaiPerplexity Research

Šiandien pristatome pplx-embed-v1 ir pplx-embed-context-v1 – du pažangiausius teksto įterpimo modelius, sukurtus realaus pasaulio, interneto masto paieškai ir atgavai. pplx-embed-v1 yra optimizuotas standartinei tankiai teksto paieškai, o pplx-embed-context-v1 įterpia ištraukas atsižvelgdamas į supantį dokumento lygmens kontekstą.

Tiek pplx-embed-v1, tiek pplx-embed-context-v1 yra pasiekiami 0,6B ir 4B parametrų mastu. 0,6B modeliai skirti lengvam ir mažos delsos (low-latency) vektorių generavimui, o 4B modeliai užtikrina maksimalią paieškos kokybę. Mūsų vertinimų duomenimis, pplx-embed šeima pirmauja įvairiuose viešuosiuose etaloniniuose testuose, įskaitant MTEB (Multilingual, v2), BERGEN, ToolRet ir ConTEB. Be to, pplx-embed-v1 pasiekia geriausius rezultatus mūsų vidaus žiniatinklio masto testuose: PPLXQuery2Query, PPLXQuery2Doc.

Modeliai generuoja INT8 ir dvejetainius (binary) vektorius, todėl saugojimo poreikiai sumažėja atitinkamai 4 kartus ir 32 kartus, palyginti su FP32. Dėl šio kompaktiškumo žiniatinklio masto vektorių saugojimas ir paieška tampa kur kas praktiškesni.

Modelis

Matmenys

Kontekstas

MRL

Kvantavimas

Instrukcija

Sutelktinis telkimas (Pooling)

pplx-embed-v1-0.6B

1024

32K

Taip

INT8/BINARY

Ne

Vidurkis (Mean)

pplx-embed-v1-4B

2560

32K

Taip

INT8/BINARY

Ne

Vidurkis (Mean)

pplx-embed-context-v1-0.6B

1024

32K

Taip

INT8/BINARY

Ne

Vidurkis (Mean)

pplx-embed-context-v1-4B

2560

32K

Taip

INT8/BINARY

Ne

Vidurkis (Mean)

pplx-embed modelio matmenys, konteksto ilgis, kvantizavimas ir telkimo konfigūracija.

Peržiūrėkite mūsų techninę ataskaitą, „Hugging Face“ modelius ir API dokumentaciją.

Motyvacija

Tankūs teksto vektoriai atvaizduoja užklausas ir dokumentus bendroje semantinėje erdvėje, kurioje paieška supaprastinama iki apytikslės artimiausių kaimynų paieškos. „Perplexity“ mastu vektoriai yra pirmojo mūsų paieškos konvejerio etapo dalis, lemianti, kuriuos dokumentus iš milijardų tinklalapių svarstys tolesnio pakopos reitingavimo ir kalbos modeliai.

Daugelis pirmaujančių šių dienų vektorių modelių yra sukurti naudojant tik dekoderio LLM su priežastine dėmesio kauke (causal attention masking), kur kiekvienas žetonas gali atsižvelgti tik į ankstesnius žetonus. Paieškai tai yra esminis apribojimas: norint suprasti ištrauką, dažnai reikia dvikrypčio konteksto. Tai sprendžiame taikydami difuzija pagrįstą tęstinį išankstinį mokymą, kuris paverčia priežastinį LLM dvikrypčiu enkoderiu. Visiškas dvikryptis dėmesys įgalina vidurkio telkimą (mean pooling) per visas žetonų reprezentacijas ir palaiko vėlyvąjį skaidymą (late chunking) kontekstiniams vektoriams, kai kiekvieno fragmento vektoriui įtaką daro visas dokumentas, kuriame jis pasirodo.

Žiniatinklio mastu saugoti vektorius FP32 formatu yra pernelyg brangu. Vietoj to, kad taikytume kvantavimą kaip papildomą glaudinimo etapą, mūsų modeliai naudoja kvantavimui jautrų mokymą (quantization-aware training), kad gimtąja forma generuotų INT8 vektorius ir 4 kartus sumažintų atminties poreikį be jokio našumo praradimo. Dvejetainis kvantavimas sumažina atminties poreikį 32 kartus su minimaliu kokybės praradimu, ypač 4B mastu.

Daugeliui šiuolaikinių vektorių modelių reikia instrukcijų priešdėlių, pridedamų prie kiekvienos įvesties. Nors tai gali šiek tiek pagerinti rezultatus etaloniniuose testuose, praktikoje tai kelia papildomų sunkumų: nesutampančios instrukcijos tarp indeksavimo ir užklausos laiko tyliai pablogina paiešką, o tinkamos užklausos pasirinkimas kiekvienam atvejui tampa dar viena užduotimi, kurią reikia atlikti teisingai. Mūsų modeliams instrukcijų nereikia, todėl integracija yra paprasta.

Mokymas

pplx-embed-v1 ir pplx-embed-context-v1 yra apmokyti naudojant daugiapakopį konvejerį, kuris palaipsniui formuoja teksto reprezentacijas paieškai.

Daugiapakopio mokymo pagal programą vamzdynas. Sujungiame keturias skirtingas mokymo paradigmas šakota struktūra, o po to seka sujungimo ir atrankos etapas.

Tęstinis difuzinis išankstinis mokymas

Pradedame nuo iš anksto apmokytų „Qwen3“ bazių modelių (0.6B ir 4B) ir paverčiame juos iš priežastinių dekoderių į dvikrypčius enkoderius, išjungdami priežastinio dėmesio kaukę ir mokydami naudodami difuzinio triukšmo šalinimo tikslą. Skirtingai nuo autoregresinių modelių, kurie prognozuoja žetonus iš kairės į dešinę, difuzinis mokymas verčia modelį atkurti atsitiktinai užmaskuotus žetonus, naudojant visą dvikryptį kontekstą aplink kiekvieną užmaskuotą padėtį. Tai reiškia, kad prasidedant kontrastiniam tiksliareguliavimui (fine-tuning), reprezentacijos jau koduoja dvikryptę semantiką, suteikdames tvirtesnį pagrindą paieškai nei priežastinis pradinis taškas. Iš anksto mokome naudodami maždaug 250 milijardų daugiakalbės teksto žetonų, apimančių 30 kalbų. Abliacijų metu difuziniu būdu iš anksto apmokyti pagrindai pasiekia gerokai mažesnį kontrastinio mokymo nuostolį nei jų priežastiniai atitikmenys, o tai prilygsta maždaug 1 procentinio punkto pagerėjimui paieškos užduotyse.

Kontrastinis mokymas

Po išankstinio mokymo atliekame tris kontrastinio mokymosi etapus. Porinis mokymas (Pair training) nustato pagrindinį semantinį suderinimą tarp užklausų ir dokumentų, naudojant „InfoNCE“ nuostolį su neigiamais pavyzdžiais paketo viduje (in-batch negatives). Esant dideliems paketų dydžiams, kai kurie paketijos neigiami pavyzdžiai iš tikrųjų yra beveik teigiamo pavyzdžio dublikatai, todėl taikome į panašumą orientuotą kaukę, kad šie klaidingi neigiami pavyzdžiai nesugadintų mokymo signalo. Mokymas vyksta fazėmis: tik anglų kalba, vėliau daugiakalbė ir galiausiai visiškai daugiakalbė, todėl galimybės ugdomos palaipsniui, o ne visos iš karto. Kontekstinis mokymas tuomet išmoko modelį fragmento lygio semantikos, atsižvelgdamas į dokumento lygio kontekstą, naudodamas dvigubą nuostolį, kuris sujungia nuoseklųjį ir paketijos kontrastą tiek fragmento, tiek dokumento lygiais – šis etapas sukuria pplx-embed-context-v1. Galiausiai trepetinis mokymas (triplet training) su išgautais sunkiais neigiamais pavyzdžiais patikslina ribas tarp panašių, bet nesusijusių dokumentų. Galutinis pplx-embed-v1 gaunamas sujungiant kontekstinius ir trepetinius kontrolinius taškus per sferinę tiesinę interpoliaciją (SLERP).

Gimtasis kvantavimas

Per visus kontrastinius etapus vektoriai kvantuojami į INT8 tiek mokymo, tiek inferencijos metu. Taikome hiperbolinio tangento (tanh) pagrindu veikiančią vidurkio telkimo operaciją, po kurios seka apvalinimas, ir naudojame tiesioginio praėjimo (straight-through) gradiento įvertinimą, kad atbuline tvarka perduotume signalą per nediferencijuojamą kvantavimo etapą. Tai užtikrina, kad modelis nuo pat pradžių išmoktų reprezentacijas, optimizuotas sumažintam tikslumui, o ne kentėtų nuo pablogėjimo po to atlikto glaudinimo. Dvejetainio kvantavimo atveju 4B modeliai yra pastebimai tvirtesni nei 0.6B: jų didesnis vektoriaus matmuo (2560 palyginti su 1024) išsaugo daugiau informacijos po binarizacijos, todėl našumo kritimas sumažėja iki mažiau nei 1,6 procentinio punkto, palyginti su 2–4 punktais mažesnio masto atveju.

Viešieji etaloniniai testai

Paieškos našumas MTEB (daugiakalbis, v2). pplx-embed modeliai pateikiami su INT8 ir BINARY tikslumo variantais. Mūsų 4B INT8 modelis pasiekia konkurencingą paieškos kokybę, kartu saugodamas 4 kartus daugiau puslapių viename GB nei FP32 alternatyvos. Dvejetainis variantas saugo 32 kartus daugiau puslapių viename GB, o našumas sumažėja tik 1,5 punkto.

MTEB (Multilingual, v2) paieškos etaloniniame teste pplx-embed-v1-4B (INT8) pasiekia vidutinį nDCG@10 69,66%, prilygdamas Qwen3-Embedding-4B (69,60%) ir pralenkdamas gemini-embedding-001 (67,71%), kartu reikalaudamas gerokai mažiau vietos vienam vektoriui. Mūsų 0.6B modelis lenkia savo „Qwen3“ atitikmenį tuo pačiu parametrų mastu.

Kontekstinės paieškos našumas ConTEB teste. Kairėje: kontekstualizuoti modeliai. Dešinėje: nekontekstualizuoti modeliai. pplx-embed-context-v1-4B (INT8) pasiekia aukščiausią 81,96 balų įvertinimą, po jo seka voyage-context-3 (79,45) ir pplx-embed-context-v1-0.6B (INT8) su 76,53 balais.

Kontekstinei paieškai pplx-embed-context-v1-4B nustato naują pažangiausią lygį (state of the art) ConTEB teste su vidutiniu nDCG@10 81,96%, pralenkdamas voyage-context-3 (79,45%) ir Anthropic Contextual (72,4%). Mokydami fragmento lygio reprezentacijas, kurios apima dokumento lygio semantiką, mūsų modeliai suranda tinkamą ištrauką net tada, kai jos reikšmė priklauso nuo supančio konteksto.

Taip pat įvertinome savo modelius galutinio vartotojo RAG sistemoje naudojant BERGEN etaloninį testą, kuriame rastos ištraukos pateikiamos kalbos modeliui atsakymams generuoti. pplx-embed-v1-4B pralenkia „Qwen3-Embedding-4B“ keturiose iš penkių vertintų klausimų ir atsakymų užduočių. Pažymėtina, kad pplx-embed-v1-0.6B pralenkia didesnį „Qwen3-Embedding-4B“ trijose iš penkių užduočių, taip parodydamas, kad mūsų mažesnis modelis praktinėse RAG aplinkose gali prilygti arba pranokti konkurentą, turintį gerokai didesnį parametrų mastą. Daugiau informacijos apie šį vertinimą rasite techninėje ataskaitoje.

Realaus pasaulio paieška dideliu mastu

Viešieji etaloniniai testai yra naudingi, tačiau jie nevisiškai atspindi žiniatinklio masto paieškos iššūkius: ilgosios uodegos užklausas (long-tail queries), triukšmingus dokumentus ir pasiskirstymo pokyčius, kurie būdingi gamybinėms aplinkoms. Siekdami išmatuoti tai, kas svarbu praktikoje, sukūrėme du vidinius etaloninius testus su iki 115 tūkst. realaus pasaulio užklausų, įvertintų daugiau nei 30 milijonų dokumentų, surinktų iš daugiau nei 1 milijardo tinklalapių bazės. PPLXQuery2Query įvertina, ar vektorių modelis gali identifikuoti semantiškai ekvivalentiškas užklausas iš realaus paieškos srauto; PPLXQuery2Doc matuoja dokumentų paiešką iš 30 mln. puslapių korpuso.

PPLXQuery2Query (2,4 mln. korpusas) teste pplx-embed-v1-4B pasiekia 73,5% Recall@10, 5,6 procentinio punkto aplenkdamas „Qwen3-Embedding-4B“ (67,9%). Mūsų 0.6B modelis pasiekia 71,1% Recall@10, ženkliai pralenkdamas „BGE-M3“ (61,8%) ir „Qwen3-Embedding-0.6B“ (55,1%).

Daugiakalbiai PPLXQuery2Query (2,4 mln. korpusas) ir PPLXQuery2Doc (30 mln. korpusas) paieškos etalonai. pplx-embed-v1-4B (INT8) ir pplx-embed-v1-0.6B (INT8) pirmauja abiejuose etalonuose, demonstruodami stiprų aprėpties rodiklį masteliu pirmajam paieškos etapui.

Atliekant daugiakalbę PPLXQuery2Doc užduotį (30 mln. korpusas), pplx-embed-v1-4B pasiekia 91,7% Recall@1000, palyginti su 88,6% „Qwen3-Embedding-4B“ atveju. Didelis atsiminimas esant dideliems paieškos gyliams yra kritiškai svarbus vektorių modeliams, kurie tarnauja kaip pirmojo etapo ieškikliai daugiapakopiuose reitingavimo konvejeriuose, kur atitinkamų kandidatų skaičiaus maksimizavimas, perduodamas tolesniems perrinkikliams, tiesiogiai veikia galutinę rezultatų kokybę.

Pradžia

Visi modeliai yra pasiekiami „Hugging Face“ (pagal MIT licenciją) ir per „Perplexity API“. Palaikome inferenciją per „Transformers“, „SentenceTransformers“, „Text Embeddings Inference“ ir „ONNX“. Išsamią informaciją apie kiekvieną parinktį rasite „Hugging Face“ modelių rinkinyje.

Išsamių techninių duomenų ir pilnų vertinimo rezultatų ieškokite mūsų techninėje ataskaitoje.

Citata

BibTeX
@online{perplexity2026PplxEmbedStateOfTheArtEmbeddingModelsForWebScaleRetrieval,
  author = {{Perplexity} and Sedigheh Eslami and Maksim Gaiduk and Markus Krimmel and Louis Milliken and Bo Wang and Denis Bykov},
  title = {{pplx-embed: State-of-the-art embedding models for web-scale retrieval}},
  date = {2026-02-26},
  url = {https://perplexity.coolkeypoint.com/hub/blog/pplx-embed-state-of-the-art-embedding-models-for-web-scale-retrieval}
}