为什么 RAG系统里,Embedding成本往往远低于 LLM成本,但很多公司仍然疯狂优化 Embedding?

前两天一个朋友问了我这个问题。

这是一个 AI 工程里非常典型、但很多人第一次会困惑的问题

还不了解Embedding的小伙伴点击了解详情,建议了解了什么是 Embedding 再继续看哦。

先说结论

Embedding 单次成本低,但调用规模极大、频率极高、可优化空间大,所以公司会疯狂优化。

换句话说:

LLM 是*"贵但少用"*,毕竟每一次对话大多数情况下LLM只调用一次(公司有额外的业务场景另算

Embedding 是 "便宜但一次对话里一般需要调用多次"

一、调用次数不是一个量级

在一个典型的 RAG系统 里:

LLM 调用

只在 最后一步回答问题 时调用。

流程:

scss 复制代码
用户问题
   ↓
Embedding(query)
   ↓
向量检索
   ↓
拿到文档
   ↓
LLM 生成回答

所以:

一次提问 == 1 次 LLM

Embedding 调用

假定你是一个完善的AI产品,拥有完整的agentEmbedding,接下来我们模拟一次输入。

Embedding通常包括:

1.用户问题 embedding
复制代码
用户问题 → embedding → 检索

这就一次了 ,而且每次提问都会发生

有些产品为了持久化缓存历史记录,还会把回答的内容再次进行切片,然后分片继续 embedding,存入。

分完片embedding又得好几次。

2.公司数据预填入

假设公司有文档100万条需要存入向量数据库,那么每条都要 embedding 一次。就是1000000 次 embedding

3.数据更新 embedding

企业知识库会更新:

复制代码
新增文档
修改文档
重新切片

都会重新 embedding。

4. 缓存失效 / 重建索引

例如:

复制代码
换 embedding 模型
向量维度升级
索引重建

可能要 全库重新 embedding

所以调用规模通常是:

类型 调用次数
LLM 1 次 / query
Embedding N 次 / query + 全库

很多系统里:

arduino 复制代码
Embedding调用量 = LLM 的 10 ~ 1000 倍  //具体哪个数量级取决于公司产品业务需求

二、Embedding 发生在"高 QPS 环节"

QPS = Queries Per Second每秒查询数

Embedding 是在线服务

复制代码
用户提问
   ↓
embedding
   ↓
向量搜索

如果:

ini 复制代码
DAU = 10万
每人10次提问

DAU = Daily Active Users
日活跃用户数

一天:

复制代码
100万次 embedding

这是 实时调用

而 LLM:

很多公司会做:

复制代码
缓存
FAQ
模板回答
降级

所以:

很多请求不会真的打到 LLM,不然容易破产。

但:Embedding 基本无法绕过 因为:检索必须有向量

三、Embedding 优化收益大

假设:

embedding 单价

bash 复制代码
$0.00002 / 次

一天:

复制代码
100万次

成本:

bash 复制代码
$20 / 天

一年:

bash 复制代码
$7300

如果系统规模是:

复制代码
1亿次 / 天

那就是:

bash 复制代码
$2000 / 天
≈ $73万 / 年

所以很多公司会:优化策略

1.query embedding 缓存

很多问题是重复的。

复制代码
北京天气
北京天气
北京天气

缓存:

arduino 复制代码
query → vector

直接命中。

2.本地 embedding 模型

不用 API:

复制代码
bge-small
e5-small
gte-small

GPU 一次跑几百条。

成本几乎:

复制代码
≈ 0
3.批量 embedding

很多 API 支持:

复制代码
batch embedding

例如:

复制代码
100 条一起 embedding

吞吐量会高很多。

4. 只 embedding 新数据

很多公司会做:

bash 复制代码
hash
版本号

只对新增内容 embedding。

四、Embedding 是 RAG 的"基础设施"

LLM 只是 生成层

但 RAG 系统真正的核心其实是:

复制代码
数据层

结构是:

复制代码
数据
 ↓
切片
 ↓
embedding
 ↓
向量数据库
 ↓
检索
 ↓
LLM

这里面:

embedding 是整个数据 pipeline 的入口。

如果 embedding 不好:

问题会很多:

  1. 检索不准
  2. 召回差
  3. 上下文错
  4. LLM乱答

所以公司优化的不只是 成本,还有:embedding质量

可以记住一个 AI工程经验公式

ini 复制代码
LLM = 最贵的脑子
Embedding = 最忙的工人

所以:

复制代码
LLM 优化 = 节省单次成本
Embedding 优化 = 节省规模成本

总结

  1. Embedding 单次成本低,但调用规模极大、频率极高、可优化空间大,所以公司会疯狂优化
  2. 一次对话里大概只有一次LLM,但是会有多次Embedding
  3. Embedding的触发原因包括但不限于:*数据更新/公司数据预填入/缓存失效 + 重建索引/用户问题 *等等
  4. 优化Embedding不止优化成本,还优化质量

最后

如果对你有用的话

相关推荐
仙魁XAN10 分钟前
【WorkBuddy·基础入门】第 四 篇 :模式、技能、专家、连接器一次讲清
人工智能·workbuddy·workbuddy 基础入门·workbuddy 工具
呆萌很14 分钟前
torch.nan_to_num 函数
人工智能
2601_9583529016 分钟前
还要写 AEC 算法?0 代码 + 6 个引脚,F-18 让通话清晰度提升 300%
人工智能·算法·降噪消回音
程序员海军17 分钟前
AI 越来越强,为什么打工人反而越来越累、越来越内耗了?
前端·程序员·aigc
vx_Biye_Design22 分钟前
springboot游泳馆系统93765-计算机课程设计、毕业设计
java·javascript·spring boot·后端·python·spring·课程设计
千里码aicood25 分钟前
基于机器学习的雷达低慢小目标识别技术的研究
人工智能·机器学习
名字还没想好☜25 分钟前
Java NIO ByteBuffer 实战:flip/clear/compact 三个绕晕人的方法与 position/limit 心智模型
java·开发语言·后端·spring·nio
llilian_1628 分钟前
标准时间间隔发生器应用解决方案 脉冲发生器 时间测量仪
大数据·网络·人工智能·功能测试·单片机·嵌入式硬件·51单片机
晴天1630 分钟前
VSCodium 项目介绍
前端·javascript·vscode
世岩清上34 分钟前
展厅数字内容同质化严重,怎样打造专属叙事风格?
大数据·前端·javascript·人工智能·html·音视频·展厅改造