Lancement de Qwen3 : une nouvelle génération de grands modèles linguistiques pour une réflexion approfondie et une réponse rapide

Nouvelles de l'IAMise à jour il y a 4 mois Cercle de partage de l'IA
12.1K 00

Le domaine des grands modèles linguistiques compte un nouveau membre. Selon l'équipe de développement, son modèle phare, Qwen3-235B-A22B, se compare favorablement à Qwen3-235B-A22B dans les tests de codage, de mathématiques et de capacités générales. Profondeur de l'eau-R1 , o1 . o3-mini Le Qwen3 est conçu pour égaler les performances des meilleurs modèles de l'industrie, tels que le Grok-3 et le Gemini-2.5-Pro. Le choix de ces concurrents reflète le positionnement de Qwen3, qui vise à être en dialogue direct avec les références actuelles en matière de performances.

Qwen3 发布:深入思考与快速响应并存的新一代大语言模型

Il est intéressant de noter que le petit modèle Mixed Expert (MoE) Qwen3-30B-A3B est déclaré plus performant que QwQ-32B avec un plus grand nombre de covariables (bien qu'avec un dixième des paramètres d'activation de ce dernier), et que même le petit modèle Qwen3-4B est déclaré aussi performant que Qwen2.5-72B-Instruct. Cela montre un gain d'efficacité significatif dû à l'architecture optimisée du modèle et à l'amélioration des méthodes de formation.

Qwen3 发布:深入思考与快速响应并存的新一代大语言模型

L'un des points forts de cette version est l'ouverture des poids de deux modèles MoE : Qwen3-235B-A22B (235 milliards de paramètres totaux, 22 milliards activés) et Qwen3-30B-A3B (30 milliards de paramètres totaux, 3 milliards activés). MoE est une technique qui permet à un modèle de n'activer qu'une partie du réseau "expert" lors du raisonnement. Le MoE est une technique qui permet aux modèles de n'activer qu'une partie du réseau "expert" lors du raisonnement, ce qui réduit considérablement les besoins de calcul tout en maintenant de bonnes performances, ce qui est important pour favoriser le déploiement de modèles de grande taille dans un plus grand nombre de scénarios.

En outre, conformément à la licence Apache 2.0, l'équipe a ouvert les poids pour six modèles denses avec une couverture de taille de paramètres allant de 600 millions à 32 milliards, à savoir Qwen3-32B, Qwen3-14B, Qwen3-8B, Qwen3-4B, Qwen3-1.7B, et Qwen3-0.6B.

Aperçu des spécifications du modèle (modèles denses) :

ModèlesCouchesTêtes (Q / KV)Encastrement de la cravateContexte Longueur
Qwen3-0.6B2816 / 8Oui32K
Qwen3-1.7B2816 / 8Oui32K
Qwen3-4B3632 / 8Oui32K
Qwen3-8B3632 / 8Non128K
Qwen3-14B4040 / 8Non128K
Qwen3-32B6464 / 8Non128K

Aperçu des spécifications du modèle (modèle MoE) :

ModèlesCouchesTêtes (Q / KV)# Experts (Total / Activé)Contexte Longueur
Qwen3-30B-A3B4832 / 4128 / 8128K
Qwen3-235B-A22B9464 / 4128 / 8128K

Ces modèles et leurs versions pré-entraînées (par exemple Qwen3-30B-A3B-Base) sont déjà disponibles sur les principales plateformes telles que Hugging Face, ModelScope, Kaggle et d'autres. Pour le déploiement des modèles, il est recommandé d'utiliser SGLang et vLLM et d'autres cadres. Pour les scénarios d'utilisation locale, Ollama, LMStudio, MLX llama.cppet KTransformateurs et d'autres outils facilitent l'accès.

Les développeurs peuvent utiliser l'outil Qwen Chat Web et les applications mobiles pour découvrir la puissance de Qwen3.

 

Analyse des caractéristiques essentielles

Qwen3 présente plusieurs caractéristiques remarquables :

  • Modes de pensée hybridesQwen3 propose deux modes de résolution des problèmes :
    1. Mode de pensée. Le modèle effectue un raisonnement étape par étape, montre le processus de réflexion et donne ensuite la réponse finale. Cela s'applique aux problèmes complexes qui nécessitent une analyse approfondie.
    2. Mode de non-réflexion. Le modèle permet une réponse rapide et quasi instantanée dans les cas où la rapidité est importante et où le problème est relativement simple.

    Cette conception donne à l'utilisateur la possibilité de contrôler la "profondeur de réflexion" du modèle en fonction des besoins de la tâche. Plus important encore, ce modèle hybride permet un contrôle stable et efficace du "budget de réflexion" du modèle. Comme le montre la figure ci-dessous, les performances de Qwen3 présentent une évolutivité et des améliorations régulières directement liées au budget de raisonnement informatique alloué. Les utilisateurs peuvent plus facilement configurer des budgets pour des tâches spécifiques, ce qui permet de trouver un meilleur équilibre entre la rentabilité et la qualité du raisonnement. Cela donne de nouvelles idées pour la gestion des coûts des grands modèles dans les applications du monde réel.

    Qwen3 发布:深入思考与快速响应并存的新一代大语言模型

  • Support multilingue étenduLes modèles Qwen3 prennent en charge jusqu'à 119 langues et dialectes. Cette capacité multilingue étendue ouvre de nouvelles possibilités pour les applications internationalisées et aide les utilisateurs du monde entier à tirer parti des modèles.
    Famille linguistiqueLangues et dialectes
    Indo-européenAnglais, français, portugais, allemand, roumain, suédois, danois, bulgare, russe, tchèque, grec, ukrainien, espagnol, néerlandais, slovaque, croate. polonais, lituanien, norvégien Bokmål, norvégien Nynorsk, persan, slovène, gujarati, letton, italien, occitan, népali, marathi, biélorusse. Serbe, Luxembourgeois, Vénitien, Assamais, Gallois, Silésien, Asturien, Chhattisgarhi, Awadhi, Maithili, Bhojpuri, Sindhi, Irlandais, Féroïen, Hindi. Punjabi, Bengali, Oriya, Tadjik, Yiddish oriental, Lombard, Ligure, Sicilien, Frioulan, Sarde, Galicien, Catalan, Islandais, Tosk Albanais. Limbourgeois, dari, afrikaans, macédonien, sinhala, ourdou, magahi, bosniaque, arménien.
    Sino-TibétainChinois (chinois simplifié, chinois traditionnel, cantonais), birman
    Afro-asiatiqueArabe (standard, najdi, levantin, égyptien, marocain, mésopotamien, ta'izzi-Adeni, tunisien), hébreu, maltais
    AustronésienIndonésien, malais, tagalog, cebuano, javanais, sundanais, minangkabau, balinais, banjar, pangasinan, iloko, waray (Philippines)
    DravidienTamil, Telugu, Kannada, Malayalam
    TurcTurc, Azerbaïdjanais du Nord, Ouzbek du Nord, Kazakh, Bachkir, Tatar
    Tai-KadaiThaï, Lao
    OuralienFinlandais, Estonien, Hongrois
    AustroasiatiqueVietnamien, Khmer
    AutresJaponais, coréen, géorgien, basque, haïtien, papiamento, kabuverdianu, tok pisin, swahili
  • Capacités agentiques renforcéesLe modèle Qwen3 est optimisé pour le codage et la capacité à effectuer des tâches en tant qu'agent intelligent (Agent). L'équipe a également amélioré la prise en charge de la plate-forme MCP (Multi-Agent Collaboration Platform). Le lien vidéo ci-dessous montre comment Qwen3 pense et interagit avec l'environnement (par exemple, en invoquant des outils).Lien vers la présentation vidéo : https://qianwen-res.oss-accelerate-overseas.aliyuncs.com/mcp.mov Qwen3 发布:深入思考与快速响应并存的新一代大语言模型

 

Détails de la formation : données, phases et optimisation

La quantité de données de préformation pour Qwen3 est nettement supérieure à celle de Qwen2.5, qui utilisait 18 billions de tokens, et à celle de Qwen3, qui dispose de près de deux fois plus de données de préformation, soit environ 36 billions de tokens, couvrant 119 langues et dialectes.

Les sources de données comprenaient non seulement des pages web, mais aussi des documents de type PDF. L'équipe utilise Qwen2.5-VL Le modèle a extrait le texte de ces documents et a utilisé Qwen2.5 pour améliorer la qualité du contenu extrait. Pour augmenter la proportion de données sur les mathématiques et le code, des données synthétiques telles que des manuels, des paires de quiz et des extraits de code ont également été générées à l'aide de Qwen2.5-Math et Qwen2.5-Coder.

Le processus de préformation est divisé en trois étapes :

  1. Phase S1. Plus de 30 000 milliards de dollars jeton Cette phase vise à doter le modèle de compétences linguistiques de base et de connaissances générales.
  2. Phase S2. Augmenter la proportion de données à forte intensité de connaissances (par exemple, STEM, codage, tâches de raisonnement), optimiser l'ensemble de données et poursuivre le pré-entraînement sur 5 billions de tokens supplémentaires.
  3. Phase S3. L'utilisation de données contextuelles longues de haute qualité permet d'étendre la longueur du contexte du modèle à 32 000 tokens (et même 128 000 pour certains modèles), ce qui garantit que le modèle peut traiter efficacement les entrées longues.
Qwen3 发布:深入思考与快速响应并存的新一代大语言模型

Grâce à l'architecture améliorée du modèle, à l'augmentation des données d'entraînement et à des méthodes d'entraînement plus efficaces, les performances globales du modèle de base dense Qwen3 atteignent le niveau du modèle de base Qwen2.5, qui comporte un nombre beaucoup plus important de covariables. Par exemple, Qwen3-1.7B/4B/8B/14B/32B-Base a des performances comparables à celles de Qwen2.5-3B/7B/14B/32B/72B-Base, respectivement. En particulier, le modèle de base dense Qwen3 surpasse même le modèle Qwen2.5 plus grand dans des domaines tels que STEM, le codage et l'inférence.

Pour le modèle de base Qwen3-MoE, ils obtiennent des performances similaires à celles du modèle de base dense Qwen2.5 en n'utilisant qu'environ 10% paramètres d'activation, ce qui implique des économies significatives en termes de coûts de formation et d'inférence.

 

Processus post-formation

Qwen3 发布:深入思考与快速响应并存的新一代大语言模型

Afin de développer un modèle mixte combinant un raisonnement par étapes et des capacités de réponse rapide, l'équipe de Qwen a mis en œuvre un processus de post-formation en quatre étapes :

  1. Long CoT Démarrage à froid. Les modèles sont affinés à l'aide de longues chaînes de réflexion couvrant diverses tâches et domaines tels que les mathématiques, le codage, le raisonnement logique, les STIM, etc.
  2. RL basé sur le raisonnement. Développer l'investissement des ressources informatiques dans l'apprentissage par renforcement et utiliser les récompenses basées sur des règles (RBR) pour améliorer l'exploration et l'exploitation des modèles afin d'améliorer encore les performances en matière d'inférence.
  3. Modèles de pensée Convergence. Intégration des capacités de non-réflexion dans le modèle de réflexion. L'intégration des capacités de raisonnement et de réaction rapide est réalisée par un réglage fin sur un mélange de données CoT longues et de données de réglage fin de commandement généralisé (générées par le modèle de réflexion amélioré de la phase 2).
  4. Apprentissage par renforcement général (General RL). L'apprentissage par renforcement est appliqué à plus de 20 tâches génériques du domaine afin de renforcer les capacités génériques du modèle (par exemple, respect des instructions, respect du format, capacités de l'agent, etc.

 

Développement avec Qwen3

Voici un bref guide de l'utilisation de Qwen3 dans différents cadres. Le premier est un exemple standard d'utilisation de Qwen3-30B-A3B dans la bibliothèque de transformateurs Hugging Face :

from modelscope import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen3-30B-A3B"
# 加载 tokenizer 和模型
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
# 准备模型输入
prompt = "给我简要介绍一下大型语言模型。"
messages = [
{"role": "user", "content": prompt}
]
# apply_chat_template 用于构建符合 Qwen 对话格式的输入
# enable_thinking=True 启用思考模式 (默认为 True)
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 # 设置最大生成 token 数
)
# 提取生成的内容部分 (去除输入部分)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()
# 解析思考内容 (如果存在)
# 寻找 '</think>' 对应的 token id (151668)
try:
# rindex 从后往前查找 151668
index = len(output_ids) - output_ids[::-1].index(151668)
except ValueError:
# 如果没有找到 '</think>',说明没有思考内容
index = 0
# 分别解码思考内容和最终回复内容
thinking_content = tokenizer.decode(output_ids[:index], skip_special_tokens=True).strip("\n")
content = tokenizer.decode(output_ids[index:], skip_special_tokens=True).strip("\n")
print("思考内容:", thinking_content)
print("最终回复:", content)

Pour désactiver le mode réflexion, il suffit de définir le paramètre enable_thinking sur False :

text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=False  # 默认为 True
)

Pour le déploiement du modèle, des points de terminaison compatibles avec l'API OpenAI peuvent être créés en utilisant sglang>=0.4.6.post1 ou vllm>=0.8.4 :

  • Utilisation de SGLang.
    python -m sglang.launch_server --model-path Qwen/Qwen3-30B-A3B --reasoning-parser qwen3
    
  • Utilisation de vLLM.
    vllm serve Qwen/Qwen3-30B-A3B --enable-reasoning --reasoning-parser deepseek_r1
    

    (Note : l'article original ici utilise l'analyseur deepseek_r1, les développeurs doivent vérifier sa compatibilité avec Qwen3)

Dans l'environnement de développement local, ollama peut être utilisé avec la simple commande ollama exécuter qwen3:30b-a3b pour interagir avec le modèle. En outre, des outils tels que LMStudio, llama.cpp et ktransformers permettent de construire et d'exécuter Qwen3 localement.

Utilisation avancée : changement dynamique des modes de pensée

Qwen3 fournit un mécanisme de "commutation douce" qui permet à l'utilisateur de contrôler dynamiquement le comportement du modèle lorsque enable_thinking=True. Plus précisément, vous pouvez ajouter les balises /think ou /no_think aux questions des utilisateurs ou aux messages du système pour changer le mode de réflexion du modèle d'un tour à l'autre. Dans un dialogue à plusieurs tours, le modèle suivra l'instruction la plus récente.

Voici un exemple de dialogue à plusieurs tours :

from transformers import AutoModelForCausalLM, AutoTokenizer
class QwenChatbot:
def __init__(self, model_name="Qwen/Qwen3-30B-A3B"):
self.tokenizer = AutoTokenizer.from_pretrained(model_name)
# 注意:实际运行时需要确保有足够的 GPU 显存加载模型
# device_map="auto" 可能需要根据实际硬件调整
self.model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto", # 自动选择合适的精度
device_map="auto"   # 自动分配模型到可用设备
)
self.history = [] # 用于存储对话历史
def generate_response(self, user_input):
# 将当前用户输入加入历史记录
messages = self.history + [{"role": "user", "content": user_input}]
# 使用 apply_chat_template 构建输入
# 注意:这里没有显式设置 enable_thinking,会使用模型的默认行为或最近的 /think /no_think 指令
text = self.tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
inputs = self.tokenizer(text, return_tensors="pt").to(self.model.device)
# 生成回复
response_ids = self.model.generate(
**inputs,
max_new_tokens=32768 # 设置最大生成 token 数
)[0][len(inputs.input_ids[0]):].tolist() # 提取生成内容
# 解码回复文本
response = self.tokenizer.decode(response_ids, skip_special_tokens=True).strip()
# 更新对话历史
self.history.append({"role": "user", "content": user_input})
# 注意:此处仅添加解码后的纯文本回复,未处理思考内容
# 如果需要保留或展示思考过程,需要像之前的例子一样解析 output_ids
self.history.append({"role": "assistant", "content": response})
# 返回解码后的回复文本
return response
# 示例用法
if __name__ == "__main__":
# 确保在有足够资源的机器上运行
try:
chatbot = QwenChatbot()
# 第一次输入 (默认启用思考模式)
user_input_1 = "strawberries 这个单词里有多少个 'r'?"
print(f"用户: {user_input_1}")
response_1 = chatbot.generate_response(user_input_1)
print(f"助手: {response_1}")
print("----------------------")
# 第二次输入,使用 /no_think 禁用思考模式
user_input_2 = "那么,blueberries 这个单词里有多少个 'r'? /no_think"
print(f"用户: {user_input_2}")
response_2 = chatbot.generate_response(user_input_2)
print(f"助手: {response_2}")
print("----------------------")
# 第三次输入,使用 /think 再次启用思考模式
user_input_3 = "真的吗?请再想想。 /think"
print(f"用户: {user_input_3}")
response_3 = chatbot.generate_response(user_input_3)
print(f"助手: {response_3}")
except Exception as e:
print(f"运行出错: {e}")
print("请确保已安装所需依赖,并拥有足够的计算资源(如 GPU 显存)。")

Utilisation de l'agent : appel d'outil

Qwen3 excelle dans ses capacités d'appel d'outils. Utilisation recommandée Qwen-Agent (https://github.com/QwenLM/Qwen-Agent) pour tirer pleinement parti des capacités de l'agent Qwen3. Qwen-Agent encapsule en interne les modèles et les analyseurs pour les appels d'outils, ce qui simplifie le développement.

Pour ce faire, il faut MCP Fichiers de configuration, utilisation des outils d'intégration de Qwen-Agent ou intégration d'autres outils pour définir l'ensemble des outils disponibles.

import os
from qwen_agent.agents import Assistant
# 定义 LLM 配置
llm_cfg = {
'model': 'Qwen3-30B-A3B', # 指定使用的 Qwen3 模型
# 如果使用阿里云 ModelScope 提供的 DashScope API:
# 'model_type': 'qwen_dashscope',
# 'api_key': os.getenv('DASHSCOPE_API_KEY'), # 需要设置环境变量
# 如果使用兼容 OpenAI API 的自定义端点 (例如 VLLM 或 SGLang 部署的):
'model_server': 'http://localhost:8000/v1',  # 替换为你的 API 地址
'api_key': 'EMPTY', # 对于本地部署或不需要 key 的情况
# 可选:其他生成参数配置
# 'generate_cfg': {
#         # 如果模型的原始输出将思考过程 <think>...</think> 包含在最终内容里,设为 True
#         # 如果 VLLM/SGLang 等框架已分离 reasoning_content 和 content,则设为 False 或不设置
#         'thought_in_content': False,
#     },
}
# 定义工具列表
tools = [
{'mcpServers': {  # 可以指定 MCP 配置文件或直接定义服务
'time': { # 定义一个名为 'time' 的工具
'command': 'uvx', # 使用 uvx 启动
# 启动参数,运行 mcp-server-time,并设置时区
'args': ['mcp-server-time', '--local-timezone=Asia/Shanghai']
},
"fetch": { # 定义一个名为 'fetch' 的工具,用于访问网页
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
},
'code_interpreter',  # 使用 Qwen-Agent 内置的代码解释器工具
# 可以继续添加其他自定义或内置工具
]
# 初始化 Agent
# 需要确保 uvx 和相应的 mcp-server-* 已安装并配置好
bot = Assistant(llm=llm_cfg, function_list=tools)
# 流式生成调用示例
messages = [{'role': 'user', 'content': '访问 https://qwenlm.github.io/blog/ 页面,并介绍一下 Qwen 的最新进展。'}]
responses = None # 初始化 responses 变量
# bot.run 返回一个生成器,用于流式输出
for responses in bot.run(messages=messages):
# 可以在这里处理中间步骤的输出,例如工具调用和观察结果
# print(responses) # 打印每个中间步骤或最终回复
pass # 循环结束后,responses 将包含最终的完整回复
# 打印最终的回复内容
if responses:
print(responses)
else:
print("未能获取到回复。")

(Note : Pour exécuter l'exemple de l'agent, vous devez installer la bibliothèque qwen-agent et ses dépendances, et vous assurer que les outils uvx et mcp-server-* sont disponibles).

perspectives d'avenir

Qwen3 est considéré comme un jalon important dans le voyage vers l'intelligence artificielle générale (AGI) et l'intelligence super-artificielle (ASI). En augmentant la préformation et l'apprentissage par renforcement, le modèle atteint un niveau d'intelligence plus élevé. La fusion de modèles de pensée hybrides offre aux utilisateurs la flexibilité de contrôler leur budget de pensée, tandis qu'une prise en charge étendue des langues améliore l'accessibilité globale.

À l'avenir, l'équipe de Qwen prévoit de continuer à améliorer les capacités des modèles dans plusieurs domaines, notamment en optimisant les architectures de modèles et les méthodes de formation pour la mise à l'échelle des données, en augmentant la taille des modèles, en étendant la longueur du contexte, en élargissant la prise en charge des modalités et en faisant progresser l'apprentissage par renforcement grâce au retour d'information sur l'environnement afin de permettre un raisonnement à long terme. L'équipe estime que l'industrie est en train de passer de l'ère de la formation des "modèles" à celle de la formation des "intelligences" (agents). Sa prochaine itération promet d'apporter des avancées plus significatives au travail et à la vie.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...