Microsoft iepene de bibleteek foar fektorsykjen brûkt yn Bing

Microsoft publisearre masine learen bibleteek boarne koades SPTAG (Space Partition Tree And Graph) mei ymplemintaasje fan it likernôch algoritme tichtstby buorman sykje. Biblioteek ûntwikkele yn 'e ûndersyksdivyzje fan Microsoft Research en it ûntwikkelingssintrum foar syktechnology (Microsoft Search Technology Center). Yn 'e praktyk wurdt SPTAG brûkt troch de Bing-sykmasine om de meast relevante resultaten te bepalen op basis fan' e kontekst fan sykfragen. De koade is skreaun yn C ++ en ferspraat troch ûnder MIT lisinsje. Build foar Linux en Windows wurdt stipe. Der is in bining foar de Python-taal.

Nettsjinsteande it feit dat it idee fan it brûken fan vector-opslach yn sykmasines al in hiel lange tiid rûn, wurdt har ymplemintaasje yn 'e praktyk hindere troch de hege boarne-yntensiteit fan operaasjes mei fektors en skalberensbeheiningen. It kombinearjen fan metoaden foar djippe masine-learen mei sawat algoritmen foar sykjen neist buorlju hat it mooglik makke om de prestaasjes en skalberens fan fektorsystemen op in nivo te bringen dat akseptabel is foar grutte sykmasines. Bygelyks, yn Bing, foar in fektoryndeks fan mear dan 150 miljard vectoren, is de tiid om de meast relevante resultaten te heljen binnen 8 ms.

De bibleteek omfettet ark foar it bouwen fan in yndeks en it organisearjen fan fektorsykjen, lykas ek in set ark foar it ûnderhâlden fan in ferspraat online syksysteem dat heul grutte kolleksjes fan vectoren beslacht. Oanbean de folgjende modules: yndeksbouwer foar yndeksearring, sykjen foar sykjen mei in yndeks ferdield yn in kluster fan ferskate knopen, tsjinner foar it útfieren fan handlers op knopen, Aggregator foar it kombinearjen fan ferskate tsjinners yn ien, en kliïnt foar it ferstjoeren fan fragen. Opnimming fan nije vectoren yn 'e yndeks en wiskjen fan vectoren op 'e flecht wurdt stipe.

De bibleteek hâldt yn dat de gegevens dy't yn 'e kolleksje ferwurke en presintearre binne opmakke binne yn' e foarm fan relatearre vectoren dy't kinne wurde fergelike op basis fan Euklidysk (L2) of cosinus ôfstannen De sykfraach jout fektors werom wêrfan de ôfstân tusken har en de oarspronklike fektor minimaal is. SPTAG biedt twa metoaden foar it organisearjen fan fektorromte: SPTAG-KDT (K-dimensionale beam (kd-beam) en relative buert grafyk) en SPTAG-BKT (k-betsjut beam (k-betsjut beam en relative buertgrafyk). De earste metoade fereasket minder boarnen by it wurkjen mei de yndeks, en de twadde toant hegere krektens fan sykresultaten foar heul grutte kolleksjes fan vectoren.

Tagelyk is fektorsykjen net beheind ta tekst en kin it tapast wurde op multymediale ynformaasje en ôfbyldings, lykas ek yn systemen foar it automatysk generearjen fan oanbefellings. Bygelyks, ien fan 'e prototypes basearre op it PyTorch-ramt ymplementearre in fektorsysteem foar sykjen basearre op' e oerienkomst fan objekten yn ôfbyldings, boud mei gegevens út ferskate referinsjekolleksjes mei ôfbyldings fan bisten, katten en hûnen, dy't waarden omboud ta sets fan vectoren. . As in ynkommende ôfbylding wurdt ûntfongen foar sykjen, wurdt it omboud mei in masine-learmodel yn in fektor, basearre op wêrfan de meast ferlykbere fektors wurde selektearre út 'e yndeks mei it SPTAG-algoritme en de assosjearre ôfbyldings wurde as gefolch weromjûn.

Boarne: opennet.ru

Add a comment