🚀 Qwen3-235B-A22B-GGUF
Qwen3-235B-A22B-GGUFは、Qwenシリーズの最新世代の大規模言語モデルです。高度な推論能力や多言語対応など、様々な場面での高性能を実現します。
🚀 クイックスタート
llama.cpp
詳細な使用方法については、llama.cppのドキュメントを参照してください。
llama.cpp
をクローンし、公式ガイドに従ってインストールすることをおすすめします。このプロジェクトでは、llama.cppの最新バージョンを使用しています。以下のデモでは、llama.cpp
リポジトリのディレクトリ内でコマンドを実行することを前提としています。
クローンするのが非効率な場合は、必要なGGUFファイルを手動でダウンロードするか、以下のようにhuggingface-cli
(pip install huggingface_hub
)を使用することができます。
huggingface-cli download Qwen/Qwen3-235B-A22B-GGUF Q4_K_M/Qwen3-235B-A22B-Q4_K_M-00001-of-00005.gguf --local-dir . --local-dir-use-symlinks False
ただし、大きなファイルは、単一ファイルのアップロード制限(50GB)のため、複数のセグメントに分割されています。具体的には、分割されたファイルは共通の接頭辞を持ち、インデックスを示す接尾辞が付いています。例えば、Q4_K_M
のGGUFファイルは以下のようになります。
Qwen3-235B-A22B-Q4_K_M-00001-of-00005.gguf
Qwen3-235B-A22B-Q4_K_M-00002-of-00005.gguf
Qwen3-235B-A22B-Q4_K_M-00003-of-00005.gguf
Qwen3-235B-A22B-Q4_K_M-00004-of-00005.gguf
Qwen3-235B-A22B-Q4_K_M-00005-of-00005.gguf
これらのファイルはQwen3-235B-A22B-Q4_K_M
という接頭辞を共有し、それぞれインデックス用の接尾辞(例:-00001-of-00005
)が付いています。分割されたGGUFファイルを使用するには、まず以下のコマンドでマージする必要があります。
./llama-gguf-split --merge Qwen3-235B-A22B-Q4_K_M-00001-of-00005.gguf Qwen3-235B-A22B-Q4_K_M.gguf
✨ 主な機能
Qwen3は、Qwenシリーズの最新世代の大規模言語モデルで、高密度モデルとエキスパート混合(MoE)モデルの包括的なセットを提供します。広範なトレーニングを基に構築されたQwen3は、推論、命令追従、エージェント機能、多言語サポートにおいて画期的な進歩を遂げ、以下の主要な機能を備えています。
- 単一モデル内での「思考モード」 (複雑な論理推論、数学、コーディング用)と 「非思考モード」 (効率的な汎用対話用)のシームレスな切り替えを独自にサポートし、様々なシナリオで最適なパフォーマンスを発揮します。
- 推論能力が大幅に向上 し、数学、コード生成、常識的な論理推論において、以前のQwQ(思考モード)とQwen2.5命令モデル(非思考モード)を上回っています。
- 人間の嗜好に高度にアライメント されており、創作的な文章作成、ロールプレイ、複数ターンの対話、命令追従に優れ、より自然で魅力的な対話体験を提供します。
- エージェント機能に精通 しており、思考モードと非思考モードの両方で外部ツールとの精密な統合を可能にし、複雑なエージェントベースのタスクにおいてオープンソースモデルの中でもトップレベルのパフォーマンスを達成します。
- 100以上の言語と方言をサポート し、 多言語命令追従 と 翻訳 能力が強力です。
📦 インストール
llama.cpp
llama.cppのドキュメントを参照して、インストールと使用方法を確認してください。
💻 使用例
思考モードと非思考モードの切り替え
ユーザーのプロンプトまたはシステムメッセージに/think
と/no_think
を追加することで、モデルの思考モードをターンごとに切り替えることができます。モデルは、複数ターンの会話で最新の指示に従います。
以下は、複数ターンの会話の例です。
> Who are you /no_think
<think>
</think>
I am Qwen, a large-scale language model developed by Alibaba Cloud. [...]
> How many 'r's are in 'strawberries'? /think
<think>
Okay, let's see. The user is asking how many times the letter 'r' appears in the word "strawberries". [...]
</think>
The word strawberries contains 3 instances of the letter r. [...]
長文の処理
Qwen3は、ネイティブで最大32,768トークンのコンテキスト長をサポートしています。入力と出力の合計長がこの制限を大幅に超える会話の場合、RoPEスケーリング技術を使用して長文を効果的に処理することをおすすめします。YaRN手法を使用して、最大131,072トークンのコンテキスト長でモデルのパフォーマンスを検証しています。
llama.cpp
でYARNを有効にするには、以下のコマンドを実行します。
./llama-cli ... -c 131072 --rope-scaling yarn --rope-scale 4 --yarn-orig-ctx 32768
⚠️ 重要提示
すべての著名なオープンソースフレームワークは静的なYaRNを実装しており、これは入力長に関係なくスケーリング係数が一定であることを意味し、短いテキストでのパフォーマンスに影響を与える可能性があります。長いコンテキストを処理する必要がある場合のみ、rope_scaling
設定を追加することをおすすめします。また、必要に応じてfactor
を変更することもおすすめします。たとえば、アプリケーションの典型的なコンテキスト長が65,536トークンの場合、factor
を2.0に設定するとよいでしょう。
💡 使用建议
アリババモデルスタジオが提供するエンドポイントは、デフォルトで動的なYaRNをサポートしており、追加の設定は必要ありません。
📚 ドキュメント
ベストプラクティス
最適なパフォーマンスを達成するために、以下の設定をおすすめします。
- サンプリングパラメータ
- 思考モード(
enable_thinking=True
)の場合、Temperature=0.6
、TopP=0.95
、TopK=20
、MinP=0
、PresencePenalty=1.5
を使用します。貪欲なデコードを使用しないでください。これはパフォーマンスの低下や無限の繰り返しを引き起こす可能性があります。
- 非思考モード(
enable_thinking=False
)の場合、Temperature=0.7
、TopP=0.8
、TopK=20
、MinP=0
、PresencePenalty=1.5
を使用することをおすすめします。
- 量子化モデルの場合は、
presence_penalty
を1.5に設定して、繰り返し出力を抑制することをおすすめします。presence_penalty
パラメータは0から2の間で調整できます。値が高いと、時折言語の混合やモデルパフォーマンスのわずかな低下が発生することがあります。
- 十分な出力長:ほとんどのクエリでは、32,768トークンの出力長を使用することをおすすめします。数学やプログラミングコンテストのような高度に複雑な問題のベンチマークでは、最大出力長を38,912トークンに設定することをおすすめします。これにより、モデルに詳細で包括的な応答を生成するための十分なスペースが提供され、全体的なパフォーマンスが向上します。
- 出力形式の標準化:ベンチマーク時には、プロンプトを使用してモデルの出力を標準化することをおすすめします。
- 数学問題:プロンプトに「Please reason step by step, and put your final answer within \boxed{}」を含めます。
- 選択問題:応答を標準化するために、プロンプトに以下のJSON構造を追加します。「Please show your choice in the
answer
field with only the choice letter, e.g., "answer": "C"
」。
- 履歴に思考内容を含めない:複数ターンの会話では、過去のモデル出力には最終出力部分のみを含め、思考内容を含める必要はありません。これは、提供されているJinja2のチャットテンプレートで実装されています。ただし、Jinja2のチャットテンプレートを直接使用しないフレームワークの場合は、開発者がこのベストプラクティスを遵守するようにする必要があります。
引用
この研究が役立った場合は、以下のように引用してください。
@misc{qwen3,
title = {Qwen3},
url = {https://qwenlm.github.io/blog/qwen3/},
author = {Qwen Team},
month = {April},
year = {2025}
}
🔧 技術詳細
Qwen3-235B-A22B は以下の特徴を持っています。
属性 |
详情 |
モデルタイプ |
Causal Language Models |
トレーニング段階 |
Pretraining & Post-training |
パラメータ数 |
合計235B、活性化されたパラメータ数22B |
パラメータ数(非埋め込み) |
234B |
レイヤー数 |
94 |
アテンションヘッド数(GQA) |
Qに64、KVに4 |
エキスパート数 |
128 |
活性化されたエキスパート数 |
8 |
コンテキスト長 |
ネイティブで32,768トークン、YaRNを使用して131,072トークン |
量子化 |
q4_K_M, q5_0, q5_K_M, q6_K, q8_0 |
詳細な情報(ベンチマーク評価、ハードウェア要件、推論パフォーマンスなど)については、ブログ、GitHub、ドキュメントを参照してください。
📄 ライセンス
このプロジェクトは、Apache-2.0ライセンスの下で提供されています。