核心
ollama支持的量化参数
正文

量化方式 | 简要解释 |
---|---|
FP16 | 半精度浮点数,提供较高的数值范围和精度,适用于需要较高计算精度的场景。 |
Q2_K | 二进制量化的一种形式,使用较少的比特表示权重,显著减少存储需求。 |
Q3_K_L | 使用3比特进行量化,L表示较低的精度配置。 |
Q3_K_M | 使用3比特进行量化,M表示中等精度配置。 |
Q3_K_S | 使用3比特进行量化,S表示较高的精度配置。 |
Q4_0 | 使用4比特进行量化,0表示特定的精度配置。 |
Q4_1 | 使用4比特进行量化,1表示另一种精度配置。 |
Q4_K_M | 使用4比特进行量化,M表示中等精度配置。 |
Q4_K_S | 使用4比特进行量化,S表示较高的精度配置。 |
Q5_0 | 使用5比特进行量化,0表示特定的精度配置。 |
Q5_1 | 使用5比特进行量化,1表示另一种精度配置。 |
Q5_K_M | 使用5比特进行量化,M表示中等精度配置。 |
Q5_K_S | 使用5比特进行量化,S表示较高的精度配置。 |
Q6_K | 使用6比特进行量化,K表示特定的精度配置。 |
Q8_0 | 使用8比特进行量化,0表示特定的精度配置。 |
以上是ollama使用create指令创建大模型时可以携带的量化方式参数
ollama create qwen2.5:14b-q4_k_m -f ./qwen2.5_14b-instruct-fp16.modelfile -q q4_K_M
注意使用-q参数重新量化模型必须要注意的点
1、默认拉取的模型的量化方式是Q4_K_M,例如qwen2.5:14b
ollama pull qwen2.5:14b
通过这个参数拉取的模型默认为Q4_K_M量化,无法二次调整模型量化参数
可以通过查看模型的全部版本找到对应的FP16精度或者FP32精度的原始模型,拉取然后进行二次量化
(博主采用的方式是拉取一个FP16精度模型,然后通过不同量化等级实现在不同任务中运行,比如说翻译使用Q8_0量化,然后默认使用Q4_K_S量化)
2、模型二次量化时会将原始模型文件全部加载到RAM中,请注意RAM是否大于原始模型文件
例如qwen2.5_14b-instruct-fp16需要用到30GB RAM(二次量化模型和GPU无关,所以无需关注VRAM)
3、如何获取modelfile模版
ollama show --modelfile <模型名称>

Comments NOTHING