モデル概要
モデル特徴
モデル能力
使用事例
🚀 Arcee-aiのVirtuoso-Small-v2のLlamacpp imatrix量子化バージョン
本プロジェクトでは、llama.cpp
を用いてarcee-ai/Virtuoso-Small-v2
モデルを量子化したバージョンを提供しています。特定の量子化方法により、異なるタイプとサイズの量子化モデルファイルを生成し、様々なハードウェアと性能要件を満たすことができます。
🚀 クイックスタート
これらの量子化モデルは、以下の2つの方法で実行できます。
✨ 主な機能
- 多様な量子化タイプ:
f32
、f16
、Q8_0
、Q6_K_L
など、豊富な量子化タイプを提供し、さまざまな品質と性能要件を満たします。 - オンライン再パッケージ化:一部の量子化モデルはオンライン再パッケージ化に対応しており、ARMおよびAVXマシンで自動的に性能を最適化できます。
- 明確なプロンプト形式:モデルのプロンプト形式が明確に定義されており、使用が容易です。
📦 インストール
huggingface-cliのインストール
まず、huggingface-cli
がインストールされていることを確認してください。
pip install -U "huggingface_hub[cli]"
特定のファイルのダウンロード
ダウンロードする特定のファイルを指定できます。
huggingface-cli download bartowski/arcee-ai_Virtuoso-Small-v2-GGUF --include "arcee-ai_Virtuoso-Small-v2-Q4_K_M.gguf" --local-dir ./
分割ファイルのダウンロード
モデルが50GBを超える場合、複数のファイルに分割されます。これらをすべてローカルフォルダにダウンロードするには、次のコマンドを実行します。
huggingface-cli download bartowski/arcee-ai_Virtuoso-Small-v2-GGUF --include "arcee-ai_Virtuoso-Small-v2-Q8_0/*" --local-dir ./
新しいローカルディレクトリ(例:arcee-ai_Virtuoso-Small-v2-Q8_0
)を指定することも、現在のディレクトリ(./
)にすべてダウンロードすることもできます。
💻 使用例
基本的な使用法
<|im_start|>system
{system_prompt}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant
📚 ドキュメント
ダウンロードファイルの選択
ファイル名 | 量子化タイプ | ファイルサイズ | 分割状況 | 説明 |
---|---|---|---|---|
Virtuoso-Small-v2-f32.gguf | f32 | 59.07GB | true | 完全なF32重み。 |
Virtuoso-Small-v2-f16.gguf | f16 | 29.54GB | false | 完全なF16重み。 |
Virtuoso-Small-v2-Q8_0.gguf | Q8_0 | 15.70GB | false | 極めて高い品質。通常は必要ありませんが、最大限の量子化が可能です。 |
Virtuoso-Small-v2-Q6_K_L.gguf | Q6_K_L | 12.50GB | false | 埋め込みと出力重みにQ8_0を使用。非常に高い品質で、ほぼ完璧です。推奨。 |
Virtuoso-Small-v2-Q6_K.gguf | Q6_K | 12.12GB | false | 非常に高い品質で、ほぼ完璧です。推奨。 |
Virtuoso-Small-v2-Q5_K_L.gguf | Q5_K_L | 10.99GB | false | 埋め込みと出力重みにQ8_0を使用。高品質です。推奨。 |
Virtuoso-Small-v2-Q5_K_M.gguf | Q5_K_M | 10.51GB | false | 高品質です。推奨。 |
Virtuoso-Small-v2-Q5_K_S.gguf | Q5_K_S | 10.26GB | false | 高品質です。推奨。 |
Virtuoso-Small-v2-Q4_K_L.gguf | Q4_K_L | 9.56GB | false | 埋め込みと出力重みにQ8_0を使用。良好な品質です。推奨。 |
Virtuoso-Small-v2-Q4_1.gguf | Q4_1 | 9.39GB | false | 旧形式。Q4_K_Sと同様の性能ですが、Appleシリコンチップでは1ワットあたりのトークン処理性能が向上しています。 |
Virtuoso-Small-v2-Q4_K_M.gguf | Q4_K_M | 8.99GB | false | 良好な品質で、ほとんどのユースケースでのデフォルトサイズです。推奨。 |
Virtuoso-Small-v2-Q3_K_XL.gguf | Q3_K_XL | 8.60GB | false | 埋め込みと出力重みにQ8_0を使用。品質は低いですが使用可能で、低メモリ環境に適しています。 |
Virtuoso-Small-v2-Q4_K_S.gguf | Q4_K_S | 8.57GB | false | 品質はやや低いですが、より多くのスペースを節約できます。推奨。 |
Virtuoso-Small-v2-IQ4_NL.gguf | IQ4_NL | 8.55GB | false | IQ4_XSに似ていますが、少し大きいです。ARM CPU推論用のオンライン再パッケージ化を提供します。 |
Virtuoso-Small-v2-Q4_0.gguf | Q4_0 | 8.54GB | false | 旧形式。ARMおよびAVX CPU推論用のオンライン再パッケージ化を提供します。 |
Virtuoso-Small-v2-IQ4_XS.gguf | IQ4_XS | 8.12GB | false | 品質は良好で、Q4_K_Sより小さく、性能は似ています。推奨。 |
Virtuoso-Small-v2-Q3_K_L.gguf | Q3_K_L | 7.92GB | false | 品質は低いですが使用可能で、低メモリ環境に適しています。 |
Virtuoso-Small-v2-Q3_K_M.gguf | Q3_K_M | 7.34GB | false | 低品質です。 |
Virtuoso-Small-v2-IQ3_M.gguf | IQ3_M | 6.91GB | false | 中低品質で、新しい方法で、Q3_K_Mと同等の性能です。 |
Virtuoso-Small-v2-Q3_K_S.gguf | Q3_K_S | 6.66GB | false | 低品質で、推奨しません。 |
Virtuoso-Small-v2-Q2_K_L.gguf | Q2_K_L | 6.53GB | false | 埋め込みと出力重みにQ8_0を使用。非常に低い品質ですが、意外と使用可能です。 |
Virtuoso-Small-v2-IQ3_XS.gguf | IQ3_XS | 6.38GB | false | 品質は低いですが、新しい方法で、性能は良好で、Q3_K_Sより少し優れています。 |
Virtuoso-Small-v2-Q2_K.gguf | Q2_K | 5.77GB | false | 非常に低い品質ですが、意外と使用可能です。 |
Virtuoso-Small-v2-IQ2_M.gguf | IQ2_M | 5.35GB | false | 比較的低い品質ですが、最先端の技術を使用しており、意外と使用可能です。 |
Virtuoso-Small-v2-IQ2_S.gguf | IQ2_S | 5.00GB | 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のビデオメモリに入れる必要があります。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およびApple Metalでも使用できますが、対応するK - 量子化バージョンよりも遅いため、速度と性能のトレードオフを行う必要があります。
I - 量子化バージョンはVulcanと互換性がありません。VulcanもAMDのものです。したがって、AMDグラフィックカードを持っている場合は、使用しているのがrocBLASバージョンかVulcanバージョンかを注意深く確認してください。この記事を書いている時点で、LM StudioにはROCmをサポートするプレビュー版があり、他の推論エンジンにもROCm用の特定のバージョンがあります。
🔧 技術詳細
量子化方法
量子化には、llama.cppのリリースバージョン b4585 を使用しています。すべての量子化バージョンはimatrixオプションを使用し、ここ のデータセットを使用しています。
オンライン再パッケージ化
Q4_0量子化バージョンでは、ARMおよびAVXマシンでの性能を向上させるために、オンラインで重みを再パッケージ化することができます。詳細は このPR を参照してください。
性能比較
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は、プロンプト処理において良好な向上が見られ、テキスト生成においてもわずかな向上が見られます。
📄 ライセンス
本プロジェクトは、Apache 2.0ライセンスを採用しています。
謝辞
kalomazeとDampfがimatrixキャリブレーションデータセットの作成を支援してくれたことに感謝します。
ZeroWwが埋め込み/出力実験のインスピレーションを提供してくれたことに感謝します。
LM Studioが私の仕事を支援してくれたことに感謝します。
私の仕事を支援したい場合は、私のko - fiページにアクセスしてください:https://ko-fi.com/bartowski



