Új, többvektoros beágyazási módot vezet be a Sentence Transformers v6.0
A Sentence Transformers v6.0 frissítése új, többvektoros beágyazási módot vezet be, amely a ColBERT-stílusú keresést teszi lehetővé, és javítja a vizuális dokumentumok tartalmának megértését.

A Sentence Transformers Python könyvtár új, v6.0-s verziója negyedik modelltípussal bővül: a MultiVectorEncoderrel, amely a ColBERT-stílusú, késleltetett interakciós keresést teszi lehetővé. Ez lehetővé teszi bármely PyLate vagy Stanford-NLP ColBERT ellenőrzőpont betöltését, valamint a colpali-engine modellek használatát vizuális dokumentumkereséshez, ugyanazon az API-n keresztül, amelyet a fejlesztők már ismernek a sűrű, ritka és átalakító modellekhez.
Míg a hagyományos beágyazási modellek egyetlen vektort hoznak létre egy teljes szövegből, a többvektoros modellek tokenenként tartanak fenn egy vektort. Ezek a modellek a MaxSim operátor segítségével pontozzák a lekérdezést a dokumentummal szemben, ami megőrzi a tokenek közötti egyezési információkat. Ez általában erősebb keresési eredményeket biztosít, de nagyobb indexméretet eredményez. A többvektoros keresés csúcstechnológiát képvisel a vizuális dokumentumkeresésben, ahol a szöveges lekérdezések közvetlenül az oldalképekre vonatkoznak, OCR lépés nélkül — írja a Hugging Face blogja.
Mi a különbség a többvektoros és a sűrű beágyazások között?
A sűrű beágyazási modellek egyetlen, fix méretű vektort adnak vissza, amelybe a modell által észlelt összes információt be kell sűríteni. Ez a tömörítés veszteséges lehet, mivel egy ritka entitásnak, azonosítónak vagy egy hosszú szövegrészletnek is versenyeznie kell a helyért ugyanabban a vektorban.
Egy többvektoros modell, más néven késleltetett interakciós vagy ColBERT-stílusú modell, ezt a tömörítést elkerüli. A tokenek beágyazásait kis dimenzióra vetíti le, és mindegyiket megtartja. Egy 9 tokenből álló dokumentum így egy 9x128-as mátrixszá válik, nem pedig egy 1x128-as vektorrá. A lekérdezés és a dokumentum közötti interakció a pontozáskor történik, innen a „késleltetett interakció” elnevezés.
A MaxSim operátor és a költségek
A pontozás a MaxSim operátort használja: minden lekérdezési token esetében a legmagasabb hasonlóságot veszi egy dokumentum tokenjével, majd ezeket a maximumokat összegzi a lekérdezésen keresztül. Ez a megközelítés lehetővé teszi, hogy a tokenek kontextualizált beágyazásai révén a „live” token például az „inhabit” szóra találjon rá, még akkor is, ha a szavak nem osztoznak karaktereken. Ez a képesség megkülönbözteti a lexikális kereséstől, amelyhez magára a kifejezésre van szükség.
A többvektoros modellek előnye a keresési minőség javulása, különösen olyan lekérdezéseknél, ahol egy dokumentum egy specifikus része teszi relevánssá, vagy ahol több követelménynek kell megfelelni. A költség azonban az index mérete. Egy tokenenkénti vektor a dokumentumonkénti vektor helyett sokkal több vektort jelent, amit csak részben ellensúlyoz a kisebb dimenzió.
Például 4874 Natural Questions átirata 608 414 token vektort eredményezett a LateOn modellel, ami átlagosan 124,8 vektort jelent átiratonként. Ez körülbelül 42-szeres tárolási igényt jelent a MiniLM indexhez képest, bár a PLAID indexek tömörítéssel csökkenthetik ezt az értéket.
A Sentence Transformers v6.0 2026. augusztus 18-án jelent meg.