A turbopuffer beépített embeddinggel gyorsítja a szemantikus keresést

A turbopuffer a keresőmotorjába költöztette az embeddinget, hogy a lekérdezések feldolgozásának egyes lépései párhuzamosan fussanak. A vállalat szerint ez több száz milliszekundummal csökkentheti a keresési késleltetést.
- A turbopuffer a keresőmotoron belülre helyezte az embedding-folyamatot.
- A natív embedding párhuzamosítja a beágyazást a keresés kezdeti lépéseivel.
- A Linear 150 milliszekundumos, a Readwise nyolcszoros javulást mért.
- Az embedding csak írásokhoz, csak lekérdezésekhez vagy egyáltalán nem a turbopufferben is használható.
- A vállalat natív újrarangsorolást, dokumentumfeldolgozást és keresési ügynököket is tervez.
A külső embedding lassította a keresést
A turbopuffer szeptember 29-i bejelentése szerint a szolgáltatás korábban a BYOE, vagyis a saját embedding használatára épült. Ez lehetőséget adott az ügyfeleknek, hogy a szemantikus kereséshez használt embedding-folyamatot saját területükre szabják, például pénzügyi, jogi vagy programozási feladatokra.
A vállalat tapasztalata szerint azonban sok ügyfél számára az embedding-folyamat felépítése inkább teher, mint optimalizálási lehetőség. Az alkalmazásoknak külön kellett kezelniük a különböző API-kat, a kötegelt feldolgozást, az újrapróbálkozásokat és az időtúllépéseket.
Külső embedding esetén a lekérdezés teljes folyamata egy másik számítógépen futó szolgáltatásra vár. A turbopuffer lekérdezéstervezője ezt a munkát nem látja, az embedding pedig sorba rendeződik a keresés végrehajtásával. A dokumentumvektorok pontozása csak a lekérdezési vektor elkészülte után kezdődhet el.
A natív megoldás párhuzamosítja a munkát
A turbopuffer natív embedding funkciója a beágyazást közvetlenül a keresőmotorba helyezi. Így a lekérdezéstervező összehangolhatja az embeddinget a lekérdezés kezdeti szakaszával, még azelőtt, hogy szükség lenne a vektorra.
A lekérdezési vektorra továbbra is szükség van a klaszterek kiválasztásához és a dokumentumok pontozásához, ezért a vizsgálat ezekre a lépésekre vár. A névtér indexből származó metaadatok beolvasása azonban nem függ a vektortól, így az a GPU-n futó embeddinggel párhuzamosan elvégezhető. A turbopuffer szerint a függőségek további hátrébb helyezésén is dolgozik.
A vállalat közlése szerint a Linear a bétaidőszakban 150 milliszekundummal csökkentette embedding-folyamatának idejét. A Readwise eközben a medián embedding-késleltetés nyolcszoros csökkenését mérte. A turbopuffer szerint a natív embedding általános elérhetővé válása óta további hasonló javulásokat figyelnek meg.
Nem minden munkafolyamathoz ugyanaz a beállítás ideális
A turbopuffer szerint a natív embedding főként olyan munkaterhelésnél kedvező, ahol minden írási és olvasási művelethez új embedding szükséges. Ha egy lekérdezési embedding időben vagy több névtér között újra felhasználható, akkor célszerű elkerülni az ismételt létrehozását. A vállalat megfogalmazása szerint egy teljesen elkerült hívás jobb eredményt ad, mint egyetlen hívás további gyorsítása.
A funkció ezért lehetővé teszi, hogy az embedding csak az írásokhoz, csak a lekérdezésekhez vagy egyáltalán ne a turbopufferben fusson. A szolgáltató jövőbeli verziói automatikusan gyorsítótárazhatják ugyanazon dokumentum ismételt embeddinghívásait, a megtakarítást pedig továbbadhatják az ügyfeleknek.
A turbopuffer jelenleg az olvasások és írások során is párhuzamosítja az embeddinget. A vállalat adatbázis-fejlesztéseken dolgozik, amelyek lehetővé tennék egy teljes névtér újbóli embeddingelését a háttérben, aszinkron módon. Ez a relevancia javítására is lehetőséget adhat, például új modellek kiértékelésével és a legjobban teljesítő modellre történő automatikus átállással.
További keresési funkciók érkezhetnek
A turbopuffer a rendszerszintű optimalizálás részeként további keresési alrendszereket is a szolgáltatáson belül kezelne. A bejelentés szerint készül a natív újrarangsorolás, a fejlettebb dokumentumfeldolgozás és darabolás, valamint a keresési ügynökök támogatása.
A turbopuffer saját adatai szerint a keresőmotor több mint 1 billió dokumentumot tárol, másodpercenként több mint 10 millió írást kezel, és másodpercenként több mint 25 ezer lekérdezést szolgál ki. A natív embedding azoknak a felhasználóknak ad nagyobb kontrollt, akik az embedding-folyamat egy részét vagy egészét a keresőmotorra bíznák, miközben az ismételten felhasználható vektoroknál továbbra is választható a külső feldolgozás.
turbopuffer: Why moving embedding inside turbopuffer drops search latency


