A Microsoft felfedte a Bingben használt vektor keresési könyvtár kódját.

Microsoft vállalat kiadta a gépi tanulás könyvtárának eredeti szövegei SPTAG (Térbeli Partíciós Fa és Grafikon) az approximatív algoritmus megvalósításával a legközelebbi szomszéd keresésére. A könyvtár kifejlesztve a Microsoft Research kutatóegységében és a Microsoft Search Technology Center fejlesztő központjában készült. A SPTAG a gyakorlatban a Bing keresőmotorban alkalmazásra kerül a legrelevánsabb találatok meghatározására a keresési kifejezések kontextusának figyelembevételével. A kód C++ nyelven íródott, és terjesztésre kerül MIT licenc alatt áll. Támogatott a Linux és Windows verziója. Van egy kötege a Python nyelvhez.

Bár a vektortárolók keresőmotorokban való használatának ötlete már régóta létezik, a gyakorlatban a vektorokkal végzett műveletek magas erőforrás-igénye és a skálázhatósági korlátok megnehezítik a bevezetést. A mély gépi tanulás módszereinek kombinálása az approximatív legközelebbi szomszéd keresési algoritmusokkal lehetővé tette a vektorrendszerek teljesítményének és skálázhatóságának emelését olyan szintre, amely elfogadható a nagyobb keresőmotorok számára. Például a Bing esetében több mint 150 milliárd vektor méretű vektoriindex esetén a legrelevánsabb találatok kiválasztásának ideje 8 ms-on belül van.

A könyvtár tartalmazza az indexépítő és a vektorok keresésének megszervezésére szolgáló eszközöket, valamint egy eszközkészletet az online keresési rendszer elosztott támogatására, amely rendkívül nagy vektorkollekciókat ölel fel. A következő modulokat kínálja : indexelő az indexeléshez, kereső az index használatával történő kereséshez, elosztott szerverekből álló klaszterben, szerver az ügyintézők futtatásához a csomópontokon, Aggregátor a több szerver egyesítésére és kliens a lekérdezések küldésére. Támogatott az új vektorok indexbe való felvétele és vektorok valós időben történő eltávolítása.

A könyvtár azt feltételezi, hogy a feldolgozott és a gyűjteményben bemutatott adatok összekapcsolt vektorok formájában vannak, amelyeket az euclideai (L2) vagy koszinusz távolságok alapján lehet összehasonlítani. A keresési lekérdezés eredményeként azok a vektorok térnek vissza, amelyek távolsága a kimeneti vektortól a legkisebb. Az SPTAG két módszert kínál a vektortér megszervezésére: SPTAG-KDT (K-dimenzionális fa (kd-tree, ennek eredményeként a lekérdezések olyan formát öltenek, mint a fent említett. relatív szomszédságok grafikonja) és SPTAG-BKT (k-közép fa (k-means tree a relatív környezetek grafikonja). Az első módszer kevesebb erőforrást igényel az index működtetésekor, míg a második módszer a keresési eredmények magasabb pontosságát mutatja meg nagyon nagy vektorkollekciók esetén.

Ezenkívül a vektoros keresés nem korlátozódik a szövegre, alkalmazható multimédiás információkra és képekre is, valamint automatizált ajánlási rendszerekben. Például az egyik prototípusban a PyTorch keretrendszerre építve egy vektoralapú kereső rendszert valósítottak meg, amely figyelembe vette az objektumok hasonlóságát a képeken. Ez a rendszer több referencia kollekció adatait használva készült, amelyek állatok - macskák és kutyák képeit tartalmazták, ezeket vektorkészletekké alakították. Amikor egy bemeneti kép érkezik, azt gépi tanulási modellel vektorrá alakítják, és az SPTAG algoritmus segítségével a legjobban hasonlító vektorokat választják ki az indexből, így a hozzájuk kapcsolódó képeket adják vissza eredményként.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster