Мицрософт је отворио библиотеку векторске претраге која се користи у Бингу

Мицрософт опубликовала изворни кодови библиотеке машинског учења СПТАГ (Спаце Партитион Трее Анд Грапх) са имплементацијом приближног алгоритма претрага најближег суседа. Библиотека развијена у истраживачком одељењу Мицрософт Ресеарцх-а и центра за развој технологије претраживања (Мицрософт Сеарцх Тецхнологи Центер). У пракси, Бинг претраживач користи СПТАГ за одређивање најрелевантнијих резултата на основу контекста упита за претрагу. Код је написан у Ц++ и дистрибуира под МИТ лиценцом. Подржана је верзија за Линук и Виндовс. Постоји обавеза за језик Питхон.

Упркос чињеници да је идеја коришћења векторског складиштења у претраживачима већ дуже време лебдела, у пракси је њихова имплементација отежана великим интензитетом ресурса операција са векторима и ограничењима скалабилности. Комбиновање метода дубоког машинског учења са приближним алгоритмима за претрагу најближих суседа омогућило је да се перформансе и скалабилност векторских система доведу на ниво прихватљив за велике претраживаче. На пример, у Бинг-у, за векторски индекс од преко 150 милијарди вектора, време за преузимање најрелевантнијих резултата је унутар 8 мс.

Библиотека укључује алате за прављење индекса и организовање векторских претрага, као и скуп алата за одржавање дистрибуираног система за претрагу на мрежи који покрива веома велике колекције вектора. Понуђена следеће модуле: креатор индекса за индексирање, претраживач за претрагу помоћу индекса распоређеног у кластер од неколико чворова, сервер за покретање руковалаца на чворовима, агрегатор за комбиновање више сервера у један и клијент за слање упита. Подржано је укључивање нових вектора у индекс и брисање вектора у ходу.

Библиотека подразумева да се подаци обрађени и представљени у колекцији форматирају у облику повезаних вектора који се могу поредити на основу Еуклидски (Л2) или косинус удаљености Упит за претрагу враћа векторе чија је удаљеност између њих и оригиналног вектора минимална. СПТАГ обезбеђује две методе за организовање векторског простора: СПТАГ-КДТ (К-димензионално дрво (кд-трее) и граф релативног суседства) и СПТАГ-БКТ (к-меанс дрво (к-значи дрво и граф релативног суседства). Први метод захтева мање ресурса при раду са индексом, а други показује већу тачност резултата претраге за веома велике колекције вектора.

Истовремено, векторска претрага није ограничена само на текст и може се применити на мултимедијалне информације и слике, као и на системе за аутоматско генерисање препорука. На пример, један од прототипова заснованих на оквиру ПиТорцх имплементирао је векторски систем за претрагу заснован на сличности објеката на сликама, изграђен коришћењем података из неколико референтних колекција са сликама животиња, мачака и паса, који су конвертовани у скупове вектора. . Када се долазна слика прими за претрагу, она се конвертује помоћу модела машинског учења у вектор, на основу којег се најсличнији вектори бирају из индекса помоћу СПТАГ алгоритма и придружене слике се враћају као резултат.

Извор: опеннет.ру

Додај коментар