久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Milvus

來自站長百科
跳轉(zhuǎn)至: 導航、? 搜索

Milvus是一款專為AI應用和向量相似度搜索而設計的開源向量數(shù)據(jù)庫。作為一款專門處理向量查詢的數(shù)據(jù)庫,Milvus能夠在大規(guī)模數(shù)據(jù)集上有效索引向量。與傳統(tǒng)的關系型數(shù)據(jù)庫主要處理預定義模式的結(jié)構(gòu)化數(shù)據(jù)不同,Milvus從底層設計上就是為了管理和處理由非結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換來的嵌入向量。

Milvus概述[ ]

Milvus誕生于2019年,其核心目標在于存儲、索引及管理由深度學習網(wǎng)絡及其他機器學習模型生成的海量嵌入向量數(shù)據(jù)。

隨著互聯(lián)網(wǎng)的發(fā)展,非結(jié)構(gòu)化數(shù)據(jù)(如電子郵件、社交媒體帖子、物聯(lián)網(wǎng)數(shù)據(jù)等)變得越來越普遍。為了方便計算機理解和處理這些數(shù)據(jù),通常需要將其轉(zhuǎn)換為向量形式。Milvus正是為存儲和索引這些向量數(shù)據(jù)而設計,它通過計算向量間的相似度來分析它們的關系:向量越相似,代表原始數(shù)據(jù)源也越相似。

Milvus優(yōu)勢[ ]

  • 高性能:Milvus 對海量數(shù)據(jù)集進行向量相似度檢索的性能高超,特別是在單節(jié)點上,可以在秒內(nèi)完成十億級的向量搜索。
  • 多樣化索引支持:Milvus 支持多種索引算法,如 FAISS、Annoy、HNSW 和 CAGRA 等,能夠大幅優(yōu)化向量檢索的性能。特別是新引入的 CAGRA 索引,其速度和性能遠超傳統(tǒng)的 CPU 索引,使得在小批量查詢中也表現(xiàn)出色。通過合適的索引選擇,Milvus 能夠針對特定的數(shù)據(jù)規(guī)模和查詢需求提供最優(yōu)解決方案。
  • 高可用性:Milvus 的系統(tǒng)組件相互獨立并隔離運行,從而確保系統(tǒng)的彈性和可靠性。即使在部分組件出現(xiàn)故障時,整體系統(tǒng)仍可保持正常運行。
  • 容災能力:Milvus 支持在云上擴展,容災能力強大,能夠保證服務的高可用性。這種設計尤其適合需要持續(xù)、穩(wěn)定服務的業(yè)務場景。
  • 云原生設計:Milvus 采用存儲與計算分離的云原生架構(gòu)設計,支持靈活擴展。這使得 Milvus 能夠動態(tài)調(diào)整資源,根據(jù)實際需求快速擴展或縮小規(guī)模。
  • 混合查詢支持:Milvus 不僅支持向量相似度檢索,還允許在檢索過程中進行標量字段過濾,實現(xiàn)混合查詢。這種功能增強了 Milvus 的應用廣度,使其能夠適用于更多復雜的業(yè)務場景。
  • 多語言支持:Milvus 提供了多種 SDK,支持 PythonJava 等主流編程語言,使得開發(fā)者可以更容易地集成和使用 Milvus。
  • 簡單易用:僅需幾分鐘便可搭建大型向量相似性搜索服務。從部署到實際使用的過程都有詳細的文檔和社區(qū)支持,降低了用戶的上手難度。
  • 支持多種數(shù)據(jù)類型:Milvus 支持各種數(shù)據(jù)類型,并提供豐富的功能,如數(shù)據(jù)過濾、多種數(shù)據(jù)一致性等級和 Time Travel 等功能。
  • 應用場景廣泛:Milvus 被全球上千家企業(yè)信賴,適用于圖片檢索系統(tǒng)、視頻檢索系統(tǒng)、分子式檢索系統(tǒng)、音頻檢索系統(tǒng)、推薦系統(tǒng)及智能問答機器人等多種場景。

Milvus關鍵概念[ ]

非結(jié)構(gòu)化數(shù)據(jù)[ ]

未遵循固定模型或組織方式的信息,如圖像、視頻、音頻和自然語言等,占全球數(shù)據(jù)的大部分。通過各種AI和ML模型,這類數(shù)據(jù)可被轉(zhuǎn)換為嵌入向量。

嵌入向量[ ]

非結(jié)構(gòu)化數(shù)據(jù)的特征提取表示,數(shù)學上表現(xiàn)為浮點數(shù)或二進制數(shù)組。現(xiàn)代嵌入技術(shù)能夠?qū)⒎墙Y(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)化為嵌入向量。

向量相似性搜索[ ]

將向量與數(shù)據(jù)庫中的其他向量比較,以找出最接近查詢向量的向量的過程。近似最近鄰(ANN)搜索算法用于加速此過程。

Milvus索引和度量方式[ ]

索引類型[ ]

Milvus支持的大多數(shù)向量索引類型使用近似最近鄰搜索(ANNS),包括:

  • FLAT:FLAT 最適合于在小型百萬級數(shù)據(jù)集上尋求完全準確和精確的搜索結(jié)果的場景;
  • IVF_FLAT:IVF_FLAT 是基于量化的索引,最適合于在準確性和查詢速度之間尋求理想平衡的場景。還有一個 GPU 版本 GPU_IVF_FLAT;
  • IVF_SQ8:IVF_SQ8 是一種基于量化的索引,最適合于在磁盤、CPU 和 GPU 內(nèi)存消耗非常有限的場景;
  • IVF_PQ:IVF_PQ 是一種基于量化的索引,最適合于在犧牲準確性的情況下追求高查詢速度的場景。還有一個 GPU 版本 GPU_IVF_PQ;
  • HNSW:HNSW 是一種基于圖的索引,最適合于對搜索效率有很高要求的場景。

相似性度量[ ]

在 Milvus 中,相似性度量用于衡量向量之間的相似性。選擇一個好的距離度量有助于顯著提高分類和聚類性能。根據(jù)輸入數(shù)據(jù)的形式,選擇特定的相似性度量以實現(xiàn)最佳性能。

浮點嵌入中廣泛使用的度量包括:

  • 歐氏距離(L2):該度量通常在計算機視覺(CV)領域中使用;
  • 內(nèi)積(IP):該度量通常在自然語言處理(NLP)領域中使用。

二進制嵌入中廣泛使用的度量包括:

  • 漢明距離(Hamming):該度量通常在自然語言處理(NLP)領域中使用;
  • 杰卡德相似系數(shù)(Jaccard):該度量通常在分子相似性搜索領域中使用。

Milvus系統(tǒng)架構(gòu)[ ]

作為一個云原生的向量數(shù)據(jù)庫,Milvus 在設計上將存儲和計算分離。為了增強彈性和靈活性,Milvus 中的所有組件都是無狀態(tài)的。

系統(tǒng)分為四個層次:

  • 接入層:接入層由一組無狀態(tài)代理組成,作為系統(tǒng)的前端層和用戶的終端點;
  • 協(xié)調(diào)服務:協(xié)調(diào)服務將任務分配給工作節(jié)點,并作為系統(tǒng)的大腦;
  • 工作節(jié)點:工作節(jié)點充當手腳,是徹底的執(zhí)行者,遵循協(xié)調(diào)服務的指示并執(zhí)行用戶觸發(fā)的 DML/DDL 命令;
  • 存儲:存儲是系統(tǒng)的骨架,負責數(shù)據(jù)持久性。它包括元數(shù)據(jù)存儲、日志代理和對象存儲。

相關條目[ ]

Pinecone