模型简介
模型特点
模型能力
使用案例
🚀 NVIDIA AceReason - Nemotron - 1.1 - 7B的量化模型
本项目是对NVIDIA的AceReason - Nemotron - 1.1 - 7B模型进行量化处理,旨在优化模型在不同硬件上的运行效率,同时保持一定的性能和质量。
🚀 快速开始
运行环境
提示格式
<|im_start|>system
{system_prompt}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant
✨ 主要特性
- 多种量化类型:提供了丰富的量化类型供选择,如 bf16、Q8_0、Q6_K_L 等,满足不同的性能和质量需求。
- 在线重打包:部分量化类型支持在线重打包功能,可自动优化硬件性能。
- 性能提升:通过量化处理,在保证一定质量的前提下,显著减少模型文件大小,提高运行效率。
📦 安装指南
安装 huggingface - cli
pip install -U "huggingface_hub[cli]"
下载指定文件
huggingface-cli download bartowski/nvidia_AceReason-Nemotron-1.1-7B-GGUF --include "nvidia_AceReason-Nemotron-1.1-7B-Q4_K_M.gguf" --local-dir ./
下载拆分文件
如果模型大于 50GB,已拆分为多个文件,可使用以下命令下载到本地文件夹:
huggingface-cli download bartowski/nvidia_AceReason-Nemotron-1.1-7B-GGUF --include "nvidia_AceReason-Nemotron-1.1-7B-Q8_0/*" --local-dir ./
💻 使用示例
选择合适的量化文件
根据自身硬件配置和需求,选择合适的量化文件进行下载和使用。具体选择建议如下:
点击查看详情
首先,确定你能运行的模型大小,这需要了解你拥有的 RAM 和/或 VRAM 容量。
- 追求最快速度:若希望模型尽可能快地运行,应选择文件大小比 GPU 的总 VRAM 小 1 - 2GB 的量化文件,以将整个模型放入 GPU 的 VRAM 中。
- 追求最高质量:若追求绝对的最高质量,将系统 RAM 和 GPU 的 VRAM 相加,然后选择文件大小比该总和小 1 - 2GB 的量化文件。
其次,需要决定使用 'I - quant' 还是 'K - quant':
- 不想过多考虑:选择 K - quant,格式为 'QX_K_X',如 Q5_K_M。
- 深入研究:可查看 [llama.cpp 特性矩阵](https://github.com/ggerganov/llama.cpp/wiki/Feature - matrix)。一般来说,若目标量化级别低于 Q4,且使用 cuBLAS(NVIDIA)或 rocBLAS(AMD),应考虑 I - quant,格式为 IQX_X,如 IQ3_M。I - quant 较新,相同大小下性能更好,但在 CPU 上运行比 K - quant 慢,需要在速度和性能之间进行权衡。
📚 详细文档
量化信息
属性 | 详情 |
---|---|
量化工具 | 使用 llama.cpp 发布版本 b5674 进行量化。 |
原始模型 | nvidia/AceReason - Nemotron - 1.1 - 7B |
校准数据集 | 所有量化均使用 imatrix 选项和 此处 的数据集。 |
下载文件列表
嵌入/输出权重
部分量化类型(如 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。此外,若想获得稍高质量,可使用 IQ4_NL,详情见 此 PR,它也会为 ARM 重打包权重,目前仅支持 4_4 情况。加载时间可能会变慢,但总体速度会提高。
点击查看 Q4_0_X_X 信息(已弃用)
保留此部分是为了展示使用支持在线重打包的 Q4_0 时理论上的性能提升。
点击查看 AVX2 系统(EPYC7702)上的基准测试
模型 | 大小 | 参数 | 后端 | 线程数 | 测试类型 | 每秒令牌数 | 相对 Q4_0 的百分比 |
---|---|---|---|---|---|---|---|
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | pp512 | 204.03 ± 1.03 | 100% |
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | pp1024 | 282.92 ± 0.19 | 100% |
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | pp2048 | 259.49 ± 0.44 | 100% |
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | tg128 | 39.12 ± 0.27 | 100% |
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | tg256 | 39.31 ± 0.69 | 100% |
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | tg512 | 40.52 ± 0.03 | 100% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | pp512 | 301.02 ± 1.74 | 147% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | pp1024 | 287.23 ± 0.20 | 101% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | pp2048 | 262.77 ± 1.81 | 101% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | tg128 | 18.80 ± 0.99 | 48% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | tg256 | 24.46 ± 3.04 | 83% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | tg512 | 36.32 ± 3.59 | 90% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | pp512 | 271.71 ± 3.53 | 133% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | pp1024 | 279.86 ± 45.63 | 100% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | pp2048 | 320.77 ± 5.00 | 124% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | tg128 | 43.51 ± 0.05 | 111% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | tg256 | 43.35 ± 0.09 | 110% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | tg512 | 42.60 ± 0.31 | 105% |
Q4_0_8_8 在提示处理方面有显著提升,在文本生成方面有小幅提升。
🔧 技术细节
本项目使用 llama.cpp 的特定版本(b5674)进行量化处理,利用 imatrix 选项和指定的校准数据集,确保量化的准确性和有效性。同时,引入了在线重打包技术,优化了 ARM 和 AVX 机器上的性能。
📄 许可证
本项目使用 [NVIDIA 开放模型许可证](https://www.nvidia.com/en - us/agreements/enterprise - software/nvidia - open - model - license/)。
致谢
感谢 kalomaze 和 Dampf 在创建 imatrix 校准数据集方面提供的帮助。 感谢 ZeroWw 在嵌入/输出实验方面提供的灵感。 感谢 LM Studio 对本项目的赞助。
如果您想支持我的工作,请访问我的 ko - fi 页面:[https://ko - fi.com/bartowski](https://ko - fi.com/bartowski)



