Proxima CE 是基於Proxima2.x核心提供的超大規模離線向量檢索引擎,用於支援批量離線向量檢索任務,包括基礎的向量檢索、多類目檢索及百萬TopK檢索等功能。本文介紹在MaxCompute中如何使用向量計算功能。
背景資訊
Proxima CE是一款來自於阿里達摩院的實現向量近鄰搜尋的高效能軟體,相比於Faiss等開源的同類產品,Proxima CE在穩定性、效能等方面都更為出色。Proxima CE的使用十分簡潔,以內嵌可執行JAR包的形式提供給使用者在MaxCompute上運行,支援以MaxCompute表的形式作為底庫和查詢向量資料的輸入,整體上分為索引構建和批量查詢兩個主要過程,驅動多個MaxCompute MapReduce或Graph Job,完成對索引的構建和查詢的檢索,最終通過MaxCompute表輸出批量檢索的結果。
功能說明
支援的資料類型與檢索方式:
支援多種資料類型,主要包括
INT8/FLOAT/BINARY。說明支援使用INT32表示BINARY資料,詳情請參考選擇性參數中的binary_to_int參數。
支援多種檢索方式,主要包括
HNSW/SSG/HC/GC/QC/Linear,預設使用HNSW方式。
通過可選的配置參數,支援進階計算能力:
環境準備
使用Proxima CE前,請確保您已完成以下準備工作:
已建立MaxCompute專案,詳情請參見建立MaxCompute專案。
已建立DataWorks工作空間,並綁定MaxCompute資料來源。
若您在建立DataWorks工作空間時,選擇了參加新版資料開發公測,請根據綁定計算資源(參加新版資料開發公測)綁定計算資源。
若您在建立DataWorks工作空間時,未選擇參加新版資料開發公測,請根據建立資料來源或註冊叢集(未參加新版資料開發公測)綁定資料來源。
開通Volume功能,並成功建立External Volume。
Proxima CE構建好索引之後需要寫到MaxCompute的Volume儲存中,請參考新功能試用申請開通Volume功能,開通結果將以簡訊形式通知到您。若Volume功能未成功開通,執行任務時會出現類似於
FAILED:ODPS-0420095:Access Denied - Volumes is not allowed in project config.的報錯資訊。建立External Volume的操作請參見External Volume操作。
說明後續運行時可能會用到Volume方式,因此建議提前建立好External Volume。否則需要輸入
role_arn作為必要啟動參數,role_arn的方式存在安全風險,請謹慎使用。
注意事項
Proxima CE使用的External Volume,需要指定OSS內網網域名稱,例如oss-cn-beijing-internal.aliyuncs.com。OSS內網網域名稱,請參見OSS地區和訪問網域名稱。
支援的工具
上傳資源、運行時支援使用odpscmd和DataWorks。
odpscmd:僅支援在Linux環境下運行,因為Proxima CE的JAR包是基於Linux平台編譯的,暫不支援Windows和Mac平台。
DataWorks:您可以在DataWorks上建立MaxCompute ODPS MR節點,通過ODPS SQL指令碼來運行。
使用嚮導
安裝Proxima CE包。
使用向量計算之前您需要安裝Proxima CE包,以完成Proxima CE環境準備及配置流程。
使用向量檢索功能。
您可通過下述內容瞭解向量檢索功能的適用情境及各種檢索方法。
檢索情境
關鍵特性
指導文檔
基礎向量檢索
支援百萬層級TopK查詢。
多類目檢索
支援多類目情境,包括query和doc屬於多個類目的情境以及單個query屬於多個類目的情境。
聚類分區
支援聚類分區索引構建方式,該方式能夠減小計算量和加速後續索引查詢過程。
內積和餘弦距離
支援內積和餘弦距離檢索。
量化使用
支援量化器使用,一般配置量化器可提升效能,減少索引大小,召回視情況有所損失。
參考內容。
參考內容
指導文檔
全量參數及核心參考
測試報告
功能測試
效能測試
常見問題
錯誤碼處理