Microsoft Bing tərəfindən istifadə edilən vektor axtarış kitabxanası üçün kodu açdı

Microsoft nəşr olundu maşın öyrənmə kitabxanasının mənbə kodları SPTAG (Space Partition Tree And Graph) təxmini alqoritmin həyata keçirilməsi ilə ən yaxın qonşu axtarışı. Kitabxana inkişaf etmişdir Microsoft Araşdırma və axtarış texnologiyalarının inkişafı mərkəzinin (Microsoft Search Technology Center) tədqiqat bölməsində. Təcrübədə SPTAG Bing axtarış sistemi tərəfindən axtarış sorğularının kontekstinə əsasən ən uyğun nəticələri müəyyən etmək üçün istifadə olunur. Kod C++ dilində yazılmışdır və yayılır MIT lisenziyası altında. Linux və Windows üçün Build dəstəklənir. Python dili üçün bağlama var.

Axtarış motorlarında vektor yaddaşından istifadə ideyasının kifayət qədər uzun müddətdir ki, mövcud olmasına baxmayaraq, praktikada vektorlarla əməliyyatların yüksək resurs intensivliyi və miqyaslanma məhdudiyyətləri ilə onların həyata keçirilməsinə mane olur. Dərin maşın öyrənmə üsullarının təxmini ən yaxın qonşu axtarış alqoritmləri ilə birləşdirilməsi vektor sistemlərinin performansını və miqyasını böyük axtarış sistemləri üçün məqbul səviyyəyə çatdırmağa imkan verdi. Məsələn, Bing-də 150 ​​milyard vektordan çox vektor indeksi üçün ən uyğun nəticələri əldə etmək vaxtı 8 ms-dir.

Kitabxana indeks yaratmaq və vektor axtarışlarını təşkil etmək üçün alətlər, həmçinin çox böyük vektor kolleksiyalarını əhatə edən paylanmış onlayn axtarış sistemini saxlamaq üçün alətlər dəsti daxildir. Təklif olunur aşağıdakı modullar: indeksləşdirmə üçün indeks qurucusu, bir neçə qovşaqdan ibarət klasterdə paylanmış indeksdən istifadə edərək axtarış üçün axtarışçı, qovşaqlarda işləyiciləri işə salmaq üçün server, bir neçə serveri birinə birləşdirmək üçün toplayıcı və sorğuların göndərilməsi üçün müştəri. Yeni vektorların indeksə daxil edilməsi və vektorların tez silinməsi dəstəklənir.

Kitabxana, kolleksiyada işlənmiş və təqdim olunan məlumatların əlaqəli vektorlar şəklində formatlanmasını nəzərdə tutur. evklid (L2) və ya kosinus məsafələr Axtarış sorğusu orijinal vektorla aralarındakı məsafə minimal olan vektorları qaytarır. SPTAG vektor məkanını təşkil etmək üçün iki üsul təqdim edir: SPTAG-KDT (K-ölçülü ağac ()kd-ağac) Və nisbi qonşuluq qrafiki) və SPTAG-BKT (k-ağac deməkdir (k-ağac deməkdir və nisbi qonşuluq qrafiki). Birinci üsul indekslə işləyərkən daha az resurs tələb edir, ikincisi isə çox böyük vektor kolleksiyaları üçün axtarış nəticələrinin daha yüksək dəqiqliyini nümayiş etdirir.

Eyni zamanda, vektor axtarışı mətnlə məhdudlaşmır və multimedia məlumatlarına və şəkillərinə, həmçinin tövsiyələrin avtomatik yaradılması sistemlərində tətbiq oluna bilər. Məsələn, PyTorch çərçivəsinə əsaslanan prototiplərdən biri, vektor dəstlərinə çevrilmiş heyvanların, pişiklərin və itlərin təsvirləri ilə bir neçə istinad kolleksiyasından alınan məlumatlardan istifadə etməklə qurulmuş şəkillərdəki obyektlərin oxşarlığına əsaslanan axtarış üçün vektor sistemini tətbiq etdi. . Axtarış üçün daxil olan bir şəkil alındıqda, maşın öyrənmə modelindən istifadə edərək vektora çevrilir, bunun əsasında SPTAG alqoritmindən istifadə edərək indeksdən ən oxşar vektorlar seçilir və nəticədə əlaqəli şəkillər geri qaytarılır.

Mənbə: opennet.ru

Добавить комментарий