Ein Tool zum unkomplizierten Herunterladen und Konvertieren von HuggingFace-Modellen.
Wenn Sie einen Computer mit einer NVIDIA/CUDA-GPU verwenden und AWQ/GPTQ-Unterstützung wünschen:
pip3 install llm-quantkit[cuda]
Andernfalls funktioniert die Standardinstallation.
pip3 install llm-quantkit
Wenn Sie eine gerätespezifische Taschenlampe benötigen, installieren Sie diese zuerst.
Dieses Projekt hängt von den Bibliotheken Torch, awq, exl2, gptq und hqq ab.
Einige dieser Abhängigkeiten unterstützen Python 3.12 noch nicht.
Unterstützte Pythons: 3.8, 3.9, 3.10 und 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.
Das erste Argument nach dem Befehl sollte eine HF-Repo-ID (mistralai/Mistral-7B-v0.1) oder ein lokales Verzeichnis sein, in dem sich bereits Modelldateien befinden.
Der Download-Befehl lädt standardmäßig in den HF-Cache herunter und erzeugt Symlinks im Ausgabeverzeichnis, es gibt jedoch eine Option --no-cache, die die Modelldateien im Ausgabeverzeichnis ablegt.
AWQ ist standardmäßig auf 4 Bit, Gruppengröße 128, Nullpunkt True eingestellt.
Die GPTQ-Standardwerte sind 4 Bit, Gruppengröße 128, Aktivierungsreihenfolge falsch.
EXL2 ist standardmäßig auf 8 Kopfbits eingestellt, es gibt jedoch keine Standardbitrate.
GGUF ist standardmäßig ohne Imatrix, aber es gibt keinen Standard-Quant-Typ.
HQQ ist standardmäßig auf 4 Bit, Gruppengröße 64, Zero_Point=True eingestellt.
Laden Sie ein Modell von HF herunter und verwenden Sie keinen HF-Cache:
quantkit download teknium/Hermes-Trismegistus-Mistral-7B --no-cache
Laden Sie nur die Safetensors-Version eines Modells herunter (nützlich für Modelle mit Taschenlampe und Safetensor):
quantkit download mistralai/Mistral-7B-v0.1 --no-cache --safetensors-only -out mistral7b
Download von einer bestimmten Revision eines Huggingface-Repos:
uantkit download turboderp/TinyLlama-1B-32k-exl2 --branch 6.0bpw --no-cache -out TinyLlama-1B-32k-exl2-b6
Laden Sie ein Modell herunter, konvertieren Sie es in Safetensor und löschen Sie dabei die ursprünglichen Pytorch-Bins:
quantkit safetensor migtissera/Tess-10.7B-v1.5b --delete-original
Laden Sie ein Modell herunter und konvertieren Sie es in GGUF (Q5_K):
quantkit gguf TinyLlama/TinyLlama-1.1B-Chat-v1.0 -out TinyLlama-1.1B-Q5_K.gguf Q5_K
Laden Sie ein Modell herunter und konvertieren Sie es mithilfe einer Imatrix in GGUF, wobei 200 Ebenen entladen werden:
quantkit gguf TinyLlama/TinyLlama-1.1B-Chat-v1.0 -out TinyLlama-1.1B-IQ4_XS.gguf IQ4_XS --built-in-imatrix -ngl 200
Laden Sie ein Modell herunter und konvertieren Sie es in AWQ:
quantkit awq mistralai/Mistral-7B-v0.1 -out Mistral-7B-v0.1-AWQ
Konvertieren Sie ein Modell in GPTQ (4 Bits / Gruppengröße 32):
quantkit gptq mistral7b -out Mistral-7B-v0.1-GPTQ -b 4 --group-size 32
Konvertieren Sie ein Modell in exllamav2:
quantkit exl2 mistralai/Mistral-7B-v0.1 -out Mistral-7B-v0.1-exl2-b8-h8 -b 8 -hb 8
Konvertieren Sie ein Modell in HQQ:
quantkit hqq mistralai/Mistral-7B-v0.1 -out Mistral-7B-HQQ-w4-gs64
Folgendes hat bei mir beim Testen funktioniert. Geben Sie eine PR oder ein Problem mit Updates ab, um zu erfahren, was auf Karten unterschiedlicher Größe möglich ist.
Für die GGUF-Konvertierung ist keine GPU erforderlich, außer für iMatrix, und Exllamav2 erfordert, dass die größte Ebene auf eine einzelne GPU passt.
Modellgröße | Quant | VRAM | Erfolgreich |
---|---|---|---|
7B | AWQ | 24 GB | ✅ |
7B | EXL2 | 24 GB | ✅ |
7B | GGUF | 24 GB | ✅ |
7B | GPTQ | 24 GB | ✅ |
7B | HQQ | 24 GB | ✅ |
13B | AWQ | 24 GB | ✅ |
13B | EXL2 | 24 GB | ✅ |
13B | GGUF | 24 GB | ✅ |
13B | GPTQ | 24 GB | |
13B | HQQ | 24 GB | ? |
34B | AWQ | 24 GB | |
34B | EXL2 | 24 GB | ✅ |
34B | GGUF | 24 GB | ✅ |
34B | GPTQ | 24 GB | |
34B | HQQ | 24 GB | ? |
70B | AWQ | 24 GB | |
70B | EXL2 | 24 GB | ✅ |
70B | GGUF | 24 GB | ✅ |
70B | GPTQ | 24 GB | |
70B | HQQ | 24 GB | ? |
Noch in der Betaphase. Das Offloaden von Llama.cpp wird auf Ihrer Plattform wahrscheinlich nicht funktionieren, es sei denn, Sie deinstallieren llama-cpp-conv und installieren es mit den richtigen Build-Flags neu. Schauen Sie sich die Dokumentation zu llama-cpp-python an und befolgen Sie den entsprechenden Befehl, ersetzen Sie jedoch llama-cpp-python durch llama-cpp-conv.