杩欐槸鎴戝叧浜庡悜閲忔暟鎹簱鐨勭郴鍒楁枃绔犵殑绗笁绡囥€傜涓€閮ㄥ垎姣旇緝浜嗗悇绉嶆暟鎹簱渚涘簲鍟嗙殑浜у搧浠ュ強瀹冧滑鍦ㄩ珮灞傞潰涓婄殑鍖哄埆锛岃€岀浜岄儴鍒嗗垯鐫€閲嶄粙缁嶄簡鍚戦噺鏁版嵁搴撶殑鍩虹鐭ヨ瘑鍜屽姛鑳姐€傛偍鍙兘宸茬粡闃呰杩嘍mitry Kan鍦?021骞存挵鍐欑殑浼樼鏂囩珷銆婂苟闈炴墍鏈夊悜閲忔暟鎹簱閮芥槸鐩稿悓鐨勩€?锛岃鏂囩珷娑电洊浜嗗競鍦轰笂鍚勭鍚戦噺鏁版嵁搴撲箣闂寸殑宸紓銆傝嚜閭f椂浠ユ潵锛岃繖涓鍩熶竴鐩村湪涓嶆柇鍙戝睍锛屽洜涓烘瘡涓暟鎹簱鍦ㄥ叾鍐呴儴閮戒笌鍏朵粬鏁版嵁搴撲笉鍚岋紝鎵€浠ユ垜璁や负娣卞叆鎺㈣绱㈠紩鏄湁鎰忎箟鐨勶紝鍥犱负绱㈠紩鏄悜閲忔悳绱㈢殑鍩虹銆傚亣璁句綘宸茬粡鍏呭垎浜嗚В浠€涔堟槸鍚戦噺鏁版嵁搴擄紝閭d箞鍊煎緱鍥炶繃澶存潵鎬濊€冧竴涓嬶紝瀹冩槸濡備綍濡傛鍑鸿壊鍦版墿灞曞埌鑳藉鎼滅储鏁扮櫨涓囥€佹暟鍗佷嚎鐢氳嚦鏁颁竾浜夸釜鍚戦噺鐨勫憿锛熷悜閲忔暟鎹簱鐨勪富瑕佺洰鏍囨槸鎻愪緵涓€绉嶅揩閫熼珮鏁堢殑鏂瑰紡鏉ュ瓨鍌ㄥ拰璇箟鏌ヨ鏁版嵁锛屼互浣挎暟鎹被鍨嬫垚涓轰竴绛夊叕姘戙€備袱涓悜閲忎箣闂寸殑鐩镐技搴︽槸閫氳繃浣欏鸡璺濈鎴栫偣绉瓑璺濈搴﹂噺鏉ヨ 閲忕殑銆傚湪浣跨敤鍚戦噺鏁版嵁搴撴椂锛岄噸瑕佺殑鏄尯鍒嗘悳绱㈢畻娉曞拰杩戜技鏈€杩戦偦锛圓NN锛夋悳绱㈢畻娉曟墍鎿嶄綔鐨勫簳灞傜储寮曘€備笌澶у鏁版儏鍐典竴鏍凤紝閫夋嫨鍚戦噺绱㈠紩娑夊強鍒板噯纭€э紙绮剧‘搴?鍙洖鐜囷級鍜岄€熷害/鍚炲悙閲忎箣闂寸殑鏉冭 銆傜粡杩囨煡闃呮枃鐚紝鎴戝彂鐜板悜閲忕储寮曟柟娉曞彲浠ユ寜鐓ф暟鎹粨鏋勫拰鍘嬬缉绾у埆涓や釜灞傛杩涜缁勭粐銆傝繖浜涘垎绫诲苟涓嶆槸璇﹀敖鏃犻仐鐨勶紝璁稿鏉ユ簮瀵逛簬濡備綍姝g‘缁勭粐鍚勭绱㈠紩瀛樺湪鍒嗘锛屾墍浠ヨ繖鏄垜鏈€濂界殑灏濊瘯鏉ョ悊瑙h繖涓€鍒囥€備笅闈㈠紑濮嬪惂锛?/p>
绾у埆1锛氭暟鎹粨鏋?/strong>
鏍规嵁鐢ㄤ簬鏋勫缓绱㈠紩鐨勬暟鎹粨鏋勫绱㈠紩杩涜缁勭粐鏈夊姪浜庣悊瑙c€傛渶濂介€氳繃鍙鍖栫殑鏂瑰紡杩涜鎺㈢储銆傛牴鎹暟鎹粨鏋勫绱㈠紩杩涜缁勭粐鍙互鎻愪緵鏇寸洿瑙傜殑鐞嗚В銆?/p>
鍝堝笇绱㈠紩
鍝堝笇绱㈠紩锛圚ash-based index锛夋槸涓€绉嶅熀浜庡搱甯屽嚱鏁扮殑绱㈠紩鏂规硶锛屼緥濡傚眬閮ㄦ晱鎰熷搱甯岋紙Locally Sensitive Hashing锛孡SH锛夈€傚搱甯岀储寮曞皢楂樼淮鏁版嵁杞崲涓轰綆缁村搱甯岀爜锛屾棬鍦ㄥ敖鍙兘淇濇寔鍘熷鏁版嵁鐨勭浉浼兼€с€傚湪寤虹珛绱㈠紩鏃讹紝鏁版嵁闆嗕細琚娆″搱甯岋紝浠ョ‘淇濈浉浼肩殑鏁版嵁鐐规洿鏈夊彲鑳藉彂鐢熺鎾烇紙杩欎笌浼犵粺鐨勫搱甯屾妧鏈浉鍙嶏紝浼犵粺鍝堝笇鎶€鏈殑鐩爣鏄敖閲忓噺灏戠鎾烇級銆傚湪鏌ヨ鏃讹紝鏌ヨ鐐逛篃浼氫娇鐢ㄤ笌寤虹珛绱㈠紩鏃剁浉鍚岀殑鍝堝笇鍑芥暟杩涜鍝堝笇锛岀敱浜庣浉浼肩殑鏁版嵁鐐硅鍒嗛厤鍒板悓涓€涓搱甯屾《涓紝鎵€浠ユ绱㈤潪甯稿揩閫熴€傚搱甯岀储寮曠殑涓昏浼樼偣鏄湪澶勭悊澶ч噺鏁版嵁鏃堕潪甯稿揩閫燂紝浣嗙己鐐规槸鍑嗙‘鎬ц緝浣庛€?/p>
鍩轰簬鏍戠殑绱㈠紩
鍩轰簬鏍戠殑绱㈠紩缁撴瀯锛圱ree-based index锛夐€氳繃浜屽弶鎼滅储鏍戝疄鐜板湪楂樼淮绌洪棿涓殑蹇€熸悳绱€傛爲鐨勬瀯寤烘柟寮忎娇寰楃浉浼肩殑鏁版嵁鐐规洿鏈夊彲鑳戒綅浜庡悓涓€瀛愭爲涓紝浠庤€屾洿蹇湴鍙戠幇杩戜技鏈€杩戦偦銆侫nnoy锛圓pproximate Nearest Neighbors Oh Yeah锛夋槸涓€绉嶄娇鐢ㄤ簩鍙夋悳绱㈡爲妫灄鐨勬柟娉曪紝鐢盨potify寮€鍙戙€傚熀浜庢爲鐨勭储寮曠殑缂虹偣鏄紝瀹冧滑鍙浣庣淮鏁版嵁琛ㄧ幇杈冨ソ锛屽湪楂樼淮鏁版嵁涓噯纭€ц緝浣庯紝鍥犱负瀹冧滑鏃犳硶鍏呭垎鎹曟崏鏁版嵁鐨勫鏉傛€с€?/p>
鍩轰簬鍥剧殑绱㈠紩
鍩轰簬鍥剧殑绱㈠紩锛圙raph-based index锛夋槸鍩轰簬鏁版嵁鐐瑰湪鍚戦噺绌洪棿涓舰鎴愬浘鐨勬€濇兂鏋勫缓鐨勭储寮曘€傚浘涓殑鑺傜偣琛ㄧず鏁版嵁鍊硷紝杩炴帴鑺傜偣鐨勮竟琛ㄧず鏁版嵁鐐逛箣闂寸殑鐩镐技鎬с€傚浘鐨勬瀯寤烘柟寮忎娇寰楃浉浼肩殑鏁版嵁鐐规洿鏈夊彲鑳介€氳繃杈硅繛鎺ュ湪涓€璧凤紝鑰岃繎浼兼渶杩戦偦锛圓NN锛夋悳绱㈢畻娉曡璁捐涓轰互楂樻晥鐨勬柟寮忛亶鍘嗗浘銆傚浘鐨勭储寮曚富瑕佷紭鍔垮湪浜庤兘澶熷湪楂樼淮鏁版嵁涓壘鍒拌繎浼兼渶杩戦偦锛屽苟涓斿叿鏈夎緝楂樼殑鍐呭瓨鏁堢巼锛屾彁楂樻€ц兘銆備笅闈㈡槸鍥剧殑绱㈠紩鐨勪袱涓緥瀛愶細HNSW鍜孷amana銆?灏嗗浘鐨勭储寮曚笌鏍戠殑绱㈠紩姒傚康鐩哥粨鍚堢殑鎵╁睍鏄疦GT3锛圢eighbourhood Graphs and Trees锛夈€傜敱Yahoo! Japan Corporation寮€鍙戯紝瀹冨湪绱㈠紩杩囩▼涓繘琛屼簡涓や釜鏋勫缓鎿嶄綔锛氫竴涓皢瀵嗛泦鐨刱NN鍥捐浆鎹负鍙屽悜鍥撅紝鍙︿竴涓€愭鏋勫缓鍙鑸殑灏忎笘鐣岋紙NSW锛夊浘銆備笌绾浘鐨勭储寮曚笉鍚屼箣澶勫湪浜庡畠浣跨敤浜嗙被浼兼爲鐘剁粨鏋勶紙Vantage-point锛屾垨绉颁负鈥淰P鈥濇爲锛夌殑鑼冨洿鎼滅储锛岃繖鏄湪鍥剧殑鏋勫缓杩囩▼涓殑涓€绉嶈椽濠悳绱㈢殑鍙樹綋銆傜敱浜庤繖涓や釜鏋勫缓鎿嶄綔瀵艰嚧鑺傜偣鍏锋湁杈冮珮鐨勫嚭搴︼紝涓轰簡閬垮厤缁勫悎鐖嗙偢锛屾悳绱㈣捣鐐逛娇鐢ㄨ寖鍥存悳绱娇閬嶅巻鏇村姞楂樻晥銆傝繖浣垮緱NGT鎴愪负涓€绉嶆贩鍚堢殑鍥惧拰鏍戠殑绱㈠紩銆?/p>
鍊掓帓鏂囦欢绱㈠紩
鍊掓帓鏂囦欢绱㈠紩锛圛nverted file index锛孖VF锛夊皢鍚戦噺绌洪棿鍒掑垎涓哄涓粏鍒嗙殑鍗曞厓锛岀О涓篤oronoi鍥撅紝杩欎簺鍥惧噺灏戜簡鎼滅储绌洪棿锛岀被浼间簬鑱氱被鐨勬晥鏋溿€備负浜嗘壘鍒版渶杩戦偦锛孉NN绠楁硶鍙渶瀹氫綅鏈€杩慥oronoi鍥惧崟鍏冪殑璐ㄥ績锛岀劧鍚庝粎鍦ㄨ鍗曞厓鍐呰繘琛屾悳绱€侷VF鐨勫ソ澶勫湪浜庡畠鏈夊姪浜庤璁″揩閫熺缉灏忕浉浼兼€ф劅鍏磋叮鍖哄煙鐨凙NN绠楁硶锛屼絾鍏跺師濮嬪舰寮忕殑缂虹偣鏄湪缁嗗垎鍚戦噺绌洪棿鐨勯噺鍖栨楠ゅ彲鑳藉浜庨潪甯稿ぇ閲忕殑鏁版嵁鑰岃█閫熷害杈冩參銆傚洜姝わ紝IVF閫氬父涓庨噺鍖栨柟娉曪紙濡備骇鍝侀噺鍖栵紝PQ锛夌粨鍚堜娇鐢ㄤ互鎻愰珮鎬ц兘銆?/p>
绾у埆2锛氬帇缂?/strong>
绱㈠紩鍙互缁勭粐鐨勭浜屼釜绾у埆鏄畠浠殑鍘嬬缉绾у埆锛氫竴涓€滃钩鍧︹€濇垨鏆村姏绱㈠紩鏄互鏈粡淇敼鐨勫舰寮忓瓨鍌ㄥ悜閲忕殑绱㈠紩銆傚綋鎺ユ敹鍒版煡璇㈠悜閲忔椂锛屽畠浼氫笌鏁版嵁搴撲腑鐨勬瘡涓悜閲忚繘琛岃灏界殑姣旇緝锛屽涓嬮潰绠€鍖栫殑涓夌淮绌洪棿绀轰緥鎵€绀恒€傚疄璐ㄤ笂锛屼娇鐢ㄨ繖鏍风殑绱㈠紩灏卞儚杩涜kNN鎼滅储锛岃繑鍥炵殑缁撴灉鏄笌k涓渶杩戦偦鍚戦噺瀹屽叏鍖归厤鐨勭粨鏋溿€傚彲浠ユ兂璞★紝杩斿洖缁撴灉鎵€闇€鐨勬椂闂翠細闅忕潃鏁版嵁澶у皬鐨勫鍔犺€岀嚎鎬у鍔狅紝杩欏湪搴旂敤浜庡寘鍚暟鍗佷竾涓悜閲忕殑鏁版嵁闆嗘椂鏄笉瀹為檯鐨勩€?/p>
涓轰簡鎻愰珮鎼滅储鏁堢巼锛屼互鐗虹壊涓€瀹氱殑妫€绱㈠噯纭€т负浠d环锛屽彲浠ラ噰鐢ㄥ帇缂╃殑瑙e喅鏂规銆傝繖涓繃绋嬭绉颁负閲忓寲锛坬uantization锛夛紝鍏朵腑绱㈠紩涓殑搴曞眰鍚戦噺琚垎瑙f垚鐢辫緝灏戝瓧鑺傜粍鎴愮殑鍧楋紙閫氬父閫氳繃灏嗘诞鐐规暟杞崲涓烘暣鏁帮級浠ュ噺灏戝唴瀛樻秷鑰楀拰鎼滅储杩囩▼涓殑璁$畻鎴愭湰銆?/p>
骞冲潶绱㈠紩
鍦ㄤ娇鐢ˋNN锛堥潪绌蜂妇锛夋悳绱㈡椂锛屽綋鐜版湁鐨勭储寮曪紙濡侷VF鎴朒NSW锛夌洿鎺ヨ绠楁煡璇㈠悜閲忎笌鏁版嵁搴撳悜閲忎箣闂寸殑璺濈鏃讹紝瀹冭绉颁负鈥滃钩鍧︹€濈储寮曘€傝繖涓庨噺鍖栧彉浣撴湁鎵€鍖哄埆銆傚湪杩欑鏂瑰紡涓嬩娇鐢ㄦ椂锛屽畠浠绉颁负IVF-Flat銆丠NSW-Flat绛夈€?/p>
閲忓寲绱㈠紩
閲忓寲绱㈠紩锛圦uantized indexes锛夋槸灏嗙幇鏈夌殑绱㈠紩锛堝IVF銆丠NSW銆乂amana锛変笌閲忓寲绛夊帇缂╂柟娉曠粨鍚堣捣鏉ワ紝浠ュ噺灏戝唴瀛樺崰鐢ㄥ苟鍔犲揩鎼滅储閫熷害銆傞噺鍖栭€氬父鏈変袱绉嶇被鍨嬶細鏍囬噺閲忓寲锛圫calar Quantization锛孲Q锛夊拰浜у搧閲忓寲锛圥roduct Quantization锛孭Q锛夈€係Q灏嗗悜閲忎腑鐨勬诞鐐规暟杞崲涓烘暣鏁帮紙鍦ㄥ瓧鑺傚ぇ灏忎笂瑕佸皬寰楀锛夛紝閫氳繃灏嗗悜閲忓绉板湴鍒嗘垚鑰冭檻姣忎釜缁村害鐨勬渶灏忓€煎拰鏈€澶у€肩殑鍖洪棿銆?PQ鏄竴绉嶆洿澶嶆潅鐨勬柟娉曪紝瀹冭€冭檻浜嗘瘡涓悜閲忕淮搴︿笂鐨勫€煎垎甯冿紝鍚屾椂杩涜鍘嬬缉鍜屾暟鎹檷缁淬€侾Q鐨勬€濇兂鏄皢杈冨ぇ缁村害鐨勫悜閲忕┖闂村垎瑙d负杈冨皬缁村害瀛愮┖闂寸殑绗涘崱灏旂Н锛岄€氳繃灏嗘瘡涓瓙绌洪棿閲忓寲涓鸿嚜宸辩殑鑱氱被鏉ヨ〃绀哄悜閲忥紝浣垮緱鍙互浠庡畠浠殑浠g爜锛堢О涓洪噸鏋勫€硷級鏈夋晥鍦颁及璁″畠浠箣闂寸殑璺濈銆備笌SQ涓嶅悓锛孭Q浣跨敤浜嗛潪瀵圭О鐨勫垎绠辫繃绋嬶紝澧炲姞浜嗙簿搴︼紝鍥犱负瀹冨皢姣忎釜瀛愮┖闂村唴鍚戦噺鐨勫垎甯冪撼鍏ヤ簡杩戜技璺濈浼拌鐨勪竴閮ㄥ垎銆傜劧鑰岋紝杩欎篃瀛樺湪涓€涓潈琛★紝鍗冲畠浼氭樉钁楅檷浣庡彫鍥炵巼銆?/p>
娴佽鐨勭储寮?/p>
鍦ㄥ垪鍑虹殑鎵€鏈夌储寮曟柟娉曚腑锛屽ぇ澶氭暟涓撻棬鏋勫缓鐨勫悜閲忔暟鎹簱鍙疄鐜板叾涓殑涓€灏忛儴鍒嗐€傝繖鏄竴涓潪甯稿揩閫熷彂灞曠殑棰嗗煙锛屽洜姝ゅ湪闃呰鏈枃鏃讹紝寰堝淇℃伅鍙兘宸茬粡杩囨椂銆傚己鐑堝缓璁偍鏌ラ槄鎮ㄦ劅鍏磋叮鐨勬暟鎹簱鐨勬渶鏂版枃妗o紝浜嗚В瀹冧滑鏀寔鍝簺绱㈠紩銆傚湪鏈妭涓紝鎴戝皢閲嶇偣浠嬬粛涓€浜涘彈澶氫釜渚涘簲鍟嗗叧娉ㄧ殑鐑棬鍜屽嵆灏嗘帹鍑虹殑绱㈠紩銆?/p>
IVF-PQ
VF-PQ锛堝悜閲忓€掓帓鏂囦欢绱㈠紩涓庝骇鍝侀噺鍖栵級鏄湪Milvus鍜孡anceDB绛夋暟鎹簱涓彁渚涚殑澶嶅悎绱㈠紩銆傜储寮曠殑IVF閮ㄥ垎鐢ㄤ簬缂╁皬鎼滅储绌洪棿锛岃€孭Q閮ㄥ垎鐢ㄤ簬鍔犻€熸煡璇㈠悜閲忎笌鏁版嵁搴撳悜閲忎箣闂寸殑璺濈璁$畻锛屽苟閫氳繃閲忓寲鍚戦噺鏉ュ噺灏戝唴瀛橀渶姹傘€傚皢涓よ€呯粨鍚堢殑濂藉鍦ㄤ簬锛岀敱浜嶱Q缁勪欢鐨勫瓨鍦紝閫熷害寰楀埌浜嗗ぇ骞呮彁鍗囷紝骞朵笖IVF缁勪欢鏈夊姪浜庢彁楂橈紙閫氬父鐢变簬PQ缁勪欢鑰屽彈鍒版崯瀹崇殑锛夊彫鍥炵巼銆?PQ缁勪欢鍙互鏍规嵁涓嬮潰鐨勫浘琛ㄨ繘琛屽垎瑙c€傝〃绀烘暟鎹偣鐨勬瘡涓悜閲忕敱鍥哄畾鏁伴噺鐨勭淮搴缁勬垚锛堝彇鍐充簬涓婃父浣跨敤鐨勫祵鍏ユā鍨嬶紝閫氬父涓烘暟鐧炬垨鏁板崈锛夈€傜敱浜庡湪澶у瀷鏁版嵁闆嗕笂瀛樺偍杩欎箞澶?2浣嶆垨64浣嶆诞鐐规暟鍙兘闈炲父鏄傝吹锛屼骇鍝侀噺鍖栭€氳繃涓や釜闃舵鏉ヨВ鍐宠繖涓棶棰橈細绗竴闃舵鏄矖閲忓寲闃舵锛屽皢鍚戦噺鍒嗘垚m涓瓙鍚戦噺锛屾瘡涓瓙鍚戦噺鐨勭淮搴︿负d/m锛屽苟涓烘瘡涓瓙鍚戦噺鍒嗛厤涓€涓噺鍖栧€硷紙绉颁负鈥滈噸鏋勫€尖€濓級锛屽皢鍘熷鍚戦噺鏄犲皠鍒拌瀛愮┖闂翠腑鐐圭殑璐ㄥ績銆?绗簩闃舵绫讳技浜巏-means鑱氱被锛岄€氳繃鏈€灏忓寲鍘熷鍚戦噺涓庨噺鍖栧悜閲忚川蹇冧箣闂寸殑璺濈鏉ュ涔犱竴缁勨€滅爜鏈€濆€笺€傞€氳繃灏嗗ぇ鍨嬮珮缁村悜閲忔槧灏勪负杈冨皬鐨勪綆缁村瓙鍚戦噺锛屽彧闇€瀛樺偍閲忓寲鍊肩殑鐮佹湰锛屼粠鑰屼娇鍐呭瓨鍗犵敤閲忓ぇ澶у噺灏忋€?/p>
鐒跺悗锛孖VF琚簲鐢ㄤ簬PQ鍚戦噺绌洪棿 - 瀵逛簬绌洪棿涓殑姣忎釜鐐癸紝閮芥湁涓€涓浉搴旂殑鍖哄煙锛岀О涓篤oronoi鍗曞厓锛屽叾涓寘鍚墍鏈夎窛绂绘簮鐐癸紙绉嶅瓙鐐癸級姣斾换浣曞叾浠栫偣鏇磋繎鐨勭┖闂翠腑鐨勭偣銆傝繖浜涚瀛愮偣鐢ㄤ簬鍒涘缓涓€涓€掓帓绱㈠紩锛屽皢姣忎釜璐ㄥ績涓庣┖闂翠腑鐨勫悜閲忓垪琛ㄧ浉鍏宠仈銆?/p>
鏍规嵁鏌ヨ鍚戦噺鎵€鍦ㄧ殑浣嶇疆锛屽畠鍙兘闈犺繎澶氫釜Voronoi鍗曞厓鐨勮竟鐣岋紝浣垮緱浠庡摢浜涘崟鍏冭繑鍥炴渶杩戦偦鍙樺緱妯$硦涓嶆竻锛屽鑷磋竟缂橀棶棰樸€傚洜姝わ紝IVF-PQ绱㈠紩娑夊強璁剧疆涓€涓澶栫殑鍙傛暟n_probes锛屽憡璇夋悳绱㈢畻娉曞悜澶栨墿灞曞埌鍙傛暟鎸囧畾鐨勫崟鍏冩暟銆?涓轰簡鏈夋晥鍦版瀯寤篒VF-PQ绱㈠紩锛岄渶瑕佸仛鍑轰袱涓€夋嫨锛歅Q姝ラ鐨勫瓙鍚戦噺鏁伴噺鍜孖VF姝ラ鐨勫垎鍖烘暟閲忋€傚瓙鍚戦噺鏁伴噺瓒婂ぇ锛屾瘡涓瓙绌洪棿瓒婂皬锛屽噺灏戜簡鐢变簬鍘嬬缉鑰屽鑷寸殑淇℃伅鎹熷け銆傜劧鑰岋紝杈冨ぇ鐨勫瓙鍚戦噺鏁伴噺涔熶細瀵艰嚧姣忎釜PQ姝ラ涓殑鏇村I/O鍜岃绠楅噺锛屽洜姝ゅ繀椤诲皢姝ゆ暟閲忔渶灏忓寲锛屼互淇濇寔璁$畻鎴愭湰浣庡粔銆傜被浼煎湴锛孖VF姝ラ涓殑鍒嗗尯鏁伴噺蹇呴』閫夋嫨浠ュ湪鍙洖鐜囧拰鎼滅储閫熷害涔嬮棿鍙栧緱骞宠 銆傚綋鍒嗗尯鏁伴噺绛変簬鏁版嵁闆嗕腑鐨勫悜閲忔暟閲忔椂锛屾瀬闄愭儏鍐典笅鏄毚鍔涙悳绱紝杩欐槸鏈€鍑嗙‘鐨勶紙鍙洖鐜囦负1锛夛紝浣嗗疄璐ㄤ笂灏嗗叾鍙樻垚浜咺VF-Flat绱㈠紩銆備簨瀹炰笂锛孡anceDB鐨処VF-PQ绱㈠紩鏂囨。涓‘鍒囨弿杩颁簡鍦ㄥ垱寤虹储寮曟椂鐨勮繖浜涙潈琛★紝鍥犳鍊煎緱娣卞叆浜嗚В杩欎簺姒傚康锛屼互浜嗚В濡備綍鍦ㄥ疄闄呭満鏅腑搴旂敤瀹冧滑銆?/p>
HNSW
鍒嗗眰鍙鑸皬涓栫晫锛圚NSW锛夊浘鏄瀯寤哄悜閲忕储寮曚腑鏈€鍙楁杩庣殑绠楁硶涔嬩竴 - 鍦ㄦ挵鍐欐湰鏂囨椂锛屽嚑涔庢瘡涓暟鎹簱渚涘簲鍟嗛兘灏嗗叾浣滀负棣栭€夐€夐」銆傚畠涔熸槸鏈€鐩磋鐨勭畻娉曚箣涓€锛屽己鐑堝缓璁槄璇讳粙缁嶅畠鐨勫師濮嬭鏂囥€?鍦ㄩ珮灞傛涓婏紝HNSW鍩轰簬灏忎笘鐣屽浘鐜拌薄鏋勫缓锛岃鐜拌薄琛ㄦ槑灏界鍥句腑鐨勫ぇ澶氭暟鑺傜偣涓嶆槸褰兼鐨勯偦灞咃紝浣嗙粰瀹氳妭鐐圭殑閭诲眳寰堝彲鑳芥槸褰兼鐨勯偦灞咃紝鏃犺鍥剧殑澶у皬濡備綍銆傚熀鏈笂锛屽浘涓殑浠讳綍鑺傜偣閮藉彲浠ラ€氳繃鐩稿杈冨皯鐨勬楠や粠鍏朵粬鑺傜偣鍒拌揪銆傚湪涓嬮潰鐨勭ず渚嬩腑锛屽疄蹇冨~鍏呯殑钃濊壊鍜岀孩鑹茶妭鐐瑰彲浠ュ湪浠呯粡杩?涓烦璺冪殑鎯呭喌涓嬬浉浜掑埌杈撅紝灏界瀹冧滑鍦ㄥ浘涓彲鑳借璁や负鏄浉璺濊緝杩滅殑銆?/p>
鎮ㄧ殑鏁版嵁鎵€鍦ㄧ殑鍚戦噺绌洪棿涔熷彲浠ヨ瑙嗕负涓€涓彲瀵艰埅鐨勫皬涓栫晫锛圢SW锛夊浘锛屽叾涓妭鐐硅〃绀烘暟鎹偣锛岃竟琛ㄧず鐩镐技鎬э紝鍗虫弿杩颁袱涓妭鐐瑰湪鍚戦噺绌洪棿涓殑鎺ヨ繎绋嬪害鐨勬暟鍊笺€侼SW閫氳繃鏋勫缓涓€涓棤鍚戝浘鏉ョ‘淇濆叏灞€杩為€氭€э紝鍗崇粰瀹氫换鎰忓叆鍙g偣锛屽彲浠ュ埌杈惧浘涓殑浠讳綍鑺傜偣銆傞鍏堝舰鎴愯繙璺濈鐨勮竟锛堣繛鎺ヨ繙绂荤殑鑺傜偣锛岄渶瑕佸娆¢亶鍘嗭級锛岀劧鍚庡舰鎴愮煭璺濈鐨勮竟锛堣繛鎺ラ檮杩戠殑鑺傜偣锛夈€傞暱杈规彁楂樹簡鎼滅储鏁堢巼锛岃€岀煭杈规彁楂樹簡鎼滅储鍑嗙‘鎬с€傚彲浠ラ€氳繃閬嶅巻杩欎釜鍥炬潵鎵惧埌缁欏畾鏌ヨ鍚戦噺鐨勬渶杩戣妭鐐广€?/p>
NSW鍥剧殑涓€涓棶棰樻槸瀹冩槸骞冲潶鐨?- 鏌愪簺鑺傜偣鍙兘浼氬垱寤哄瘑闆嗙殑鈥滀氦閫氭灑绾解€濓紝闄嶄綆閬嶅巻鐨勬晥鐜囷紝骞跺鑷存柟娉曠殑鎼滅储澶嶆潅搴︿负澶氬鏁扮骇鍒€侶NSW閫氳繃鍒嗗眰鍥剧粨鏋勬潵瑙e喅杩欎釜闂锛屽苟淇浜嗘瘡涓妭鐐归偦灞呮暟閲忕殑涓婇檺锛屽皢鎼滅储澶嶆潅搴﹂檷浣庡埌瀵规暟绾у埆銆傚熀鏈€濇兂鏄牴鎹妭鐐逛箣闂寸殑璺濈灏哄害灏嗘渶杩戦偦鍒嗗眰鍦ㄥ浘涓€傚浘涓殑闀胯竟淇濈暀鍦ㄩ《灞傦紙鍗虫渶绋€鐤忕殑灞傦級锛屾瘡涓緝浣庣殑灞傚寘鍚殑杈规瘮涓婇潰鐨勫眰鏇寸煭銆傛渶浣庡眰褰㈡垚瀹屽叏鍥撅紝骞朵笖鎼滅储鏄粠涓婂埌涓嬭繘琛岀殑銆傚鏋滄墍鏈夊眰閮解€滄姌鍙犫€濆埌褰兼涓紝HNSW鍥炬湰璐ㄤ笂灏辨槸涓€涓狽SW鍥俱€?/p>
涓婇潰鐨勫浘绀哄睍绀轰簡濡備綍鍦ㄩ《灞傜粰瀹氫换鎰忓叆鍙g偣鐨勬儏鍐典笅锛屽彲浠ュ揩閫熼亶鍘嗘暣涓浘锛岄€愬眰闄嶄綆锛岀洿鍒版壘鍒颁笌鏌ヨ鍚戦噺鏈€杩戠殑閭诲眳銆侶NSW鐩稿浜嶪VF鐨勬渶澶т紭鍔垮湪浜庡畠鑳藉鍦ㄥ鏉傜殑楂樼淮鍚戦噺绌洪棿涓互楂樺彫鍥炵巼鎵惧埌杩戜技鏈€杩戦偦銆備簨瀹炰笂锛屽湪鍏跺彂甯冩椂锛堝ぇ绾?019骞达級锛屽畠鍦ㄥ熀鍑嗘暟鎹泦涓婁骇鐢熶簡鏈€鍏堣繘鐨勭粨鏋滐紝鐗瑰埆鏄湪鎻愰珮鍙洖鐜囩殑鍚屾椂閫熷害涔熷緢蹇紝杩欒В閲婁簡瀹冪殑宸ㄥぇ娴佽銆傜劧鑰岋紝瀹冨湪鍐呭瓨鏁堢巼鏂归潰涓嶅IVF锛岄櫎闈炲湪鎼滅储鏃朵笌PQ绛夋柟娉曠粨鍚堜娇鐢ㄦ潵鍘嬬缉鍚戦噺銆傚嚭浜庤繖浜涘師鍥狅紝鍍廞drant鍜學eaviate杩欐牱鐨勬暟鎹簱閫氬父瀹炵幇浜嗘秹鍙婇噺鍖栫殑澶嶅悎绱㈠紩锛屼緥濡侶NSW-PQ10锛屽悓鏃惰繕鎻愪緵浜嗚皟鏁村彫鍥炵巼鍜屾煡璇㈠欢杩熶箣闂存潈琛$殑璋冭妭鍙傛暟銆?/p>
Vamana
Vamana鏄渶杩戝紑鍙戠殑鍩轰簬鍥剧殑绱㈠紩绠楁硶涔嬩竴锛岀敱Subramanya绛変汉涓庡井杞爺绌堕櫌鍗板害鍚堜綔锛屽湪2019骞寸殑NeurIPS浼氳涓婇娆℃彁鍑恒€俈amana鐨勬樉钁楃壒鐐瑰寘鎷細
瀹冧粠澶村紑濮嬭璁★紝鏃㈠彲浠ュ湪鍐呭瓨涓伐浣滐紙澶у鏁扮储寮曢兘鏄负姝よ璁$殑锛夛紝涔熷彲浠ュ湪纾佺洏涓婂伐浣溿€傚井杞彁鍑虹殑纾佺洏瀹炵幇琚О涓篋iskANN銆傚浜庡悜閲忔暟鎹簱渚涘簲鍟嗘潵璇达紝纾佺洏绱㈠紩浼间箮鏄竴涓法澶х殑瀹炵幇鎸戞垬锛屾墍浠ヨ繖鏄疺amana涓庡叾浠栫畻娉曠殑鍖哄埆涔嬩竴銆?/p>
瀹冨厑璁稿鏃犳硶鏀惧叆鍐呭瓨鐨勬暟鎹泦杩涜绱㈠紩锛岄€氳繃鏋勫缓閲嶅彔鍒嗗尯鐨勮緝灏忕储寮曪紝鍙互杞绘澗鍚堝苟涓轰竴涓崟涓€绱㈠紩锛屽叾鏌ヨ鎬ц兘涓庝负鏁翠釜鏁版嵁闆嗘瀯寤虹殑鍗曚竴绱㈠紩鐩稿綋銆?/p>
瀹冭繕鍙互涓嶱Q绛夌幇鎴愮殑鍚戦噺鍘嬬缉鏂规硶缁撳悎浣跨敤锛屾瀯寤轰竴涓猇amana-PQ绱㈠紩锛岀敤浜庢敮鎸丏iskANN绯荤粺 - 鏁版嵁闆嗙殑瀹屾暣绮惧害鍚戦噺瀛樺偍鍦ㄧ鐩樹笂锛岃€屽帇缂╁悜閲忓垯缂撳瓨鍦ㄥ唴瀛樹腑锛屽疄鐜颁簡涓よ€呯殑鏈€浣崇粨鍚堛€?/p>
Vamana閫氳繃杩唬鏋勫缓涓€涓湁鍚戝浘锛岄鍏堜粠涓€涓殢鏈哄浘寮€濮嬶紝鍏朵腑姣忎釜鑺傜偣琛ㄧず鍚戦噺绌洪棿涓殑涓€涓暟鎹偣銆傚湪寮€濮嬫椂锛屽浘鏄珮搴﹁繛鎺ョ殑锛屽嵆鍑犱箮鎵€鏈夎妭鐐归兘鐩镐簰杩炴帴銆傜劧鍚庯紝浣跨敤涓€涓洰鏍囧嚱鏁板鍥捐繘琛屼紭鍖栵紝璇ュ嚱鏁版棬鍦ㄦ渶澶у寲褰兼鏈€鎺ヨ繎鐨勮妭鐐逛箣闂寸殑杩炴帴鎬с€傝繖鏄€氳繃淇壀澶ч儴鍒嗛殢鏈虹殑鐭▼杈圭紭锛屽苟娣诲姞杩炴帴鐩歌窛杈冭繙鐨勮妭鐐圭殑鏌愪簺闀跨▼杈圭紭锛堜互鍔犲揩鍥句腑鐨勯亶鍘嗭級鏉ュ疄鐜扮殑銆?/p>
鍦ㄦ煡璇㈡椂锛岄€夋嫨鍏ㄥ眬璐ㄥ績浣滀负鍏ュ彛鐐广€傞€氳繃闀跨▼杈瑰揩閫熷悜鍙虫柟鍚戣繘琛屾悳绱紝杩欎娇寰楃畻娉曡兘澶熷揩閫熻烦杞埌鍥剧殑绔偣锛屽苟鐩稿蹇€熷湴缂╁皬鍒版煡璇㈠悜閲忕殑鏈€杩戦偦銆傚湪涓嬮潰鐨勭ず渚嬩腑锛屽彧闇€瑕佷笁娆¤烦璺冨氨鍙互浠庡叆鍙g偣锛堝叏灞€璐ㄥ績锛夐亶鍘嗗埌鍥剧殑澶栬竟缂橈紝鐒跺悗鍒拌揪鏈€杩戦偦銆?/p>
姝e鎮ㄥ彲鑳藉凡缁忔敞鎰忓埌鐨勯偅鏍凤紝Vamana鎻愪緵鐨勬槸涓€绉嶆洿澶氱殑鈥滃唴閮?澶栭儴鈥濇悳绱㈡柟娉曪紝鑰屼笉鏄疕NSW鐨勨€滃閮?鍐呴儴鈥濇悳绱㈡柟娉曪紝鍏朵腑鎼滅储浠庨《灞傜殑涓€涓殢鏈鸿妭鐐癸紙鍙兘寰堣繙锛夊紑濮嬶紝骞跺悜鍐呴儴杩涜銆?鐩墠锛堟埅鑷?023骞达級锛屾病鏈夊灏戞暟鎹簱瀹炵幇浜哣amana绱㈠紩锛岃繖鍙兘鏄敱浜庡湪纾佺洏涓婂疄鐜扮殑鎶€鏈寫鎴樹互鍙婂寤惰繜鍜屾悳绱㈤€熷害鐨勫奖鍝嶃€侻ilvus11鐩墠鏄敮涓€鍏锋湁鍙敤鐨勭鐩樹笂Vamana绱㈠紩鐨勪緵搴斿晢锛岃€學eaviate12鍜孡anceDB13鐩墠鍙湁瀹為獙鎬х殑瀹炵幇銆傜劧鑰岋紝杩欐槸涓€涓揩閫熷彂灞曠殑棰嗗煙锛屽洜姝ゅ己鐑堝缓璁偍鍏虫敞鍏抽敭鐨勫悜閲忔暟鎹簱渚涘簲鍟嗭紝浠ヤ簡瑙f渶鏂扮殑鍙戝睍鎯呭喌锛?/p>
娴佽鐨勭煝閲忔暟鎹簱涓彲鐢ㄧ殑绱㈠紩
姝e鏈郴鍒楃殑绗竴閮ㄥ垎鎵€绀猴紝澶у鏁版暟鎹簱灏咹NSW绱㈠紩浣滀负榛樿閫夐」瀹炵幇銆?/p>
鍍廙ilvus銆乄eaviate銆丵drant鍜孡anceDB杩欐牱鐨勬暟鎹簱鎻愪緵浜嗙畝鍗曠殑璋冩暣鍙傛暟锛岀敤浜庢帶鍒跺叾Product Quantization缁勪欢涓殑鍘嬬缉/閲忓寲绾у埆銆備簡瑙h繖浜涚储寮曞浣曞伐浣滅殑鍩烘湰鍘熺悊闈炲父閲嶈锛岃繖鏍锋偍灏卞彲浠ヤ负鎮ㄧ殑鐢ㄤ緥閫夋嫨姝g‘鐨勬暟鎹簱鍜岀储寮曞弬鏁般€?/p>
缁撹
涓撻棬鏋勫缓鐨勫悜閲忔暟鎹簱鐨勫埗閫犲晢鑺辫垂浜嗘暟鍗冨皬鏃舵潵瀵瑰叾绱㈠紩鍜屽瓨鍌ㄥ眰杩涜寰皟鍜屼紭鍖栵紝鍥犳锛屽鏋滄偍鎷ユ湁澶у瀷鏁版嵁闆嗗苟涓旈渶瑕佸湪鍚戦噺鎼滅储鏌ヨ涓婂疄鐜?lt;100姣鐨勫欢杩燂紝閭d箞鍊熷姪鍍廤eaviate銆丵drant鍜孧ilvus杩欐牱鐨勬垚鐔熴€佸彲鎵╁睍鐨勫紑婧愭暟鎹簱浼间箮鏄竴涓槑鏅虹殑閫夋嫨锛屾棤璁烘槸浠庡紑鍙戣€呯殑瑙掑害杩樻槸浠庝笟鍔$殑瑙掑害鏉ョ湅銆?/p>
Flat绱㈠紩鏄互鍘熷褰㈠紡瀛樺偍鍚戦噺鐨勭储寮曪紝鐢ㄤ簬绮剧‘鐨刱鏈€杩戦偦鎼滅储銆傚畠鏄渶鍑嗙‘鐨勶紝浣嗕篃鏄渶鎱㈢殑銆?/p>
IVF-Flat绱㈠紩浣跨敤鍊掓帓鏂囦欢绱㈠紩鏉ュ揩閫熺缉灏忔悳绱㈢┖闂达紝姣旀毚鍔涙悳绱㈣蹇緱澶氾紝浣嗕細鍦ㄥ彫鍥炵巼鏂归潰鐗虹壊涓€浜涘噯纭€с€?/p>
IVF-PQ浣跨敤IVF涓嶱roduct Quantization缁撳悎锛屽鍚戦噺杩涜鍘嬬缉锛屽噺灏戝唴瀛樺崰鐢ㄥ苟鍔犲揩鎼滅储閫熷害锛屽悓鏃跺湪鍙洖鐜囨柟闈㈡瘮绾储寮曟洿濂姐€?/p>
HNSW鏄洰鍓嶆渶娴佽鐨勭储寮曠被鍨嬶紝閫氬父涓嶱roduct Quantization缁撳悎浣跨敤锛屼互鎻愰珮鎼滅储閫熷害鍜屽唴瀛樻晥鐜囥€?/p>
Vamana鏄竴涓浉瀵硅緝鏂扮殑绱㈠紩锛屼笓涓虹鐩樻€ц兘璁捐鍜屼紭鍖?瀹冩壙璇哄湪瀛樺偍澶т簬鍐呭瓨鐨勫悜閲忔暟鎹椂鑳藉琛ㄧ幇鍑轰笌HNSW鐩稿綋鐨勬€ц兘鍜岄€熷害銆傜劧鑰岋紝鐩墠杩樻病鏈夊緢澶氭暟鎹簱瀹炵幇Vamana绱㈠紩锛岃繖鏄敱浜庣鐩樻€ц兘鏂归潰鐨勬寫鎴樸€?/p>
鍦ㄦ垜鐪嬫潵锛孡anceDB鏄湭鏉ュ嚑涓湀涓渶浠や汉鍏村鐨勬暟鎹簱涔嬩竴銆傝繖鏄洜涓哄畠鏄競鍦轰笂鍞竴涓€涓墍鏈夊悜閲忕储寮曢兘鍩轰簬纾佺洏鐨勫悜閲忔暟鎹簱銆傝繖鏄洜涓轰粬浠湪澶氫釜鏂归潰鍚屾椂杩涜鍒涙柊锛?/p>
LanceDB姝e湪鏋勫缓涓€绉嶆柊鐨勯珮鏁堝垪寮忔暟鎹牸寮廘ance锛屾棬鍦ㄦ垚涓簆arquet鐨勭幇浠g户浠昏€咃紝骞堕拡瀵瑰悜閲忔悳绱㈣繘琛屼簡浼樺寲銆?/p>
姝f槸鐢变簬杩欑楂樻晥鐨勫瓨鍌ㄥ眰锛孡anceDB鑳藉鍦ㄥ熀浜庣鐩樼殑绱㈠紩鏂归潰鍏呮弧淇″績锛屼笌鍏朵粬渚涘簲鍟嗕笉鍚屻€?/p>
LanceDB閲囩敤浜嗗祵鍏ュ紡锛堟棤鏈嶅姟鍣級鐨勪笓鐢ㄦ灦鏋勶紝浠庡ご寮€濮嬫瀯寤恒€傞浂鎷疯礉鏁版嵁璁块棶鏄鍩轰簬纾佺洏鐨勭储寮曠殑宸ㄥぇ鎬ц兘鎻愬崌銆?/p>
鏁版嵁鐨勮嚜鍔ㄧ増鏈帶鍒讹紝鏃犻渶棰濆鐨勫熀纭€璁炬柦銆?/p>
涓嶢WS S3鍜孉zure Blob Storage绛変簯瀛樺偍鎻愪緵鍟嗙洿鎺ラ泦鎴愶紝闈炲父瀹规槗涓庣幇鏈夌殑鏁版嵁娴佹按绾块泦鎴愩€?/p>
鏃犺鎮ㄩ€夋嫨鍝釜鏁版嵁搴撴潵婊¤冻鎮ㄧ殑鐢ㄤ緥锛屾垜浠兘鍙互涓€鑷磋涓猴紝鐜板湪鏄竴涓潪甯稿ソ鐨勬椂浠o紝鍙互灏濊瘯鍜屽疄楠岃繖浜涘伐鍏枫€傛垜鐭ラ亾杩欑瘒鏂囩珷涓湁寰堝淇℃伅锛屼絾涓嬮潰鐨勫弬鑰冭祫鏂欑‘瀹炲府鍔╂垜鐞嗚В浜嗗悜閲忔暟鎹簱鐨勫唴閮ㄥ伐浣滃師鐞嗕互鍙婂畠浠槸濡備綍浠庨浂寮€濮嬫瀯寤虹殑銆傚笇鏈涙偍瑙夊緱杩欑瘒鏂囩珷鏈夎叮锛岃鎴戜滑缁х画瀛︿範鍚э紒馃殌
浣滆€咃細Prashanth Rao
鏇村鎶€鏈共璐у敖鍦╳x鈥滀簯鍘熺敓鏁版嵁搴撯€?/p>