🚀 Virtuoso-LiteのLlamacpp imatrix量子化バージョン
このプロジェクトは、llama.cpp
を使用してVirtuoso-Liteモデルを量子化したバージョンを提供しています。目的は、様々なハードウェアでのモデルの実行効率を向上させることです。
🚀 クイックスタート
実行環境
プロンプト形式
<|system|>
{system_prompt}
<|user|>
{prompt}
<|assistant|>
✨ 主な機能
- 多様な量子化タイプ:
f32
、Q8_0
、Q6_K_L
など、豊富な量子化タイプを提供し、様々なシナリオでのモデル品質とパフォーマンスの要件を満たします。
- オンライン再パッケージング:一部の量子化タイプはオンライン再パッケージングをサポートしており、ハードウェアの状況に応じて自動的に重みを最適化し、パフォーマンスを向上させます。
- 柔軟な選択:ユーザーは自身のハードウェアリソース(RAM、VRAMなど)とパフォーマンス要件に基づいて、適切な量子化ファイルを選択できます。
📦 インストール
huggingface-cliを使用したダウンロード
まず、huggingface-cli
がインストールされていることを確認してください。
pip install -U "huggingface_hub[cli]"
次に、ダウンロードする特定のファイルを指定できます。
huggingface-cli download bartowski/Virtuoso-Lite-GGUF --include "Virtuoso-Lite-Q4_K_M.gguf" --local-dir ./
モデルファイルが50GBを超える場合、複数のファイルに分割されます。これらをすべてローカルフォルダにダウンロードするには、以下のコマンドを実行します。
huggingface-cli download bartowski/Virtuoso-Lite-GGUF --include "Virtuoso-Lite-Q8_0/*" --local-dir ./
新しいローカルディレクトリ(例:Virtuoso-Lite-Q8_0
)を指定することも、現在のディレクトリ(./
)にすべてダウンロードすることもできます。
💻 使用例
基本的な使用法
LM Studio
で対応する量子化ファイルを選択すると、モデルを使用できます。
高度な使用法
huggingface-cli
を使用して特定の量子化ファイルをダウンロードする場合は、上記のインストールガイドのコマンドを参考にしてください。
📚 ドキュメント
量子化ファイルのダウンロード
埋め込み/出力重み
一部の量子化バージョン(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です。
詳細を知りたい場合は、この非常に有用な機能グラフを参照してください。
llama.cpp機能マトリックス
基本的に、Q4より低い量子化を目標とし、cuBLAS(Nvidia)またはrocBLAS(AMD)を使用する場合は、I量子化バージョンを検討してください。これらのバージョンはIQX_Xの形式です。例えば、IQ3_Mです。これらは新しいバージョンであり、同じサイズでより良いパフォーマンスを提供します。
これらのI量子化バージョンは、CPUおよびApple Metalでも使用できますが、対応するK量子化バージョンよりも遅くなります。したがって、速度とパフォーマンスのトレードオフを考慮する必要があります。
I量子化バージョンはVulcan(AMDのもの)と互換性がありません。したがって、AMDグラフィックカードを持っている場合は、rocBLASバージョンまたはVulcanバージョンを使用しているかどうかを確認してください。この記事の執筆時点で、LM StudioにはROCmをサポートするプレビューバージョンがあり、他の推論エンジンにもROCm用の特定のバージョンがあります。
🔧 技術詳細
量子化方法
llama.cppのb4585バージョンを使用して量子化を行います。すべての量子化バージョンはimatrixオプションを使用し、ここのデータセットを採用しています。
オンライン再パッケージング
オンライン再パッケージングをサポートする量子化バージョンの場合、モデルはハードウェアの状況に応じて自動的に重みを最適化し、パフォーマンスを向上させます。具体的な詳細はこのPRを参照してください。
📄 ライセンス
このプロジェクトは他のライセンスを採用しています。詳細は関連ファイルを参照してください。
謝辞
imatrixキャリブレーションデータセットの作成に協力してくれたkalomazeとDampfに感謝します。
埋め込み/出力実験にインスピレーションを与えてくれたZeroWwに感謝します。
このプロジェクトを支援してくれたLM Studioに感謝します。
もし私の仕事をサポートしたい場合は、私のko-fiページにアクセスしてください:https://ko-fi.com/bartowski