Phi-3.5-mini-instructとは?
Phi-3.5-mini-instructは、Microsoftの3.8Bのデンス言語モデルです。2024年6月のPhi-3 Miniを更新するモデルとして、2024年8月にリリースされました。厳格にフィルタリングされた公開文書と、教科書のような合成データを合わせた3.4兆トークンで学習されており、コード、数学、論理といった推論分野を意図的に重視した構成になっています。Microsoftは、多言語タスク、複数ターンの会話品質、推論における大幅な改善を、追加の事後学習データによるものと説明しています。ローカルで使う利点は明快です。128Kトークンのコンテキスト長を備え、一般的な量子化ビルドは3 GB未満なので、ほぼどのマシンのメモリにも収まります。
| 仕様 | Phi-3.5-mini-instruct |
|---|---|
| パラメータ数 | 3.8B (3,821,079,552) |
| アーキテクチャ | デコーダーのみのTransformerを採用したデンスモデル |
| コンテキスト長 | 128Kトークン |
| アテンション | デフォルトはFlash attention、V100およびそれ以前のGPUではeager実装 |
| モダリティ | テキスト入力、テキスト出力 |
| トークナイザー | Phi-3 Miniと同じで、プレースホルダートークンを含む語彙数は32,064 |
| 学習データ | 3.4兆トークン、カットオフは2023年10月 |
| 学習の実施 | 512基のH100-80G GPU、10日間、2024年6月から8月 |
| 事後学習 | 教師ありファインチューニングの後にPPOとDPO |
| プロンプト形式 | system、user、assistantの各ターンを含むチャットテンプレート |
| 対応言語 | アラビア語、中国語、日本語、ロシア語を含む23言語 |
| リリース日 | 2024年8月 |
| ライセンス | MIT |
Microsoftは、このサイズに伴うトレードオフを明示しています。公開文書は、モデルカードでいう適切な水準の知識を残すようにフィルタリングされました。Premier Leagueの試合結果は最先端モデルには有用なデータですが、このモデルでは推論により多くの容量を割くために除外されています。その結果についても明確に述べられています。3.8Bでは多くの事実知識を保持できず、事実と異なる回答が返ることがあり、対処法としてRAG環境で検索エンジンによって補完することが提案されています。Microsoftは、メモリと計算資源に制約がある環境、レイテンシが制約となる用途、高い推論能力を求める用途に向けたモデルと位置づけています。モデルカードには、コードの学習データが主にPythonであることと、非常に長いセッションでは応答が反復的になる場合があることの2つの制限も記載されています。
Phi-3.5-mini-instructのベンチマーク
以下の数値は、モデルカードに掲載されたMicrosoft自身による評価結果です。すべてのモデルに同一の社内評価パイプラインを使用し、temperature 0で測定されています。比較対象の重みが公開されているモデルは、Mistral-7B-Instruct-v0.3、Mistral-Nemo-12B、Llama-3.1-8B、Gemma-2-9Bです。
| ベンチマーク | Phi-3.5-mini | Mistral-7B | Mistral-Nemo-12B | Llama-3.1-8B | Gemma-2-9B |
|---|---|---|---|---|---|
MMLU 一般知識 | 69 | 60.3 | 67.2 | 68.1 | 71.3 |
BigBench Hard CoT 高難度の推論 | 69 | 33.4 | 60.2 | 63.4 | 63.5 |
GPQA 専門的な科学知識 | 30.4 | 15.6 | 28.6 | 26.3 | 29.2 |
GSM8K 学校数学 | 86.2 | 54.4 | 84.2 | 82.4 | 84.9 |
MATH 数学コンテスト問題 | 48.5 | 19 | 31.2 | 47.6 | 50.9 |
HumanEval Pythonコーディング | 62.8 | 35.4 | 63.4 | 66.5 | 61 |
MBPP 基礎的なPython | 69.6 | 50.4 | 68.1 | 69.4 | 69.3 |
3.8Bのモデルが、自身の2倍から3倍のサイズのモデルを相手に7項目中4項目で首位に立ち、特に推論と数学で明確な優位を示しています。知識を重視する項目ではGemma-2-9Bが首位を維持し、HumanEvalではLlama-3.1-8Bが首位です。Microsoftの完全な表にはGemini 1.5 FlashとGPT-4o-miniも含まれており、この2モデルは大半のベンチマークで上回っています。
ローカルでの利用では、提供元による別の2つの評価表も重要です。長いコンテキストからの情報検索を評価するRULERでは、4Kから128Kまでの平均が84.1で、最大の128Kでも63.6を維持しています。88.3のLlama-3.1-8B-Instructには及びませんが、平均66.2で、128Kでは19.0まで低下するMistral-Nemo-12Bを大きく上回ります。5つの言語を対象に長いコンテキストでのコード理解を評価するRepoQAでは、平均77で、Llama-3.1-8Bの71とMistral-7Bの62を上回ります。多言語評価は比較的弱く、平均55.2はMistral-7Bの47.9を上回る一方、Gemma-2-9Bの59.6には及びません。ただし、付録Bの韓国語の評価セットでは、Llama-3.1-8B-Instructの平均29.29に対して35.62です。
Phi-3.5-mini-instructのハードウェア要件
確認すべきシステム要件はメモリで、このモデルではほぼどの環境でも要件を満たします。以下のビルドは、コミュニティリポジトリbartowski/Phi-3.5-mini-instruct-GGUFのものです。
| メモリ | 選ぶビルド | ファイルサイズ |
|---|---|---|
| 2 GB | IQ2_M | 1.32 GB |
| 3 GB | Q3_K_M | 1.96 GB |
| 4 GB | Q4_K_M | 2.39 GB |
| 5 GB | Q5_K_M | 2.82 GB |
| 6 GB | Q6_K | 3.14 GB |
| 8 GB以上 | Q8_0 | 4.06 GB |
隣り合うビルドのファイルサイズの差は数百メガバイトなので、両方ともメモリに収まるなら大きい方を選んでください。量子化の段階の中でも品質が最も急速に低下するIQ2付近では、これが特に重要です。128Kのコンテキスト長を使い切る予定なら、ファイルサイズに加えてメモリに余裕を持たせてください。この形式に初めて触れる場合は、まずGGUFとは何かをお読みください。一緒にメモリに収められるほかのモデルについては、16 GBのMacに最適なローカルLLMをご覧ください。
元の重みを使って実行する場合、Microsoftの参照構成はtransformers 4.43.0、torch 2.3.1、accelerate 0.31.0、flash_attn 2.5.8です。このFlash attentionの実行経路は、A100、A6000、H100でテストされています。提供元のサンプルでは、上記の評価値と同じ設定であるtemperature 0、サンプリング無効の貪欲法で生成します。
Atomic ChatでPhi-3.5-mini-instructを実行する方法
Atomic Chatは、macOS、Windows、Linux向けの無料のローカルアプリです。Hugging Faceのモデルブラウザーとチャット機能を内蔵しており、llama.cppを手動でビルドする必要はありません。
- お使いのプラットフォーム向けのAtomic Chatをダウンロードして開きます。
- モデルブラウザーでPhi-3.5-mini-instructを検索し、Download Optionsを開きます。
- 利用できるメモリに収まるビルドを選び、チャットを始めます。
同じファミリーのほかのモデルは、当サイトのPhiモデルのページに掲載しています。同じサイズ区分の後継モデルはPhi-4-mini-instructです。
Phi-3.5-mini-instructのライセンス
Phi-3.5-mini-instructは、一般的なオープンライセンスの中で最も制約の少ないMITライセンスで公開されています。ロイヤリティなしで商用利用、改変、再配布が可能です。リポジトリで別途定められている基本ルールは、Microsoftの商標およびブランドガイドラインのみです。
