LLM 与 Embedding 模型:两个方向,两种使命

0 阅读24分钟

LLM 与 Embedding 模型:两个方向,两种使命

一句话记住本质区别:LLM 是"说话的脑子"——负责理解和生成文本;Embedding 模型是"数字化的鼻子"——负责把文本变成可比对的语义向量。


写在前面

在之前的文章里,我们围绕 AI 知识库和模型部署做了不少实践和梳理:

这几篇文章分别讲了模型部署时的显存计算、量化策略,以及 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),用对比学习训练:

  • 正例对:语义相似的句子(如"今天天气很好"和"今天阳光明媚")
  • 负例对:语义无关的句子
  • 损失函数:让正例对的向量距离近,负例对的向量距离远

后续演进

时间代表模型关键进步
2019Sentence-BERT句子级语义向量,对比学习
2021GTE、E5更大规模数据、更强的对比学习
2023BGE 系列中文场景优化,开源可商用
2024OpenAI text-embedding-3Matryoshka 嵌入,灵活截断维度

💡 一句话总结 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)—— 规模即智能
时间模型参数量关键突破
2018GPT-11.17 亿首次用 Transformer Decoder 做预训练
2019GPT-215 亿零样本能力初现,OpenAI 因"太危险"暂缓开源
2020GPT-31750 亿涌现能力——模型大到一定程度,突然会推理、会举一反三
2022ChatGPT基于 GPT-3.5RLHF(人类反馈强化学习),模型开始"会聊天"
2023GPT-4未公开多模态、更强推理,LLM 进入"实用化"时代

核心逻辑:GPT 系列始终坚持Decoder-only + 自回归生成的路线。预训练目标只有一个——预测下一个词。但模型规模扩大到百亿、千亿级别后,突然出现了涌现能力(Emergent Abilities):模型不仅学会了语言规律,还学会了算术、逻辑推理、常识判断。

第三阶段:开源生态爆发(2023 ~ 2025)

GPT 系列是闭源的,但开源社区迅速跟上:

时间模型特点
2023LLaMA(Meta)开源可商用,引爆本地部署热潮
2023Qwen(阿里)中文优化强,开源生态完善
2023Mistral 7B小模型大能力,欧洲开源之光
2024Mixtral 8×7BMoE 架构,总参数 47B,激活仅 13B
2024DeepSeek-V2/V3MoE + MLA(多头潜在注意力),性价比极高
2025DeepSeek-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 风格)
  • 归一化:把向量长度缩放到 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)

基本思路

  1. 构造正例对(语义相似的文本对,如"今天天气很好"和"今天阳光明媚")
  2. 构造负例对(语义无关的文本对,如"今天天气很好"和"量子力学很复杂")
  3. 训练目标:让正例对的向量距离尽可能近,负例对的向量距离尽可能远

常用损失函数

  • 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

节省的是

  1. 向量数据库的磁盘持久化存储(最主要)
  2. 构建索引时占用的内存(如 Faiss、HNSW 等索引结构)
  3. 检索时的内存带宽(向量越短,相似度计算越快)

不是节省

  • ❌ 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×7B47B~13B8 个专家,每个 7B,每次激活 2 个
Qwen2-57B-A14B57B~14B阿里开源 MoE 模型
DeepSeek-V3671B~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 问答系统(我们最熟悉的场景)

流程

  1. 用户提问:"公司报销上限是多少?"
  2. Embedding 模型把问题转成向量
  3. 向量数据库检索出最相关的制度文档段落
  4. 把检索结果 + 用户问题一起塞进 LLM 的 prompt
  5. LLM 基于文档内容生成回答

应用:客服知识库、企业内部文档搜索、个人笔记检索。

8.2 语义搜索 + 智能总结

  1. Embedding 模型找出与 query 最相关的网页/评论/论文
  2. LLM 总结搜索结果或提炼观点

应用:科研文献综述、舆情分析、竞品调研。

8.3 推荐系统 + 对话式解释

  1. Embedding 模型生成用户画像向量和商品向量,做相似度召回
  2. LLM 生成推荐理由("因为你之前买过 XX,所以推荐 YY")

应用:电商推荐、内容平台个性化推送。

8.4 长文本处理流水线

  1. Embedding 模型对长文本分段,找出最相关的段落
  2. 把精选段落送给 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
  • 知识库中上传的文档请确保拥有合法使用权,勿上传涉密、侵权内容

相关文章: