星途科讯 2小时前
4GB内存搞定千万级向量:TurboVec检索速度超越FAISS
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

在处理包含 1000 万份文档的语料库时,传统 float32 格式需占用 31GB 内存,而基于 Rust 构建的向量索引库TurboVec仅需 4GB 即可容纳,且搜索速度优于主流方案 FAISS。

TurboVec 提供 Python 绑定,底层采用 Google Research 的TurboQuant算法。这是一种数据无关的量化器,具有接近最优的失真度,且无需单独的训练阶段。

核心特性

在线摄入:添加向量即刻完成索引,无需训练、参数调整或随着语料库增长重建索引。

快速 SIMD 搜索:通过手写内核(ARM NEON SDOT/SMMLA、x86 AVX-512 VNNI 等),在所有测量配置中均击败 FAISS IndexPQFastScan。在两种架构的八个单元格中,4-bit 平均快 3.4 倍,2-bit 快 23%。

增量保存:sync ( path ) 仅持久化自上次同步以来的变化部分,实现任意字节级别的崩溃安全。删除或小追加操作仅需毫秒级时间。

搜索时过滤:支持向 search ( ) 传递 ID 白名单或槽位位掩码,内核直接遵守,确保从允许集中获得最多 k 个结果,不影响召回率。

纯本地运行:无托管服务,数据不离开机器或 VPC,可配合开源嵌入模型构建物理隔离的 RAG 栈。

多语言集成与兼容性

TurboVec 支持 Python 和 Rust 原生集成,并可作为 LangChain、LlamaIndex、Haystack 和 Agno 等框架中内存向量存储的直接替换项,只需更换导入语句即可保持管道不变。

Python 示例:

from turbovec import TurboQuantIndexindex = TurboQuantIndex ( dim=1536, bit_width=4 ) index.add ( vectors ) scores, indices = index.search ( query, k=10 )

对于需要稳定 ID 及删除操作的场景,可使用 IdMapIndex,支持 O ( 1 ) 复杂度的按 ID 删除。

混合检索与过滤机制

TurboVec 支持将搜索结果限制在由 SQL、BM25 或 ACL 等外部系统生成的候选集内。过滤发生在 SIMD 内核内部,粒度为 32 个向量块:无允许槽位的块会被短路跳过,已评分块内的非允许槽位在堆插入时被丢弃。这种机制避免了支付不必要的 SIMD 成本,输出长度为 min ( k, n_allowed ) 。

性能表现

召回率:在 OpenAI d=1536 和 d=3072 数据集上,校准后的 TurboQuant ( TQ+ ) 在多数配置下的 R@1 指标优于 FAISS IndexPQ。在 GloVe d=200 低维场景下,TQ+ 在 2-bit 和 4-bit 宽度下均领先或持平。

搜索速度:基准测试(10 万向量,k=64)显示:

ARM 架构 ( Google Axion ) :4-bit 平均快 3.5 倍,2-bit 快 26%。

x86 架构 ( Intel Sapphire Rapids ) :4-bit 平均快 3.4 倍,2-bit 快 20%。

插入与删除:单次 add ( ) 耗时 6.3 – 19.7 微秒,比 FAISS 快 7.6 – 13.9 倍。IdMapIndex.remove ( id ) 采用 O ( 1 ) 交换弹出,每操作耗时 0.44 – 1.37 微秒,远优于 FAISS 在大规模数据下的秒级删除成本。

技术原理

TurboQuant 利用随机旋转使向量坐标遵循已知分布(Beta 分布 / 高斯分布),随后进行以下处理:

归一化与旋转:剥离向量长度,乘以随机正交矩阵,使坐标分布可预测。

逐坐标校准 ( TQ+ ) :为每个坐标拟合偏移和缩放,将经验分位数映射到码本质心,无需重新训练。

Lloyd-Max 标量量化:基于数学计算而非数据训练,确定最小化均方误差的分桶边界。

位打包:将坐标紧密打包,1536 维向量从 6144 字节压缩至 384 字节(2-bit),实现 16 倍压缩。

长度重归一化评分:编码时计算标量校正因子,消除量化带来的点积估计偏差,零搜索时成本。

搜索过程中,查询向量被旋转至同一域,直接与码本值进行 SIMD 加速评分,无需解压数据库向量。

【星途科讯 图文丨周鑫雨 首发于 ZAKER 科技,转载请注明出处】

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论