🚀 微软NextCoder - 32B的Llamacpp imatrix量化版本
本项目是微软NextCoder - 32B模型的量化版本,使用llama.cpp
工具对原模型进行量化处理,以在不同硬件条件下更高效地运行模型。
🚀 快速开始
量化工具
使用 llama.cpp 的 b5856 版本进行量化。
原模型地址
https://huggingface.co/microsoft/NextCoder - 32B
运行方式
✨ 主要特性
- 多种量化类型:提供了丰富的量化类型供选择,如
bf16
、Q8_0
、Q6_K_L
等,以满足不同的性能和质量需求。
- 在线重打包:部分量化类型支持在线重打包权重,可在ARM和AVX机器上自动优化性能。
- 灵活下载:支持使用
huggingface - cli
下载特定文件或整个模型分支。
📦 安装指南
安装huggingface - cli
pip install -U "huggingface_hub[cli]"
下载特定文件
huggingface-cli download bartowski/microsoft_NextCoder-32B-GGUF --include "microsoft_NextCoder-32B-Q4_K_M.gguf" --local-dir ./
下载拆分的大模型
如果模型大于50GB,已拆分为多个文件,可使用以下命令下载到本地文件夹:
huggingface-cli download bartowski/microsoft_NextCoder-32B-GGUF --include "microsoft_NextCoder-32B-Q8_0/*" --local-dir ./
可以指定新的本地目录,也可以直接下载到当前目录。
💻 使用示例
提示格式
<|im_start|>system
{system_prompt}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant
📚 详细文档
下载文件列表
嵌入/输出权重
部分量化类型(如Q3_K_XL、Q4_K_L等)采用标准量化方法,将嵌入和输出权重量化为Q8_0,而非默认值。
ARM/AVX信息
以前,需要下载Q4_0_4_4/4_8/8_8文件,这些文件的权重在内存中交错排列,以提高ARM和AVX机器的性能。现在,有了“在线重打包”功能,详情见 此PR。如果使用Q4_0且硬件能从权重重打包中受益,将自动进行实时重打包。
从llama.cpp构建 b4282 版本开始,将无法运行Q4_0_X_X文件,需使用Q4_0。此外,由于 此PR,可以使用IQ4_NL获得稍好的质量,它也会为ARM重打包权重,但目前仅支持4_4。加载时间可能会变慢,但总体速度会提高。
如何选择文件
点击查看详情
首先,需要确定能运行的模型大小,这取决于可用的RAM和/或VRAM。
- **追求最快速度**:如果希望模型尽可能快地运行,应选择文件大小比GPU总VRAM小1 - 2GB的量化文件,以将整个模型放入GPU的VRAM中。
- **追求最高质量**:如果追求绝对最高质量,将系统RAM和GPU的VRAM相加,然后选择文件大小比该总和小1 - 2GB的量化文件。
接下来,需要决定使用“I - 量化”还是“K - 量化”。
- 简单选择:如果不想过多考虑,选择K - 量化文件,格式为“QX_K_X”,如Q5_K_M。
- 深入了解:如果想深入了解,可以查看 [llama.cpp特性矩阵](https://github.com/ggerganov/llama.cpp/wiki/Feature - matrix)。一般来说,如果目标是低于Q4的量化,并且使用cuBLAS(Nvidia)或rocBLAS(AMD),应选择I - 量化文件,格式为IQX_X,如IQ3_M。这些是较新的量化类型,在相同大小下提供更好的性能。不过,I - 量化文件在CPU上运行时会比K - 量化文件慢,因此需要在速度和性能之间进行权衡。
🔧 技术细节
本项目使用llama.cpp
的imatrix
选项进行量化,校准数据集来自 此处。
📄 许可证
本项目采用MIT许可证。
致谢
感谢kalomaze和Dampf协助创建imatrix校准数据集。
感谢ZeroWw启发了对嵌入/输出的实验。
感谢LM Studio赞助本项目。
如果想支持我的工作,请访问我的ko - fi页面:https://ko - fi.com/bartowski