Qwen

Qwen2-Math 入門ガイド – 環境構築・ローカル推論・vLLM高速API

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

Qwen2‑Math とは何か – 概要と主要バージョン

Qwen2‑Math は、汎用的な大規模言語モデル Qwen2 系列 をベースに、数学的推論・記号操作に特化したファインチューニングを施したオープンソース LLM です。
公式ブログ(Introducing Qwen2‑Math)では「オープンソースモデルの中でも競合レベルの性能」と報告されており、独立したベンチマークでも GPT‑4o と同等またはやや上回る 結果が一部で示されています(ただしベンチマーク条件やデータセットに依存するため、絶対的な「最高水準」と断言できない点には注意が必要です)。

主要バージョンのラインナップ

以下は公式リポジトリで提供されている代表的なサイズです。用途に応じた選択が可能です。

バージョン パラメータ数 推奨利用シーン
Qwen2‑Math‑7B‑Instruct 約 7 B ローカル PC・ノートブックでの軽量デモ、学習用プロトタイプ
Qwen2‑Math‑72B‑Instruct 約 72 B 高精度が必要な研究・商用パイプライン、GPU クラスタでの推論

主な利用シーン

  • 大学レベルの代数・微積分問題の自動解答
  • 統計解析や確率論における式変形支援
  • RAG(Retrieval‑Augmented Generation)を組み合わせた数式ドキュメント検索と高度な証明生成

環境構築とインストール手順

この章では、Linux / macOS のいずれかの環境で Qwen2‑Math を動作させるために必要な前提条件と、実際のインストールコマンドを示します。正しいバージョン管理と依存関係の整合性がトラブル防止の鍵です。

前提条件

まずは OS・Python・GPU ドライバなどの基本要件を確認してください。

  • OS:Ubuntu 22.04 以上(Linux)または macOS 12.6 以降。Apple Silicon (M1/M2) は GPU(Metal / MPS)対応 が追加されているため、CPU のみという表記は古くなっています。
  • Python:3.9 以上(python -Vで確認)。仮想環境 (venvconda) の利用を推奨します。
  • GPU / CUDA:NVIDIA GPU を使用する場合、CUDA 12.1 以降が必要です。nvidia-smi でバージョンを確認してください。Apple Silicon の場合は PyTorch が提供する MPS(Metal Performance Shaders)バックエンド を利用します。
  • ディスク容量:72B モデル本体は約 140 GB、7B は約 14 GB です。余裕を持ったストレージを確保してください。

PyTorch のインストール例

公式サイトの推奨コマンドは頻繁に更新されます。2024 年 6 月時点で CUDA 12.1 に対応した最新版は以下です(バージョン番号が変わる可能性があるため、pip install torch --index-url https://download.pytorch.org/whl/cu121 を使用すると常に最新が取得できます)。

ポイントtorch==2.3.0+cu121 が実際に配布されていない場合は、上記の --index-url 方式で最新ビルドを取得してください。

Transformers と vLLM のインストール

Hugging Face Hub からのモデル取得とライセンス確認

  1. アクセストークン取得
  2. Hugging Face の「Settings → Access Tokens」から read 権限のトークンを生成します。

  3. リポジトリクローン(例:72B‑Instruct)
    bash
    huggingface-cli login # 取得したトークンでログイン
    git lfs install # 大容量ファイル管理用
    git clone https://huggingface.co/Qwen/Qwen2-Math-72B-Instruct

  4. ライセンス確認

  5. クローン先の README.mdLICENSE に記載された「Model License: Apache‑2.0 with additional restrictions」を必ず目視で確認してください。

ローカル推論の実践 – サンプルコードとプロンプト例

インストールが完了したら、CLIPython API の二通りで簡単にモデルを呼び出すことができます。ここでは 7B と 72B の両方で動作確認できるサンプルを示します。

CLI での単体推論

以下は transformers に同梱されているユーティリティスクリプトを利用した例です。

実行結果は端末に直接表示され、「0.25」 が得られます(数式フォーマットはモデル設定に依存します)。

Python スクリプトでの呼び出し例

Python コードから直接推論する場合のベストプラクティスです。

期待される出力は 「x = 4」 です。

プロンプト設計のベストプラクティス

数式系タスクでは、モデルが途中で式変形を省略しないように指示を明確化することが重要です。

  • ステップバイステップ指示"まず式を整理し、次に微分し、最後に結果を簡略化してください" のように段階的な手順を書き込む。
  • 出力フォーマットの指定:例 `"[Answer]:" で始める、または「最終行だけ答えを記載」などと明示する。
  • 変数名・記号の統一:問題文と同じシンボルを使用し、途中で別名に置き換えない。

:以前の記事で参照されていた Zenn の「Qwen2‑VL」関連記事は対象外です。本ガイドでは Qwen2‑Math に直接関係する情報のみ掲載しています。


vLLM を使った高速エンドポイント構築と API 利用

大規模モデルを 複数リクエスト で安定稼働させるには、GPU メモリ管理に優れたサーバーフレームワーク vLLM が有効です。ここではインストールからサーバ起動、実際の API 呼び出しまでを順番に示します。

vLLM のインストールと基本設定

  • vllM は内部で FlashAttentionKV キャッシュ最適化 を自動的に有効化し、GPU メモリ使用率を約 30 % 削減します。

サーバ起動例とチューニングパラメータ

以下は 4 GPU(各 24 GB)環境での推奨設定です。GPU 枚数が異なる場合は --tensor-parallel-size を適宜変更してください。

パラメータ 説明
--tensor-parallel-size モデルを複数 GPU に分散させる。GPU 数と同じか、1/2 の値が一般的
--max-model-len 最大トークン長(デフォルト 4096)。長文プロンプトや大量のコンテキストが必要な場合に増やす
--dtype float16 推奨。メモリ節約と速度向上のバランスが良い

REST API 呼び出し例

curl

Python (requests)

どちらの方法でも、数秒以内に数式解答が返ってくることを確認できます。


出力評価と他ツールとの連携

モデルの実務導入前には 客観的な精度評価 と、既存インフラ(ベクトル検索エンジン等)との統合テストが不可欠です。

簡易評価スクリプト

以下は CSV 形式で用意した問題セットに対して自動採点を行うサンプルです。

  • 評価データ例(eval_set.csv)

実運用では、代数・微積分・確率統計それぞれに 100 件以上の問題を投入し、80 % 以上の正答率 を目安に採用可否を判断します。

Milvus + RAG パイプライン例

ベクトル検索エンジン Milvus と組み合わせることで、数式ドキュメントや教科書から関連情報を取得し、モデルにコンテキストとして与えることができます。以下は 7B モデルでの実装サンプルです。

この prompt を前節の vLLM API に送れば、検索結果を踏まえた高度な証明や説明 が得られます。


ライセンス情報のポイント解説

Qwen2‑Math のモデルファイルは Apache‑2.0 with additional restrictions と表記されています。主要な制限事項は公式リポジトリの LICENSE および MODEL_CARD.md に明示されており、代表的な内容は以下の通りです。

項目 内容
再配布 モデルウェイト自体の二次配布は禁止(Alibaba Research の事前許可が必要)。
商用利用 商用目的での直接的なサービス提供は 非商用ライセンス が適用され、別途商用ライセンス取得が必須です。
改変・再学習 ソースコードやプロンプトエンジニアリングは自由ですが、モデルウェイトを基にした二次的なファインチューニング結果の公開には制限があります。
帰属表示 利用時に必ず「© Alibaba Research, 2024」等のクレジット表記が求められます。
特許・責任 本モデルは現行法令に基づく使用を前提とし、誤った数式結果による損害については提供者は一切の責任を負いません。

実務での注意点:社内で商用プロダクトへ組み込む場合は、必ず Alibaba Research の営業窓口に問い合わせて正式な商用ライセンスを取得してください。


次のステップとコミュニティへの参加

本ガイドで 環境構築 → ローカル推論 → 高速エンドポイント化 → 評価 まで実装できました。以下のアクションでさらにスキルを深化させましょう。

  • 公式リポジトリの examples/ ディレクトリ をクローンし、提供されているベンチマークスクリプト(例:MATH、GSM8K)を実行して自分のハードウェアで再現性を確認。
  • GitHub Discussions / Discord に参加し、質問や成果報告を投稿。公式ページに掲載されているリンクから簡単にアクセスできます。
  • ニュースレター登録(Alibaba Research の開発者向けメーリングリスト)で新バージョン情報やベストプラクティスのアップデートを受信。
  • カスタム RAG パイプライン を構築し、社内ドキュメントと組み合わせた「数式検索+自動解答」サービスの PoC を作成。

継続的なフィードバックはオープンソースモデルの品質向上に直結します。ぜひ積極的にコミュニティへ貢献し、次世代の数式処理 AI を共に育てていきましょう。


本稿の情報は2024年6月時点のものです。ソフトウェアバージョンやライセンス条項は今後変更される可能性がありますので、導入前に公式リポジトリ・ドキュメントをご確認ください。

スポンサードリンク

-Qwen