モデル概要
モデル特徴
モデル能力
使用事例
🚀 マイクロソフトPhi - 4 - reasoning - plusのLlamacpp imatrix量子化モデル
このプロジェクトは、マイクロソフトPhi - 4 - reasoning - plusモデルの量子化バージョンを提供しています。これにより、大規模モデルがリソースに制限のあるデバイスでも実行可能となり、ユーザーは様々なハードウェア環境でこのモデルを用いたテキスト生成タスクを効率的に行うことができます。
🚀 クイックスタート
このプロジェクトでは、llama.cpp の b5228 バージョンを使用して量子化を行っています。オリジナルモデルは こちら から入手できます。
これらの量子化モデルは LM Studio で実行することも、llama.cpp やllama.cppベースのプロジェクトを直接使用して実行することもできます。
✨ 主な機能
- 多様な量子化タイプ:bf16、Q8_0、Q6_K_Lなど、豊富な量子化タイプを提供しており、さまざまな性能と品質の要求を満たすことができます。
- 最適化された埋め込み/出力重み:一部の量子化モデル(Q3_K_XL、Q4_K_Lなど)では、埋め込みと出力の重みをQ8_0に量子化することで、モデルの性能を向上させています。
- オンライン再パッキング機能:Q4_0のオンライン再パッキングをサポートしており、ハードウェアの状況に応じて自動的に重みを最適化し、ARMおよびAVXマシンの性能を向上させます。
📦 インストール
huggingface - cliを使用したダウンロード
まず、huggingface - cliがインストールされていることを確認してください。
pip install -U "huggingface_hub[cli]"
次に、ダウンロードする特定のファイルを指定することができます。
huggingface-cli download bartowski/microsoft_Phi-4-reasoning-plus-GGUF --include "microsoft_Phi-4-reasoning-plus-Q4_K_M.gguf" --local-dir ./
モデルのサイズが50GBを超える場合、複数のファイルに分割されます。これらをすべてローカルフォルダにダウンロードするには、以下のコマンドを実行します。
huggingface-cli download bartowski/microsoft_Phi-4-reasoning-plus-GGUF --include "microsoft_Phi-4-reasoning-plus-Q8_0/*" --local-dir ./
新しいローカルディレクトリ(microsoft_Phi - 4 - reasoning - plus - Q8_0など)を指定することも、現在のディレクトリ(./)にすべてダウンロードすることもできます。
📚 ドキュメント
プロンプトフォーマット
<|im_start|>system<|im_sep|>You are Phi, a language model trained by Microsoft to help users. Your role as an assistant involves thoroughly exploring questions through a systematic thinking process before providing the final precise and accurate solutions. This requires engaging in a comprehensive cycle of analysis, summarizing, exploration, reassessment, reflection, backtracing, and iteration to develop well-considered thinking process. Please structure your response into two main sections: Thought and Solution using the specified format:<think>{Thought section}</think>{Solution section}. In the Thought section, detail your reasoning process in steps. Each step should include detailed considerations such as analysing questions, summarizing relevant findings, brainstorming new ideas, verifying the accuracy of the current steps, refining any errors, and revisiting previous steps. In the Solution section, based on various attempts, explorations, and reflections from the Thought section, systematically present the final solution that you deem correct. The Solution section should be logical, accurate, and concise and detail necessary steps needed to reach the conclusion. Now, try to solve the following question through the above guidelines:<|im_end|>{system_prompt}<|end|><|user|>{prompt}<|end|><|assistant|>
ダウンロードファイルの選択
ファイル名 | 量子化タイプ | ファイルサイズ | 分割状況 | 説明 |
---|---|---|---|---|
Phi - 4 - reasoning - plus - bf16.gguf | bf16 | 29.32GB | false | 完全なBF16重み。 |
Phi - 4 - reasoning - plus - Q8_0.gguf | Q8_0 | 15.58GB | false | 非常に高品質で、通常は必要ありませんが、最大限の利用可能な量子化。 |
Phi - 4 - reasoning - plus - Q6_K_L.gguf | Q6_K_L | 12.28GB | false | 埋め込みと出力の重みにQ8_0を使用。非常に高品質で、ほぼ完璧で、推奨。 |
Phi - 4 - reasoning - plus - Q6_K.gguf | Q6_K | 12.03GB | false | 非常に高品質で、ほぼ完璧で、推奨。 |
Phi - 4 - reasoning - plus - Q5_K_L.gguf | Q5_K_L | 10.92GB | false | 埋め込みと出力の重みにQ8_0を使用。高品質で、推奨。 |
Phi - 4 - reasoning - plus - Q5_K_M.gguf | Q5_K_M | 10.60GB | false | 高品質で、推奨。 |
Phi - 4 - reasoning - plus - Q5_K_S.gguf | Q5_K_S | 10.15GB | false | 高品質で、推奨。 |
Phi - 4 - reasoning - plus - Q4_K_L.gguf | Q4_K_L | 9.43GB | false | 埋め込みと出力の重みにQ8_0を使用。良好な品質で、推奨。 |
Phi - 4 - reasoning - plus - Q4_1.gguf | Q4_1 | 9.27GB | false | 旧形式。Q4_K_Sと同様の性能ですが、Apple Siliconでは1ワットあたりのトークン数が向上しています。 |
Phi - 4 - reasoning - plus - Q4_K_M.gguf | Q4_K_M | 9.05GB | false | 良好な品質で、ほとんどのユースケースでのデフォルトサイズ、推奨。 |
Phi - 4 - reasoning - plus - Q4_K_S.gguf | Q4_K_S | 8.44GB | false | 品質がやや低いですが、より多くのスペースを節約できます、推奨。 |
Phi - 4 - reasoning - plus - Q4_0.gguf | Q4_0 | 8.41GB | false | 旧形式。ARMおよびAVX CPUの推論用にオンラインで再パックします。 |
Phi - 4 - reasoning - plus - IQ4_NL.gguf | IQ4_NL | 8.38GB | false | IQ4_XSに似ていますが、少し大きいです。ARM CPUの推論用にオンラインで再パックします。 |
Phi - 4 - reasoning - plus - Q3_K_XL.gguf | Q3_K_XL | 8.38GB | false | 埋め込みと出力の重みにQ8_0を使用。品質は低いですが使用可能で、低メモリの場合は適しています。 |
Phi - 4 - reasoning - plus - IQ4_XS.gguf | IQ4_XS | 7.94GB | false | 品質は許容範囲内で、Q4_K_Sより小さく、性能は似ています、推奨。 |
Phi - 4 - reasoning - plus - Q3_K_L.gguf | Q3_K_L | 7.93GB | false | 品質は低いですが使用可能で、低メモリの場合は適しています。 |
Phi - 4 - reasoning - plus - Q3_K_M.gguf | Q3_K_M | 7.36GB | false | 低品質。 |
Phi - 4 - reasoning - plus - IQ3_M.gguf | IQ3_M | 6.91GB | false | 中程度の低品質で、新しい方法で、Q3_K_Mと同等の性能。 |
Phi - 4 - reasoning - plus - Q3_K_S.gguf | Q3_K_S | 6.50GB | false | 低品質、非推奨。 |
Phi - 4 - reasoning - plus - IQ3_XS.gguf | IQ3_XS | 6.25GB | false | 品質は低いですが、新しい方法で、性能は許容範囲内で、Q3量子化と同等。 |
Phi - 4 - reasoning - plus - Q2_K_L.gguf | Q2_K_L | 6.05GB | false | 埋め込みと出力の重みにQ8_0を使用。品質は非常に低いですが、意外と使用可能です。 |
Phi - 4 - reasoning - plus - IQ3_XXS.gguf | IQ3_XXS | 5.85GB | false | 品質は低いですが、新しい方法で、性能は許容範囲内で、Q3量子化と同等。 |
Phi - 4 - reasoning - plus - Q2_K.gguf | Q2_K | 5.55GB | false | 品質は非常に低いですが、意外と使用可能です。 |
Phi - 4 - reasoning - plus - IQ2_M.gguf | IQ2_M | 5.11GB | false | 品質は比較的低いですが、最先端の技術を使用しており、意外と使用可能です。 |
Phi - 4 - reasoning - plus - IQ2_S.gguf | IQ2_S | 4.73GB | 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を使用する必要があります。
また、少し良い品質を得たい場合は、IQ4_NLを使用することができます。 このPR のおかげで、これもARM用に重みを再パッキングしますが、現在は4_4にのみ対応しています。ロード時間が長くなる可能性がありますが、全体的な速度が向上します。
どのファイルを選ぶべきか?
詳細を表示するにはクリック
Artefact2は こちら で、さまざまな性能を示すグラフ付きの素晴らしい記事を提供しています。
まず、実行できるモデルのサイズを決定する必要があります。このためには、利用可能なRAMと/またはVRAMの量を把握する必要があります。
モデルをできるだけ高速に実行したい場合は、モデル全体をGPUのVRAMに格納する必要があります。目標は、GPUの総VRAMよりも1 - 2GB小さいファイルサイズの量子化モデルを選択することです。
絶対的な最高品質を追求する場合は、システムRAMとGPUのVRAMを合計し、その合計よりも1 - 2GB小さいファイルサイズの量子化モデルを選択します。
次に、「I - 量子化」または「K - 量子化」のどちらを使用するかを決定する必要があります。
あまり考えたくない場合は、K - 量子化モデルを選択してください。これらのモデルは「QX_K_X」の形式で、Q5_K_Mなどがあります。
詳細を知りたい場合は、非常に便利な機能グラフを参照してください。
基本的に、Q4未満を目標とし、cuBLAS(Nvidia)またはrocBLAS(AMD)を使用している場合は、I - 量子化モデルを検討する必要があります。これらのモデルはIQX_Xの形式で、IQ3_Mなどがあります。これらは比較的新しいモデルで、同じサイズでより良い性能を提供します。
これらのI - 量子化モデルはCPUでも使用できますが、同等のK - 量子化モデルよりも遅いため、速度と性能の間でトレードオフを行う必要があります。
🔧 技術詳細
ARM/AVX性能最適化
以前は、ARMおよびAVXマシンの性能を向上させるために、Q4_0_4_4/4_8/8_8ファイルをダウンロードし、その重みはメモリ内で交差配置されていました。これにより、一度により多くのデータをロードすることができました。現在では、「オンライン再パッキング」機能があり、Q4_0を使用する場合、ハードウェアが重みの再パッキングに適している場合は、自動的にリアルタイムで再パッキングが行われます。llama.cppのビルド b4282 以降は、Q4_0_X_Xファイルを実行することはできず、Q4_0を使用する必要があります。また、IQ4_NLは このPR を通じてARM用に重みを再パッキングすることができます。ロード時間が長くなる可能性がありますが、全体的な速度が向上します。
量子化タイプの選択基準
モデルの量子化タイプを選択する際には、まず実行可能なモデルのサイズを考慮する必要があります。これは、利用可能なRAMと/またはVRAMの容量に依存します。最速の速度を追求する場合は、GPUの総VRAMよりも1 - 2GB小さいファイルサイズの量子化モデルを選択する必要があります。最高品質を追求する場合は、システムRAMとGPUのVRAMを合計し、その合計よりも1 - 2GB小さいファイルサイズの量子化モデルを選択します。「I - 量子化」または「K - 量子化」を選択する際に、詳細を考慮したくない場合は、K - 量子化(「QX_K_X」の形式)を選択することができます。cuBLAS(Nvidia)またはrocBLAS(AMD)を使用し、Q4未満を目標としている場合は、I - 量子化(IQX_Xの形式)を検討することができます。これらは比較的新しいモデルで、同じサイズでより良い性能を提供しますが、CPUではK - 量子化よりも遅いため、速度と性能の間でトレードオフを行う必要があります。
📄 ライセンス
このプロジェクトはMITライセンスの下で提供されています。詳細は ライセンスリンク を参照してください。
謝辞
kalomazeとDampfがimatrixキャリブレーションデータセットの作成を支援してくれたことに感謝します。 ZeroWwが埋め込み/出力の実験を啓発してくれたことに感謝します。 LM Studioがこのプロジェクトの作業を支援してくれたことに感謝します。
もし私の作業を支援したい場合は、私のko - fiページを訪問してください:https://ko-fi.com/bartowski



