Qwen 团队开源了 Embedding 模型

Qwen 的布局与模型家族

Qwen 团队开源了 Embedding 模型系列(0.6B, 4B, 8B),这完善了其开源生态(此前已有文本生成大模型、多模态大模型)。

包含两种类型:

  • Embedding 模型:输入单文本,输出文本的语义向量。核心是取最后一层 [EOS] token 的隐藏状态作为向量表示。
  • Reranking 模型:输入文本对,预测它们是否相关(“是”或“否”的概率),用于精排。
关键特性
  • 支持 MRL(多向量维度):可以根据需要输出不同长度的向量(最低 32 维),在性能和效率之间灵活权衡。
  • 支持指令模板 (Instruct):非常重要!可以为不同任务定制输入指令(如 “为这个句子生成向量用于检索/聚类:”),能显著提升特定任务效果。
  • 基于 Qwen3 基础模型初始化(具体是 Base 还是 Instruct 未明确)。

模型的训练:一个“三阶段”精炼过程

第一阶段(基础预训练)
  • 使用 150M弱监督合成 Pair 对(即由模型自动生成而非人工标注的文本对)。
  • 训练方法:对比学习 (Contrastive Learning),目标是拉近相关文本对的向量距离,推远不相关文本对的向量距离。具体使用 InfoNCE 损失函数,包含硬负例批次内负例
第二阶段(精炼训练)
  • 从第一阶段的大量弱监督数据中筛选出 12M 个高质量 Pair 对(筛选标准:余弦相似度 > 0.7)。
  • 再加入 7M 来自公开榜单的高质量数据
  • 使用这些更高质量的数据进行二次训练
  • 训练技巧:采用 LoRA (Low-Rank Adaptation) 微调,这是一种高效微调大模型的方法,能节省计算资源。
第三阶段(模型融合)
  • 将第二阶段训练得到的多个 checkpoint (模型检查点) 进行参数融合(一种集成策略,将多个模型参数组合成一个更强的模型)。
  • 这是提升模型稳定性和最终效果的有效策略(曾在比赛中流行,现已成为常用手段)。
  • Reranking 模型训练:只用了第二和第三阶段(即基于高质量数据训练和融合)。

最大的亮点与疑问:纯合成数据!

  • 核心创新/不同点:Qwen3-Embedding 的训练数据完全依赖 LLM 合成没有使用任何开源的真实配对数据(如 MS MARCO, Natural Questions 等)。这与传统做法(开源数据 + 合成数据)截然不同。
  • 疑问:为什么不混合使用?是开源数据质量难控,还是合成策略足够强大?目前缺少公开的对比实验说明。
合成数据的“讲究”

相比之前简单的“固定模板”方法,Qwen 的合成策略复杂得多:

  • 构建**“角色库”**。
  • 为每个任务,让模型找出最相关的 5 个角色来生成数据。
  • 融合多种Query 类型(关键词、事实、摘要、判断等)。
  • 控制长度、难度、语言等因素。
  • 这种策略能生成多样性更丰富、质量更高的训练数据。

性能表现:榜单 vs. 实战

榜单成绩优秀
  • 0.6B 小模型:多语言任务表现仅次于 Gemini-Embedding;在单独的英文、中文、代码任务上,可与开源顶尖模型(如 gte-Qwen2-7B-instruct)媲美。
  • 4B/8B 大模型:在榜单上全面优于其他对比模型。
内部实测(无法公开数据)
  • 相比之前的 SOTA(如 BGE-M3),在自己的业务数据上有提升,但幅度不大。
    • Top30 召回率提高了大约 1%
    • Top5 召回率没有明显提升。
公开领域测试(农林牧渔数据集)
  • 选取了一个较新的中文领域数据集(90万+文档,1k问题)进行快速测试。
  • 结论:Qwen3-Embedding-0.6B 表现略好于 BGE-M3。
  • 重要提示:这只是一个快速测试,不同领域数据效果可能不同,必须在自己业务数据上实测!

核心观点与建议

  • Embedding 模型至关重要:在 RAG(检索增强生成)、Agent 工具选择等场景中,Embedding 模型的召回效果往往比 LLM 本身的能力更能决定最终效果好坏(找都找不到,答再好也白搭)。
  • 算法瓶颈:当前 Embedding 模型的核心技术(对比学习)已相对成熟,性能突破更依赖基础模型的能力训练数据的质量和多样性
  • 黄金法则任何模型的好坏,最终都要用你自己业务场景的真实数据来检验! 榜单成绩仅供参考。
实用建议
  • 工业部署需权衡效果和速度,0.6B 小模型是更实用的选择(4B/8B 向量计算开销大)。
  • 务必调优 Instruct 提示词! 这是发挥模型潜力的关键一步。
  • 开源社区虽有很多优秀 Embedding 模型(榜单猛如虎),但实际生产中 BGE-M3 等模型仍是主流,说明落地实践有自身考量(如稳定性、速度、兼容性等)。

Qwen3-Embedding 是阿里开源的一个功能强大、特性丰富(MRL, Instruct)的 Embedding 模型家族,补齐了 Qwen 生态。

  • 最大特色在于完全使用精心设计的 LLM 合成数据进行三阶段训练(弱监督预训练 -> 高质量精炼 -> 模型融合)
  • 榜单成绩优异(尤其 4B/8B),小模型 (0.6B) 表现亮眼且实用
  • 实际业务测试显示有效果提升(约 1% Top30 召回),但 Top5 提升不明显,新领域快速测试也显示优势。
  • 核心建议:工业应用优先考虑 0.6B 模型 + 调优 Instruct 提示词,并且必须在自身业务数据上严格验证效果。Embedding 模型的性能瓶颈目前主要在于基础模型能力和数据质量。

Qwen Embedding 是 一个很能打、有特色(纯合成数据训练)的 模型,小尺寸版本尤其适合实际部署,但用之前一定要用自己的数据测一测,并且别忘了好好写指令!

问题:嵌入模型为何忽视关键语言结构?

文本嵌入模型(如Jina/BGE)在语义压缩过程中丢失词序、逻辑关系等关键信息,导致:

  1. 词序失效
    • Berlin is the capital of Germany vs the Germany Berlin is capital of
      相似度0.93+(语义混乱但嵌入几乎无差)
  2. 时序混淆
    • A before B vs B before A
      相似度0.98+(动作顺序颠倒无法区分)
  3. 否定失效
    • This is useful vs This is not useful
      嵌入空间重叠,无法识别否定逻辑
  4. 方向混淆
    • Flight from A to B vs Flight from B to A
      相似度0.99+(对旅行/物流场景致命)

核心原因

  • 词嵌入层:独立编码token,忽略位置关系(如from A to Bto B from A
  • 池化层:均值池化平均所有token;CLS池化捕捉长距依赖弱
  • 训练目标:对比学习侧重语义相似,未强制学习语法差异
实验揭示的四大关键规律
1. 文本长度与词序敏感性负相关
  • 实验:180组不同长度句子(3-30词)及其乱序版本
  • 发现
    词数相似度中位数原因
    3词0.95+位移范围有限
    30词0.85-词位移距离更大
  • 原理:短文本中词上下文变化小,长文本词位移破坏原始语义更显著。
2. 词位移距离是敏感性的直接指标
  • 关键指标:平均词位移(Token Shift Distance)
    • 位移越大 → 相似度越低(线性相关)
  • 示例
    原始:The quick brown fox jumps  
    乱序:Jumps fox brown quick the(位移大,相似度0.72)  
    
3. 模型规模无法解决问题
  • 实验:对比BGE三个规模模型(33M/110M/335M)
    模型参数量乱序相似度提升幅度
    small33M0.94-
    large335M0.91仅3%
  • 结论:增大模型对词序敏感性提升微弱。
4. 池化策略的影响有限
  • 均值池化:完全丢失序列信息(平均值与顺序无关)
  • CLS池化:理论上关注全局结构,但实际效果接近均值池化
    • 示例:CLS池化下Berlin...Germany vs乱序相似度仍达0.93
现实场景中的五类失效模式
类型案例风险场景
方向性Flight from A to B vs from B to A机票搜索错误
时间性A before B vs B before A医疗流程混乱
因果性降雨引发洪水 vs 洪水引发降雨灾害分析失误
比较性A优于B vs B优于A产品推荐失真
否定性有效方案 vs 无效方案法律/金融决策风险

根本原因:嵌入模型缺乏推理能力,仅执行词级语义匹配。

解决方案:对比学习微调
1. 三元组训练架构
Query: Flight from Berlin to Amsterdam  
Positive: 同义改写(保持方向)  
Negative: Flight from Amsterdam to Berlin(方向反转)  
  • 目标:拉近Query-Positive距离,推远Query-Negative距离
2. 关键训练策略
  • 数据构造:覆盖五类失效模式的1.1万组三元组
    • 示例否定词:not/never/reverse/worse than
  • 微调效果(Jina-v2微调后):
    失效类型相似度下降幅度
    乱序句子0.93 → 0.65
    方向性案例0.99 → 0.71
    否定性案例0.98 → 0.32
3. 实验验证
  • 评估集:180乱序句+94人工三元组
  • 核心指标
    • 乱序相似度从0.93降至0.65(降幅30%
    • 否定案例相似度从0.98降至0.32(降幅67%
局限性与发展方向
  1. 当前局限
    • 短文本(<5词)优化空间有限
    • 依赖高质量三元组数据集构造
  2. 未来突破点
    • 融合位置编码:在池化前注入词序信息
    • 图神经网络:显式建模词间逻辑关系
    • 多模态增强:结合视觉/语音等多维度信号

行业建议

  • 搜索/推荐系统需针对性增加方向性/否定性负例
  • 高风险领域(医疗/金融)优先采用微调后嵌入模型
总结:问题本质与解决路径
问题层次解决策略
词序丢失对比学习微调 + 位置感知池化
逻辑关系混淆定向构造因果/时序负例
短文本瓶颈融合短语级结构编码

核心结论
通过1.1万组定向三元组微调,可在5分钟内显著提升模型对词序和逻辑关系的敏感性,尤其对方向性/否定性场景效果显著。未来需向结构化表示与多模态融合演进。

### Qwen Embedding 功能介绍 Qwen3 Embedding 系列基于 Qwen3 基础模型构建,该系列充分利用了 Qwen3 在多语言文本理解和生成方面的优势[^1]。通过创新的多阶段训练流程和数据合成策略,Qwen3 Embedding 系列在多个基准测试中表现出色,尤其是在多语言和代码检索任务中取得了显著的成绩[^1]。 #### 核心功能与特点 - **多语言支持**:Qwen3 Embedding 支持多种语言,能够高效处理跨语言文本嵌入任务,适用于国际化场景。 - **高性能表现**:在 MTEB(Massive Text Embedding Benchmark)等基准测试中,Qwen3 Embedding 展现了领先的性能,特别是在检索精度和问答能力方面表现出色[^2]。 - **灵活的应用场景**:Qwen3 Embedding 可广泛应用于文档相似度计算、信息检索、语义搜索、推荐系统等领域。 #### 使用方法 以下是 Qwen3 Embedding 的基本使用指南: 1. **安装依赖** 首先需要安装 Qwen 的相关库。可以通过以下命令完成安装: ```bash pip install qwen ``` 2. **加载模型** 使用 Python 脚本加载 Qwen3 Embedding 模型: ```python from qwen import QwenEmbedding # 初始化 Qwen Embedding 模型 model = QwenEmbedding() ``` 3. **生成嵌入向量** 输入文本并生成对应的嵌入向量: ```python texts = ["这是一个示例文本", "This is an example text"] embeddings = model.encode(texts) print(embeddings) ``` 4. **应用实例** 以下是一个简单的语义搜索示例: ```python from qwen import QwenEmbedding import numpy as np # 初始化模型 model = QwenEmbedding() # 定义查询文本和文档集合 query = "如何使用 Qwen Embedding?" documents = [ "Qwen Embedding 是一个强大的工具。", "Qwen 提供了多种模型以满足不同需求。", "你可以通过 pip 安装 Qwen 相关库。" ] # 生成查询和文档的嵌入向量 query_embedding = model.encode([query])[0] document_embeddings = model.encode(documents) # 计算余弦相似度 similarities = np.dot(document_embeddings, query_embedding) / ( np.linalg.norm(document_embeddings, axis=1) * np.linalg.norm(query_embedding) ) # 输出最相关的文档 most_relevant_index = np.argmax(similarities) print(f"最相关的文档是: {documents[most_relevant_index]}") ``` #### 性能优化建议 - **本地部署**:如果需要更高的性能或更低的延迟,可以参考开源嵌入模型的本地部署指南[^2]。 - **硬件加速**:利用 GPU 或 TPU 等硬件加速设备,可以显著提升嵌入生成的速度。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

frostmelody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值