🐰

うさぎでもわかるQwen3 最新の大規模言語モデルを徹底解説

に公開

うさぎでもわかるQwen3

はじめに

みなさん、こんにちは!今回は、アリババが2025年4月に発表した最新の大規模言語モデル「Qwen3」について解説します。最近のAI界隈では次々と新しいモデルが登場していて、何が何だかわからなくなってきましたよね。そこで今回は、うさぎでもわかるように、Qwen3の特徴や他のモデルとの違いをシンプルに解説していきたいと思います。

Qwen3とは何か

Qwen3(クゥエン・スリー)はアリババグループが開発した最新の大規模言語モデル(LLM)です。「Think Deeper, Act Faster(より深く考え、より速く行動する)」というスローガンの通り、深い思考能力と迅速な応答能力を両立させた「ハイブリッド」モデルとして設計されています。

Qwenシリーズの歴史と進化

Qwenシリーズはアリババが開発してきたLLMファミリーで、これまでにQwen、Qwen2、Qwen2.5などのバージョンがリリースされてきました。Qwen3は前世代のQwen2.5よりもトレーニングデータが約2倍の36兆トークンに増加し、モデルアーキテクチャの改良によって性能が大幅に向上しています。

記事の目的

この記事では、Qwen3の主要な特徴、モデルのバリエーション、技術的な詳細、そして実際の使用方法について解説していきます。AI技術者はもちろん、これからAIを使ってみたいと考えている方にも役立つ情報をお届けします。それでは早速、Qwen3の魅力を掘り下げていきましょう。

Qwen3 アーキテクチャ概要

Qwen3の特徴と革新点

Qwen3には従来のLLMと比較して、いくつかの重要な革新点があります。ここではそれらを詳しく見ていきましょう。

ハイブリッド思考モード

Qwen3の最大の特徴は「Thinking Mode(思考モード)」と「Non-Thinking Mode(非思考モード)」という2つの動作モードを持っていることです。

  • Thinking Mode:複雑な問題に対して、ステップバイステップで丁寧に考えてから回答を提供するモード。数学や論理的な問題、プログラミングなどの複雑なタスクに最適です。
  • Non-Thinking Mode:シンプルな質問に対して即座に回答を提供するモード。速度が重要な場面で役立ちます。

これにより、ユーザーは状況に応じて「深く考えさせる」か「素早く応答させる」かを選択できます。さらに、計算リソースの効率的な配分が可能になり、タスクの難易度に応じた最適なバランスを実現しています。

ハイブリッド思考モードの比較

多言語サポート

Qwen3は驚異の119言語・方言をサポートしています。これには日本語も含まれており、多言語環境での活用が可能です。主要な言語ファミリーとしては以下のようなものがカバーされています:

  • インド・ヨーロッパ語族(英語、フランス語、ドイツ語、ロシア語など)
  • シナ・チベット語族(中国語、ビルマ語など)
  • アフロ・アジア語族(アラビア語、ヘブライ語など)
  • オーストロネシア語族(インドネシア語、マレー語など)
  • ドラヴィダ語族(タミル語、テルグ語など)
  • その他多数

この広範な言語サポートにより、グローバルな応用が可能になり、多言語環境でのAI活用の可能性が大きく広がっています。

エージェント能力の強化

Qwen3ではエージェント能力(自律的にタスクを遂行する能力)が強化されており、コーディングや環境との対話において優れた性能を発揮します。特にMCP(Model-Code-Process)のサポートが強化されており、ツールの使用やAPI呼び出しなどの複雑な操作をより効率的に行えるようになっています。

MoEアーキテクチャ

Qwen3の最上位モデルには「Mixture of Experts(MoE)」と呼ばれる先進的なアーキテクチャが採用されています。MoEは複数の「専門家」ネットワークを組み合わせ、入力に応じて最適な専門家を活性化させる方式です。

これにより、モデル全体のパラメータ数は非常に大きくなりますが、実際に計算に使用されるのは一部のパラメータのみであるため、計算効率と性能のバランスが大幅に向上します。例えば、Qwen3-235B-A22Bは全体で235Bのパラメータを持ちますが、実際に活性化するのは22Bのパラメータのみです。

オープンソースという選択

Qwen3は商用利用可能なApache 2.0ライセンスの下でオープンソース化されています。これにより、研究者やデベロッパーは自由にモデルを利用、改変、再配布することができます。アリババのこの選択は、AI技術の民主化とイノベーションの促進に大きく貢献するものと言えるでしょう。

Qwen3のモデルラインナップ

Qwen3は様々なサイズと特性を持つモデルがラインナップされており、用途や計算リソースに応じて選択できます。

モデルラインナップ比較

密度モデル(Dense Models)

密度モデルは従来型の構造を持つモデルで、以下のバリエーションがあります:

  • Qwen3-0.6B:最も小さなモデルで、限られたリソースでの利用に最適
  • Qwen3-1.7B:軽量ながらも基本的なタスクをこなせる汎用モデル
  • Qwen3-4B:中規模のモデルで、Qwen2.5-72B-Instructに匹敵する性能
  • Qwen3-8B:バランスの取れた中規模モデル
  • Qwen3-14B:高性能な中大規模モデル
  • Qwen3-32B:密度モデルの中で最高の性能を誇る大規模モデル

これらのモデルは全て32K〜128Kのコンテキスト長をサポートしており、長文の処理にも対応しています。

MoEモデル

MoEアーキテクチャを採用した2つの先進的モデル:

  • Qwen3-30B-A3B:30B総パラメータで、活性化するのは3Bのみ。非常に効率的な計算で高い性能を実現
  • Qwen3-235B-A22B:235B総パラメータで、活性化するのは22Bのみ。Qwen3の最高峰モデルで、OpenAIのo3-miniやGoogleのGemini 2.5 Proと同等以上の性能を発揮

これらのMoEモデルは128Kトークンの長いコンテキスト長をサポートし、複雑な長文処理も得意としています。

モデルの選択基準とユースケース

モデル選択の際の基準は以下のようなものが考えられます:

  • 計算リソース:限られたリソースの場合はQwen3-0.6B〜4Bが適切
  • 性能要件:最高の性能が必要な場合はQwen3-235B-A22Bが最適
  • バランス:性能と効率のバランスを求めるならQwen3-30B-A3Bがおすすめ
  • 特定タスク:コーディングや数学問題などの特定タスクの比重が高い場合は、それに適したモデルを選択

技術的な詳細

Qwen3の優れた性能の裏には、洗練された技術的アプローチがあります。ここではその詳細を見ていきましょう。

トレーニングプロセス

事前学習プロセス(Pre-training)

データセットの構築

Qwen3は前世代のQwen2.5の約2倍にあたる36兆トークンという膨大なデータセットでトレーニングされています。このデータセットは以下のような特徴があります:

  • ウェブデータだけでなく、PDF形式のドキュメントからも抽出したテキスト
  • Qwen2.5-VLを使用して画像からテキストを抽出
  • Qwen2.5を用いて抽出コンテンツの品質向上
  • Qwen2.5-MathやQwen2.5-Coderを使って数学やコードの合成データを生成
  • 教科書、質問回答ペア、コードスニペットなどの高品質データの増強

3段階の事前学習プロセス

Qwen3の事前学習は3つの段階に分けて行われています:

  1. 第1段階(S1):30兆以上のトークンを用いて4Kトークンのコンテキスト長で学習。言語の基本スキルと一般知識を習得
  2. 第2段階(S2):STEM、コーディング、推論タスクなどの知識集約型データの比率を高めたデータセットで追加の5兆トークンを学習
  3. 第3段階:高品質な長文脈データを用いて、コンテキスト長を32Kトークンまで拡張

この段階的なアプローチにより、基本的な言語能力から複雑な推論能力、そして長文処理能力までを効率的に獲得しています。

ポスト学習プロセス(Post-training)

4段階の訓練パイプライン

Qwen3の「ハイブリッド思考モード」を実現するために、以下の4段階のポスト学習が行われています:

  1. 長い思考連鎖(CoT)コールドスタート:数学、コーディング、論理的推論、STEM問題などの多様なCoTデータを用いて基本的な推論能力を獲得
  2. 推論ベースの強化学習(RL):ルールベースの報酬を活用して、モデルの探索と活用能力を強化
  3. 思考モードの融合:第2段階で強化された思考モデルから生成されたデータと一般的な指示調整データを組み合わせて、非思考能力を思考モデルに統合
  4. 一般的なRL:20以上の一般ドメインタスクにわたってRLを適用し、モデルの一般的な能力を強化

推論能力とレスポンス速度のバランス

このトレーニングパイプラインにより、Qwen3は深い推論能力と迅速な応答能力の両方を獲得しています。ユーザーは「enable_thinking」パラメータを切り替えることで、状況に応じて最適なモードを選択できます。

性能比較

Qwen3は様々なベンチマークで優れた性能を示しています。ここでは他の主要なLLMモデルとの比較を見ていきましょう。

ベンチマーク結果

Qwen3-235B-A22B(フラグシップモデル)は、コーディング、数学、一般的な能力などのベンチマーク評価において、DeepSeek-R1、OpenAIのo1やo3-mini、xAIのGrok-3、GoogleのGemini-2.5-Proなどの最先端モデルと同等以上の結果を達成しています。

特に注目すべき点は、小型MoEモデルのQwen3-30B-A3Bが、活性化パラメータが10倍のQwQ-32Bを上回る性能を示していることです。また、Qwen3-4BのようなごとにとサイズのモデルでもQwen2.5-72B-Instructに匹敵する性能を実現しています。

他の主要LLMモデルとの比較

  • OpenAI(o1, o3-mini): Qwen3-235B-A22BはCodeforces(プログラミングコンテストプラットフォーム)でo3-miniをわずかに上回り、AIME(難易度の高い数学ベンチマーク)の最新バージョンやBFCL(問題についての「推論」能力を評価するテスト)でもo3-miniを上回る性能を示しています。

  • Google(Gemini-2.5-Pro): 複数のベンチマークでGemini-2.5-Proと同等以上の性能を示しています。

  • DeepSeek-R1: Qwen3の上位モデルはDeepSeek-R1を上回る性能を示しており、オープンソースモデルのなかでは最高レベルの性能を実現しています。

  • Meta(Llama 3): 公開されているベンチマーク結果から、Qwen3の上位モデルはLlama 3と比較しても優位性を持っています。

  • Grok-3: xAIの最新モデルGrok-3と比較しても遜色ない性能を示しています。

コスト効率の分析

Qwen3の特筆すべき点として、MoEアーキテクチャによる優れたコスト効率があります。例えば:

  • Qwen3-30B-A3Bは、総パラメータは30Bですが、実際に計算に使用されるのは3Bのみ
  • Qwen3-235B-A22Bは、総パラメータは235Bですが、実際に計算に使用されるのは22Bのみ

これにより、従来の密度モデルの10%程度のパラメータで同等の性能を発揮でき、トレーニングとインファレンスの両方でコスト削減が実現できます。

実装と使い方

Qwen3は様々なフレームワークやプラットフォームで利用できます。ここでは具体的な実装方法を見ていきましょう。

Hugging Face Transformers での使用方法

Hugging Face Transformersを使ったQwen3-30B-A3Bの基本的な使用例は以下の通りです:

from modelscope import AutoModelForCausalLM, AutoTokenizer

model_name = "Qwen/Qwen3-30B-A3B"

# トークナイザーとモデルをロード
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto"
)

# モデル入力の準備
prompt = "大規模言語モデルについて簡単に説明してください。"
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 finding 151668 (</think>)
    index = len(output_ids) - output_ids[::-1].index(151668)
except ValueError:
    index = 0

thinking_content = tokenizer.decode(output_ids[:index], skip_special_tokens=True).strip("\
")
content = tokenizer.decode(output_ids[index:], skip_special_tokens=True).strip("\
")

print("思考内容:", thinking_content)
print("回答内容:", content)

思考モードを無効にするには、enable_thinking=Falseに設定するだけです。

デプロイオプション

Qwen3をデプロイするためのオプションには以下のようなものがあります:

SGLang

python -m sglang.launch_server --model-path Qwen/Qwen3-30B-A3B --reasoning-parser qwen3

vLLM

vllm serve Qwen/Qwen3-30B-A3B --enable-reasoning --reasoning-parser deepseek_r1

これらはOpenAI互換のAPIエンドポイントを作成し、既存のOpenAI APIを利用しているアプリケーションとの互換性を提供します。

ローカル開発のためのツール

ローカル環境でQwen3を使用するためのツールとしては以下のようなものがあります:

  • Ollama: ollama run qwen3:30b-a3bという簡単なコマンドでモデルを実行可能
  • LMStudio: GUIベースの簡単な操作でモデルをロードして利用可能
  • llama.cpp: 軽量環境でより効率的に実行可能
  • KTransformers: モデルのローカル変換と最適化に役立つ

思考モードの切り替え方法

Qwen3では会話の途中で思考モードを切り替えることも可能です。具体的には、ユーザープロンプトやシステムメッセージに/think/no_thinkタグを追加することで制御できます。以下はマルチターン会話の例です:

# 最初の入力(タグなし、デフォルトでは思考モードが有効)
user_input_1 = "イチゴにはいくつの「い」が含まれていますか?"
response_1 = chatbot.generate_response(user_input_1)

# 2番目の入力(/no_think タグ付き)
user_input_2 = "では、ブルーベリーにはいくつの「り」が含まれていますか? /no_think"
response_2 = chatbot.generate_response(user_input_2)

# 3番目の入力(/think タグ付き)
user_input_3 = "本当ですか? /think"
response_3 = chatbot.generate_response(user_input_3)

マルチターン会話では、モデルは最も直近の指示に従います。

エージェント利用のベストプラクティス

Qwen3のツール呼び出し機能を最大限に活用するには、Qwen-Agentの使用が推奨されています。Qwen-Agentはツール呼び出しテンプレートとパーサーを内部にカプセル化し、コーディングの複雑さを大幅に軽減します。

from qwen_agent.agents import Assistant

# LLMの定義
llm_cfg = {
    'model': 'Qwen3-30B-A3B',
    'model_server': 'http://localhost:8000/v1',  # api_base
    'api_key': 'EMPTY',
}

# ツールの定義
tools = [
    {'mcpServers': {  # MCP設定ファイルを指定可能
        '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/ Qwenの最新の開発について紹介してください'}]
for responses in bot.run(messages=messages):
    pass
print(responses)

実際の応用例

Qwen3は多様な応用シナリオで活用できます。ここでは実際の応用例をいくつか紹介します。

プログラミング支援

Qwen3はコーディング能力に優れており、コード生成、デバッグ、リファクタリング、および技術的な質問への回答に活用できます。特にQwen3の思考モードでは、複雑なプログラミング問題に対して段階的に解決策を考えることができます。

例えば、データ構造やアルゴリズムの実装、特定のプログラミング言語での実装方法の提案、あるいはコードレビューなどで活用できます。

複雑な問題解決

数学、論理学、科学的問題などの複雑な問題解決においてQwen3は優れた能力を発揮します。思考モードを有効にすることで、問題を複数のステップに分解し、一歩ずつ解決していく過程を確認できます。

例えば:

  • 複雑な数学的証明
  • 論理パズルの解決
  • 科学的仮説の検証
  • ビジネス戦略の分析

多言語コンテンツ生成

119の言語と方言をサポートするQwen3は、多言語コンテンツの生成に非常に適しています。例えば:

  • 複数言語でのウェブサイトコンテンツ作成
  • 多言語マーケティング資料の生成
  • 翻訳支援と文化的コンテキストの適応
  • 国際的なカスタマーサポート

エージェントとしての活用

Qwen3のエージェント能力を活用すると、複雑なタスクを自律的に実行できるシステムを構築できます:

  • 情報収集と分析のための研究アシスタント
  • データ処理と視覚化を行うデータアナリスト
  • 複数のツールやAPIを連携させるワークフローオートメーション
  • インタラクティブな教育支援システム

企業での導入事例

実際の企業導入例としては:

  • ソフトウェア開発企業での開発効率化
  • 多国籍企業でのグローバルコミュニケーション支援
  • 教育機関での個別化された学習支援
  • 研究機関での文献調査と仮説生成

まとめと今後の展望

Qwen3の位置づけ

Qwen3はアリババが提供する最新の大規模言語モデルとして、思考モードと非思考モードを統合したハイブリッドアプローチ、MoEアーキテクチャによる効率的な計算、そして119言語をカバーする多言語能力など、多くの革新をもたらしました。

特に注目すべきは、オープンソースとして公開されていることで、これにより研究者やデベロッパーが最先端のAI技術にアクセスできるようになっています。

今後のAI開発への影響

Qwen3のリリースは、オープンソースLLMの可能性を広げるとともに、AI技術の民主化に大きく貢献しています。特にMoEアーキテクチャの採用は、計算効率と性能のバランスという課題に対する有望なアプローチを示しており、今後のAIモデル設計に影響を与えるでしょう。

アリババの今後の展開予定

アリババはQwen3をAGI(人工一般知能)とASI(人工超知能)に向けた重要なマイルストーンと位置づけています。今後の展開としては以下の方向性が示されています:

  • モデルアーキテクチャと訓練方法の改良
  • データ規模の拡大
  • モデルサイズの拡大
  • コンテキスト長の拡張
  • モダリティの拡大
  • 長期的な推論のための環境フィードバックを活用した強化学習の進化

アリババは「モデルを訓練する時代からエージェントを訓練する時代」への移行を進めており、次のイテレーションではさらに大きな進化が期待されています。

オープンソースLLMの可能性

Qwen3のようなハイエンドモデルのオープンソース化は、AI研究とイノベーションを促進し、より多くの人々がAI技術の恩恵を受けられるようにする重要なステップです。

企業、研究機関、個人開発者がこれらのモデルを基盤として独自のアプリケーションを開発することで、様々な分野での新たな可能性が広がるでしょう。今後もオープンソースコミュニティの発展によって、AIの民主化と技術進化の速度はさらに加速していくことが期待されます。

参考資料

Discussion