ドラマなしで HuggingFace モデルをダウンロードして変換するためのツール。
NVIDIA/CUDA GPU を搭載したマシンを使用していて、AWQ/GPTQ のサポートが必要な場合:
pip3 install llm-quantkit[cuda]
それ以外の場合は、デフォルトのインストールが機能します。
pip3 install llm-quantkit
デバイス固有のトーチが必要な場合は、最初にそれをインストールします。
このプロジェクトは、torch、awq、exl2、gptq、および hqq ライブラリに依存しています。
これらの依存関係の一部は、まだ Python 3.12 をサポートしていません。
サポートされている Python: 3.8、3.9、3.10、および 3.11
Usage: quantkit [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
download Download model from huggingface.
safetensor Download and/or convert a pytorch model to safetensor format.
awq Download and/or convert a model to AWQ format.
exl2 Download and/or convert a model to EXL2 format.
gguf Download and/or convert a model to GGUF format.
gptq Download and/or convert a model to GPTQ format.
hqq Download and/or convert a model to HQQ format.
コマンドの後の最初の引数は、HF リポジトリ ID (mistralai/Mistral-7B-v0.1)、またはモデル ファイルがすでに含まれているローカル ディレクトリである必要があります。
ダウンロード コマンドのデフォルトでは、HF キャッシュにダウンロードし、出力ディレクトリにシンボリックリンクを作成しますが、モデル ファイルを出力ディレクトリに配置する --no-cache オプションがあります。
AWQ のデフォルトは 4 ビット、グループ サイズ 128、ゼロ点 True です。
GPTQ のデフォルトは 4 ビット、グループ サイズ 128、アクティベーション順序 False です。
EXL2 のデフォルトは 8 ヘッド ビットですが、デフォルトのビットレートはありません。
GGUF のデフォルトは imatrix ではありませんが、デフォルトの quant-type はありません。
HQQ のデフォルトは 4 ビット、グループ サイズ 64、zero_point=True です。
HF からモデルをダウンロードし、HF キャッシュを使用しません。
quantkit download teknium/Hermes-Trismegistus-Mistral-7B --no-cache
モデルのセーフテンサー バージョンのみをダウンロードします (トーチとセーフテンサーを持つモデルに役立ちます)。
quantkit download mistralai/Mistral-7B-v0.1 --no-cache --safetensors-only -out mistral7b
ハグフェイス リポジトリの特定のリビジョンからダウンロードします。
uantkit download turboderp/TinyLlama-1B-32k-exl2 --branch 6.0bpw --no-cache -out TinyLlama-1B-32k-exl2-b6
モデルをダウンロードしてセーフテンソルに変換し、元の pytorch ビンを削除します。
quantkit safetensor migtissera/Tess-10.7B-v1.5b --delete-original
モデルをダウンロードして GGUF に変換します (Q5_K):
quantkit gguf TinyLlama/TinyLlama-1.1B-Chat-v1.0 -out TinyLlama-1.1B-Q5_K.gguf Q5_K
imatrix を使用してモデルをダウンロードして GGUF に変換し、200 層をオフロードします。
quantkit gguf TinyLlama/TinyLlama-1.1B-Chat-v1.0 -out TinyLlama-1.1B-IQ4_XS.gguf IQ4_XS --built-in-imatrix -ngl 200
モデルをダウンロードして AWQ に変換します。
quantkit awq mistralai/Mistral-7B-v0.1 -out Mistral-7B-v0.1-AWQ
モデルを GPTQ (4 ビット / グループサイズ 32) に変換します。
quantkit gptq mistral7b -out Mistral-7B-v0.1-GPTQ -b 4 --group-size 32
モデルを exllamav2 に変換します。
quantkit exl2 mistralai/Mistral-7B-v0.1 -out Mistral-7B-v0.1-exl2-b8-h8 -b 8 -hb 8
モデルを HQQ に変換します。
quantkit hqq mistralai/Mistral-7B-v0.1 -out Mistral-7B-HQQ-w4-gs64
テストでうまくいったことは次のとおりです。さまざまなサイズのカードで何ができるかについての PR またはアップデートに関する問題を投稿してください。
GGUF 変換には、iMatrix を除き GPU は必要ありません。Exllamav2 では、最大のレイヤーが単一の GPU に収まる必要があります。
モデルサイズ | クオント | VRAM | 成功 |
---|---|---|---|
7B | AWQ | 24GB | ✅ |
7B | EXL2 | 24GB | ✅ |
7B | GGUF | 24GB | ✅ |
7B | GPTQ | 24GB | ✅ |
7B | 本社 | 24GB | ✅ |
13B | AWQ | 24GB | ✅ |
13B | EXL2 | 24GB | ✅ |
13B | GGUF | 24GB | ✅ |
13B | GPTQ | 24GB | |
13B | 本社 | 24GB | ? |
34B | AWQ | 24GB | |
34B | EXL2 | 24GB | ✅ |
34B | GGUF | 24GB | ✅ |
34B | GPTQ | 24GB | |
34B | 本社 | 24GB | ? |
70B | AWQ | 24GB | |
70B | EXL2 | 24GB | ✅ |
70B | GGUF | 24GB | ✅ |
70B | GPTQ | 24GB | |
70B | 本社 | 24GB | ? |
まだベータ版です。 Llama.cpp のオフロードは、llama-cpp-conv をアンインストールし、適切なビルド フラグを使用して再インストールしない限り、おそらくプラットフォームでは機能しません。 llama-cpp-python のドキュメントを参照し、関連するコマンドに従います。ただし、llama-cpp-python を llama-cpp-conv に置き換えます。