你有关注最新的词嵌入模型吗?Qwen3 Embedding与 BGE 有什么区别?

302 阅读3分钟

1、BGE词嵌入模型架构

BGE模型采用Transformer的Encoder架构:

图片

Encoder架构的词嵌入模型

数据格式: [CLS]句子A [SEP]句子B [SEP]

并行计算: 同时感知上下文,计算速度快

向量表示: Encoder会在输入的最前面加一个特殊的 [CLS]标记。在经过计算后使得[CLS]标记向量能够代表整句话的含义

AI大模型全套学习资源【点击蓝字获取】

2、Qwen3 Embedding 模型架构

Qwen3 Embedding 模型采用基于 Qwen3的 dual-encoder和 cross-encoder架构(将decoder-only 中的 casul mask 去掉):

图片

Qwen3 词嵌入模型

Qwen3 Embedding 基于 Qwen3 模型,嵌入模型将单个文本段作为输入,用[EOS]标记所对应的向量代表整句话的向量。

3、Qwen3 Embedding的训练过程

图片

Stage1: 使用大合成数据进行弱监督学习

利用Qwen3基座模型直接合成数据,而BGE与E5等模型都是从开源社区收集数据。

Stage2: 利用高质量合成数据进行 SFT

对筛选出的高质量合成数据和公开监督数据集进行监督训练。

Stage3: 模型合并

将微调过程中的多个模型检查点保存,采用slerp技术进行模型融合,增加泛化能力。

图片

4、Qwen3 Embedding的数据合成

Qwen3 Embedding模型加入信息检索、比对挖掘、分类和文本相似度四类合成数据。

以信息检索为例

输入: 多语种文档 +候选角色

Qwen3-32B 决策: 选择最可能对文档感兴趣的角色、问题类型与难度(高中/大学的知识)

构造检索对: 输入上一阶段的文档与角色,对问题类型、难度进行限制。从角色视角出发,按需求生成文档对应的自然语言查询。

例如:角色为古建筑爱好者,文档关于故宫历史,需求为大学难度20字以内,可能生成【明朝紫禁城的历史建筑意义】。

高质量数据: 对每一对数据计算cosine相似度,选择相似度大于0.7的数据作为高质量数据。

图片

5、Qwen3 Embedding的新用法

Qwen3 Embedding模型的query前能加一个prompt,这个prompt会与query一起向量化。

比如推荐场景:

用户正在阅读一篇新闻报道,你希望在页面下方为其推荐相似文章。而相似有多种维度: 是主题相似?写作风格相似?还是同样提到了某个人物?

那么我们就可以在向量化query前加一个prompt: 寻找写作风格相似的其他文档。

我们就能用同一套文档向量,通过在查询时动态传入不同指令,为用户提供多维度的推荐。比如让用户自己选择“更关心主题”还是“喜欢这个作者的风格”,实现个性化的推荐功能。

图片

6、总结

训练数据不同:以前词嵌入模型采用公开数据,现在的训练数据会使用大模型加工合成,更精细可控,站在了巨人的肩膀上。

模型结构不同:在生成式大模型采用Decoder架构后,词嵌入模型也借鉴了Decoder,使用[EOS]标签对应的向量来表示句子向量,

训练方法改进:Encoder 架构的训练方式是 Mask 猜词与相似度计算。而Qwen3 词嵌入模型采用多阶段训练与合并结果,让模型效果更上一层楼。

AI大模型全套学习资源【点击蓝字获取】