はじめに
本記事では、Qwenチームが開発した「QwQ-32B」について解説します。このモデルは強化学習を活用して推論能力を強化した次世代AIモデルであり、パラメータ数が少ないながらも、より大きなモデルに匹敵する性能を発揮します。
QwQ-32Bとは
QwQは「Qwen with Questions」の略で、Qwenシリーズの推論モデルです。その名前の通り「質問する」「考える」「推論する」能力に特化しています。従来の教師付き学習ベースのモデルと比較して、複雑な問題に対して深い思考と推論を行い、特に難解な問題に対して優れた性能を発揮します。
QwQ-32Bの最も驚くべき点は、32Bパラメータという中規模サイズでありながら、671Bパラメータを持つDeepSeek-R1-671Bと互角以上のベンチマーク結果を示していることです。 この効率性は、単純にパラメータ数を増やすよりも、強化学習を効果的に活用する方がAIの能力向上に重要であることを示す重要な事例です。
特徴
- 強化学習(RL)を活用して推論能力を強化
- 32Bパラメータでありながら、671Bパラメータ(有効37B)のDeepSeek-R1に匹敵する性能
- 数学的推論、コーディング、一般的な問題解決など幅広いタスクで高い性能
- Apache 2.0ライセンスでオープンソース化
ベンチマーク性能
QwQ-32Bは数学的推論、コーディング能力、一般的な問題解決能力を評価するさまざまなベンチマークで評価されています。下図はQwQ-32Bと他の主要モデル(DeepSeek-R1、DeepSeek-R1-Distill-Llama-70B、OpenAI-o1-mini、DeepSeek-R1-Distill-Qwen-32B)との性能比較を示しています。
主要なベンチマークでの性能を見てみましょう:
- AIME24(American Invitational Mathematics Examination): 約80%のスコアを達成
- LiveCodeBench: 63.4%を記録し、競合モデルと同等以上
- LiveBench: 73.1%を達成
- IFEval: 83.9%という高いスコアを記録
- BFCL: 66.4%で他モデルを上回る性能
1. AIME24 (American Invitational Mathematics Examination)
意味: アメリカ招待数学試験は、高校生向けの難関数学コンテストです。AIME24は2024年版のこの試験をAIモデルに解かせるベンチマークです。
測定する能力: 高度な数学的推論能力、複雑な問題解決能力
特徴:
- 各問題は3時間で15問を解く形式で、回答は0〜999の整数
- 代数、幾何学、数論、確率論など高校数学の深い理解と創造的な応用が必要
- AIモデルの数学的推論能力を測る最も難しいベンチマークの一つ
2. LiveCodeBench
意味: コーディング能力を評価するための「汚染のない(学習データに含まれていない)」ベンチマーク
測定する能力: コード生成能力、プログラミング問題解決能力
特徴:
- 実際のコーディングコンテストから時系列で問題を収集
- 各問題にリリース日のアノテーションを付け、モデルの訓練データ汚染を避ける
- pass@1(1回の試行で正解)とpass@5(5回の試行で正解)の指標で評価
- モデルの実用的なコーディング能力を測定
3. LiveBench
意味: 汚染のない、客観的なスコアリングを使用するLLM総合ベンチマーク
測定する能力: 広範な言語理解・生成能力、推論能力
特徴:
- 頻繁に更新される新しい情報源からの質問を含む
- 客観的な正解値に基づいて自動的に採点
- 数学、コーディング、推論、言語など多様な領域をカバー
- Yann LeCunなど著名な研究者が開発に関わっている
4. IFEval (Instruction Following Evaluation)
意味: モデルの指示追従能力を評価するベンチマーク
測定する能力: 詳細な指示を正確に理解し実行する能力
特徴:
- 25の検証可能な指示と541のプロンプトで構成
- 各プロンプトには1つ以上の検証可能な指示が含まれる
- モデルが指示通りに動作するかどうかを測定
- AIモデルの実用性に直結する重要な能力を評価
5. BFCL (Berkeley Function Calling Leaderboard)
意味: バークレー大学が開発した関数呼び出し能力評価ベンチマーク
測定する能力: 外部ツールやAPIと連携する能力、関数呼び出し能力
特徴:
- LLMが関数(ツール)を正しく呼び出す能力を評価する初の包括的なベンチマーク
- モデルが適切なタイミングで適切な関数を呼び出せるかを測定
- 実行可能な形式での関数呼び出しを評価
- エージェントAIの基盤となる重要な能力を判定
これらの結果から、QwQ-32Bは特に数学的推論と一般的な問題解決能力において優れた性能を発揮していることがわかります。
強化学習アプローチ
QwQ-32Bの強みは、強化学習(RL)をうまく使っている点にあります。開発の流れは次のような段階を踏んでいます:
- 基本モデルからスタート: シンプルな状態のモデルから始めています
- 結果で報酬を与える学習方法: 特に数学や programming の問題で、正解したら「良くできました」と報酬を与えるような仕組み
- 正確さをチェックする仕組み: 一般的な評価方法ではなく、数学の答えが合っているかを厳密に確認する方法を採用
- コードを実際に動かして確認: 作ったプログラムコードを実行して、ちゃんと動くかテストする仕組み
- 少しずつ上達する学習: 練習を重ねるごとに、数学とプログラミングの両方の能力が向上
- 幅広い能力も身につける: 後の段階では、人間の指示に従ったり、人間の好みに合わせたりする能力も学習
この段階的な学び方によって、数学やプログラミングが得意なままで、同時に指示に従う能力や人との自然なやりとりなど、日常的に役立つ能力も高めることができたそうです。
QwQ-32Bの利用方法
QwQ-32BはHugging FaceやModelScopeでApache 2.0ライセンスの下で利用可能です。また、Qwen Chatを通じてアクセスすることもできます。
Hugging Face Transformersを使った基本的な利用例を紹介します:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/QwQ-32B"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = "How many r's are in the word \"strawberry\""
messages = [
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
**model_inputs,
max_new_tokens=32768
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)
また、Ollama(ローカルLLMランタイム)でもqwq:32b
としてモデルが提供されています。
実際に、私のM2 Mac(メモリ32GB)でもギリギリ動作しました。コンシューマーレベルのハードウェアでも利用可能な点が魅力的です。
まとめ
QwQ-32Bは、強化学習を効果的に活用することで、わずか32Bのパラメータという比較的小規模なモデルでありながら、671Bパラメータの大規模モデルと互角以上の推論能力を実現した革新的なモデルです。特に数学的推論やコーディングなどの複雑なタスクで優れた性能を発揮し、AIの推論能力の新たな可能性を示しています。
このモデルの成功は、単純にモデルサイズを拡大するアプローチではなく、より洗練された学習方法が重要であることを示す重要なマイルストーンではないでしょうか。強化学習のスケーリングとエージェント技術の統合により、今後のAI開発はさらに進化することが期待されます。
QwQ-32Bが示した成果は、より少ないリソースでも効果的なAIモデルを構築できる可能性を示唆しており、よりハードウェア要件の低いモデルの実現につながるかもしれません。今後のエッジデバイスへの展開やAIの民主化が期待されます。