A Qdrant Constella modelljei újrabeágyazás nélkül cserélhetők

A Qdrant bemutatta a Constella kutatási előzetesét, amely lehetővé teszi, hogy ugyanabban a vektoradatbázisban a lekérdezésekhez használt modellt újrabeágyazás nélkül cseréljék. A rendszer a Stella dokumentumbeágyazásaira épül, és a Constella Zero, Nano vagy a teljes Stella használatát támogatja.
- A Constella három lekérdezési modellt kínál ugyanahhoz a Stella dokumentumindexhez.
- A Zero, Nano és Stella között újradokumentumbeágyazás nélkül lehet váltani.
- A Nano 0,5081, a Zero 0,4572, a teljes Stella 0,5614 átlagos nDCG@10 értéket ért el.
- A 20 szavas lekérdezés tesztjében a Zero 0,081, a Nano 3,131, a Stella 38,952 ezredmásodperc alatt futott.
- A Constella jelenleg kutatási előzetes, a teljes kiadás előtt belső felülvizsgálat alatt áll.
Egy dokumentumindex, három lekérdezési modell
A Qdrant szeptember 29-i bejelentése szerint a Constella a Hugging Face-en elérhető modellcsalád, amely a 400 millió paraméteres, angol nyelvű Stella beágyazómodellre épül. A dokumentumokat Stella kódolja, a lekérdezésekhez pedig Constella Zero, Constella Nano vagy maga a Stella választható.
A megoldás lényege, hogy a dokumentumvektorok változatlanok maradnak, miközben a lekérdezési kódoló kérésenként cserélhető. A Qdrant szerint a dokumentumoldalon érdemes több számítási kapacitást használni, mivel egy dokumentumvektor több ezer keresésben újra felhasználható. Egy lekérdezési vektor jellemzően egy keresést szolgál ki.
A Constella Zero tokenek vektorait keresi ki, összevonja és normalizálja, ezért minimális számítási igényt támaszt. A módszer ugyanakkor nem veszi figyelembe a szavak sorrendjét. A Nano egy 34,5 millió paraméteres transzformátor, amely a tokenek közötti kapcsolatokat és azok pozícióját is modellezi. A modell a Stella 1024 dimenziós terébe vetíti az eredményt.
A Nano közel marad a Stella eredményéhez
A Qdrant a három modellt 15 BEIR-adathalmazon vizsgálta. A tesztekben mindegyik lekérdezési modell ugyanazokat a Stella által létrehozott dokumentumvektorokat használta. Az átlagos nDCG@10 érték a teljes Stella esetében 0,5614, a Nano esetében 0,5081, a Zero esetében pedig 0,4572 volt. Ez a mérőszám azt vizsgálja, hogy a releváns dokumentumok mennyire jól szerepelnek az első tíz találat között.
A Qdrant közlése szerint a Nano a teljes Stella átlagos pontszámának körülbelül 91 százalékát tartotta meg, miközben jóval kisebb transzformátort használ. A Zero több adathalmazon is alacsonyabb eredményt ért el, ugyanakkor a FEVER, a HotpotQA és a Climate-FEVER feladatán megelőzte a Nanót. A vállalat ezért azt javasolja, hogy a választást mindenki saját munkaterhelésén tesztelje.
A négy, csillaggal jelölt adathalmaznál a Stella korábbi képzési vagy értékelési kitettséget jelzett. Mivel a Zero és a Nano a Stella eredményeiből tanul, ezeknél az értékeknél a Qdrant összehasonlítást javasol ugyanazon modellcsaládon belül, nem teljesen ismeretlen adatokon végzett tesztként.
A Zero 480-szor gyorsabb volt a tesztben
Az Apple M5 Pro processzoron, FastEmbed és ONNX Runtime használatával, négy szálon és egyes kötegmérettel mérték a lekérdezések kódolási idejét. Egy bemelegített, 20 szavas lekérdezés mediánideje a Stella esetében 38,952 ezredmásodperc, a Nano esetében 3,131 ezredmásodperc, a Zero esetében pedig 0,081 ezredmásodperc volt.
Ez a Qdrant számítása szerint a Nanónál körülbelül 12-szeres, a Zerónál körülbelül 480-szoros gyorsulást jelentett a teljes Stellához képest. A mérés csak a kódolási időt tartalmazza, a Qdrant-keresés és a hálózati idő nincs benne. A vállalat szerint a modelleket érdemes betöltve tartani, hogy a váltáskor ne kelljen újra kifizetni az indulási költséget.
A Constella használható például alacsony fogyasztású eszközök offline kereséséhez, nagy forgalmú keresési API-khoz, gépelés közbeni kereséshez és ismételten kereső ügynökökhöz. A Qdrant a Zerót BM25-tel, vagyis kulcsszavas kereséssel is párosítaná hibrid kereséshez. A kutatási előzetes belső felülvizsgálat alatt áll a teljes kiadás előtt, a modellek pedig a Hugging Face-en érhetők el.

