Майкрософт нь Bing-д ашигладаг вектор хайлтын номын санг нээлттэй эх сурвалжтай болгосон

Microsoft Нийтлэгдсэн машин сургалтын номын сангийн эх код SPTAG (Space Partition Tree And Graph) ойролцоогоор алгоритмын хэрэгжилттэй хамгийн ойрын хөрш хайх. Номын сан боловсруулсан Microsoft Research-ийн судалгааны хэлтэс болон хайлтын технологийн хөгжлийн төвийн (Microsoft Search Technology Center) Практикт SPTAG-ийг Bing хайлтын систем хайлтын асуулгын контекст дээр үндэслэн хамгийн их хамааралтай үр дүнг тодорхойлоход ашигладаг. Код нь C++ хэл дээр бичигдсэн бөгөөд тараасан MIT лицензийн дагуу. Линукс болон Windows-д зориулсан бүтээхийг дэмждэг. Python хэлний хувьд заавал байх ёстой.

Хайлтын системд вектор хадгалалтыг ашиглах санаа нэлээд удаан хугацаанд хөвж байсан ч практик дээр векторуудтай ажиллах нөөцийн өндөр эрчимжилт, өргөтгөх чадварын хязгаарлалт зэргээс шалтгаалан тэдгээрийг хэрэгжүүлэхэд саад болж байна. Гүнзгий машин сургалтын аргуудыг ойролцоох хөршийн хайлтын алгоритмтай хослуулсан нь вектор системийн гүйцэтгэл, өргөтгөх чадварыг томоохон хайлтын системд хүлээн зөвшөөрөгдөх түвшинд хүргэх боломжтой болсон. Жишээлбэл, Bing-д 150 тэрбум гаруй вектор бүхий вектор индексийн хувьд хамгийн хамааралтай үр дүнг авах хугацаа 8 мс дотор байна.

Номын сан нь индекс үүсгэх, вектор хайлтыг зохион байгуулах хэрэгсэл, мөн векторын маш том цуглуулгыг хамарсан тархсан онлайн хайлтын системийг хадгалах хэрэгслүүдийг агуулдаг. Санал болгож байна Дараах модулиуд: индексжүүлэх индекс үүсгэгч, хэд хэдэн зангилааны кластерт тархсан индексийг ашиглан хайх хайгч, зангилаанууд дээр зохицуулагч ажиллуулах сервер, хэд хэдэн серверийг нэг болгон нэгтгэх агрегатор, асуулга илгээх клиент. Шинэ векторуудыг индекст оруулах, векторуудыг шууд устгахыг дэмждэг.

Номын сан нь цуглуулгад боловсруулсан, танилцуулсан өгөгдлийг холбогдох вектор хэлбэрээр форматлаж, харьцуулж болно гэсэн үг юм. Евклид (L2) эсвэл косинус зай Хайлтын хайлт нь анхны вектор болон тэдгээрийн хоорондох зай нь хамгийн бага векторуудыг буцаана. SPTAG нь вектор орон зайг зохион байгуулах хоёр аргыг өгдөг: SPTAG-KDT (K хэмжээст мод (kd-мод) болон харьцангуй хөршийн график) ба SPTAG-BKT (k-мод гэсэн үг (k-мод гэсэн үг болон харьцангуй хөршийн график). Эхний арга нь индекстэй ажиллахад бага нөөц шаарддаг бол хоёр дахь арга нь маш том вектор цуглуулгын хайлтын үр дүнгийн өндөр нарийвчлалыг харуулдаг.

Үүний зэрэгцээ вектор хайлт нь зөвхөн текстээр хязгаарлагдахгүй бөгөөд мультимедиа мэдээлэл, зураг, түүнчлэн зөвлөмжийг автоматаар үүсгэх системд ашиглах боломжтой. Жишээлбэл, PyTorch систем дээр суурилсан прототипүүдийн нэг нь амьтан, муур, нохойн дүрс бүхий хэд хэдэн лавлах цуглуулгаас авсан өгөгдлийг ашиглан бүтээсэн зураг дээрх объектуудын ижил төстэй байдалд үндэслэн хайлт хийх вектор системийг хэрэгжүүлсэн бөгөөд тэдгээрийг векторын багц болгон хувиргасан. . Хайлтын зориулалтаар ирж буй зургийг хүлээн авахдаа түүнийг машин сургалтын загвар ашиглан вектор болгон хувиргаж, үүний үндсэн дээр SPTAG алгоритмыг ашиглан индексээс хамгийн төстэй векторуудыг сонгож, үр дүнд нь холбогдох зургуудыг буцаана.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх