Qwen 家族再上新!

简介: Qwen3 Embedding 是基于 Qwen3 基础模型训练的文本嵌入模型系列,可将离散符号转化为连续向量,捕捉语义关系。结合 Qwen3 Reranker 模型,通过“初筛+精排”流程提升搜索与推荐系统的相关性排序能力。该系列模型支持多语言、提供灵活架构(0.6B-8B 参数规模),并在 MTEB 多语言榜单中排名第一。用户可通过 Hugging Face、ModelScope 和 GitHub 快速体验模型服务。

640 (82).png

640 (83).png


Qwen3 Embedding 是基于 Qwen3 基础模型训练的文本嵌入模型系列,能够将离散的、高维的符号(如文字、图片、声音等)转化为低维、连续的数字向量(Vector)的转化技术通过捕捉不同数据点在嵌入空间中的距离远近,它能挖掘出它们之间隐藏的语义关系。

这样,模型就可以在不真正“理解”语言的前提下,通过数学运算模拟出对语言的理解能力 —— 让模型“算得更少,懂得更多”


📌举个例子

假设我们有三句话:

“苹果手机真好用”

“我有一部 iPhone”

“今天天气不错”

Qwen3 Embedding 会将这些句子转化为数字向量。其中,“苹果手机真好用”和“我有一部 iPhone”在语义上很接近,所以它们的向量也十分相似;而“今天天气不错”和它们表达的内容差别较大,因此在向量空间中距离更远。

通过这种方式,AI 就能自动判断内容的相关性,为搜索、推荐、聚类等任务提供有力支持。


640 (84).png


如果说 Qwen3 Embedding 是“初筛”,那 Qwen3 Reranker 就是“精排” —— 它是专门用于提升搜索和推荐系统相关性排序能力的模型。

它的任务是判断两个文本之间的相关性有多高。比如在搜索引擎中,用户输入一个查询词后,系统会先通过 Embedding 模型快速选出一批可能相关的文档,但这些结果的质量参差不齐。这时,Qwen3 Reranker 会对他们进行精细化打分和排序,把最相关的结果排到前面。


📌 举个例子


当你搜索:什么是量子计算?

系统先用 Embedding 模型从大量文档中找出几篇可能相关的文章,比如:

《量子计算的基本原理》

《计算机发展简史》

《量子力学入门知识》

这三篇文章都包含关键词,但从内容来看,第 2 篇明显和“量子计算”关系较远。

Qwen3 Reranker 会为每篇文章打分:

第 1 篇:0.95(非常相关)

第 3 篇:0.80(有一定关联)

第 2 篇:0.30(不太相关)

最终,系统根据这个得分重新排序,优先展示最相关的内容。


640 (85).png


卓越的泛化性: Qwen3-Embedding 系列在多个下游任务评估中达到行业领先水平。其中,8B 参数规模的 Embedding 模型在 MTEB 多语言 Leaderboard 榜单中位列第一(截至2025年6月6日,得分70.58),性能超越众多商业API服务。此外,该系列的排序模型在各类文本检索场景中表现出色,显著提升了搜索结果的相关性。


640 (86).png


灵活的模型架构: Qwen3-Embedding 系列提供从 0.6B 到 8B 参数规模的3种模型配置,以满足不同场景下的性能与效率需求。开发者可以灵活组合表征与排序模块,实现功能扩展。

此外,模型支持以下定制化特性:

1) 表征维度自定义:允许用户根据实际需求调整表征维度,有效降低应用成本;

2) 指令适配优化:支持用户自定义指令模板,以提升特定任务、语言或场景下的性能表现。

全面的多语言支持: Qwen3-Embedding 系列支持超过 100 种语言,涵盖主流自然语言及多种编程语言。该系列模型具备强大的多语言、跨语言及代码检索能力,能够有效应对多语言场景下的数据处理需求。


640 (87).png


Qwen3 Embedding 基于 Qwen3 强大的语言理解能力构建,采用了双编码器结构,分别处理查询与文档内容,从而提取出高质量的语义向量。这种结构使得模型在进行大规模文本匹配任务时具有更高的效率和更强的泛化能力。

Embedding 模型的训练过程中,我们采用三阶段训练架构:第一阶段通过超大规模弱监督数据进行对比学习预训练;第二阶段基于高质量标注数据进行监督训练;最终通过模型融合策略融合多个候选模型,以提升整体性能。这种分阶段训练机制有效平衡了模型的泛化能力与任务适配性。

 Reranker 模型的训练中,基于实验验证结果,我们直接采用高质量标注数据进行监督训练,以提升训练效率。特别需要说明的是,在 Embedding 模型的第一阶段弱监督训练中,我们构建了多任务适配的 Prompt 体系,利用 Qwen3 基础模型的文本生成能力,我们针对不同任务类型和语言特性,动态生成了一系列弱监督文本对,突破了传统方法依赖社区论坛或开源数据筛选获取弱监督文本对的局限性,实现了大规模弱监督数据的高效生成。


640 (88).png

640 (89).png

在使用 Qwen3 Embedding-8B 之前,请确保你的 Transformers 库版本 ≥4.51.0 ,否则可能会遇到以下错误:

KeyError: 'qwen3'

正确调用方式如下:

# Requires transformers>=4.51.0

import torch
import torch.nn.functional as F

from torch import Tensor
from modelscope import AutoTokenizer, AutoModel


def last_token_pool(last_hidden_states: Tensor,
                 attention_mask: Tensor) -> Tensor:
    left_padding = (attention_mask[:, -1].sum() == attention_mask.shape[0])
    if left_padding:
        return last_hidden_states[:, -1]
    else:
        sequence_lengths = attention_mask.sum(dim=1) - 1
        batch_size = last_hidden_states.shape[0]
        return last_hidden_states[torch.arange(batch_size, device=last_hidden_states.device), sequence_lengths]


def get_detailed_instruct(task_description: str, query: str) -> str:
    return f'Instruct: {task_description}\nQuery:{query}'

def tokenize(tokenizer, input_texts, eod_id, max_length):
    batch_dict = tokenizer(input_texts, padding=False, truncation=True, max_length=max_length-2)
    for seq, att in zip(batch_dict["input_ids"], batch_dict["attention_mask"]):
        seq.append(eod_id)
        att.append(1)
    batch_dict = tokenizer.pad(batch_dict, padding=True, return_tensors="pt")
    return batch_dict

# Each query must come with a one-sentence instruction that describes the task
task = 'Given a web search query, retrieve relevant passages that answer the query'

queries = [
    get_detailed_instruct(task, 'What is the capital of China?'),
    get_detailed_instruct(task, 'Explain gravity')
]
# No need to add instruction for retrieval documents
documents = [
    "The capital of China is Beijing.",
    "Gravity is a force that attracts two bodies towards each other. It gives weight to physical objects and is responsible for the movement of planets around the sun."
]
input_texts = queries + documents

tokenizer = AutoTokenizer.from_pretrained('Qwen/Qwen3-Embedding-8B', padding_side='left')
model = AutoModel.from_pretrained('Qwen/Qwen3-Embedding-8B')

# We recommend enabling flash_attention_2 for better acceleration and memory saving.
# model = AutoModel.from_pretrained('Qwen/Qwen3-Embedding-8B', attn_implementation="flash_attention_2", torch_dtype=torch.float16).cuda()

eod_id = tokenizer.convert_tokens_to_ids("<|endoftext|>")
max_length = 8192

# Tokenize the input texts
batch_dict = tokenize(tokenizer, input_texts, eod_id, max_length)
batch_dict.to(model.device)
outputs = model(**batch_dict)
embeddings = last_token_pool(outputs.last_hidden_state, batch_dict['attention_mask'])

# normalize embeddings
embeddings = F.normalize(embeddings, p=2, dim=1)
scores = (embeddings[:2] @ embeddings[2:].T)
print(scores.tolist())

通过这种“初筛 + 精排”的组合,Qwen3 Embedding 与 Qwen3 Reranker 构建了一套完整的语义检索流程,显著提升了搜索、推荐等系统的准确性。

你也可以通过 ModelScope、Hugging Face、GitHub 快速体验,还可以通过阿里云百炼平台提供的最新的文本向量模型服务进行体验和使用。

快速体验

Qwen3-Embedding

➡️ Hugging Face

➡️  ModelScope

➡️  GitHub

Qwen3-Reranker

➡️ Hugging Face

➡️  ModelScope

相关文章
|
10天前
|
人工智能 前端开发 JavaScript
【开源】智能简历平台,基于Vue3 + AI 大模型:我开发了一款“不像编辑器”的智能简历平台
豫唐AI简历平台是面向职高生的开源求职助手,融合Qwen大模型与职业心理学,提供智能诊断、STAR润色、模拟面试、MBTI/Holland测评及微信扫码登录。纯前端Vue3+TS实现,支持所见即所得编辑与无水印PDF导出。
359 2
|
7月前
|
数据采集 算法 数据挖掘
模块化控制协议(MCP)在网络中增强智能体执行效率的研究
随着Web3技术的迅速发展,去中心化应用和智能体在各种领域的应用逐渐增多。MCP(Modularized Control Protocol,模块化控制协议)作为一种增强智能体执行能力的关键技术,为Web3场景中的智能体提供了更强的灵活性和可扩展性。本文将探讨如何利用MCP技术提升智能体在Web3场景中的执行能力,并通过实例代码展示其实现路径。
607 22
|
7月前
|
人工智能 运维 NoSQL
机器一宕机就靠“拍脑袋”?试试知识图谱,排故快准狠!
机器一宕机就靠“拍脑袋”?试试知识图谱,排故快准狠!
498 8
|
7月前
|
机器学习/深度学习 供应链 监控
如何通过API优化电商库存管理,减少缺货风险
本文详解如何通过API优化电商库存管理,实现库存实时同步、需求预测与自动化补货,降低缺货风险,提升运营效率及客户满意度。
386 0
|
7月前
|
XML 安全 数据安全/隐私保护
Okta核心协议SAML
SAML(安全断言标记语言)是一种开放标准,用于在身份提供商和服务提供商之间安全传递用户身份和权限信息,常用于实现单点登录(SSO),提升用户体验与安全性,简化企业用户管理。
724 89
|
7月前
|
存储 缓存 资源调度
《破局节点失效:Erlang分布式容错系统的自愈机制与恢复逻辑》
Erlang凭借并发设计与原生分布式支持,成为构建容错系统的利器。面对节点故障常态,系统需实现自动恢复闭环:从多层监控、预测性降级,到状态持久化、事务续接,再到级联恢复与智能调度,层层机制保障服务无缝切换。结合Mnesia事务日志、supervisor监督模式与进程模型优势,Erlang将故障恢复深度融入系统运行,实现高可用与“零感知”体验。
442 4
|
7月前
|
数据采集 人工智能 自然语言处理
豆蔻妇科大模型再突破:钉钉行业训练平台+精标数据SFT ,准确率从 77.1%上升至 90.2%
在医疗AI领域,通用大模型因缺乏专业临床判断力而难以胜任复杂诊断任务。本文以豆蔻妇科大模型为例,介绍了通过监督微调(SFT)显著提升诊断准确率的实践路径。从初始77.1%到最终90.2%的突破,依托高质量数据筛选、思维链校准、双重评估体系及钉钉训练平台支持,展示了医疗大模型从“知其然”到“知其所以然”的演进过程,并展望SFT+RL协同训练的未来发展。
578 59

热门文章

最新文章