一款用于轻松下载和转换 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
仅下载模型的 safetensor 版本(对于具有 torch 和 safetensor 的模型有用):
quantkit download mistralai/Mistral-7B-v0.1 --no-cache --safetensors-only -out mistral7b
从 Huggingface 存储库的特定版本下载:
uantkit download turboderp/TinyLlama-1B-32k-exl2 --branch 6.0bpw --no-cache -out TinyLlama-1B-32k-exl2-b6
下载模型并将其转换为 safetensor,删除原始 pytorch bin:
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 或问题,并更新各种尺寸卡片的功能。
除了 iMatrix 和 Exllamav2 要求最大层适合单个 GPU 之外,GGUF 转换不需要 GPU。
型号尺寸 | 定量 | 显存 | 成功的 |
---|---|---|---|
7B | 加权平均质量 | 24GB | ✅ |
7B | EXL2 | 24GB | ✅ |
7B | GGUF | 24GB | ✅ |
7B | 通用PTQ | 24GB | ✅ |
7B | 华QQ | 24GB | ✅ |
13B | 加权平均质量 | 24GB | ✅ |
13B | EXL2 | 24GB | ✅ |
13B | GGUF | 24GB | ✅ |
13B | 通用PTQ | 24GB | |
13B | 华QQ | 24GB | ? |
34B | 加权平均质量 | 24GB | |
34B | EXL2 | 24GB | ✅ |
34B | GGUF | 24GB | ✅ |
34B | 通用PTQ | 24GB | |
34B | 华QQ | 24GB | ? |
70B | 加权平均质量 | 24GB | |
70B | EXL2 | 24GB | ✅ |
70B | GGUF | 24GB | ✅ |
70B | 通用PTQ | 24GB | |
70B | 华QQ | 24GB | ? |
仍处于测试阶段。除非您卸载 llama-cpp-conv 并使用正确的构建标志重新安装,否则 Llama.cpp 卸载可能无法在您的平台上运行。查看 llama-cpp-python 文档并遵循相关命令,但将 llama-cpp-python 替换为 llama-cpp-conv。