Майкрософт Bing-те қолданылатын векторлық іздеу кітапханасының бастапқы көзі ашық

Microsoft компаниясы жарияланған машиналық оқыту кітапханасының бастапқы кодтары SPTAG (Space Partition Tree And Graph) жуық алгоритмді жүзеге асырумен жақын көршіні іздеу. Кітапхана әзірленген Microsoft Research зерттеу бөлімінде және іздеу технологияларын дамыту орталығында (Microsoft Search Technology Center). Іс жүзінде SPTAG іздеу сұрауларының контекстіне негізделген ең сәйкес нәтижелерді анықтау үшін Bing іздеу жүйесімен қолданылады. Код C++ тілінде жазылған және таралады MIT лицензиясы бойынша. Linux және Windows үшін құрастыруға қолдау көрсетіледі. Python тілі үшін байланыстыру бар.

Іздеу жүйелерінде векторлық сақтауды пайдалану идеясы ұзақ уақыт бойы өзгеріп келе жатқанына қарамастан, іс жүзінде оларды жүзеге асыру векторлармен операциялардың жоғары ресурс қарқындылығымен және масштабтауға шектеулермен кедергі келтіреді. Терең машиналық оқыту әдістерін жақын маңдағы іздеу алгоритмдерімен біріктіру векторлық жүйелердің өнімділігі мен ауқымдылығын үлкен іздеу жүйелері үшін қолайлы деңгейге жеткізуге мүмкіндік берді. Мысалы, Bing жүйесінде 150 миллиард вектордан тұратын векторлық индекс үшін ең маңызды нәтижелерді алу уақыты 8 мс аралығында болады.

Кітапхана индексті құруға және векторлық іздеулерді ұйымдастыруға арналған құралдарды, сондай-ақ векторлардың өте үлкен коллекцияларын қамтитын таратылған онлайн іздеу жүйесін жүргізуге арналған құралдар жиынтығын қамтиды. Ұсынылған келесі модульдер: индекстеу үшін индекс құрастырушы, бірнеше түйіндер кластерінде таратылған индексті пайдаланып іздеуге арналған іздеуші, түйіндерде өңдеушілерді іске қосу сервері, бірнеше серверлерді бір серверге біріктіруге арналған агрегатор және сұрауларды жіберуге арналған клиент. Жаңа векторларды индекске қосу және векторларды жылдам жоюға қолдау көрсетіледі.

Кітапхана жинақта өңделген және ұсынылған деректер сәйкес векторлар түрінде пішімделгенін білдіреді, оларды салыстыруға болады. Евклидтік (L2) немесе косинус қашықтықтар Іздеу сұрауы бастапқы вектор мен олардың арасындағы қашықтық минималды болатын векторларды қайтарады. SPTAG векторлық кеңістікті ұйымдастырудың екі әдісін ұсынады: SPTAG-KDT (K-өлшемді ағаш (kd-ағаш) Және салыстырмалы көршілестік графигі) және SPTAG-BKT (k-ағашты білдіреді (k-ағашты білдіреді және салыстырмалы көршілестік графигі). Бірінші әдіс индекспен жұмыс істеу кезінде ресурстарды аз талап етеді, ал екіншісі векторлардың өте үлкен жинақтары үшін іздеу нәтижелерінің жоғары дәлдігін көрсетеді.

Сонымен қатар, векторлық іздеу тек мәтінмен шектелмейді және мультимедиялық ақпарат пен кескіндерге, сондай-ақ ұсыныстарды автоматты түрде жасау жүйелерінде қолданылуы мүмкін. Мысалы, PyTorch негізіне негізделген прототиптердің бірі жануарлардың, мысықтардың және иттердің суреттері бар бірнеше анықтамалық жинақтардың деректерін пайдалана отырып құрастырылған кескіндердегі объектілердің ұқсастығына негізделген іздеудің векторлық жүйесін енгізді, олар векторлар жиынына түрленді. . Іздеу үшін кіріс кескін алынған кезде, ол машиналық оқыту үлгісін пайдаланып векторға түрлендіріледі, оның негізінде SPTAG алгоритмі арқылы индекстен ең ұқсас векторлар таңдалады және нәтижесінде байланысты кескіндер қайтарылады.

Ақпарат көзі: opennet.ru

пікір қалдыру