Microsoft wis mbukak kode kanggo perpustakaan telusuran vektor sing digunakake dening Bing

Microsoft diterbitake kode sumber perpustakaan machine learning SPTAG (Space Partition Tree And Graph) kanthi implementasine algoritma perkiraan search tetanggan paling cedhak. Pustaka dikembangke ing divisi riset Microsoft Research lan pusat pangembangan teknologi telusuran (Microsoft Search Technology Center). Ing praktik, SPTAG digunakake dening mesin telusur Bing kanggo nemtokake asil sing paling relevan adhedhasar konteks pitakon telusuran. Kode ditulis ing C ++ lan disebarake dening ing lisensi MIT. Mbangun kanggo Linux lan Windows didhukung. Ana ikatan kanggo basa Python.

Senadyan kasunyatan manawa ide nggunakake panyimpenan vektor ing mesin telusuran wis suwe banget, ing praktik, implementasine diganggu dening intensitas operasi sumber daya sing dhuwur kanthi watesan vektor lan skalabilitas. Nggabungake metode pembelajaran mesin sing jero karo algoritma telusuran tetanggan sing paling cedhak wis bisa nggawa kinerja lan skalabilitas sistem vektor menyang tingkat sing bisa ditampa kanggo mesin telusur gedhe. Contone, ing Bing, kanggo indeks vektor luwih saka 150 milyar vektor, wektu kanggo njupuk asil sing paling relevan yaiku ing 8 ms.

Pustaka kalebu alat kanggo mbangun indeks lan ngatur telusuran vektor, uga sakumpulan alat kanggo njaga sistem telusuran online sing disebarake sing nyakup koleksi vektor sing akeh banget. Ditampa modul ing ngisor iki: tukang indeks kanggo indeksasi, searcher kanggo nggoleki nggunakake indeks mbagekke ing kluster saka sawetara kelenjar, server kanggo mbukak handler ing kelenjar, Aggregator kanggo nggabungake sawetara server dadi siji, lan klien kanggo ngirim pitakon. Kalebu vektor anyar menyang indeks lan pambusakan vektor kanthi cepet didhukung.

Pustaka kasebut nuduhake manawa data sing diolah lan disajikake ing koleksi diformat ing bentuk vektor sing gegandhengan sing bisa dibandhingake adhedhasar Euclidean (L2) utawa kosinus jarak Pitakon telusuran ngasilake vektor sing jarak antarane vektor lan vektor asli minimal. SPTAG nyedhiyakake rong cara kanggo ngatur ruang vektor: SPTAG-KDT (K-dimensional tree (wit kd) lan grafik tetanggan relatif) lan SPTAG-BKT (k-means tree (k-tegese wit lan grafik lingkungan relatif). Cara pisanan mbutuhake sumber daya sing luwih sithik nalika nggarap indeks, lan cara liya nuduhake akurasi asil panelusuran sing luwih dhuwur kanggo koleksi vektor sing akeh banget.

Ing wektu sing padha, telusuran vektor ora diwatesi ing teks lan bisa ditrapake kanggo informasi lan gambar multimedia, uga ing sistem kanggo nggawe rekomendasi kanthi otomatis. Contone, salah sawijining prototipe adhedhasar kerangka PyTorch ngetrapake sistem vektor kanggo nggoleki adhedhasar persamaan obyek ing gambar, dibangun kanthi nggunakake data saka sawetara koleksi referensi kanthi gambar kewan, kucing lan asu, sing diowahi dadi set vektor. . Nalika gambar mlebu ditampa kanggo telusuran, diowahi nggunakake model pembelajaran mesin dadi vektor, adhedhasar vektor sing paling padha dipilih saka indeks nggunakake algoritma SPTAG lan gambar sing gegandhengan bakal bali minangka asil.

Source: opennet.ru

Add a comment