モデル概要
モデル特徴
モデル能力
使用事例
🚀 TheDrummerのAnubis-70B-v1.1のLlamacpp imatrix量子化バージョン
本プロジェクトは、TheDrummerのAnubis-70B-v1.1モデルを量子化したバージョンです。llama.cpp の b5753 バージョンを使用して量子化を行っています。このプロジェクトの目的は、さまざまなハードウェア条件や使用シーンのニーズに合わせた、異なる量子化レベルのモデルファイルを提供することです。
🚀 クイックスタート
実行方法
プロンプト形式
<|begin_of_text|><|start_header_id|>system<|end_header_id|>
Cutting Knowledge Date: December 2023
Today Date: 26 Jul 2024
{system_prompt}<|eot_id|><|start_header_id|>user<|end_header_id|>
{prompt}<|eot_id|><|start_header_id|>assistant<|end_header_id|>
✨ 主な機能
- 複数の量子化タイプ:Q8_0、Q6_K、Q5_K_Mなど、さまざまな量子化タイプを提供しており、異なるハードウェアリソースとパフォーマンス要件に対応しています。
- オンライン再パッケージ化:一部の量子化タイプでは、オンライン再パッケージ化がサポートされており、ARMとAVXマシンのパフォーマンスを自動的に最適化することができます。
- 特定の重み処理:一部の量子化モデル(Q3_K_XL、Q4_K_Lなど)では、埋め込みと出力の重みをQ8_0に量子化することで、品質を向上させています。
📦 インストール
huggingface-cliを使用したダウンロード
ダウンロード説明を表示するにはクリック
まず、huggingface-cliがインストールされていることを確認してください:
pip install -U "huggingface_hub[cli]"
次に、ダウンロードする特定のファイルを指定することができます:
huggingface-cli download bartowski/TheDrummer_Anubis-70B-v1.1-GGUF --include "TheDrummer_Anubis-70B-v1.1-Q4_K_M.gguf" --local-dir ./
モデルファイルが50GBを超える場合、複数のファイルに分割されます。これらをすべてローカルフォルダにダウンロードするには、以下のコマンドを実行してください:
huggingface-cli download bartowski/TheDrummer_Anubis-70B-v1.1-GGUF --include "TheDrummer_Anubis-70B-v1.1-Q8_0/*" --local-dir ./
新しいローカルディレクトリ(TheDrummer_Anubis-70B-v1.1-Q8_0など)を指定することも、現在のディレクトリ(./)にすべてダウンロードすることもできます。
📚 ドキュメント
モデルファイルのダウンロード
ファイル名 | 量子化タイプ | ファイルサイズ | 分割状況 | 説明 |
---|---|---|---|---|
Anubis-70B-v1.1-Q8_0.gguf | Q8_0 | 74.98GB | true | 極めて高い品質で、通常は必要ありませんが、最大の利用可能な量子化レベルです。 |
Anubis-70B-v1.1-Q6_K.gguf | Q6_K | 57.89GB | true | 非常に高い品質で、ほぼ完璧です。推奨 |
Anubis-70B-v1.1-Q5_K_M.gguf | Q5_K_M | 49.95GB | true | 高品質です。推奨 |
Anubis-70B-v1.1-Q5_K_S.gguf | Q5_K_S | 48.66GB | false | 高品質です。推奨 |
Anubis-70B-v1.1-Q4_1.gguf | Q4_1 | 44.31GB | false | 旧形式で、Q4_K_Sと同様のパフォーマンスを持ち、Appleシリコンチップでの毎ワット当たりのトークン数が向上しています。 |
Anubis-70B-v1.1-Q4_K_L.gguf | Q4_K_L | 43.30GB | false | 埋め込みと出力の重みにQ8_0を使用しています。品質が良好です。推奨 |
Anubis-70B-v1.1-Q4_K_M.gguf | Q4_K_M | 42.52GB | false | 品質が良好で、ほとんどのユースケースでのデフォルトサイズです。推奨 |
Anubis-70B-v1.1-Q4_K_S.gguf | Q4_K_S | 40.35GB | false | 品質がやや低いですが、より多くのスペースを節約できます。推奨 |
Anubis-70B-v1.1-Q4_0.gguf | Q4_0 | 40.12GB | false | 旧形式で、ARMとAVX CPUの推論に対してオンライン再パッケージ化を提供します。 |
Anubis-70B-v1.1-IQ4_NL.gguf | IQ4_NL | 40.05GB | false | IQ4_XSに似ていますが、少し大きいです。ARM CPUの推論に対してオンライン再パッケージ化を提供します。 |
Anubis-70B-v1.1-Q3_K_XL.gguf | Q3_K_XL | 38.06GB | false | 埋め込みと出力の重みにQ8_0を使用しています。品質が低いですが、使用可能で、低メモリの状況に適しています。 |
Anubis-70B-v1.1-IQ4_XS.gguf | IQ4_XS | 37.90GB | false | 品質が良好で、Q4_K_Sより小さく、パフォーマンスは似ています。推奨 |
Anubis-70B-v1.1-Q3_K_L.gguf | Q3_K_L | 37.14GB | false | 品質が低いですが、使用可能で、低メモリの状況に適しています。 |
Anubis-70B-v1.1-Q3_K_M.gguf | Q3_K_M | 34.27GB | false | 低品質です。 |
Anubis-70B-v1.1-IQ3_M.gguf | IQ3_M | 31.94GB | false | 中低品質で、新しい方法で、Q3_K_Mと同等のパフォーマンスを持っています。 |
Anubis-70B-v1.1-Q3_K_S.gguf | Q3_K_S | 30.91GB | false | 低品質で、推奨されません。 |
Anubis-70B-v1.1-IQ3_XS.gguf | IQ3_XS | 29.31GB | false | 品質が低いですが、新しい方法で、パフォーマンスは良好で、Q3_K_Sより少し優れています。 |
Anubis-70B-v1.1-IQ3_XXS.gguf | IQ3_XXS | 27.47GB | false | 品質が低いですが、新しい方法で、パフォーマンスは良好で、Q3量子化と同等です。 |
Anubis-70B-v1.1-Q2_K_L.gguf | Q2_K_L | 27.40GB | false | 埋め込みと出力の重みにQ8_0を使用しています。品質が非常に低いですが、意外にも使用可能です。 |
Anubis-70B-v1.1-Q2_K.gguf | Q2_K | 26.38GB | false | 品質が非常に低いですが、意外にも使用可能です。 |
Anubis-70B-v1.1-IQ2_M.gguf | IQ2_M | 24.12GB | false | 品質が比較的低いですが、最先端の技術を使用しており、意外にも使用可能です。 |
Anubis-70B-v1.1-IQ2_S.gguf | IQ2_S | 22.24GB | false | 低品質ですが、最先端の技術を使用しており、使用可能です。 |
Anubis-70B-v1.1-IQ2_XS.gguf | IQ2_XS | 21.14GB | false | 低品質ですが、最先端の技術を使用しており、使用可能です。 |
Anubis-70B-v1.1-IQ2_XXS.gguf | IQ2_XXS | 19.10GB | false | 品質が非常に低いですが、最先端の技術を使用しており、使用可能です。 |
Anubis-70B-v1.1-IQ1_M.gguf | IQ1_M | 16.75GB | 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にのみ適用されます。ロード時間は長くなる可能性がありますが、全体的な速度は向上します。
(非推奨)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は、プロンプト処理において良好な向上が見られ、テキスト生成においても小幅な向上が見られます。
ファイルの選択方法
詳細を表示するにはクリック
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量子化モデルよりも遅いため、速度とパフォーマンスの間でトレードオフを行う必要があります。
謝辞
kalomazeとDampfがimatrixキャリブレーションデータセットの作成を支援してくれたことに感謝します。
ZeroWwが埋め込み/出力実験のアイデアを提供してくれたことに感謝します。
LM Studioがこのプロジェクトを支援してくれたことに感謝します。
作者の活動を支援したい場合は、作者のko-fiページにアクセスしてください:https://ko-fi.com/bartowski



