Qwen 家族再上新!

文章介绍了通义千问团队最新发布的 Qwen3 Embedding 和 Qwen3 Reranker 模型系列。Qwen3 Embedding 负责将文本转化为向量进行语义检索的“初筛”,捕捉语义关系;Qwen3 Reranker 则对 Embedding 模型初步筛选的结果进行精细化排序,判断文本相关性高低,实现“精排”。两者结合构建了一套完整的语义检索流程,旨在显著提升搜索和推荐系统的准确性。文章强调了模型在 MTEB 多语言榜单上的领先表现(8B 模型位列第一),具备卓越的泛化性、支持超 100 种语言及编程语言的多语言能力。同时,提供了 0.6B 至 8B 多种参数规模选择,支持表征维度和指令自定义,提升灵活性。文章还简述了基于三阶段训练架构的构建过程,并提供了使用示例代码和 ModelScope、Hugging Face、GitHub 等平台的体验链接。


Qwen 家族再上新!
Qwen 家族再上新!

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

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

📌 举个例子


假设我们有三句话:


“苹果手机真好用”

“我有一部 iPhone”

“今天天气不错”


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


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


Qwen 家族再上新!

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

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

📌 举个例子


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


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

《量子计算的基本原理》

《计算机发展简史》

《量子力学入门知识》

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


Qwen3 Reranker 会为每篇文章打分:

第 1 篇:0.95(非常相关)

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

第 2 篇:0.30(不太相关)


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

Qwen 家族再上新!

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

图片

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

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

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

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

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

Qwen 家族再上新!

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

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

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

图片


Qwen 家族再上新!

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

KeyError'qwen3'

正确调用方式如下:

# Requires transformers>=4.51.0
import torchimport torch.nn.functional as F
from torch import Tensorfrom 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 tasktask = '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 documentsdocuments = [    "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 textsbatch_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 embeddingsembeddings = F.normalize(embeddings, p=2, dim=1)scores = (embeddings[:2] @ embeddings[2:].T)print(scores.tolist())

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

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


快速体验





Qwen3-Embedding

➡️ Hugging Face

https://huggingface.co/collections/Qwen/qwen3-embedding-6841b2055b99c44d9a4c371f

➡️  ModelScope

https://modelscope.cn/collections/Qwen3-Embedding-3edc3762d50f48

➡️  GitHub

https://github.com/QwenLM/Qwen3-Embedding


Qwen3-Reranker

➡️ Hugging Face

https://huggingface.co/collections/Qwen/qwen3-reranker-6841b22d0192d7ade9cdefea

➡️  ModelScope

https://modelscope.cn/collections/Qwen3-Reranker-6316e71b146c4f

AI 前线

最强中文 TTS!设计任何音色+情感注入,效果绝了~【附实操】

2025-12-24 22:32:05

AI 前线

从“氛围编码”到“氛围工程”——Kitze 与 Sizzy

2025-12-24 22:32:17

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索