Microsoft သည် Bing တွင်အသုံးပြုသည့် vector ရှာဖွေရေးစာကြည့်တိုက်ကို open source ပေးခဲ့သည်။

မိုက်ခရိုဆော့ဖ် ထုတ်ဝေခဲ့သည် စက်သင်ယူမှုစာကြည့်တိုက် အရင်းအမြစ်ကုဒ်များ SPTAG အနီးစပ်ဆုံး algorithm ကို အကောင်အထည်ဖော်ခြင်းဖြင့် (Space Partition Tree And Graph) အနီးဆုံးအိမ်နီးချင်းရှာဖွေရေး. စာကြည့်တိုက် ဒီဇိုင်းရေးဆွဲ Microsoft Research နှင့် ရှာဖွေရေးနည်းပညာဖွံ့ဖြိုးတိုးတက်ရေးစင်တာ (Microsoft Search Technology Center) ၏ သုတေသနဌာနခွဲတွင်။ လက်တွေ့တွင်၊ ရှာဖွေမှုမေးခွန်းများ၏ ဆက်စပ်မှုအပေါ် အခြေခံ၍ အသက်ဆိုင်ဆုံးရလဒ်များကို ဆုံးဖြတ်ရန် SPTAG ကို Bing ရှာဖွေရေးအင်ဂျင်မှ အသုံးပြုပါသည်။ ကုဒ်ကို C++ နဲ့ရေးထားတယ်။ ဖြန့်ဝေသည် MIT လိုင်စင်အောက်တွင်။ Linux နှင့် Windows အတွက် Build ကို ပံ့ပိုးထားသည်။ Python ဘာသာစကားအတွက် ချိတ်ဆက်မှုတစ်ခု ရှိသည်။

ရှာဖွေရေးအင်ဂျင်များတွင် vector သိုလှောင်မှုကို အသုံးပြုရန် စိတ်ကူးသည် အချိန်အတော်ကြာ ပေါ်နေသော်လည်း လက်တွေ့တွင်၊ ၎င်းတို့၏ အကောင်အထည်ဖော်မှုသည် vectors နှင့် scalability ကန့်သတ်ချက်များရှိသော မြင့်မားသော အရင်းအမြစ်ပြင်းထန်မှုနှင့်အတူ လည်ပတ်မှုကို အနှောင့်အယှက်ဖြစ်စေပါသည်။ အနီးစပ်ဆုံးအနီးဆုံး အိမ်နီးချင်း ရှာဖွေမှု အယ်လဂိုရီသမ်များနှင့် နက်ရှိုင်းသော စက်သင်ယူမှုနည်းလမ်းများကို ပေါင်းစပ်ခြင်းဖြင့် ကြီးမားသော ရှာဖွေရေးအင်ဂျင်များအတွက် လက်ခံနိုင်သော ဗက်တာစနစ်များ၏ စွမ်းဆောင်ရည်နှင့် ချဲ့ထွင်နိုင်စွမ်းကို ဆောင်ကြဉ်းပေးနိုင်ပါသည်။ ဥပမာအားဖြင့်၊ Bing တွင်၊ 150 ဘီလီယံ vectors အညွှန်းကိန်းအတွက်၊ အသက်ဆိုင်ဆုံးရလဒ်များကိုရယူရန်အချိန်သည် 8 ms အတွင်းဖြစ်သည်။

စာကြည့်တိုက်တွင် အညွှန်းတစ်ခုတည်ဆောက်ရန်နှင့် vector ရှာဖွေမှုများကို စုစည်းရန်အတွက် ကိရိယာများအပြင် ဖြန့်ဝေထားသော အွန်လိုင်းရှာဖွေမှုစနစ်အား ထိန်းသိမ်းရန်အတွက် ကိရိယာအစုံပါ၀င်သည် ။ လှူတယ်။ အောက်ဖော်ပြပါ မော်ဂျူးများ- indexing အတွက် အညွှန်းတည်ဆောက်သူ၊ node အများအပြားအစုအဝေးတွင် ဖြန့်ဝေထားသော အညွှန်းကို အသုံးပြု၍ ရှာဖွေရန်၊ ရှာဖွေသူသည် nodes များပေါ်တွင် ကိုင်တွယ်လုပ်ဆောင်သူများအတွက် ဆာဗာ၊ Aggregator အများအပြားကို ဆာဗာတစ်ခုသို့ ပေါင်းစပ်ရန်အတွက်၊ နှင့် queries ပေးပို့ရန်အတွက် client တို့ဖြစ်သည်။ အညွှန်းတွင် vector အသစ်များ ထည့်သွင်းခြင်းနှင့် ပျံသန်းနေသော vector များကို ဖျက်ခြင်းအား ထောက်ခံပါသည်။

စာကြည့်တိုက်သည် စုစည်းမှုတွင် စီမံဆောင်ရွက်ပြီး တင်ပြထားသည့် အချက်အလက်များကို ဆက်စပ်ပုံများကို အခြေခံ၍ နှိုင်းယှဉ်နိုင်သည့် ကွက်ကွက်ပုံစံဖြင့် ဖော်မတ်ပြုလုပ်ထားကြောင်း၊ ယူကလစ် (L2) သို့မဟုတ် ကိုsine အကွာအဝေး ရှာဖွေမှု query သည် ၎င်းတို့နှင့် မူရင်း vector အကြား အကွာအဝေး အနည်းဆုံးရှိသော vector များကို ပြန်ပေးသည်။ SPTAG သည် vector space ကိုစီစဉ်ရန် နည်းလမ်းနှစ်ခုကို ပံ့ပိုးပေးသည်- SPTAG-KDT (K-dimensional tree (kd-သစ်ပင်) နှင့် ဆွေမျိုးရပ်ကွက်ဂရပ်) နှင့် SPTAG-BKT (k-အဓိပ္ပာယ်သစ်ပင် (k ဆိုသည်မှာ သစ်ပင် နှင့်ဆွေမျိုးရပ်ကွက်ဂရပ်) ။ ပထမနည်းလမ်းသည် အညွှန်းကိန်းနှင့်လုပ်ဆောင်ရာတွင် အရင်းအမြစ်နည်းပါးပြီး ဒုတိယနည်းလမ်းသည် အလွန်ကြီးမားသော vector များစုစည်းမှုအတွက် ရှာဖွေမှုရလဒ်များ၏ ပိုမိုတိကျမှုကို ပြသသည်။

တစ်ချိန်တည်းမှာပင်၊ vector search သည် စာသားအတွက် အကန့်အသတ်မရှိဖြစ်ပြီး မာလ်တီမီဒီယာအချက်အလက်နှင့် ရုပ်ပုံများအပြင် အကြံပြုချက်များကို အလိုအလျောက်ထုတ်ပေးသည့်စနစ်များတွင်လည်း အသုံးပြုနိုင်မည်ဖြစ်သည်။ ဥပမာအားဖြင့်၊ PyTorch framework ကိုအခြေခံ၍ ရှေ့ပြေးပုံစံများထဲမှ တစ်ခုသည် ပုံများတွင် အရာဝတ္ထုများ၏ဆင်တူမှုအပေါ်အခြေခံ၍ ရှာဖွေရန်အတွက် vector system ကို အကောင်ထည်ဖော်ထားသော တိရစ္ဆာန်များ၊ ကြောင်များနှင့် ခွေးများ၏ပုံများပါရှိသော ဒေတာများကို ကိုးကားစုစည်းမှုများဖြင့် တည်ဆောက်ထားသော vector များဖြစ်သည်။ . ရှာဖွေမှုအတွက် ဝင်လာသောပုံကို လက်ခံရရှိသောအခါ၊ ၎င်းကို SPTAG အယ်လဂိုရီသမ်ကို အသုံးပြု၍ အညွှန်းမှအလားတူဆုံးသော vector များကို ရွေးချယ်ထားသည့်အပေါ် အခြေခံ၍ ၎င်းကို စက်သင်ယူမှုပုံစံကို vector အဖြစ်သို့ ပြောင်းပေးပါသည်။

source: opennet.ru

မှတ်ချက် Add