[笔记]GGML 或GGUF的14种不同量化模式说明
14 种不同的 GGML 模型,对应于不同类型的量化。它们遵循特定的命名约定:“q”+ 用于存储权重的位数(精度)+ 特定变体。以下是所有可能的量化方法及其相应用例的列表,基于 TheBloke 制作的模型卡中的描述,针对llama2模型架构:
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。一般来说,K_M版本比K_S版本更好。我不推荐 Q2 或 Q3 版本,因为它们会大大降低模型性能。