尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Faiss 1.11.0 向量检索提速:RaBitQ 把每条向量压缩到约 1/32 的存储
Faiss 1.11.0 向量检索提速RaBitQ 把每条向量压缩到约 1/32 的存储【免费下载链接】faissA library for efficient similarity search and clustering of dense vectors.项目地址: https://gitcode.com/GitHub_Trending/fa/faissFaiss 1.11.02025-04-24 发布见 CHANGELOG.md是稠密向量检索库 Faiss 的新版本解决数据量上涨后 fp32 向量存储与暴力搜索延迟扛不住的瓶颈核心新增是 RaBitQ 量化索引。读完本文你能三步建出一个 RaBitQ 索引并发起查询按数据规模、精度、内存三个条件选到合适索引并用三个量化指标确认优化生效。这个版本改了什么新增 RaBitQ 实现IndexRaBitQ、IndexIVFRaBitQ及其 FastScan 变体共 4 种索引形态index factory 直接支持RaBitQ、RaBitQfs字符串faiss/IndexRaBitQ.h、faiss/index_factory.cpp新增内存映射与零拷贝反序列化器加载大索引不必再整体复制一份内存faiss/impl/mapped_io.h训练 API 增加normalize_l2/is_spherical开关让球面数据的预处理行为显式化CHANGELOG 1.11.0 Added 一节修复IndexHNSW的metric_arg传参 bug、为nb_neighbors增加越界检查、修复 ARM 平台上IVFPQFastScan的 range search 行为CHANGELOG 1.11.0 Fixed 一节C API 开始通过 Conda 发布C 语言接入的安装方式更简单CHANGELOG 1.11.0 Changed 一节RaBitQ 是怎么省事的把一条 256 维向量想成行李箱里 256 件物品。乘积量化PQ把向量切成 M 段、每段查码本表相当于把物品分装进小袋子再逐个描述RaBitQ 则是完全不拆行李每个维度只记 1 个比特正还是负。于是每维从 4 个字节降到 1/8 个字节再外加几个字节的校准常数总存储约是 fp32 的 1/25 到 1/32码长公式见 faiss/impl/RaBitQuantizer.h 的compute_code_size。搜索时 CPU 用 and、popcount 这类位运算估计距离而不是逐维浮点乘法SIMD 指令集恰好对位运算加速明显。三步跑通最小示例第一步安装。pip 装现成包最简单想自己编译也可以从源码来pip install faiss-cpu # 或git clone https://gitcode.com/GitHub_Trending/fa/faiss # cmake -B build cmake --build build -j cmake --install build第二步建索引。IndexRaBitQ只需要维度d和每维位数nb_bits没有 PQ 那种 M 参数训练也远比聚类轻量。第三步查询接口和普通 Faiss 索引完全一致import numpy as np import faiss d, n 256, 200_000 xb np.random.randn(n, d).astype(float32) xq np.random.randn(10, d).astype(float32) index faiss.IndexRaBitQ(d, nb_bits1) # 1-bit 量化 index.add(xb) D, I index.search(xq, 10)按场景选索引数据规模精度要求内存条件推荐索引百万以内接近精确搜索不限IndexFlatL2暴力搜索千万级可接受少量召回损失紧张IndexRaBitQnb_bits1亿级精度与速度平衡紧张IndexIVFRaBitQnlist 取 √N 量级千万级以上极高精度充足IndexHNSWFlat图索引 一般从 IVF RaBitQ 起步再调nprobe换召回CPU 支持 AVX-512 时可换 FastScan 变体factory 字符串RaBitQfs批处理吞吐更高。怎么确认优化生效不用搭监控体系看三个数字就够查询延迟用 timeit 跑 10 次 search 取平均毫秒数benchs/bench_rabitq.py 里的计时函数可以直接照搬召回率拿精确 top-k 做对照用faiss.eval_intersection算交集占比与升级前的基线对比内存RaBitQ 1-bit 码每条向量占 (d7)/8 8 字节乘上向量总数对比 fp32 的 d×4 字节省了多少一目了然 该基准脚本会依次跑 256 / 512 / 768 / 1024 维按维度输出召回与延迟表格跑一遍就能得到你这台机器上的前后对比。容易踩的四个坑按 IVFPQ 的签名调用IndexIVFRaBitQ。原因它的构造参数是 (quantizer, d, nlist, ...)不存在 IVFPQ 的 M、nbits 参数RaBitQ 的位宽参数是nb_bits1-9。规避先看 faiss/IndexIVFRaBitQ.h 里的真实签名再写代码在 FastScan 变体里把qb设为 0。原因SIMD 查找表需要量化后的查询头文件明确注明 FastScan 不支持qb0。规避保留默认qb4需要更精查询量化再调大用sa_decode的输出去核对 L2 精度。原因解码偏向保持内积重建向量的 L2 误差可能偏大。规避L2 场景以 search 路径的距离为准不把重建结果当真值小数据硬上量化索引。原因数据不到百万且内存充裕时暴力搜索更准也更简单量化收益只在大规模或内存受限时才体现。规避先跑IndexFlatL2建立精度与延迟基线再决定是否压缩Faiss 1.11.0 让向量检索的内存和延迟收益集中在nb_bits一个参数上配合内存映射反序列化大索引的加载和部署都更省力。想继续深入可以从以下三个入口看起benchs/bench_rabitq.pyRaBitQ 官方基准脚本含计时与召回计算faiss/impl/RaBitQuantizer.h量化器核心接口与码长、解码语义的注释INSTALL.md源码编译与安装的完整说明【免费下载链接】faissA library for efficient similarity search and clustering of dense vectors.项目地址: https://gitcode.com/GitHub_Trending/fa/faiss创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Halo 邮箱验证完整配置指南:从 SMTP 发送到验证码机制的终极实操

Halo 邮箱验证完整配置指南:从 SMTP 发送到验证码机制的终极实操

Halo 邮箱验证完整配置指南:从 SMTP 发送到验证码机制的终极实操 【免费下载链接】halo Halo 是一款强大易用的开源建站工具,从个人博客、知识库,到企业官网、在线商城,Halo 都能助您轻松实现,一站式满足您的多样化建站…

📅 2026/9/15 14:04:01
VoxCPM2完整指南:30种语言多语言TTS与零样本声音克隆10分钟上手

VoxCPM2完整指南:30种语言多语言TTS与零样本声音克隆10分钟上手

VoxCPM2完整指南:30种语言多语言TTS与零样本声音克隆10分钟上手 【免费下载链接】VoxCPM VoxCPM2: Tokenizer-Free TTS for Multilingual Speech Generation, Creative Voice Design, and True-to-Life Cloning 项目地址: https://gitcode.com/GitHub_Trending/vo…

📅 2026/10/18 7:43:32
技术纪录片学习指南:从黑客松实战到项目开发经验内化

技术纪录片学习指南:从黑客松实战到项目开发经验内化

这次我们来看一个技术社区纪录片项目:TRON Camp 2026 纪录片 EP.02《从0到“南搏万”》。这不是一个软件工具或AI模型,而是一部记录技术开发者从零开始构建项目、参与黑客松(Hackathon)历程的系列纪录片。对于技术社区的开发者、创…

📅 2026/10/4 15:59:26
MORE NEWS

更多资讯

📰

Vibe Coding 实践指南:AI 辅助编程的完整工作流与工程化落地

Vibe Coding 实践指南:AI 辅助编程的完整工作流与工程化落地 一、先搞懂 Vibe Coding 到底在做什么 很多人第一次接触 Vibe Coding,都把它理解成"偷懒式编程":告诉 AI 要什么,它把代码吐出来,复制粘贴就完事…

📰

LLM 推理部署优化实战:vLLM、TGI 与 TensorRT-LLM 选型与调优

LLM 推理部署优化实战:vLLM、TGI 与 TensorRT-LLM 选型与调优 一、同一个模型,4 张卡 vs 1 张卡 先讲一个真实的对比。早期用 HuggingFace Transformers A100 4 卡部署一个 13B 模型:吞吐量每卡 5 QPS 共 20 QPS,延迟 P99 约 800…

📰

RAG 检索增强生成七步链路实战:从文档切分到答案生成

RAG 检索增强生成七步链路实战:从文档切分到答案生成 一、为什么需要 RAG:三个绕不过去的限制 本地模型跑起来之后,你会撞上三个限制,它们恰好对应 RAG 的三个存在理由。 第一是幻觉。问模型"我们公司产品的保修期是多久&quo…

📰

AI Agent 工程化实战:从最小工具调用循环到生产级系统

AI Agent 工程化实战:从最小工具调用循环到生产级系统 一、Agent 不是"会聊天的机器人" 很多团队把 Agent 理解成"更聪明的聊天机器人",这个认知偏差会导致整个技术方案走偏。Agent 的本质是能感知目标、规划步骤、调用工具、根据反…

📰

C#+Halcon机器视觉框架源码:从模块化设计到落地避坑实践

简介:这套C#与Halcon混合编程的机器视觉框架源码,面向视觉检测与自动化设备开发者,覆盖AOI视觉检测、机械手定位、点胶机、插件机、激光切割机、视觉螺丝机、贴合机、激光焊接机、视觉裁板机等典型场景,可用于快速验证和落地视觉项…

📰

AI提示流编排器的运行时看门狗与死循环熔断器

1. 项目概述:为什么一个“提示流编排器”需要看门狗和熔断器?你有没有试过让一个AI Agent去查天气、订咖啡、再把结果发到飞书群——结果它卡在“查天气”这一步,反复调用同一个API十几次,每秒发起3个请求,半小时后账单…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬