LLM 与 Embedding 模型:两个方向,两种使命
一句话记住本质区别:LLM 是"说话的脑子"——负责理解和生成文本;Embedding 模型是"数字化的鼻子"——负责把文本变成可比对的语义向量。
写在前面
在之前的文章里,我们围绕 AI 知识库和模型部署做了不少实践和梳理:
- 主流大模型显存占用硬核指南:KV Cache、GQA 与 Qwen-DeepSeek 系列精确数据
- LLM 本地部署硬核指南:显存、算力与量化,一次讲透!
- LLM本地部署进阶篇:MoE架构与消费级GPU的长上下文推理实战
这几篇文章分别讲了模型部署时的显存计算、量化策略,以及 MoE 架构的推理优化。但有一个基础问题始终没系统讲过:LLM(大语言模型) 和 Embedding 模型(嵌入模型) 到底有什么区别?它们各自是怎么来的?为什么一个知识库需要两个模型配合才能跑好?
今天这篇就来把这个事彻底讲清楚。
一、先搞清楚:它们各自是干什么的?
1.1 LLM(大语言模型):"说话的脑子"
LLM 全称 Large Language Model(大语言模型),核心能力是理解和生成文本。
你问它问题,它逐字逐句给你写回答;你让它翻译,它输出译文;你让它写代码,它生成代码。本质上,它是一个自回归生成器——每次只预测下一个词,然后把预测出来的词接回去,继续预测下一个,直到生成结束。
典型代表:GPT 系列、LLaMA、Qwen、Gemini、Claude 等。
1.2 Embedding 模型(嵌入模型):"数字化的鼻子"
Embedding 模型 的核心能力是把文本变成向量。
一段文字(比如"公司报销流程")进去,出来的是一个固定长度的数字数组(比如 1024 个浮点数)。语义相近的文本,它们的向量在数学空间里距离就近;语义无关的文本,距离就远。
这个向量不直接给人看,而是给计算机"闻"——用来做相似度计算、检索、聚类、分类。
典型代表:BGE、GTE、E5、OpenAI text-embedding-3 系列等。
1.3 一张表看懂区别
| 维度 | LLM(大语言模型) | Embedding 模型(嵌入模型) |
|---|---|---|
| 核心使命 | 理解并生成文本 | 把文本映射为语义向量 |
| 输入 | 一段 prompt(提示词) | 一段文本(query 或 document) |
| 输出 | 自然语言文本序列 | 固定维度的浮点数向量 |
| 推理方式 | 逐 token 自回归生成 | 一次前向传播,取隐藏层向量 |
| 典型任务 | 对话、写作、翻译、代码生成 | 语义检索、相似度计算、聚类、分类 |
| 模型规模 | 大(7B ~ 几百B 参数) | 小(0.1B ~ 几B 参数) |
| 推理速度 | 慢(生成每个字都要跑一遍模型) | 快(一次前向就出结果) |
💡 通俗比喻:LLM 是"作家",能写文章;Embedding 模型是"图书管理员",能帮你找到相关的书。作家不一定会找书,图书管理员不一定会写文章——但一个好的知识库,既需要找得到,也需要答得好。
二、它们是怎么来的?两条独立又交织的发展线
2.1 Embedding 模型的发展史:从"查字典"到"懂语义"
第一阶段:Word2Vec / GloVe(2013 年前后)—— 静态词向量
诞生背景:NLP 早期,计算机处理文本的方式是"独热编码"(One-Hot)——每个词对应一个超长的 0/1 向量,词与词之间没有任何语义关系。"国王"和"女王"在向量空间里距离和"国王"与"苹果"一样远,这显然不合理。
Word2Vec 的解决思路:让模型通过"猜词"游戏学习词向量。
- CBOW 模式:用上下文(前后几个词)预测中间被遮住的词。
- Skip-gram 模式:用中间词预测周围的上下文。
训练完成后,每个词对应一个 100~300 维的稠密向量。神奇的是,向量空间里"国王 - 男人 + 女人 ≈ 女王"这样的语义关系真的出现了。
局限性:词向量是静态的。训练完成后,"bank"(银行)和"bank"(河岸)共享同一个向量,无法根据上下文区分多义词。
第二阶段:ELMO(2018)—— 动态上下文词向量
诞生背景:Word2Vec 的静态向量解决不了多义词问题。同一个词在不同语境下含义不同,向量却一样——这成了瓶颈。
ELMO 的解决思路:不再直接输出词向量,而是训练一个双层双向 LSTM 语言模型。使用时,根据当前上下文,从网络不同层提取对应的 Embedding,并通过可学习的权重加权融合。
意义:词向量开始随上下文动态变化,解决了多义词问题。但特征抽取器用的是 LSTM,能力弱于后来的 Transformer。
第三阶段:BERT(2018)—— 双向 Transformer 编码器
诞生背景:Google 发现,把 Transformer 的编码器(Encoder)拿来做预训练,效果远超 LSTM。
BERT 的核心创新:
- Masked Language Model(MLM,掩码语言模型):随机遮住 15% 的词,让模型用双向上下文预测被遮住的词。
- 真正的双向注意力:不像 GPT 只能看前文,BERT 能同时看到前后文。
- Fine-Tuning 范式:预训练好的模型权重,可以直接迁移到下游任务(分类、问答、NER 等)。
BERT 在 11 项 NLP 任务上达到当时最优,双向 Transformer + 预训练成为后续模型的标准配方。
第四阶段:Sentence-BERT 与对比学习(2019 至今)—— 句子级语义向量
诞生背景:BERT 输出的是词级别的向量,但很多时候我们需要的是句子级别的语义向量——比如判断两句话是否意思相同。
Sentence-BERT 的解决思路:把 BERT 改造成孪生网络(Siamese Network),用对比学习训练:
- 正例对:语义相似的句子(如"今天天气很好"和"今天阳光明媚")
- 负例对:语义无关的句子
- 损失函数:让正例对的向量距离近,负例对的向量距离远
后续演进:
| 时间 | 代表模型 | 关键进步 |
|---|---|---|
| 2019 | Sentence-BERT | 句子级语义向量,对比学习 |
| 2021 | GTE、E5 | 更大规模数据、更强的对比学习 |
| 2023 | BGE 系列 | 中文场景优化,开源可商用 |
| 2024 | OpenAI text-embedding-3 | Matryoshka 嵌入,灵活截断维度 |
💡 一句话总结 Embedding 模型的发展:从"每个词一个固定向量"(Word2Vec)→ "词向量随上下文变"(ELMO)→ "双向深度编码"(BERT)→ "句子级语义匹配"(Sentence-BERT/BGE)→ "向量可灵活截断"(Matryoshka)。
2.2 LLM 的发展史:从"猜下一个词"到"涌现智能"
第一阶段:Transformer(2017)—— 注意力机制的突破
诞生背景:RNN 和 LSTM 处理长文本时存在"遗忘"问题,越靠前的词对后面影响越弱。
Transformer 的解决思路:Google 在论文《Attention Is All You Need》中提出自注意力机制(Self-Attention),让模型能直接计算任意两个词之间的关联强度,彻底摆脱序列依赖。
核心架构:
- Encoder(编码器):双向注意力,适合理解任务(后来被 BERT 继承)
- Decoder(解码器):因果掩码注意力,只能看前文,适合生成任务(后来被 GPT 继承)
第二阶段:GPT 系列(2018 ~ 2023)—— 规模即智能
| 时间 | 模型 | 参数量 | 关键突破 |
|---|---|---|---|
| 2018 | GPT-1 | 1.17 亿 | 首次用 Transformer Decoder 做预训练 |
| 2019 | GPT-2 | 15 亿 | 零样本能力初现,OpenAI 因"太危险"暂缓开源 |
| 2020 | GPT-3 | 1750 亿 | 涌现能力——模型大到一定程度,突然会推理、会举一反三 |
| 2022 | ChatGPT | 基于 GPT-3.5 | RLHF(人类反馈强化学习),模型开始"会聊天" |
| 2023 | GPT-4 | 未公开 | 多模态、更强推理,LLM 进入"实用化"时代 |
核心逻辑:GPT 系列始终坚持Decoder-only + 自回归生成的路线。预训练目标只有一个——预测下一个词。但模型规模扩大到百亿、千亿级别后,突然出现了涌现能力(Emergent Abilities):模型不仅学会了语言规律,还学会了算术、逻辑推理、常识判断。
第三阶段:开源生态爆发(2023 ~ 2025)
GPT 系列是闭源的,但开源社区迅速跟上:
| 时间 | 模型 | 特点 |
|---|---|---|
| 2023 | LLaMA(Meta) | 开源可商用,引爆本地部署热潮 |
| 2023 | Qwen(阿里) | 中文优化强,开源生态完善 |
| 2023 | Mistral 7B | 小模型大能力,欧洲开源之光 |
| 2024 | Mixtral 8×7B | MoE 架构,总参数 47B,激活仅 13B |
| 2024 | DeepSeek-V2/V3 | MoE + MLA(多头潜在注意力),性价比极高 |
| 2025 | DeepSeek-R1 | 推理能力对标 OpenAI o1,开源 |
第四阶段:效率 Scaling(2026 ~ 至今)—— 从"暴力堆规模"到"架构驱动效率"
DeepSeek-V4(2026 年 4 月)标志着 LLM 竞争进入新维度:总参数继续膨胀,但推理成本被极致压缩。
- 参数与效率脱钩:V4-Pro 总参数达 1.6T,但每次推理仅激活 49B,配合 DSA 稀疏注意力 和 mHC 流形约束超连接,单 token 推理 FLOPs 降至 V3.2 的 27%,KV Cache 仅余 10%。
- 长上下文普惠化:在 1M token 超长上下文中保持高效,使"整本财报 / 50 万行代码库"的一次性处理成为可能。
- 价格击穿底线:API 输入定价 1 元 / 百万 token,仅为同期 GPT-5.5 的 1/70。
这证明:"数据越多模型越强"的底座逻辑依然成立(V4 仍用 33T token 预训练),但**"模型越强推理越贵"的旧定律被打破了**。行业的竞争焦点从"谁能堆出更大的密集模型"转向"谁能用更低的单位成本激活更多的有效参数"。
💡 一句话总结 LLM 的发展:从"注意力机制"(Transformer)→ "规模即智能"(GPT-3)→ "会聊天"(ChatGPT)→ "开源百花齐放"(LLaMA/Qwen/DeepSeek)→ "效率即护城河"(DeepSeek-V4)。核心始终是自回归生成,但增长逻辑已从"拼规模"走向"拼效率"。
2.3 两条线的交汇:为什么它们经常一起出现?
虽然发展路径不同,但 Embedding 模型和 LLM 有一个共同的起点——Transformer。
- Embedding 模型继承了 Transformer 的 Encoder(编码器),擅长"理解"和"表示"。
- LLM 继承了 Transformer 的 Decoder(解码器),擅长"生成"。
后来,两者也开始互相"借东西":
- Embedding 模型借 LLM 的底座:比如 NV-Embed、GTE 等模型,直接用 LLaMA 或 Qwen 的预训练权重做 backbone,加上对比学习微调,得到更强的语义向量。
- LLM 借 Embedding 的能力:在 RAG(检索增强生成)系统中,Embedding 模型负责"找资料",LLM 负责"写回答"——两者缺一不可。
- V4 的架构级融合:DeepSeek-V4 的 Engram 记忆技术 和 DSA 稀疏注意力,本质上是把 Embedding 模型的"检索 - 压缩"思想嫁接到 LLM 的生成架构中——长文本不再靠暴力全量自注意力承载,而是通过分层压缩、记忆存储与动态检索来分担负载。这标志着两者的交汇已从"系统级拼接"(RAG)深入到"架构级融合"。
三、技术架构:内部结构到底哪里不一样?
3.1 Embedding 模型的典型架构
输入文本 → Tokenizer(分词)→ Transformer Encoder → 隐藏层向量 → Pooling(池化)→ 归一化 → 输出向量
关键组件:
- Transformer Encoder:双向注意力,每个词能看到全文所有词。
- Pooling 层:把词级别的隐藏层向量聚合成句子级别的向量。常见方式:
- CLS token:取特殊标记
[CLS]对应的向量(BERT 风格) - Mean Pooling:对所有词的向量取平均(Sentence-BERT 风格)
- CLS token:取特殊标记
- 归一化:把向量长度缩放到 1,方便计算余弦相似度。
输出:一个固定维度的向量(如 1024 维),代表整段文本的语义。
3.2 LLM 的典型架构
输入 prompt → Tokenizer → Transformer Decoder → 逐 token 生成 → 输出文本
关键组件:
- Transformer Decoder:因果掩码注意力(Causal Mask),每个词只能看到前面的词,不能"偷看"后面的。
- 自回归生成:每次只预测下一个词,把预测结果接回去继续预测,循环直到生成结束符。
- KV Cache:生成过程中缓存已计算的 Key 和 Value,避免重复计算,加速推理。
输出:一段自然语言文本。
3.3 架构对比表
| 维度 | Embedding 模型 | LLM |
|---|---|---|
| 注意力类型 | 双向(Bidirectional) | 单向/因果(Causal) |
| 能否看全文 | ✅ 能同时看到前后文 | ❌ 只能看已生成的部分 |
| 输出 | 固定维度向量 | 变长文本序列 |
| 推理方式 | 一次前向传播 | 逐 token 自回归生成 |
| 是否需要 KV Cache | ❌ 不需要 | ✅ 需要(长文本时显存占用大) |
| 典型层数 | 12~24 层 | 32~128 层 |
💡 通俗理解:Embedding 模型像"拍照"——文本进去,"咔嚓"一下,一个向量就出来了。LLM 像"写字"——每写一个字都要想想前面写了什么,再决定下一个字写什么。
四、训练方式:它们是怎么"学会"的?
4.1 Embedding 模型的训练:对比学习
Embedding 模型的核心训练方法是对比学习(Contrastive Learning)。
基本思路:
- 构造正例对(语义相似的文本对,如"今天天气很好"和"今天阳光明媚")
- 构造负例对(语义无关的文本对,如"今天天气很好"和"量子力学很复杂")
- 训练目标:让正例对的向量距离尽可能近,负例对的向量距离尽可能远
常用损失函数:
- InfoNCE:把正例和一批负例放在一起,用 softmax 区分
- MultipleNegativesRankingLoss:一个 batch 内,其他样本自动成为负例
Matryoshka 嵌入的训练:
在普通对比学习的基础上,同时对多个截断维度计算损失。
比如模型输出 1024 维向量,训练时不仅优化全维度的对比损失,还同时优化前 256 维、前 512 维、前 768 维的对比损失。这迫使模型把最重要的语义信息"前置"到向量的前面,后面截断也不会丢失太多信息。
4.2 LLM 的训练:语言建模 + 对齐
LLM 的训练分三个阶段:
阶段一:预训练(Pre-training)
- 目标:预测下一个词(Next Token Prediction)
- 数据:海量互联网文本(数万亿 token)
- 结果:模型学会了语言的统计规律、世界知识、基本推理能力
阶段二:指令微调(SFT,Supervised Fine-Tuning)
- 目标:让模型学会"听话"——按照人类的指令格式回答问题
- 数据:人工标注的"指令-回答"对(数十万到数百万条)
- 结果:模型从"会补全句子"变成"会回答问题"
阶段三:对齐训练(RLHF / DPO)
- 目标:让模型的回答更符合人类偏好(有用、无害、诚实)
- 方法:
- RLHF(人类反馈强化学习):人类对模型输出打分,用强化学习优化
- DPO(直接偏好优化):直接用偏好数据优化,省去强化学习环节
- 结果:模型变得"会聊天",不再胡说八道
4.3 训练方式对比
| 维度 | Embedding 模型 | LLM |
|---|---|---|
| 预训练目标 | Masked LM(掩码预测)或语言建模 | 自回归语言建模(预测下一个词) |
| 微调目标 | 对比学习(拉近正例、推远负例) | 指令跟随(学会回答问题) |
| 特殊训练 | Matryoshka 损失(多维度优化) | RLHF / DPO(人类偏好对齐) |
| 数据需求 | 需要高质量文本对(正例/负例) | 需要海量无标注文本 + 指令数据 |
五、使用方式与资源占用
5.1 使用方式对比
Embedding 模型的使用:
# 伪代码示意
vector = embedding_model.encode("公司报销流程是什么?")
# 输出: [0.12, -0.05, 0.87, ...] # 1024 维向量
# 然后用这个向量去向量数据库里查相似的文档
similar_docs = vector_db.search(vector, top_k=5)
特点:
- 一次前向传播,速度快(毫秒级)
- 输出向量可缓存、可索引、可持久化存储
- 适合高并发、大批量处理
LLM 的使用:
# 伪代码示意
response = llm.generate("公司报销流程是什么?")
# 输出: "根据公司制度,报销流程如下:第一步..."
特点:
- 逐 token 生成,速度慢(秒级甚至分钟级)
- 每次生成都需要完整的前向传播
- 长文本时 KV Cache 占用大量显存
5.2 资源占用对比
| 资源类型 | Embedding 模型 | LLM |
|---|---|---|
| 模型权重显存 | 低(BGE-large 约 1.3GB) | 高(7B 模型 fp16 约 14GB) |
| 推理显存 | 低(一次前向,无 KV Cache) | 高(KV Cache 随上下文长度增长) |
| 向量存储 | 是主要开销(千万级向量可达数十 GB) | 无向量存储需求 |
| 计算量 | 低(单次前向) | 高(生成 N 个 token 要跑 N 次前向) |
| 部署门槛 | 低(单卡甚至 CPU 可跑) | 高(通常需要 GPU,大模型需多卡) |
5.3 "存储成本降低 3 倍"到底省在哪?
这是 Matryoshka 嵌入的核心卖点,但需要搞清楚省的是哪里的成本。
向量存储的计算:
一条 1024 维的 float32 向量 = 1024 × 4 字节 = 4096 字节 ≈ 4 KB
如果截断到 256 维 = 256 × 4 字节 = 1024 字节 ≈ 1 KB
同规模数据下,存储直接降到 1/4。
节省的是:
- 向量数据库的磁盘持久化存储(最主要)
- 构建索引时占用的内存(如 Faiss、HNSW 等索引结构)
- 检索时的内存带宽(向量越短,相似度计算越快)
不是节省:
- ❌ GPU 显存(模型推理时仍然输出全维度向量,显存开销不变)
- ❌ 模型推理计算量(前向传播的计算量与输出维度关系不大)
💡 通俗理解:Matryoshka 嵌入省的是"仓库的货架空间",不是"生产线的电费"。
六、特殊技术:Matryoshka 嵌入与 MoE
6.1 Matryoshka 嵌入(套娃嵌入)
全称:Matryoshka Representation Learning(MRL,套娃表示学习),NeurIPS 2022 论文提出。
核心思想:让模型生成的向量具备"俄罗斯套娃"式的嵌套结构——向量的前 N 维(前缀子向量)已经包含了整段语义的最重要信息。维度越完整,精度越高;但即使只用前 256 维,也足以完成较高质量的语义检索。
训练方式:在训练过程中,模型不仅优化最终维度的损失,还同时优化多个不同截断维度(如 8, 16, 32, ..., 3072)上的损失函数(通常采用加权和)。这迫使模型将最关键的信息"前置"到向量的开头。
OpenAI 的实践:
在调用 text-embedding-3-large 时,可以通过 dimensions 参数指定返回向量的长度:
{
"model": "text-embedding-3-large",
"input": "需要嵌入的文本",
"dimensions": 256
}
API 会返回向量前 256 维的截断结果。同一业务场景中,查询(query)和文档(document)的向量必须使用相同的 dimensions 值。
适用对象:专属于 Embedding 模型的训练技术。
6.2 MoE(混合专家模型)
全称:Mixture of Experts(混合专家模型)。
核心思想:把模型的某些计算层(通常是前馈网络 FFN)替换成多个"专家"子网络。每个输入 token 只激活其中少数几个专家(如 Top-2),其余专家不参与计算。
效果:
- 总参数量极大(模型容量大,能记住更多知识)
- 实际计算量可控(稀疏激活,每次只跑一小部分参数)
典型代表:
| 模型 | 总参数 | 激活参数 | 说明 |
|---|---|---|---|
| Mixtral 8×7B | 47B | ~13B | 8 个专家,每个 7B,每次激活 2 个 |
| Qwen2-57B-A14B | 57B | ~14B | 阿里开源 MoE 模型 |
| DeepSeek-V3 | 671B | ~37B | 总参数巨大,但激活参数控制得很好 |
6.3 Matryoshka vs MoE:完全不同层面的优化
| 维度 | Matryoshka 嵌入 | MoE |
|---|---|---|
| 解决什么问题 | 向量存储和检索的存储/计算成本 | 模型推理的计算效率 vs 模型容量 |
| 作用环节 | 输出的嵌入向量(表示层) | 模型的中间计算层(架构层) |
| 受益对象 | 向量数据库、检索系统 | 大语言模型的推理与训练效率 |
| 如何节省资源 | 截断向量,节省存储/检索内存 | 稀疏激活,节省每 token 的推理算力 |
| 是否改变模型输出 | 是(让所有截断子向量都能用) | 否(输出仍然是文本) |
💡 一句话总结:Matryoshka 嵌入管"向量存起来省空间";MoE 管"模型跑起来省计算"。两者可以同时使用在一个系统中,但负责的完全是不同的瓶颈。
七、它们之间是什么关系?
7.1 关系一:LLM 可以作为 Embedding 模型的底座
拿一个预训练好的 LLM(如 LLaMA、Qwen),去掉生成头,在其上加一个池化 + 投影层,用对比学习 + Matryoshka 损失微调,就能得到一个强大的嵌入模型。
此时 LLM 的编码能力被嵌入模型继承,但用途完全不同:
- LLM 原本用来生成文本
- 改造后用来输出语义向量
典型例子:NV-Embed、GTE 等模型就是用 LLM 做 backbone 的 Embedding 模型。
7.2 关系二:两者协同构成 RAG 系统
这是当下最常见的结合模式,也是我们这个系列文章的核心场景:
用户问题 → Embedding 模型转向量 → 向量数据库检索相关文档 → 把文档+问题一起给 LLM → LLM 生成回答
- Embedding 模型解决"找得到"——从海量文档中快速召回相关内容
- LLM解决"说得好"——基于检索到的上下文生成准确、连贯的回答
两者缺一不可:
- 没有 Embedding 模型,LLM 面对海量文档无从下手,只能凭记忆胡编
- 没有 LLM,Embedding 模型只能告诉你"哪些文档相关",但不能组织成人类可读的回答
7.3 关系三:可以互换部分功能,但成本悬殊
理论上,你可以用 LLM 判断两段文本是否相似——直接把两段文本拼成 prompt 问模型"这两句话意思一样吗?"
实际上,这样做成本极高:
- Embedding 模型算一次余弦相似度:毫秒级,几乎零成本
- LLM 判断一次语义相似度:需要生成几十个 token,延迟秒级,按 token 计费
反过来,Embedding 模型绝对不能做生成——它输出的是向量,不是文本。
八、结合使用的典型场景
8.1 RAG 问答系统(我们最熟悉的场景)
流程:
- 用户提问:"公司报销上限是多少?"
- Embedding 模型把问题转成向量
- 向量数据库检索出最相关的制度文档段落
- 把检索结果 + 用户问题一起塞进 LLM 的 prompt
- LLM 基于文档内容生成回答
应用:客服知识库、企业内部文档搜索、个人笔记检索。
8.2 语义搜索 + 智能总结
- Embedding 模型找出与 query 最相关的网页/评论/论文
- LLM 总结搜索结果或提炼观点
应用:科研文献综述、舆情分析、竞品调研。
8.3 推荐系统 + 对话式解释
- Embedding 模型生成用户画像向量和商品向量,做相似度召回
- LLM 生成推荐理由("因为你之前买过 XX,所以推荐 YY")
应用:电商推荐、内容平台个性化推送。
8.4 长文本处理流水线
- Embedding 模型对长文本分段,找出最相关的段落
- 把精选段落送给 LLM 处理,绕过 LLM 上下文窗口限制
应用:法律合同分析、医学文献精读、财报解读。
九、分开使用的场景
9.1 只用 Embedding 模型,不用 LLM
场景:
- 纯语义去重:检测重复新闻、论文查重、商品去重
- 大规模聚类:用户分组、主题发现、社区划分
- 相似内容推荐:仅需相似度计算,无需解释推荐理由
- 向量数据库构建纯检索后端:无在线生成需求
优势:低延迟、低成本、大批量处理,根本不需要生成能力。
9.2 只用 LLM,不用 Embedding 模型
场景:
- 创意写作:诗歌、小说、剧本生成
- 代码编写:编程辅助、代码补全、Bug 修复
- 翻译:文本翻译、代码注释翻译
- 纯对话:闲聊、心理咨询、教育辅导
优势:直接利用模型内置知识,无需外部检索,流程简单。
注意:如果任务需要最新知识(如"今天股价多少"),LLM 本身无法回答(训练数据有截止日期),此时必须引入检索。
十、一张总表看懂所有区别
| 维度 | Embedding 模型 | LLM |
|---|---|---|
| 诞生目的 | 把文本变成可比较的向量 | 理解和生成文本 |
| 核心操作 | 一次前向传播 → 输出向量 | 逐 token 自回归生成文本 |
| 输出形式 | 固定维度浮点数数组 | 变长自然语言文本 |
| 典型架构 | Transformer Encoder(双向) | Transformer Decoder(因果) |
| 模型规模 | 小(0.1B ~ 几B 参数) | 大(7B ~ 几百B 参数) |
| 推理显存 | 低(单卡甚至 CPU 可跑) | 高(通常需要 GPU) |
| 推理速度 | 快(毫秒级) | 慢(秒级 ~ 分钟级) |
| 存储成本重头 | 产出向量的持久化和索引 | 模型权重文件 |
| 特殊优化技术 | Matryoshka 嵌入、量化、乘积量化 | MoE、量化、FlashAttention、KV Cache 优化 |
| 训练核心 | 对比学习(拉近正例、推远负例) | 语言建模 + 指令微调 + RLHF/DPO |
| 能否独立工作 | ✅ 能(检索、聚类、去重) | ✅ 能(生成、对话、翻译) |
| 最佳搭档 | LLM(RAG 场景) | Embedding 模型(RAG 场景) |
写在最后
回到我们最初的问题:
"灵活的嵌入维度:采用 Matryoshka 嵌入进行训练,存储成本降低 3 倍,性能损失极小。"
这句话纯粹说的是 Embedding 模型产出向量的存储优化,和 LLM 本身的显存、推理架构没有直接关系。
把它和 LLM 的 MoE 放在一起时,记住这个比喻:
- MoE 省的是"引擎的油"——让模型用更少的计算跑更大的参数量
- Matryoshka 嵌入 省的是"仓库的货架"——让向量存得更紧凑,检索更快
两者可以同时使用在一个系统中,但负责的完全是不同的瓶颈。
对于 AI 知识库项目来说:
- Embedding 模型(如 bge-m3)决定了"能不能从中文文档里找到相关内容"
- LLM(如 qwen2.5:7b)决定了"找到内容后,能不能组织成通顺的回答"
- 两者配合,才是一个完整的 RAG 系统
📌 免责声明
本文仅为作者个人学习笔记与技术交流,不代表任何官方立场。
- 所有技术细节基于公开资料和作者个人理解,如有错误欢迎指正
- 模型参数、维度等数据来自官方文档或社区实测,版本更新后可能变化
- 作者不对任何因参考本文内容导致的损失承担责任
⚖️ 合规使用 AI 提示
- 请遵守《生成式人工智能服务管理暂行办法》等相关法规
- 本地部署的 AI 服务仅供个人学习与研究使用,商业用途请参考相关模型的 License
- 知识库中上传的文档请确保拥有合法使用权,勿上传涉密、侵权内容
相关文章: