Microsoft je odprl kodo knjižnice vektorskega iskanja, ki se uporablja v Bingu.

Podjetje Microsoft je objavilo izvorni tekstovi biblioteke mašinskog učenja SPTAG (Stablo particije prostora i graf) sa implementacijom algoritma aproksimativne pretrage najbližeg suseda. Biblioteka razvijena u istraživačkoj jedinici Microsoft Research i centru za razvoj pretraživačkih tehnologija (Microsoft Search Technology Center). U praksi se SPTAG koristi u pretraživaču Bing za određivanje najrelevantnijih rezultata u skladu sa kontekstom pretraživačkih zahteva. Kod je napisan na jeziku C++ i se distribuira pod MIT licencom. Podržana je izrada za Linux i Windows. Postoji omotač za Python.

Iako ideje o primeni vektorskih skladišta u pretraživačima postoje već neko vreme, njihovu praktičnu upotrebu sprečavaju velika zahtevanost operacija sa vektorima i ograničenja u skalabilnosti. Kombinovanje metoda dubokog mašinskog učenja sa algoritmima aproksimativne pretrage najbližeg suseda omogućilo je postizanje performansi i skalabilnosti vektorskih sistema na nivou pogodnom za velike pretraživače. Na primer, u Bingu za vektorski indeks veličine preko 150 milijardi vektora, vreme uzorkovanja najrelevantnijih rezultata se uklapa u 8 ms.

Biblioteka uključuje alate za izgradnju indeksa i organizaciju pretrage vektora, kao i set alata za održavanje distribuiranog online pretraživačkog sistema koji obuhvata veoma velike kolekcije vektora. Nude se sledeći moduli: index builder za indeksiranje, searcher za pretragu korišćenjem indeksa, distribuiranog u klasteru od više čvorova, server za pokretanje procesora na čvorovima, Aggregator za objedinjavanje više servera u celinu i klijent za slanje upita. Podržano je uključivanje novih vektora u indeks i uklanjanje vektora u realnom vremenu.

Biblioteka pretpostavlja da su obrađeni i predstavljeni podaci u kolekciji oblikovani kao povezani vektori, koji se mogu upoređivati na osnovu evklidovih (L2) ili kosinusnih udaljenosti. Pri pretraživačkom zahtevu vraćaju se vektori čija je udaljenost od izvorog vektora minimalna. U SPTAG-u se nude dve metode organizacije vektorskog prostora: SPTAG-KDT (K-dimenzionalno stablo (kd-tree) i graf relativnih okruženja) i SPTAG-BKT (stablo k-srednjih (k-means tree in the context of relative neighborhoods). The first method requires fewer resources when working with the index, while the second demonstrates higher accuracy in search results for very large collections of vectors.

Vector search is not limited to text and can also be applied to multimedia information and images, as well as in recommendation systems. For instance, one of the prototypes based on the PyTorch framework implemented a vector system for searching based on object similarity in images, built using data from several reference collections of images of animals, cats, and dogs that were transformed into sets of vectors. When an incoming image is received for searching, it is converted using a machine learning model into a vector, based on which the most similar vectors are selected from the index using the SPTAG algorithm, resulting in the associated images being returned.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster