MIPS加速:让RAG检索更快更高效

MIPS的规模化计算成本是RAG效率瓶颈,近似搜索可换取数量级加速。
文章指出,检索增强生成(RAG)的核心瓶颈往往在检索而非生成。最大内积搜索(MIPS)需要在数百万级候选向量和数千维特征中找到与查询内积最大的键,精确穷举搜索的单次查询浮点运算量可达十亿量级,对低延迟在线服务构成性能墙。业界主流思路是近似最近邻搜索,通过更聪明的索引结构减少参与计算的候选数量,或借助量化、降维降低单次计算成本,用可控的精度损失换取数量级加速,而RAG中召回率的轻微下降常可被生成模型部分补偿。更快的检索带来双重收益:既降低延迟、提升吞吐,也可能在同等时间预算下允许更充分的检索与重排序。落地时需权衡召回率与速度、索引增量维护成本及与生成上下文窗口的协同。
检索增强生成(RAG)的核心瓶颈往往不在生成,而在检索。面对数百万级候选向量和数千维特征,最大内积搜索(MIPS)的计算成本会急剧上升。原始素材指出,当键的数量增长到数百万、向量维度达到数千时,穷举式搜索的计算开销变得难以承受。如何在不牺牲精度的前提下加速MIPS,是提升RAG整体效率的关键。

MIPS:RAG检索的算力黑洞
MIPS要解决的问题很直观:给定一个查询向量,在数百万个候选键向量中找到内积最大的那个,再取出其对应的原始数据。在RAG场景中,这个“原始数据”就是最有可能回答问题的文档,通常会被拼接到查询前面送入生成模型。
问题在于,精确的穷举搜索需要将查询与每一个候选向量逐一计算内积。当候选数量达到百万级、维度达到千级时,单次查询的浮点运算量就会膨胀到十亿量级。对于需要低延迟响应的在线RAG服务,这构成了实实在在的性能墙。
最大内积搜索(MIPS) 是向量检索中的一类基础问题:给定查询向量 q 和候选键向量集合 {k₁, k₂, …, kₙ},目标是找到使内积 ⟨q, kᵢ⟩ 最大的键,并返回其关联的原始数据。它与欧氏距离最近邻搜索在数学上可以相互转化——当向量经过归一化后,内积最大化等价于余弦相似度最大化,也等价于欧氏距离最小化,因此许多ANN算法最初面向距离搜索设计,稍作变换即可用于MIPS。内积的几何含义是查询在候选方向上的投影长度乘以候选模长,这意味着MIPS不仅偏好方向相近的向量,也偏好模长更大的向量,这一点与纯余弦相似度存在细微差别,在构建索引时需要注意是否对向量做归一化处理。
近似搜索:用可控误差换数量级加速
面对穷举搜索的算力压力,业界的主流思路是近似最近邻(ANN)搜索——放弃“绝对精确”,换取“足够好且快得多”的检索结果。原始素材虽未展开具体算法细节,但明确将MIPS的规模化计算成本作为核心问题提出,这本身指向了近似方法在RAG流水线中的必要性。
从工程角度看,近似MIPS的加速逻辑通常围绕两个方向展开:一是减少需要参与内积计算的候选数量,二是降低单次内积计算的成本。前者依赖更聪明的索引结构,后者则与向量量化、降维等技术相关。对于RAG系统而言,检索召回率的轻微下降往往可以被生成模型的上下文理解能力部分补偿,这使得近似搜索在RAG中具有较高的性价比。
近似最近邻(ANN)搜索 的核心指标是召回率(recall@k),即近似结果中命中真实Top-k的比例;与之对应的是加速比(相对精确搜索的QPS提升倍数)。常见的索引家族包括基于图的方法(如HNSW,通过可导航的小世界图实现对数级跳转)、基于量化的方法(如乘积量化PQ,将高维向量切分为子空间分别编码,用查表代替浮点内积)、基于哈希的方法(如局部敏感哈希LSH)以及基于树的划分方法。不同方法在召回率、内存占用、构建时间和增量更新能力上各有取舍。RAG场景通常还关心过滤检索(带元数据约束的MIPS),这对索引结构提出了额外要求。
检索效率如何影响RAG的端到端表现
RAG的典型流程是“检索—拼接—生成”。检索阶段一旦变慢,整个链路的延迟就会被拖累,尤其是在多轮对话或高并发场景下。更快的MIPS意味着可以在相同的时间预算内检索更多候选、做更精细的重排序,或者直接降低单次查询的响应时间。
原始素材强调的“Faster Retrieval for Better, More Efficient RAG”,其实点出了一个双重收益:更快的检索不仅让RAG更高效(延迟更低、吞吐更高),也可能让RAG更好(在同等时间预算下允许更充分的检索与筛选)。这两者并非取舍关系,而是可以通过算法优化同时改善。
重排序(reranking) 是RAG检索流水线中的常见环节:先用轻量、高速的ANN检索召回较大规模的候选集(如top-100),再用更精确但更昂贵的交叉编码器(cross-encoder)对候选逐对打分并重排。这种两阶段结构正是“更快MIPS”价值的直接体现——检索阶段节省的时间预算可以转移给重排序阶段,从而在端到端延迟不变的前提下提升最终送入生成模型的文档质量。此外,RAG还涉及上下文窗口约束:生成模型能接收的token数有限,召回文档过多会挤占空间并引入噪声,因此检索数量与重排精度需要与上下文预算联合调优。
落地时的权衡点
把加速后的MIPS引入RAG系统,需要关注几个实际权衡。其一是召回率与速度的平衡:近似程度越高,速度越快,但漏掉真正相关文档的风险也越大。其二是索引维护成本:候选向量库往往需要动态更新,索引结构能否高效支持增量写入,直接影响系统的可运维性。其三是与生成阶段的协同:检索返回的文档数量和质量需要与生成模型的上下文窗口相匹配,盲目增加召回数量可能反而稀释关键信息。
原始素材将MIPS定位为推荐系统、搜索和RAG的共同底层能力,这意味着相关优化并非RAG专属,而是可以复用到更广泛的检索场景中。对于构建RAG应用的团队来说,理解MIPS的成本结构与加速思路,是做出合理架构决策的前提。
小结
MIPS的规模化计算成本是RAG效率的关键约束。通过近似搜索等加速手段,可以在可控的精度损失下获得显著的检索速度提升,进而改善RAG的端到端延迟与吞吐。真正落地时,需要在召回率、索引维护和生成协同之间找到适合自身业务的平衡点。
相关推荐

9家AI订阅套餐积分换算:每亿Token真实成本揭秘
B站UP主实测火山、阿里、腾讯、百度、智谱、小米、MiniMax等9家AI订阅套餐,统一换算每亿Token真实成本,拆解固定额度与三档系数两类计费逻辑,揭示缓存、时段折扣和窗口限额对实际额度的影响。

Vibe Coding入门:用意图表达代替手写代码
Vibe Coding 是什么?B站137集实战课程给出定义:核心不是写代码而是表达意图。本文解析 Vibe Coding 的生产力逻辑、适合人群与入门预期,帮助零基础者判断是否值得投入学习。

LangChain入门指南:从LangGraph到Deep Agents的智能体开发路线
理清LangChain、LangGraph和Deep Agents的封装关系,掌握智能体开发框架的学习路线与选型逻辑,适合大模型开发入门者参考。