在当今数字化信息爆炸的时代,高效的信息检索与处理技术成为了众多领域的关键需求。文本嵌入(Embedding)和重排序(Reranking)技术在语义搜索、推荐系统、检索增强生成(RAG)等应用中发挥着基础性作用。然而,现有的方法在实现多语言的高保真度和任务适应性方面面临诸多挑战,特别是在需要对多种语言进行细致语义理解的场景,或诸如代码检索和指令跟随等特定领域任务中,现有模型往往表现欠佳。此外,大多数开源模型缺乏规模和灵活性,而商业 API 则成本高昂且封闭。为应对这些挑战,阿里巴巴的 Qwen 团队推出了 Qwen3-Embedding 和 Qwen3-Reranker 系列模型,为多语言文本嵌入和相关性排序设立了新的标杆。
Qwen3-Embedding 是基于 Qwen3 基础模型训练的文本嵌入模型系列,采用了基于密集 Transformer 的架构,并专注于因果注意力机制以提升性能。其核心功能是将离散的、高维的符号(如文字)转化为低维、连续的数字向量(Vector),通过这种转化技术来捕捉不同数据点在嵌入空间中的距离远近,进而挖掘出它们之间隐藏的语义关系。
该模型接收单段文本作为输入,在处理过程中,利用模型最后一层的「EOS」标记对应的隐藏状态向量,将其作为输入文本的语义表示。例如,当输入 “苹果手机真好用” 和 “我有一部 iPhone” 这两句话时,Qwen3-Embedding 会将它们转化为数字向量。由于这两句话在语义上很接近,所以它们对应的向量也十分相似;而若输入 “今天天气不错”,与前两句表达的内容差别较大,其在向量空间中的位置就会与前两者距离更远。通过这种方式,AI 就能自动判断文本内容的相关性,为后续的搜索、推荐、聚类等任务提供有力支持。
Qwen3-Embedding 的训练遵循多阶段训练范式,具体包括以下三个阶段:
以下是一个使用 Qwen3-Embedding 模型生成文本嵌入向量的 Python 示例代码。假设我们使用的是 Hugging Face 的 transformers
库来加载和运行模型。
pip install transformers torch
import torch
from transformers import AutoModel, AutoTokenizer
# 加载 Qwen3-Embedding 模型和分词器
model_name = "Qwen/Qwen3-Embedding" # 替换为实际的模型名称
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModel.from_pretrained(model_name)
# 输入文本
texts = [
"苹果手机真好用",
"我有一部 iPhone",
"今天天气不错"
]
# 对输入文本进行分词并生成嵌入向量
embeddings = []
for text in texts:
inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True)
outputs = model(**inputs)
# 获取最后一层的 [CLS] 标记对应的隐藏状态向量
embedding = outputs.last_hidden_state[:, 0, :].detach().numpy()
embeddings.append(embedding)
# 打印嵌入向量
for i, text in enumerate(texts):
print(f"Text: {text}")
print(f"Embedding: {embeddings[i]}")
print("-" * 50)
Qwen3-Reranker 是专门用于提升搜索和推荐系统相关性排序能力的模型,与 Qwen3-Embedding 配套使用。它采用跨编码器(Cross-Encoder)架构,输入为文本对(例如用户查询与候选文档),通过深度语义分析来计算并输出两个文本的相关性得分,进而对初步检索结果进行精细排序,确保最相关的文档排在前面。
在实际应用中,当一个检索系统基于 Qwen3-Embedding 完成初步检索后,会得到一批与查询相关的候选文档。此时,Qwen3-Reranker 会对这些候选文档与查询进行精细化打分和排序。例如,在一个文档检索系统中,用户输入查询 “如何提高跑步速度”,Qwen3-Embedding 可能会初步检索出一批相关文档,但这些文档的相关性程度参差不齐。Qwen3-Reranker 会对每一个文档与查询组成的文本对进行分析,通过其跨编码器结构,深入理解查询与文档之间的语义关系,然后给出一个相关性得分。最终,系统根据这个得分重新排序,将最相关的文档优先展示给用户。
在 Reranker 模型的训练中,基于实验验证结果,直接采用高质量标注数据进行监督训练。这种方式能够有针对性地提升模型在排序任务上的性能,相比于一些需要大量无监督或弱监督数据预训练的方法,大大提升了训练效率。通过对高质量标注数据的学习,模型能够更好地捕捉查询与文档之间的相关性特征,从而在实际应用中给出更准确的排序结果。
以下是一个使用 Qwen3-Reranker 模型对文本对进行相关性打分的 Python 示例代码。
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer
# 加载 Qwen3-Reranker 模型和分词器
model_name = "Qwen/Qwen3-Reranker" # 替换为实际的模型名称
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
# 输入文本对
query = "如何提高跑步速度"
documents = [
"提高跑步速度需要坚持训练。",
"跑步速度的提升与饮食无关。",
"天气对跑步速度有影响。"
]
# 对每个文本对进行相关性打分
for doc in documents:
# 构造输入文本对
input_text = f"{query} [SEP] {doc}"
inputs = tokenizer(input_text, return_tensors="pt", padding=True, truncation=True)
# 获取模型输出
outputs = model(**inputs)
logits = outputs.logits
score = torch.nn.functional.softmax(logits, dim=1)[:, 1].item() # 获取相关性得分
print(f"Query: {query}")
print(f"Document: {doc}")
print(f"Relevance Score: {score:.4f}")
print("-" * 50)
在实际应用中,Qwen3-Embedding 和 Qwen3-Reranker 常常结合使用,构建出一套完整的语义检索流程,显著提升搜索、推荐等系统的准确性。以检索增强生成(RAG)系统为例,Embedding 模型和 Reranker 模型共同构建了检索部分的骨干框架。首先,Qwen3-Embedding 模型将用户的查询以及文档库中的文档都转化为向量表示,通过计算向量之间的相似度,进行初步检索,从大规模的文档库中筛选出一批可能相关的候选文档。然后,Qwen3-Reranker 模型对这些候选文档与查询组成的文本对进行精细化打分和排序,从语义层面深入分析它们之间的相关性,将最相关的文档筛选出来提供给后续的生成模型或直接展示给用户。
在电商推荐系统中,Qwen3-Embedding 可以根据用户的历史浏览行为、购买记录等生成用户向量,同时将商品信息转化为商品向量,通过向量相似度进行初步的商品推荐。然后,Qwen3-Reranker 根据用户当前的查询或浏览情境,对初步推荐的商品进行相关性排序,优先展示最符合用户当前需求的商品,从而提升用户体验和转化率。
Qwen3-Embedding 和 Qwen3-Reranker 在多个多语言基准测试中展现出了强大的性能:
通过对比实验和消融研究发现,Qwen3-Embedding 和 Qwen3-Reranker 的训练过程中的各个阶段都至关重要。例如,在 Qwen3-Embedding 的训练中,如果跳过合成预训练或模型融合阶段,会导致性能显著下降(在 MMTEB 测试中最多下降 6 分),这充分证明了其全面训练方法的有效性。与其他类似模型如 BGE(智源)、Sentence-BERT 等相比,Qwen3-Embedding-8B 在 MTEB 多语言排行榜上得分 70.58,领先于 BGE 等模型,Reranker 模型在多语言检索任务中也表现优异。此外,阿里还开源了 GTE 系列模型(如 gte-multilingual-reranker-base),该系列采用更轻量的 ModernBERT 架构,支持 70 + 语言,推理速度提升 10 倍,但由于参数规模较小,性能稍逊于 Qwen3 系列。
阿里巴巴的 Qwen3-Embedding 和 Qwen3-Reranker 系列模型为多语言信息检索领域带来了重大突破。通过强大的技术架构、精心设计的训练过程以及卓越的性能表现,它们为开发者和研究人员提供了构建更有效的语义检索和 RAG 应用的有力工具。其开源特性也使得更多的人能够基于这些模型进行创新和拓展,推动整个机器学习社区的发展。
随着对语言理解和信息检索需求的不断增长,相信 Qwen3 系列模型将在更多的领域得到应用和优化,为用户提供更加智能、高效的信息服务。同时,Qwen 团队也在持续探索和优化,计划通过对 Qwen 基础模型的不断改进,提升文本嵌入和重排序模型的训练效率,进一步改善在各种场景下的部署性能。此外,还将致力于扩展多模态表示系统,建立跨模态语义理解能力,为未来的人工智能应用开辟更广阔的空间。
希望这篇文章对你有所帮助!如果你还有其他问题或需要进一步的解释,欢迎随时提问。