Microsoft ka hapur kodi i bibliotekës së kërkimit vektorial që përdoret në Bing

Kompania Microsoft publikoi tekstet burimore të bibliotekës së mësimit të makinerive SPTAG (Tree Ne Ndërprerje Hapësinore Dhe Graf) me implementimin e algoritmit të kërkimit afërsi të përafërt për kërkimin e fqinjit më të afërt. Biblioteka u zhvillua në njësinë kërkimore Microsoft Research dhe qendrën e zhvillimit të teknologjive të kërkimit (Microsoft Search Technology Center). Në praktikë, SPTAG përdoret në sistemin e kërkimit Bing për të përcaktuar rezultatet më relevante duke marrë parasysh kontekstin e kërkesave të përdoruesve. Kodi është shkruar në gjuhën C++ dhe shpërndahet është nën licencën MIT. Mbështetet ndërtimi për Linux dhe Windows. Ka një lidhje për gjuhën Python.

Pavarësisht se idetë e aplikimit të magazinave vektor në sistemet e kërkimit kanë qarkulluar për një kohë të gjatë, implementimi i tyre praktik pengohet nga kërkesat e larta të burimeve për operacionet me vektorë dhe kufizimet në shkallëzim. Kombinimi i metodave të mësimit të thellë me algoritmet e kërkimit afërsi të përafërt ka mundësuar që performanca dhe shkallëzimi i sistemeve vektor të arrijë një nivel të pranueshëm për sistemet e mëdha të kërkimit. Për shembull, në Bing për indisin vektor me më shumë se 150 miliard vektorë, koha e marrjes së rezultateve më relevante është brenda 8 ms.

Biblioteka përfshin mjete për ndërtimin e indisit dhe organizimin e kërkimeve të vektorëve, si edhe një grup mjetesh për mbështetje të një sistemi të shpërndarë të kërkimeve online, që mbulon koleksione shumë të mëdha vektorësh. Ofrohen module të ndryshme: ndërtuesi i indeksit për indeksimin, kërkuesi për kërkimin me përdorimin e indeksit, i shpërndarë në një klaster me disa nyje, serveri për të nisur përpunuesit në nyje, Aggregator për të kombinuar disa serverë në një të vetme dhe klienti për të dërguar kërkesat. Mbështetet inkorporimi i vektorëve të rinj në indeks dhe fshirja e vektorëve në kohë reale.

Biblioteka nënkupton se të dhënat e përpunuara dhe të paraqitura në koleksion janë të organizuara si vektorë të lidhur që mund të krahasohen bazuar në distancat e Euclidit (L2) ose distancat kosinore. Kur bëhet një kërkesë, kthehen vektorët, distanca midis të cilëve dhe vektorit origjinal është minimale. Në SPTAG ofrohen dy metoda për organizimin e hapësirës vektor: SPTAG-KDT (Pema K-dimensionale (kd-tree) dhe grafi i fqinjëve të lidhur) dhe SPTAG-BKT (pema e k-mesme (k-means tree dhe grafiku i fqinjësive relative). Metoda e parë kërkon më pak burime gjatë punës me indeksin, ndërsa e dyta tregon saktësi më të lartë të rezultateve të kërkimit në koleksione shumë të mëdha vektorësh.

Në këtë mënyrë, kërkimi me vektorë nuk kufizohet vetëm në tekst dhe mund të aplikohet në informacionin multimedial dhe imazhe, si dhe në sistemet e formimit automatik të rekomandimeve. Për shembull, në një nga prototipat e ndërtuar mbi framework-un PyTorch u realizua një sistem vektorësh për kërkimin duke marrë parasysh ngjashmërinë e objekteve në imazhe, e ndërtuar me të dhënat nga disa koleksione referuese me imazhe të kafshëve, maceve dhe qenve, të cilat u transformuan në grupe vektorësh. Kur një imazh hyres vjen për kërkimin, ai transformohet duke përdorur një model të mësimit të makinerisë në një vektor, mbi të cilin me algoritmin SPTAG zgjidhen vektorët më të ngjashëm nga indeksi dhe si rezultat kthehen imazhet e lidhura me ta.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster