Microsoft, Bing'de kullanılan vektör arama kitaplığını açık kaynak olarak kullandı

Microsoft yayınlanan makine öğrenimi kitaplığı kaynak kodları SPTAG (Uzay Bölme Ağacı ve Grafiği) yaklaşık algoritmanın uygulanmasıyla en yakın komşu arama. Kütüphane tarafından geliştirilen Microsoft Research'ün araştırma bölümünde ve arama teknolojisi geliştirme merkezinde (Microsoft Arama Teknolojisi Merkezi). Uygulamada SPTAG, Bing arama motoru tarafından arama sorgularının bağlamına göre en alakalı sonuçları belirlemek için kullanılır. Kod C++ dilinde yazılmıştır ve tarafından dağıtıldı MIT lisansı altında. Linux ve Windows için derleme desteklenir. Python dili için bir bağlayıcılık vardır.

Arama motorlarında vektör depolamayı kullanma fikri uzun süredir ortalıkta dolaşıyor olmasına rağmen, pratikte bunların uygulanması, vektörler ve ölçeklenebilirlik sınırlamaları olan işlemlerin yüksek kaynak yoğunluğu nedeniyle engellenmektedir. Derin makine öğrenme yöntemlerinin yaklaşık en yakın komşu arama algoritmalarıyla birleştirilmesi, vektör sistemlerinin performansının ve ölçeklenebilirliğinin büyük arama motorları için kabul edilebilir bir düzeye getirilmesini mümkün kılmıştır. Örneğin Bing'de 150 milyardan fazla vektörden oluşan bir vektör dizini için en alakalı sonuçların getirilme süresi 8 ms'dir.

Kütüphane, bir dizin oluşturmaya ve vektör aramalarını organize etmeye yönelik araçların yanı sıra, çok geniş vektör koleksiyonlarını kapsayan dağıtılmış bir çevrimiçi arama sistemini sürdürmek için bir dizi araç içerir. Sunulan aşağıdaki modüller: dizin oluşturma için dizin oluşturucu, birkaç düğümden oluşan bir kümeye dağıtılmış bir dizini kullanarak arama yapmak için arama aracı, düğümlerde işleyicileri çalıştırmak için sunucu, birkaç sunucuyu bir sunucuda birleştirmek için Toplayıcı ve sorgu göndermek için istemci. Dizine yeni vektörlerin dahil edilmesi ve vektörlerin anında silinmesi desteklenir.

Kütüphane, koleksiyonda işlenen ve sunulan verilerin, aşağıdakilere dayalı olarak karşılaştırılabilecek ilgili vektörler biçiminde biçimlendirildiğini ima eder: Öklidyen (L2) veya kosinüs mesafeler Arama sorgusu, orijinal vektör ile aralarındaki mesafe minimum olan vektörleri döndürür. SPTAG, vektör uzayını düzenlemek için iki yöntem sunar: SPTAG-KDT (K boyutlu ağaç (kd ağacı) Ve göreceli komşuluk grafiği) ve SPTAG-BKT (k-ağaç anlamına gelir (k-ağaç anlamına gelir ve göreceli komşuluk grafiği). İlk yöntem, indeksle çalışırken daha az kaynak gerektirir ve ikincisi, çok büyük vektör koleksiyonları için arama sonuçlarının daha yüksek doğruluğunu gösterir.

Aynı zamanda, vektör araması metinle sınırlı değildir ve multimedya bilgi ve görüntülerinin yanı sıra otomatik olarak öneriler üreten sistemlere de uygulanabilir. Örneğin, PyTorch çerçevesini temel alan prototiplerden biri, hayvanlar, kediler ve köpeklerin görüntülerinin vektör kümelerine dönüştürüldüğü çeşitli referans koleksiyonlarından elde edilen veriler kullanılarak oluşturulan, görüntülerdeki nesnelerin benzerliğine dayalı olarak arama yapmak için bir vektör sistemi uyguladı. . Arama için gelen bir görüntü alındığında, makine öğrenimi modeli kullanılarak bir vektöre dönüştürülür; buna göre en benzer vektörler SPTAG algoritması kullanılarak indeksten seçilir ve sonuç olarak ilişkili görüntüler döndürülür.

Kaynak: opennet.ru

Yorum ekle