💨
Qwen3-Next:究極のトレーニング・推論効率へ
Qwen3-Next:究極のトレーニング・推論効率へ
公開日:2025年9月11日
著者:Qwenチーム
元ブログ:
一言で言うと:
Qwen3-Nextは、800億パラメータながら推論時にわずか30億パラメータしか使わない超効率モデル。長文処理(最大256Kトークン)で10倍以上の高速化を実現し、Qwen3-235Bクラスの性能を1/10以下のトレーニングコストで達成しました。
🌟 はじめに:なぜQwen3-Nextが必要なのか?
大規模言語モデルの未来は「コンテキスト長の拡張」と「総パラメータ数の拡張」の2つに集約されます。しかし、長文・大規模モデルにおけるトレーニング・推論コストは課題でした。
そこで登場したのが Qwen3-Next — 全く新しいアーキテクチャで、以下の4つの革新を実現:
- ハイブリッドアテンション機構(Gated DeltaNet + Gated Attention)
- 超スパースMoE構造(80Bパラメータ中、推論時3Bのみ活性化)
- トレーニング安定化設計
- マルチトークン予測(MTP)による推論高速化
🚀 パフォーマンスの驚異:コスト1/10、速度10倍
ベースモデル:Qwen3-Next-80B-A3B-Base
- パラメータ:80B(活性化は3B=3.7%)
- トレーニングコスト:Qwen3-32Bの9.3% 以下
-
推論速度:
- コンテキスト4K:7倍高速
- コンテキスト32K+:10倍以上高速
- 性能:Qwen3-32Bを上回るベンチマーク結果
インストラクトモデル:Qwen3-Next-80B-A3B-Instruct
- Qwen3-235B-A22B-Instruct-2507(フラッグシップ)と同等性能
- 256Kトークン長文処理ではフラッグシップを上回る
思考モデル:Qwen3-Next-80B-A3B-Thinking
- Qwen3-30B/32B Thinkingモデルを上回る
- Gemini-2.5-Flash-Thinkingを複数ベンチで上回る
- Qwen3-235B-A22B-Thinking-2507にほぼ匹敵
🔧 技術的革新の詳細
1. ハイブリッドアテンション:Gated DeltaNet + Gated Attention
- Gated DeltaNet(75%のレイヤー):高速・高コンテキスト学習能力
- Gated Attention(25%のレイヤー):高精度・リコール性能
- 最適比率3:1で、単一アーキテクチャより高性能・高効率を達成
Attention層の強化ポイント:
- 出力ゲーティング(低ランク問題対策)
- アテンションヘッド次元を128→256に拡張
- RoPE(回転位置エンコーディング)を最初の25%次元にのみ適用 → 長文外挿性能向上
2. 超スパースMoE:512エキスパート設計
- 従来(Qwen3):128エキスパート中8個活性化
- Qwen3-Next:512エキスパート中、10個ルーティング + 1個共有で活性化
- グローバル負荷分散により、活性化パラメータ固定でも性能向上
3. トレーニング安定化設計
- Attention出力ゲーティング:Attention Sink / Massive Activation問題を解消
- Zero-Centered RMSNorm:層正規化の重み爆発を抑制
- MoEルーター初期化時の正規化:初期段階でのバイアス除去 → 学習安定化
4. マルチトークン予測(MTP)
- Speculative Decodingの受容率向上に特化
- トレーニングと推論の一貫性を保つ「マルチステップ学習」で最適化
- 実環境での推論速度をさらに向上
💻 使い方ガイド:Hugging Face / SGLang / vLLM
注意:Multi-Token Prediction(MTP)はTransformersでは未対応。SGLangまたはvLLM推奨。
Hugging Face Transformers(基本推論)
pip install git+https://github.com/huggingface/transformers.git@main
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen3-Next-80B-A3B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto")
messages = [{"role": "user", "content": "大規模言語モデルとは?"}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer([text], return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512)
print(tokenizer.decode(outputs[0][len(inputs.input_ids[0]):], skip_special_tokens=True))
SGLang(推奨:MTP対応)
pip install 'sglang[all] @ git+https://github.com/sgl-project/sglang.git@main#subdirectory=python'
基本起動(256Kコンテキスト):
SGLANG_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1 python -m sglang.launch_server \
--model-path Qwen/Qwen3-Next-80B-A3B-Instruct \
--port 30000 --tp-size 4 --context-length 262144 --mem-fraction-static 0.8
MTP有効化:
SGLANG_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1 python -m sglang.launch_server \
--model-path Qwen/Qwen3-Next-80B-A3B-Instruct \
--port 30000 --tp-size 4 --context-length 262144 --mem-fraction-static 0.8 \
--speculative-algo NEXTN --speculative-num-steps 3 --speculative-eagle-topk 1 --speculative-num-draft-tokens 4
vLLM(推奨:MTP対応)
pip install vllm --pre --extra-index-url https://wheels.vllm.ai/nightly
基本起動:
VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 vllm serve \
Qwen/Qwen3-Next-80B-A3B-Instruct \
--port 8000 --tensor-parallel-size 4 --max-model-len 262144
MTP有効化:
VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 vllm serve \
Qwen/Qwen3-Next-80B-A3B-Instruct \
--port 8000 --tensor-parallel-size 4 --max-model-len 262144 \
--speculative-config '{"method":"qwen3_next_mtp","num_speculative_tokens":2}'
💡 ヒント:
起動失敗時は--context-length
/--max-model-len
を32768
などに減らして試してください。
🤖 エージェント活用:Qwen-Agentでツール連携
from qwen_agent.agents import Assistant
llm_cfg = {
'model': 'Qwen3-Next-80B-A3B-Instruct',
'model_server': 'http://localhost:8000/v1',
'api_key': 'EMPTY',
}
tools = [
{'mcpServers': {
'time': {'command': 'uvx', 'args': ['mcp-server-time', '--local-timezone=Asia/Shanghai']},
"fetch": {"command": "uvx", "args": ["mcp-server-fetch"]}
}},
'code_interpreter'
]
bot = Assistant(llm=llm_cfg, function_list=tools)
messages = [{'role': 'user', 'content': 'https://qwenlm.github.io/blog/ の最新情報を要約して'}]
for responses in bot.run(messages=messages):
pass
print(responses)
📜 超長文処理:100万トークン対応(YaRN方式)
Qwen3-Nextは262,144トークンをネイティブサポート。それ以上は YaRN スケーリングで対応可能です。
config.json
)
方法1:モデルファイル直接編集({
"rope_scaling": {
"rope_type": "yarn",
"factor": 4.0,
"original_max_position_embeddings": 262144
}
}
方法2:起動オプションで指定
vLLM:
--rope-scaling '{"rope_type":"yarn","factor":4.0,"original_max_position_embeddings":262144}' --max-model-len 1010000
SGLang:
--json-model-override-args '{"rope_scaling":{"rope_type":"yarn","factor":4.0,"original_max_position_embeddings":262144}}' --context-length 1010000
⚠️ 注意:
YaRNは静的スケーリングのため、短文処理では性能低下の可能性あり。長文処理時のみ有効化推奨。
例:524Kトークン処理 →factor: 2.0
🎯 まとめ:Qwen3-Nextが切り開く未来
- コスト効率:Qwen3-235B級性能を1/10以下のトレーニングコストで実現
- 推論速度:長文処理で10倍以上高速化
- アーキテクチャ革新:ハイブリッドアテンション・超スパースMoE・MTPの融合
- エコシステム対応:Hugging Face / SGLang / vLLM / Qwen-Agent ですぐに利用可能
次なる目標:このアーキテクチャを基盤に、Qwen3.5 を開発中 — さらに高い知能と生産性を目指します。
📚 参考文献(抜粋)
- Gated Delta Networks: Improving Mamba2 with Delta Rule
- Gated Attention for Large Language Models
- DeepSeek-V3 Technical Report
- Better & faster large language models via multi-token prediction
公開先:
🤗 Hugging Face|🌐 ModelScope|⚡ NVIDIA API Catalog
Discussion