Multi-vector embedding modely v Sentence Transformers 6.0

Sentence Transformers 6.0 přidává MultiVectorEncoder pro ColBERT-style late interaction. Místo jediného vektoru za celý text může vyhledávání pracovat s více reprezentacemi na úrovni tokenů.

19. srpna 2026

Sentence Transformers 6.0 rozšiřuje knihovnu o MultiVectorEncoder, tedy podporu modelů pro takzvaný late interaction retrieval. Tento přístup je známý například z architektury ColBERT a stojí mezi klasickými dense embeddingy a dražším rerankingem.

Hlavní rozdíl je v reprezentaci textu. Dense embedding model obvykle převede celý dotaz nebo dokument do jediného vektoru. Multi-vector model si naopak zachovává více reprezentací, typicky na úrovni jednotlivých tokenů. Díky tomu lze při vyhledávání porovnávat konkrétní části dotazu s konkrétními částmi dokumentu.

Proč jeden vektor nemusí vždy stačit

U jednoduchého dotazu může jediný embedding fungovat velmi dobře. Obtížnější situace nastává u dotazů s několika současnými podmínkami.

Příklad z článku pracuje s vyhledáváním typu „zelená pohovka s dřevěnými nohami a zaoblenými polštáři“. Dense encoder musí všechny tyto vlastnosti sloučit do jedné reprezentace. Některé detaily přitom mohou mít v konečném vektoru menší vliv než jiné.

Multi-vector přístup zachovává jemnější reprezentace jednotlivých částí textu. To umožňuje při skórování zjistit například to, že jedna část dokumentu dobře odpovídá požadavku na barvu, jiná materiálu nohou a další tvaru polštářů.

Neznamená to automaticky lepší výsledky pro každý typ vyhledávání. Výhodou je větší množství informace dostupné při porovnávání dotazu s kandidátními dokumenty.

MaxSim a late interaction

Klíčovou částí ColBERT-style modelů je MaxSim.

Pro každý token dotazu se hledá nejpodobnější token v dokumentu. Nejlepší shody se následně agregují do výsledného skóre dokumentu. Dotaz a dokument lze přitom zakódovat odděleně a jejich podrobnější interakce nastává až při výpočtu relevance — odtud označení late interaction.

Tento kompromis je zajímavý zejména ve srovnání s cross-encodery. Cross-encoder zpracovává dotaz a dokument společně a bývá přesnější, ale jeho použití nad velkým množstvím dokumentů je výpočetně drahé. U multi-vector modelů lze reprezentace dokumentů předpočítat a uložit do indexu, podobně jako u běžných embeddingů.

Cena za podrobnější reprezentaci

Více vektorů znamená také větší index.

V příkladu Hugging Face obsahuje index 4 874 pasáží z datasetu Natural Questions celkem 608 414 tokenových vektorů a zabírá přibližně 311,5 MB. Stejné dokumenty reprezentované jedním embeddingem na pasáž by potřebovaly výrazně méně uložených vektorů.

Trade-off proto není jen mezi kvalitou a kapacitou disku. Více reprezentací znamená také větší nároky na paměť a složitější výpočet relevance při samotném vyhledávání.

Pro produkční systém je proto potřeba sledovat minimálně:

  • kvalitu retrievalu na vlastních datech,
  • velikost indexu,
  • latenci dotazů,
  • spotřebu paměti,
  • počet kandidátů, nad kterými se MaxSim počítá.

U velkých kolekcí může být důležitá také indexační strategie nebo zmenšování počtu uložených tokenových reprezentací.

Kde multi-vector retrieval dává smysl

Multi-vector modely mohou být zajímavé tam, kde dotazy obsahují více detailů a jejich přesné zachování je pro relevanci důležité. Typickým příkladem může být produktové vyhledávání, odborné dokumenty nebo retrieval pro RAG, kde jeden dotaz kombinuje několik podmínek.

Naopak u jednodušších vyhledávacích úloh může klasický dense embedding nabídnout lepší poměr mezi kvalitou, rychlostí a velikostí indexu.

Multi-vector retrieval proto není náhradou za dense embeddingy ve všech aplikacích. Jde o další bod v praktickém spektru mezi rychlým bi-encoder retrievalem a přesnějším, ale dražším rerankingem.

Co přináší Sentence Transformers 6.0

Pro vývojáře je podstatné hlavně to, že se podpora tohoto typu modelů dostává přímo do běžného ekosystému Sentence Transformers.

MultiVectorEncoder umožňuje načítat, používat a trénovat modely pro late interaction podobným způsobem jako ostatní typy encoderů v knihovně. Vedle dense embedding modelů, sparse encoderů a rerankerů tak Sentence Transformers pokrývá další retrieval architekturu bez nutnosti stavět samostatný nástrojový řetězec jen pro ColBERT-style modely.

Praktická otázka proto není, zda jsou multi-vector modely obecně „lepší“. Důležitější je, zda u konkrétního vyhledávání přinese jemnější práce s tokeny dostatečný nárůst relevance, aby ospravedlnila větší index a dražší scoring.