本文連接:https://wanger-sjtu.github.io/CARGA/ CAGRA 是 N社在RAFT項(xiàng)目中 最新的 ANN 向量索引。這是一種高性能的、 GPU 加速的、基于圖的方法,尤其是針對小批量情況進(jìn)行了優(yōu)化,其中每次查找只包含一個(gè)或幾個(gè)查詢向量。 與其他像HNSW、S
本文連接: https://wanger-sjtu.github.io/CARGA/
CAGRA是N社在RAFT項(xiàng)目中最新的ANN(近似最近鄰)向量索引算法。它是一種高性能的、GPU加速的、基于圖的方法,特別針對小批量情況進(jìn)行了優(yōu)化,其中每次查找只包含一個(gè)或幾個(gè)查詢向量。與其他基于圖的方法(如HNSW、SONG等)類似,CAGRA在索引訓(xùn)練階段構(gòu)建了一個(gè)經(jīng)過優(yōu)化的k-最近鄰(k-NN)圖。這個(gè)圖具備多種優(yōu)良特性,能夠在保持合理召回率的同時(shí)實(shí)現(xiàn)高效的搜索。與NSW、HNSW算法不同的是,CARGA算法是單層的圖,在構(gòu)建和查詢階段做了特殊的優(yōu)化以適應(yīng)GPU計(jì)算加速。
代碼示例:
using namespace raft::neighbors;
// use default index parameters based on shape of the dataset
ivf_pq::index_params build_params = ivf_pq::index_params::from_dataset(dataset);
ivf_pq::search_params search_params;
auto knn_graph = raft::make_host_matrix(dataset.extent(0), 128);
// create knn graph
cagra::build_knn_graph(res, dataset, knn_graph.view(), 2, build_params, search_params);
auto optimized_gaph = raft::make_host_matrix(dataset.extent(0), 64);
cagra::optimize(res, dataset, knn_graph.view(), optimized_graph.view());
// Construct an index from dataset and optimized knn_graph
auto index = cagra::index(res, build_params.metric(), dataset,
optimized_graph.view());
CAGRA構(gòu)建的圖有幾個(gè)不同之處:
count(*)、count(1)哪個(gè)更快?面試必問:通宵整理的十道經(jīng)典MySQL必問面試題
閱讀從需求分析、產(chǎn)品設(shè)計(jì)到部署交付各階段說明
閱讀如何利用七牛云進(jìn)行數(shù)據(jù)備份和刪除
閱讀強(qiáng)化學(xué)習(xí)筆記之【ACE:Off-PolicyActor-CriticwithCausality-AwareEntropyRegularization】
閱讀使用MailKit在.NET Core中收發(fā)郵件的完整示例
閱讀OpenAI官方開源多智能體框架Swarm,社區(qū)反響熱烈
閱讀Vue-Vben-Admin:功能強(qiáng)大的Vue3后臺管理系統(tǒng)模板
閱讀深度解析Spring AI:請求與響應(yīng)機(jī)制的核心邏輯
閱讀.NET云原生應(yīng)用實(shí)踐(一):從搭建項(xiàng)目框架結(jié)構(gòu)開始
閱讀llama.cpp:一個(gè)適用于中小型研發(fā)企業(yè)的高性能CPU/GPU大語言模型推理框架
閱讀Windows應(yīng)急響應(yīng)-Auto病毒
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請發(fā)郵件[email protected]
湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2024 haote.com 好特網(wǎng)