🚀 BAAIによるRoboBrain2.0-7BのLlamacpp imatrix量子化
このプロジェクトは、BAAIのRoboBrain2.0-7Bモデルを量子化したものです。量子化には、llama.cppのリリースb5596を使用しています。
🚀 クイックスタート
本プロジェクトの量子化モデルは、LM Studioで直接実行することができます。また、llama.cppやその他のllama.cppベースのプロジェクトでも実行可能です。
✨ 主な機能
- 多様な量子化形式:bf16、Q8_0、Q6_K_Lなど、様々な量子化形式が用意されており、ユーザーのニーズに合わせて選択できます。
- 高速な推論:量子化により、モデルのサイズが大幅に削減され、推論速度が向上します。
- 柔軟な実行環境:LM Studioやllama.cppなど、複数の実行環境で利用できます。
📦 インストール
huggingface-cliを使用したダウンロード
まず、huggingface-cliをインストールします。
pip install -U "huggingface_hub[cli]"
特定のファイルをダウンロードするには、以下のコマンドを実行します。
huggingface-cli download bartowski/BAAI_RoboBrain2.0-7B-GGUF --include "BAAI_RoboBrain2.0-7B-Q4_K_M.gguf" --local-dir ./
モデルが50GBを超える場合、複数のファイルに分割されています。これらをすべてローカルフォルダにダウンロードするには、以下のコマンドを実行します。
huggingface-cli download bartowski/BAAI_RoboBrain2.0-7B-GGUF --include "BAAI_RoboBrain2.0-7B-Q8_0/*" --local-dir ./
💻 使用例
プロンプトフォーマット
<|im_start|>system
{system_prompt}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant
📚 ドキュメント
ダウンロードファイルの選択
詳細はここをクリック
Artefact2による様々なパフォーマンスを示すチャート付きの素晴らしい解説がこちらに提供されています。
まず、実行できるモデルのサイズを判断する必要があります。これには、利用可能なRAMおよび/またはVRAMの量を確認する必要があります。
モデルをできるだけ高速に実行したい場合は、モデル全体をGPUのVRAMに収めることが望ましいです。GPUの総VRAMよりも1 - 2GB小さいファイルサイズの量子化形式を選択しましょう。
最高の品質を求める場合は、システムRAMとGPUのVRAMを合計し、その合計よりも1 - 2GB小さいファイルサイズの量子化形式を選択します。
次に、'I-quant'または'K-quant'を使用するかを決定する必要があります。
あまり考えたくない場合は、K-quantのいずれかを選択しましょう。これらは'QX_K_X'の形式で、Q5_K_Mのようなものです。
もっと詳細に調べたい場合は、この非常に便利な機能チャートを参照できます。
llama.cpp feature matrix
基本的に、Q4以下を目指しており、cuBLAS(Nvidia)またはrocBLAS(AMD)を使用している場合は、I-quantを検討する必要があります。これらはIQX_Xの形式で、IQ3_Mのようなものです。これらは新しく、サイズに対してより良いパフォーマンスを提供します。
これらのI-quantはCPUでも使用できますが、同等のK-quantよりも遅くなります。したがって、速度とパフォーマンスのトレードオフを決定する必要があります。
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のみです。読み込み時間は長くなる可能性がありますが、全体的な速度が向上します。
Q4_0_X_Xの情報(非推奨)はここをクリック
このセクションは、オンライン再パックを使用したQ4_0による潜在的な理論上のパフォーマンス向上を示すために残しています。
AVX2システム(EPYC7702)でのベンチマークはここをクリック
モデル |
サイズ |
パラメーター |
バックエンド |
スレッド |
テスト |
t/s |
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は、プロンプト処理に大きな向上をもたらし、テキスト生成にも少しの向上をもたらします。
エンベッド/出力重み
一部の量子化形式(Q3_K_XL、Q4_K_Lなど)は、標準的な量子化方法で、エンベッディングと出力重みが通常のデフォルト値ではなくQ8_0に量子化されています。
ダウンロードファイル一覧
🔧 技術詳細
量子化には、llama.cppのリリースb5596を使用しています。すべての量子化は、ここのデータセットを使用してimatrixオプションで作成されています。
📄 ライセンス
このプロジェクトは、Apache 2.0ライセンスの下で提供されています。
クレジット
imatrixキャリブレーションデータセットの作成に協力してくれたkalomazeとDampfに感謝します。
エンベッド/出力の実験のインスピレーションを与えてくれたZeroWwに感謝します。
私の仕事を支援してくれたLM Studioに感謝します。
私の仕事をサポートしたい場合は、こちらのko-fiページを訪問してください。