Qwen2.5-32B-Instructとは?
Qwen2.5-32B-Instructは、Alibaba CloudのQwen2.5シリーズに属する32.5Bの指示チューニング済みモデルで、2024年9月にApache 2.0で公開されました。このシリーズには、0.5Bから72Bパラメータまでのベースモデルと指示チューニング済みモデルがあります。本格的な汎用モデルでありながら、24 GBのGPU 1枚に収まる規模です。公式のQ4_K_Mビルドの合計サイズは19.9 GBです。Hugging Faceリポジトリのダウンロード数は2,300,000回を超えています。
| 仕様 | Qwen2.5-32B-Instruct |
|---|---|
| 総パラメータ数 | 32.5B(埋め込みを除くと31.0B) |
| 正確なパラメータ数 | safetensors形式の重みでは32,763,876,352 |
| モデルの種類 | 因果言語モデル |
| 学習段階 | 事前学習と事後学習 |
| アーキテクチャ | RoPE、SwiGLU、RMSNorm、アテンションのQKVバイアスを備えたTransformer |
| レイヤー数 | 64 |
| アテンションヘッド数(GQA) | Qが40、KVが8 |
| コンテキスト長 | 131,072トークン |
| config.jsonに設定されたコンテキスト長 | 32,768トークン。倍率4.0のYaRNで最大コンテキスト長まで拡張 |
| 最大生成長 | 8,192トークン |
| モダリティ | テキスト入力とテキスト出力 |
| 対応言語 | 中国語、英語、フランス語、スペイン語、ドイツ語、ロシア語、日本語、韓国語、アラビア語など、29を超える言語 |
| チャットテンプレート | トークナイザーに同梱され、apply_chat_templateで適用 |
| フレームワークの最低バージョン | transformers 4.37.0 |
| Qwen推奨のデプロイ用スタック | vLLM |
| ベースモデル | Qwen2.5-32B |
| 公開日 | 2024年9月、リポジトリの作成日は9月17日 |
| ライセンス | Apache 2.0 |
コンテキスト長には注意点があります。同梱のconfig.jsonでは32,768トークンに設定されています。最大の131,072トークンを使うには、設定でYaRNのRoPEスケーリングを有効にし、元の32,768トークンに対して倍率4.0を指定するrope_scalingブロックを追加する必要があります。静的なYaRNスケーリングは短いプロンプトで品質を多少低下させる場合があるため、Qwenは実際に長い入力を処理するときだけ追加するよう勧めています。長いコンテキストでの推論サービスの提供には、チームはvLLMを推奨しています。これはモデルカードに名前が挙がっている唯一のデプロイ用スタックです。Pythonで重みを読み込むにはtransformers 4.37.0以降が必要です。古いバージョンではqwen2に対するKeyErrorが発生し、読み込めません。
Qwen2.5-32B-Instructが得意なこと
Qwenのモデルカードには、32Bのベンチマーク別スコアは掲載されていません。詳細な評価結果はQwen2.5のブログに、GPUメモリ使用量とスループットの数値はQwenドキュメント内の別の速度ベンチマークページに掲載されています。モデルカードで述べられているのは、Qwen2と比べて、この世代は知識が大幅に増え、コーディングと数学の能力が大きく向上したということです。両分野の専門モデルを用いて学習されています。
そのほかの改善点も、自分のプロンプトで確認できるほど具体的に示されています。Qwenは、指示への追従、8Kトークンを超える長文の生成、表などの構造化データの理解、特にJSONをはじめとする構造化出力の生成が大幅に改善したと述べています。また、「多様なシステムプロンプトに、より堅牢に対応できる」とし、ロールプレイの実装やチャットボットの条件設定と関連付けています。システムプロンプトで固定のペルソナや厳密な出力規約を指定する場合に重要な点です。これらの改善はすべて、前世代のQwen2との比較であり、他社のモデルとの比較ではありません。
対応言語は幅広く、中国語、英語、フランス語、スペイン語、ポルトガル語、ドイツ語、イタリア語、ロシア語、日本語、韓国語、ベトナム語、タイ語、アラビア語など、29を超える言語をカバーします。そのため、単一のローカルLLMで多言語チャット、コーディング、構造化データの抽出を同時にこなす必要がある場合に、実用的な選択肢となります。
Qwen2.5-32B-Instructのハードウェア要件
システム要件で確認すべきなのはメモリです。Qwenは公式のGGUF変換版をQwen/Qwen2.5-32B-Instruct-GGUFとして公開しています。各量子化版は、1ファイルあたり約4 GBを上限とする分割ファイルで提供されており、以下のサイズは各ビルドの合計です。
| メモリ | 選ぶビルド | ファイルサイズ |
|---|---|---|
| 16 GB | Q2_K | 12.3 GB |
| 20 GB | Q3_K_M | 15.9 GB |
| 24 GB | Q4_K_M | 19.9 GB |
| 32 GB | Q5_K_M | 23.3 GB |
| 36 GB | Q6_K | 26.9 GB |
| 48 GB | Q8_0 | 34.8 GB |
| 80 GB以上 | fp16 | 65.5 GB |
隣り合うビルドのサイズ差は数GBなので、どちらもメモリに収まる場合は大きい方を選んでください。これは、品質の低下が最も急な表の低ビット側で特に重要です。12.3 GBのQ2_Kはリポジトリ内で最小のビルドで、Q3_K_Mに上げると、ディスク容量が3.6 GB増える代わりに、品質の回復幅が最も大きくなります。リポジトリには、ランタイムが必要とする場合に備えて、従来の形式である18.6 GBのQ4_0と22.6 GBのQ5_0もあります。量子化されていないfp16変換版の合計サイズは65.5 GBなので、フル精度での実行には複数のGPUが必要です。この形式に馴染みがない場合は、まずGGUFとは何かをご覧ください。
Atomic ChatでQwen2.5-32B-Instructを実行する方法
Atomic Chatは、macOS、Windows、Linux向けの無料のローカルアプリです。Hugging Faceのモデルブラウザーとチャット機能を内蔵しており、llama.cppを手動でビルドする必要はありません。
- お使いのプラットフォーム向けのAtomic Chatをダウンロードし、起動します。
- モデルブラウザーでQwen2.5-32B-Instructを検索し、Download Optionsを開きます。
- 使用できるメモリに収まるビルドを選び、チャットを開始します。
同じファミリーのほかのモデルについては、ローカルで実行できるQwenモデルの一覧や、コーディング向けの姉妹モデルQwen2.5-Coder-32B-Instructをご覧ください。20 GBの重みがお使いのマシンに収まらない場合は、Qwen2.5-14B-Instructをご覧ください。
Qwen2.5-32B-Instructのライセンス
Qwen2.5-32B-InstructはApache 2.0で公開されています。ライセンスファイルはリポジトリに含まれ、モデルカードからもリンクされています。このライセンスでは、ロイヤリティなしで商用利用、改変、再配布が認められているため、モデルを使った製品を開発し、使用料なしで自分のハードウェア上で実行できます。
