モデル概要
モデル特徴
モデル能力
使用事例
🚀 マイクロソフトPhi - 4 - mini - reasoningのLlamacpp imatrix量子化バージョン
本プロジェクトは、マイクロソフトのPhi - 4 - mini - reasoningモデルの量子化バージョンです。llamacppツールを使用して量子化処理を行い、様々なハードウェア環境でのモデルの実行効率と性能を向上させることを目的としています。
🚀 クイックスタート
実行方法
プロンプト形式
<|system|>Your name is Phi, an AI math expert developed by Microsoft. {system_prompt}<|end|><|user|>{prompt}<|end|><|assistant|>
✨ 主な機能
- 多様な量子化タイプ:bf16、Q8_0、Q6_K_Lなど、さまざまな量子化タイプを提供し、さまざまな性能と品質要件を満たすことができます。
- オンライン再パッケージ化:一部の量子化タイプはオンライン再パッケージ化をサポートしており、ハードウェア状況に応じて自動的に性能を最適化できます。
- 性能向上:量子化方法を最適化することで、ARMおよびAVXマシンでより良い性能を発揮します。
📦 インストール
huggingface - cliを使用してダウンロード
まず、huggingface - cliがインストールされていることを確認してください:
pip install -U "huggingface_hub[cli]"
次に、ダウンロードする特定のファイルを指定できます:
huggingface-cli download bartowski/microsoft_Phi-4-mini-reasoning-GGUF --include "microsoft_Phi-4-mini-reasoning-Q4_K_M.gguf" --local-dir ./
モデルのサイズが50GBを超える場合、複数のファイルに分割されます。これらをすべてローカルフォルダにダウンロードするには、次のコマンドを実行します:
huggingface-cli download bartowski/microsoft_Phi-4-mini-reasoning-GGUF --include "microsoft_Phi-4-mini-reasoning-Q8_0/*" --local-dir ./
新しいローカルディレクトリ(例:microsoft_Phi - 4 - mini - reasoning - Q8_0)を指定することも、現在のディレクトリ(./)にすべてダウンロードすることもできます。
📚 ドキュメント
量子化情報
- 量子化ツール:llama.cpp のリリースバージョン b5228 を使用して量子化を行っています。
- オリジナルモデル:[https://huggingface.co/microsoft/Phi - 4 - mini - reasoning](https://huggingface.co/microsoft/Phi - 4 - mini - reasoning)
- 量子化データセット:すべての量子化にはimatrixオプションと ここ のデータセットを使用しています。
ダウンロードファイルリスト
ファイル名 | 量子化タイプ | ファイルサイズ | 分割状況 | 説明 |
---|---|---|---|---|
Phi - 4 - mini - reasoning - bf16.gguf | bf16 | 7.68GB | false | 完全なBF16重み。 |
Phi - 4 - mini - reasoning - Q8_0.gguf | Q8_0 | 4.08GB | false | 極めて高品質で、通常は必要ありませんが、最大限利用可能な量子化です。 |
Phi - 4 - mini - reasoning - Q6_K_L.gguf | Q6_K_L | 3.30GB | false | 埋め込みと出力重みにQ8_0を使用。非常に高品質で、ほぼ完璧で、推奨 です。 |
Phi - 4 - mini - reasoning - Q6_K.gguf | Q6_K | 3.16GB | false | 非常に高品質で、ほぼ完璧で、推奨 です。 |
Phi - 4 - mini - reasoning - Q5_K_L.gguf | Q5_K_L | 3.00GB | false | 埋め込みと出力重みにQ8_0を使用。高品質で、推奨 です。 |
Phi - 4 - mini - reasoning - Q5_K_M.gguf | Q5_K_M | 2.85GB | false | 高品質で、推奨 です。 |
Phi - 4 - mini - reasoning - Q5_K_S.gguf | Q5_K_S | 2.73GB | false | 高品質で、推奨 です。 |
Phi - 4 - mini - reasoning - Q4_K_L.gguf | Q4_K_L | 2.64GB | false | 埋め込みと出力重みにQ8_0を使用。良好な品質で、推奨 です。 |
Phi - 4 - mini - reasoning - Q4_1.gguf | Q4_1 | 2.53GB | false | 旧形式で、性能はQ4_K_Sに似ていますが、Appleシリコンチップでの毎ワットのトークン数が向上しています。 |
Phi - 4 - mini - reasoning - Q4_K_M.gguf | Q4_K_M | 2.49GB | false | 良好な品質で、ほとんどのユースケースのデフォルトサイズで、推奨 です。 |
Phi - 4 - mini - reasoning - Q3_K_XL.gguf | Q3_K_XL | 2.40GB | false | 埋め込みと出力重みにQ8_0を使用。品質は低いですが使用可能で、低メモリの場合に適しています。 |
Phi - 4 - mini - reasoning - Q4_K_S.gguf | Q4_K_S | 2.34GB | false | 品質はやや低いですが、スペースを節約でき、推奨 です。 |
Phi - 4 - mini - reasoning - Q4_0.gguf | Q4_0 | 2.33GB | false | 旧形式で、ARMおよびAVX CPU推論用のオンライン再パッケージ化をサポートしています。 |
Phi - 4 - mini - reasoning - IQ4_NL.gguf | IQ4_NL | 2.33GB | false | IQ4_XSに似ていますが、やや大きいです。ARM CPU推論用のオンライン再パッケージ化をサポートしています。 |
Phi - 4 - mini - reasoning - Q3_K_L.gguf | Q3_K_L | 2.25GB | false | 品質は低いですが使用可能で、低メモリの場合に適しています。 |
Phi - 4 - mini - reasoning - IQ4_XS.gguf | IQ4_XS | 2.22GB | false | 品質は良好で、Q4_K_Sより小さく、性能は似ています、推奨 です。 |
Phi - 4 - mini - reasoning - Q3_K_M.gguf | Q3_K_M | 2.12GB | false | 低品質です。 |
Phi - 4 - mini - reasoning - IQ3_M.gguf | IQ3_M | 2.02GB | false | 中低品質で、新しい方法で、性能はQ3_K_Mと同等です。 |
Phi - 4 - mini - reasoning - Q3_K_S.gguf | Q3_K_S | 1.90GB | false | 低品質で、推奨しません。 |
Phi - 4 - mini - reasoning - IQ3_XS.gguf | IQ3_XS | 1.84GB | false | 品質は低いですが、新しい方法で、性能は良好で、Q3量子化と同等です。 |
Phi - 4 - mini - reasoning - Q2_K_L.gguf | Q2_K_L | 1.83GB | false | 埋め込みと出力重みにQ8_0を使用。非常に低い品質ですが、意外と使用可能です。 |
Phi - 4 - mini - reasoning - IQ3_XXS.gguf | IQ3_XXS | 1.68GB | false | 品質は低いですが、新しい方法で、性能は良好で、Q3量子化と同等です。 |
Phi - 4 - mini - reasoning - Q2_K.gguf | Q2_K | 1.68GB | false | 非常に低い品質ですが、意外と使用可能です。 |
Phi - 4 - mini - reasoning - IQ2_M.gguf | IQ2_M | 1.51GB | false | 比較的低い品質ですが、最先端技術を使用しており、意外と使用可能です。 |
埋め込み/出力重み
一部の量子化タイプ(Q3_K_XL、Q4_K_Lなど)では、標準的な量子化方法を採用し、埋め込みと出力重みをデフォルト値ではなくQ8_0に量子化しています。
ARM/AVX情報
以前は、Q4_0_4_4/4_8/8_8をダウンロードしていました。これらの重みはメモリ内で交差配置され、ARMおよびAVXマシンの性能を向上させるために一度により多くのデータをロードします。
現在は、このPR で説明されているように、いわゆる重みの「オンライン再パッケージ化」機能があります。Q4_0を使用し、ハードウェアが重みの再パッケージ化から恩恵を受ける場合、自動的にリアルタイムで処理されます。
llama.cppのビルドバージョン b4282 以降では、Q4_0_X_Xファイルを実行できず、Q4_0を使用する必要があります。
また、少し良い品質を得たい場合は、このPR のおかげで、ARM用に重みを再パッケージ化するIQ4_NLを使用できます。ただし、現在は4_4にのみ適用されます。ロード時間は長くなる可能性がありますが、全体的な速度は向上します。
適切なファイルの選択
詳細を表示するにはクリック
Artefact2は ここ で、さまざまな性能を示すグラフ付きの素晴らしい記事を提供しています。
まず、実行できるモデルのサイズを決定する必要があります。このためには、持っているメモリ(RAM)と/またはグラフィックメモリ(VRAM)の量を把握する必要があります。
モデルをできるだけ高速に実行したい場合は、モデル全体をGPUのグラフィックメモリに入れる必要があります。GPUの総グラフィックメモリよりも1 - 2GB小さいファイルサイズの量子化バージョンを選択してください。
絶対的な最高品質を追求する場合は、システムメモリとGPUのグラフィックメモリを合計し、その合計よりも1 - 2GB小さいファイルサイズの量子化バージョンを選択してください。
次に、「I - 量子化」または「K - 量子化」のどちらを使用するかを決定する必要があります。
あまり考えたくない場合は、K - 量子化のいずれかを選択してください。それらの形式は「QX_K_X」で、例えばQ5_K_Mです。
詳細を知りたい場合は、この非常に有用な機能グラフを参照してください:
基本的に、Q4未満の量子化を目標とし、cuBLAS(Nvidia)またはrocBLAS(AMD)を使用する場合は、I - 量子化を検討する必要があります。それらの形式はIQX_Xで、例えばIQ3_Mです。これらは新しい量子化タイプで、同じサイズでより良い性能を提供します。
これらのI - 量子化はCPUでも使用できますが、対応するK - 量子化よりも遅いため、速度と性能のトレードオフを考慮する必要があります。
🔧 技術詳細
Q4_0_X_X情報(非推奨)
このセクションは、オンライン再パッケージ化を使用したQ4_0の理論上の性能向上を示すために残されています。
AVX2システム(EPYC7702)でのベンチマークを表示するにはクリック
モデル | サイズ | パラメータ | バックエンド | スレッド数 | テスト | 毎秒のトークン数 | Q4_0との比較率 |
---|---|---|---|---|---|---|---|
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | pp512 | 204.03 ± 1.03 | 100% |
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | pp1024 | 282.92 ± 0.19 | 100% |
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | pp2048 | 259.49 ± 0.44 | 100% |
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | tg128 | 39.12 ± 0.27 | 100% |
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | tg256 | 39.31 ± 0.69 | 100% |
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | tg512 | 40.52 ± 0.03 | 100% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | pp512 | 301.02 ± 1.74 | 147% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | pp1024 | 287.23 ± 0.20 | 101% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | pp2048 | 262.77 ± 1.81 | 101% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | tg128 | 18.80 ± 0.99 | 48% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | tg256 | 24.46 ± 3.04 | 83% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | tg512 | 36.32 ± 3.59 | 90% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | pp512 | 271.71 ± 3.53 | 133% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | pp1024 | 279.86 ± 45.63 | 100% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | pp2048 | 320.77 ± 5.00 | 124% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | tg128 | 43.51 ± 0.05 | 111% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | tg256 | 43.35 ± 0.09 | 110% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | tg512 | 42.60 ± 0.31 | 105% |
Q4_0_8_8は、プロンプト処理で大幅な向上が見られ、テキスト生成では小幅な向上が見られます。
📄 ライセンス
本プロジェクトはMITライセンスを採用しており、詳細は [https://huggingface.co/microsoft/Phi - 4 - mini - instruct - reasoning/resolve/main/LICENSE](https://huggingface.co/microsoft/Phi - 4 - mini - instruct - reasoning/resolve/main/LICENSE) を参照してください。
謝辞
- kalomazeとDampfがimatrixキャリブレーションデータセットの作成を支援してくれたことに感謝します。
- ZeroWwが埋め込み/出力実験のインスピレーションを提供してくれたことに感謝します。
- LM Studioが私の仕事を支援してくれたことに感謝します。
私の仕事を支援したい場合は、私のko - fiページにアクセスしてください:[https://ko - fi.com/bartowski](https://ko - fi.com/bartowski)



