GGUF
更新时间:2025年3月20日 15:51
浏览:677
官方介绍:
https://github.com/ggerganov/ggml/blob/master/docs/gguf.md
使用 HF 模型推理时,需要将HF模型转换为GGUF格式的模型,
llama.cpp\convert-hf-to-gguf.py
量化精度
查看 HF 中 GGUF 存储库中的文件,我们可以看到多种不同的 GGML 模型,对应于不同类型的量化。它们遵循特定的命名约定:“q”+ 用于存储权重的位数(精度)+ 特定变体。以下是量化方法及其相应用例的列表,
- q2_k:将 Q4_K 用于 attention.vw 和 feed_forward.w2 张量,Q2_K用于其他张量。
- q3_k_l:将 Q5_K 用于 attention.wv、attention.wo 和 feed_forward.w2 张量,否则Q3_K
- q3_k_m:将 Q4_K 用于 attention.wv、attention.wo 和 feed_forward.w2 张量,否则Q3_K
- q3_k_s:将Q3_K用于所有张量
- q4_0:原始量化方法,4 位。
- q4_1:精度高于q4_0但不如q5_0。但是,与 q5 模型相比,推理速度更快。
- q4_k_m:将 Q6_K 用于一半的 attention.wv 和 feed_forward.w2 张量,否则Q4_K
- q4_k_s:将Q4_K用于所有张量
- q5_0: 原始量化方法,5位。精度更高,资源使用率更高,推理速度更慢。
- q5_1:精度高于q5_0但不如q6_k。但是,与 q6 模型相比,推理速度更快。
- q5_k_m:将 Q6_K 用于一半的 attention.wv 和 feed_forward.w2 张量,否则Q5_K
- q5_k_s:将Q5_K用于所有张量
- q6_k:将Q8_K用于所有张量
- q8_0:与浮点数16几乎无法区分。资源使用率高,速度慢。不建议大多数用户使用。
根据经验,建议使用 Q5_K_M,因为它保留了模型的大部分性能。或者,如果要节省一些内存,可以使用 Q4_K_M 或 Q4_0。一般来说,K_M版本比K_S版本更好。不推荐 Q2 或 Q3 版本,因为它们会大大降低模型精度。