Microsoft-ը բաց կոդով է ստեղծել Bing-ում օգտագործվող վեկտորային որոնման գրադարանը

Microsoft ընկերությունը опубликовала մեքենայական ուսուցման գրադարանի սկզբնական կոդեր SPTAG (Space Partition Tree And Graph) մոտավոր ալգորիթմի ներդրմամբ մոտակա հարևանի որոնում. Գրադարան զարգացած Microsoft Research-ի և որոնման տեխնոլոգիաների զարգացման կենտրոնի (Microsoft Search Technology Center) հետազոտական ​​բաժնում: Գործնականում SPTAG-ն օգտագործվում է Bing որոնման համակարգի կողմից՝ որոնման հարցումների համատեքստի հիման վրա առավել համապատասխան արդյունքները որոշելու համար: Կոդը գրված է C++ և տարածվում է MIT լիցենզիայի ներքո: Build-ը Linux-ի և Windows-ի համար աջակցվում է: Կա պարտադիր կապ Python լեզվի համար:

Չնայած այն հանգամանքին, որ որոնողական համակարգերում վեկտորային պահեստավորման կիրառման գաղափարը բավականին երկար ժամանակ է տարածվել, գործնականում դրանց իրականացմանը խոչընդոտում է վեկտորներով և մասշտաբայնության սահմանափակումներով գործողությունների ռեսուրսների մեծ ինտենսիվությունը: Խորը մեքենայական ուսուցման մեթոդների համադրումը մոտավոր հարևանների որոնման ալգորիթմների հետ հնարավորություն է տվել վեկտորային համակարգերի կատարողականությունն ու մասշտաբայնությունը հասցնել մեծ որոնման համակարգերի համար ընդունելի մակարդակի: Օրինակ, Bing-ում ավելի քան 150 միլիարդ վեկտոր ունեցող վեկտորային ինդեքսի դեպքում ամենահամապատասխան արդյունքները ստանալու ժամանակը 8 ms-ի սահմաններում է:

Գրադարանը ներառում է ինդեքս ստեղծելու և վեկտորային որոնումներ կազմակերպելու գործիքներ, ինչպես նաև գործիքների մի շարք՝ բաշխված առցանց որոնման համակարգ պահպանելու համար, որը ներառում է վեկտորների շատ մեծ հավաքածուներ: Առաջարկվում է Հետևյալ մոդուլները՝ ինդեքսավորող՝ ինդեքսավորման համար, որոնիչ՝ մի քանի հանգույցների կլաստերի միջոցով բաշխված ինդեքսի միջոցով, հանգույցների վրա մշակողներ գործարկելու համար, մի քանի սերվերներ մեկում միավորելու ագրեգատոր և հարցումներ ուղարկելու հաճախորդ: Աջակցվում է նոր վեկտորների ընդգրկումը ինդեքսի մեջ և վեկտորների ջնջումը:

Գրադարանը ենթադրում է, որ հավաքածուում մշակված և ներկայացված տվյալները ձևավորվում են հարակից վեկտորների տեսքով, որոնք կարելի է համեմատել՝ հիմնվելով. Էվկլիդեսյան (L2) կամ կոսինուս հեռավորությունները Որոնման հարցումը վերադարձնում է վեկտորներ, որոնց հեռավորությունը նրանց և սկզբնական վեկտորի միջև նվազագույն է: SPTAG-ը տրամադրում է վեկտորային տարածության կազմակերպման երկու մեթոդ՝ SPTAG-KDT (K-չափական ծառ (kd-ծառ) Եվ հարաբերական հարևանության գրաֆիկ) և SPTAG-BKT (k-նշանակում է ծառ (k-նշանակում է ծառ և հարաբերական հարևանության գրաֆիկ): Առաջին մեթոդը պահանջում է ավելի քիչ ռեսուրսներ ինդեքսի հետ աշխատելիս, իսկ երկրորդը ցույց է տալիս որոնման արդյունքների ավելի բարձր ճշգրտություն վեկտորների շատ մեծ հավաքածուների համար:

Միևնույն ժամանակ, վեկտորային որոնումը չի սահմանափակվում տեքստով և կարող է կիրառվել մուլտիմեդիա տեղեկատվության և պատկերների, ինչպես նաև առաջարկությունների ավտոմատ ստեղծման համակարգերում: Օրինակ, PyTorch շրջանակի վրա հիմնված նախատիպերից մեկն իրականացրել է վեկտորային համակարգ՝ որոնելու համար՝ հիմնված պատկերներում օբյեկտների նմանության վրա, որը կառուցվել է մի քանի տեղեկատու հավաքածուների տվյալների հիման վրա՝ կենդանիների, կատուների և շների պատկերներով, որոնք վերածվել են վեկտորների հավաքածուների։ . Երբ մուտքային պատկերը ստացվում է որոնման համար, այն մեքենայական ուսուցման մոդելի միջոցով վերածվում է վեկտորի, որի հիման վրա SPTAG ալգորիթմի միջոցով ընտրվում են ամենանման վեկտորները ինդեքսից և արդյունքում վերադարձվում են հարակից պատկերները:

Source: opennet.ru

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