Qwen3发布:混合思维模式与多语言支持,性能媲美顶级模型
阿里云发布Qwen3系列大模型,旗舰模型Qwen3-235B-A22B在编码、数学等基准测试中与DeepSeek-R1、o1等顶级模型竞争,并引入混合思维模式,支持思考与非思考两种模式,同时开源多个MoE和稠密模型。
QWEN CHAT GitHub Hugging Face ModelScope Kaggle DEMO DISCORD介绍今天,我们很高兴地宣布发布Qwen3,这是Qwen大型语言模型家族的最新成员。
我们的旗舰模型Qwen3-235B-A22B在编码、数学、通用能力等基准评估中,与DeepSeek-R1、o1、o3-mini、Grok-3和Gemini-2.5-Pro等其他顶级模型相比,取得了有竞争力的结果。
此外,小型MoE模型Qwen3-30B-A3B以仅十分之一的激活参数击败了QwQ-32B,甚至像Qwen3-4B这样的小型模型也能与Qwen2.5-72B-Instruct的性能相媲美。
我们开放了两个MoE模型的权重:Qwen3-235B-A22B,一个总参数2350亿、激活参数220亿的大型模型;以及Qwen3-30B-A3B,一个总参数300亿、激活参数30亿的较小MoE模型。
此外,六个稠密模型也在Apache 2.0许可证下开放权重,包括Qwen3-32B、Qwen3-14B、Qwen3-8B、Qwen3-4B、Qwen3-1.7B和Qwen3-0.6B。
训练后的模型(如Qwen3-30B-A3B)及其预训练版本(例如Qwen3-30B-A3B-Base)现已在Hugging Face、ModelScope和Kaggle等平台上提供。对于部署,我们建议使用SGLang和vLLM等框架。
对于本地使用,强烈推荐Ollama、LMStudio、MLX、llama.cpp和KTransformers等工具。
这些选项确保用户可以轻松地将Qwen3集成到他们的工作流程中,无论是在研究、开发还是生产环境中。我们相信Qwen3的发布和开源将极大地推进大型基础模型的研发。我们的目标是让世界各地的研究人员、开发人员和组织能够使用这些尖端模型构建创新解决方案。
欢迎在Qwen Chat Web(chat.qwen.ai)和移动APP中试用Qwen3!关键特性- 混合思维模式Qwen3模型引入了一种混合方法来解决问题。它们支持两种模式:- 思考模式:在这种模式下,模型在给出最终答案之前会花时间逐步推理。
这对于需要深入思考的复杂问题非常理想。- 非思考模式:在这种模式下,模型提供快速、近乎即时的响应,适合速度比深度更重要的简单问题。这种灵活性使用户能够根据手头的任务控制模型执行的“思考”程度。
例如,更难的问题可以通过扩展推理来解决,而更容易的问题可以直接回答,无需延迟。至关重要的是,这两种模式的融合极大地增强了模型实现稳定高效思维预算控制的能力。如上所述,Qwen3表现出可扩展且平滑的性能改进,这些改进与分配的计算推理预算直接相关。
这种设计使用户能够更轻松地配置特定于任务的预算,在成本效率和推理质量之间实现更优的平衡。- 多语言支持Qwen3模型支持119种语言和方言。这种广泛的多语言能力为国际应用开辟了新的可能性,使世界各地的用户都能受益于这些模型的力量。
- 增强的智能体能力我们优化了Qwen3模型的编码和智能体能力,并且还加强了对MCP的支持。下面我们提供示例来展示Qwen3如何思考以及与环境互动。预训练在预训练方面,与Qwen2.5相比,Qwen3的数据集得到了显著扩展。
Qwen2.5在18万亿个token上进行了预训练,而Qwen3使用了近两倍的数量,大约36万亿个token,覆盖119种语言和方言。为了构建这个大型数据集,我们不仅从网络上收集数据,还从类似PDF的文档中收集数据。
我们使用Qwen2.5-VL从这些文档中提取文本,并使用Qwen2.5来提高提取内容的质量。为了增加数学和代码数据量,我们使用Qwen2.5-Math和Qwen2.5-Coder生成合成数据。
这包括教科书、问答对和代码片段。预训练过程包括三个阶段。
在第一阶段(S1),模型在超过30万亿个token上进行了预训练,上下文长度为4K token。这个阶段为模型提供了基本的语言技能和常识。在第二阶段(S2),我们通过增加STEM、编码和推理任务等知识密集型数据的比例来改进数据集。
然后,模型在另外5万亿个token上进行了预训练。在最后阶段,我们使用高质量的长上下文数据将上下文长度扩展到32K token。这确保了模型能够有效处理更长的输入。
由于模型架构的进步、训练数据的增加以及更有效的训练方法,Qwen3稠密基础模型的总体性能与参数更多的Qwen2.5基础模型相匹配。例如,Qwen3-1.7B/4B/8B/14B/32B-Base的表现分别与Qwen2.5-3B/7B/14B/32B/72B-Base相当。
值得注意的是,在STEM、编码和推理等领域,Qwen3稠密基础模型甚至优于更大的Qwen2.5模型。对于Qwen3-MoE基础模型,它们实现了与Qwen2.5稠密基础模型相似的性能,同时仅使用10%的激活参数。
这大幅节省了训练和推理成本。后训练为了开发能够逐步推理和快速响应的混合模型,我们实现了一个四阶段的训练流程。
该流程包括:(1)长思维链(CoT)冷启动,(2)基于推理的强化学习(RL),(3)思维模式融合,(4)通用RL。在第一阶段,我们使用多样化的长CoT数据对模型进行微调,涵盖数学、编码、逻辑推理和STEM问题等各种任务和领域。
该过程旨在为模型配备基础推理能力。第二阶段的重点是扩大RL的计算资源,利用基于规则的奖励来增强模型的探索和利用能力。在第三阶段,我们通过将长CoT数据与常用指令微调数据结合进行微调,将非思考能力集成到思考模型中。
该数据由第二阶段的增强思考模型生成,确保推理和快速响应能力的无缝融合。最后,在第四阶段,我们在20多个通用领域任务中应用RL,以进一步加强模型的通用能力并纠正不良行为。这些任务包括指令遵循、格式遵循和智能体能力等。
使用Qwen3开发以下是在不同框架上使用Qwen3的简单指南。
首先,我们提供一个在Hugging Face transformers中使用Qwen3-30B-A3B的标准示例:from modelscope import AutoModelForCausalLM,
AutoTokenizermodel_name = "Qwen/Qwen3-30B-A3B"# 加载分词器和模型tokenizer = AutoTokenizer.from_pretrained(model_name)model = AutoModelForCausalL
M.from_pretrained( model_name,
torch_dtype="auto",device_map="auto")# 准备模型输入prompt = "Give me a short introduction to large language model."messages = [ {"role":
"user","content":prompt}]text = tokenizer.apply_chat_template( messages,tokenize=False,add_generation_prompt=True,
enable_thinking=True # 在思考和非思考模式之间切换。默认为True。
)model_inputs = tokenizer([text],return_tensors="pt").to(model.device)# 进行文本补全generated_ids = model.generate( **model_inputs,
max_new_tokens=32768)output_ids = generated_ids[0][len(model_inputs.input_ids[0]):
].tolist()# 解析思考内容try:# rindex查找151668 (</think>) index = len(output_ids) - output_ids[:-1].index(151668)except ValueError:in