Llama-3.2-3B-Instructとは?
Llama-3.2-3B-Instructは、Metaが開発した3.21Bの指示チューニング済みテキストモデルです。2024年9月25日にリリースされたLlama 3.2のテキスト専用モデル2種のうち、大きい方にあたります。Metaは、1Bと3Bをモバイルデバイスなどのリソースが限られた環境で動作させることを想定し、アシスタントとしてのチャット、知識検索、要約、モバイル向け文章作成支援、クエリの書き換えを用途として挙げています。この設計目標が、ローカルでの使いやすさにつながっています。4ビットGGUFファイルは約2 GBと小さく、より大きなモデルが収まらないマシンでも利用できます。
| 仕様 | Llama-3.2-3B-Instruct |
|---|---|
| パラメータ数 | 3.21B(3,212,749,824)、BF16 |
| アーキテクチャ | 最適化された自己回帰型Transformer、テキスト入力・テキスト出力 |
| アテンション | Grouped-Query Attention、埋め込みを共有 |
| コンテキスト長 | 128Kトークン、Meta独自の量子化ビルドでは8K |
| 入力モダリティ | 多言語テキスト |
| 出力モダリティ | 多言語テキストとコード |
| 対応言語 | 英語、ドイツ語、フランス語、イタリア語、ポルトガル語、ヒンディー語、スペイン語、タイ語 |
| 学習データ | オンライン上の公開データ、最大9兆トークン |
| 知識のカットオフ | 2023年12月 |
| アラインメント | 教師ありファインチューニングとRLHF |
| 学習計算量 | H100-80GBで46万GPU時間 |
| リリース日 | 2024年9月25日 |
| ライセンス | Llama 3.2 Community License |
Metaは1Bと3Bの事前学習で、Llama 3.1 8Bと70Bのロジットをトークン単位の学習目標として使用し、枝刈り後の性能回復には知識蒸留を用いたと説明しています。事後学習はLlama 3.1と同様の手順で、教師ありファインチューニング、棄却サンプリング、直接選好最適化を複数回行っています。このファミリーのすべてのバージョンはGrouped-Query Attentionを採用しており、Metaはこれが推論のスケーラビリティ向上に寄与すると説明しています。また、テキストモデルはいずれも埋め込みを共有すると記載されています。
Llama-3.2-3B-Instructのベンチマーク
Metaのモデルカードで公開されている数値では、指示チューニング済みの3Bを、同じファミリーの1BおよびLlama 3.1 8Bと比較しています。
| ベンチマーク | Llama-3.2-3B-Instruct | Llama 3.2 1B | Llama 3.1 8B |
|---|---|---|---|
MMLU 学術知識 | 63.4 | 49.3 | 69.4 |
IFEval 指示追従 | 77.4 | 59.5 | 80.4 |
GSM8K (CoT) 小学校レベルの算数 | 77.7 | 44.4 | 84.5 |
MATH (CoT) 競技数学 | 48.0 | 30.6 | 51.9 |
ARC-C 科学的推論 | 78.6 | 59.4 | 83.4 |
BFCL V2 関数呼び出し | 67.0 | 25.7 | 67.1 |
TLDR9+ テキスト要約 | 19.0 | 16.8 | 17.2 |
Llama 3.1 8Bは、パラメータ数が倍以上あるだけに、ほぼすべての項目で上回っています。3Bは関数呼び出しではその差を1ポイント以内に抑えており、BFCL V2では67.1に対して67.0です。TLDR9+の要約では明確に上回っています。Metaは英語以外の対応言語7言語についてもMMLUの結果を報告しており、3Bのスコアはヒンディー語の43.3からスペイン語の55.1までの範囲です。
Metaは、これらの指示チューニング済みテキストモデルが、業界で一般的なベンチマークで「利用可能なオープンソースおよびクローズドのチャットモデルの多くを上回る」と主張しており、表に含まれていない評価項目からもその主張を検討できます。多言語の数学では、MGSMの思考の連鎖による評価で1Bの24.5に対して58.2と健闘しています。一方、Nexusのツール利用では8Bの38.5に対して34.3と、やや弱い結果です。最も弱いのは長いコンテキストの扱いで、NIHの複数ニードル再現率では98.8に対して84.7、InfiniteBench En.QAでは27.3に対して19.8、En.MCでは72.2に対して63.3です。128Kのコンテキスト長は、長い文書を格納するための容量と捉えてください。文書内の情報を完全に取り出せるという保証ではありません。
Llama-3.2-3B-Instructのハードウェア要件
システム要件で確認すべきなのはメモリです。以下は、コミュニティリポジトリunsloth/Llama-3.2-3B-Instruct-GGUFにある実際のファイルサイズです。
| メモリ | 選ぶビルド | ファイルサイズ |
|---|---|---|
| 2 GB | UD-IQ2_M | 1.26 GB |
| 3 GB | Q3_K_M | 1.69 GB |
| 4 GB | Q4_K_M | 2.02 GB |
| 5 GB | Q5_K_M | 2.32 GB |
| 6 GB | Q6_K | 2.64 GB |
| 8 GB | Q8_0 | 3.42 GB |
| 16 GB以上 | BF16 | 6.43 GB |
フル精度のBF16ファイルでもわずか6.43 GBなので、どちらのビルドもメモリに収まるなら、大きい方を選んでください。このリポジトリにはさらに小さいビルドもあり、UD-IQ1_Sでは0.91 GBまで小さくなります。Meta自身の数値からは、公開された量子化3Bビルドで何が失われるかがわかります。BFCL V2ではBF16の67.0に対し、SpinQuantは60.1、QLoRAは63.5です。一方、GSM8Kは77.7に対して75.7と77.9で、ほとんど変わりません。IQ1とIQ2のファイルは標準の選択肢にせず、最後の手段にしてください。
Metaは元の重みを実行する方法として、バージョン4.43.0以降のTransformersパイプラインと、Meta独自のllamaコードベースの2つを挙げています。Metaの量子化ビルドは、Arm CPUバックエンドを備えたPyTorch ExecuTorchを対象としています。この環境では、Android搭載のOnePlus 12上でBF16の3Bが7.6トークン/秒、SpinQuantビルドが19.7トークン/秒でデコードします。GGUFを初めて使う方は、まずGGUFとは何かを読み、ほかにどのモデルがメモリに収まるかは16 GBのMacに最適なローカルLLMをご覧ください。
Atomic ChatでLlama-3.2-3B-Instructを実行する方法
Atomic Chatは、macOS、Windows、Linux向けの無料ローカルアプリです。Hugging Faceのモデルブラウザーとチャット機能を内蔵しており、llama.cppを手動でビルドする必要はありません。
- お使いのプラットフォーム向けのAtomic Chatをダウンロードし、起動します。
- モデルブラウザーでLlama-3.2-3B-Instructを検索し、Download Optionsを開きます。
- 利用可能なメモリに収まるビルドを選び、チャットを始めます。
同じファミリーのほかのモデルについては、ローカルで実行できるLlamaモデルの一覧、または上の表にある、より大きなモデルLlama-3.1-8B-Instructをご覧ください。
Llama-3.2-3B-Instructのライセンス
Llama-3.2-3B-Instructの利用には、Llama 3.2 Community Licenseが適用されます。Metaはこれを独自の商用ライセンス契約と説明しています。Metaによると、このモデルは複数言語での商用利用と研究利用を想定しています。また、ライセンスとAcceptable Use Policyを遵守する限り、開発者は公式に対応する8言語以外の言語向けにもファインチューニングできます。Metaの表現では、貿易関連法令を含む適用法令や規制に違反するあらゆる利用は、想定範囲外です。
