模型简介
模型特点
模型能力
使用案例
🚀 NVIDIA Llama-3.1-Nemotron-Nano-4B-v1.1的Llamacpp imatrix量化版本
本项目提供了基于llama.cpp
对NVIDIA的Llama-3.1-Nemotron-Nano-4B-v1.1模型进行量化的版本。通过不同的量化类型,用户可以根据自身硬件条件和需求选择合适的模型文件,以在性能和质量之间取得平衡。
基本信息
属性 | 详情 |
---|---|
量化者 | bartowski |
任务类型 | 文本生成 |
基础模型 | nvidia/Llama-3.1-Nemotron-Nano-4B-v1.1 |
许可证名称 | nvidia-open-model-license |
语言 | 英文 |
训练数据 | nvidia/Llama-Nemotron-Post-Training-Dataset |
标签 | nvidia, llama-3 |
许可证 | 其他 |
许可证链接 | https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-open-model-license/ |
基础模型关系 | 量化版本 |
🚀 快速开始
本项目使用 llama.cpp 的 b5432 版本进行量化。原始模型可从 这里 获取。
所有量化模型均使用 imatrix
选项和 此数据集 生成。你可以在 LM Studio 中运行这些模型,也可以直接使用 llama.cpp 或其他基于 llama.cpp
的项目运行。
✨ 主要特性
- 多种量化类型:提供了丰富的量化类型,如
bf16
、Q8_0
、Q6_K_L
等,满足不同硬件和性能需求。 - 在线重打包:部分量化类型支持在线重打包,可自动优化权重以提高在 ARM 和 AVX 机器上的性能。
- 灵活选择:用户可以根据自身的 RAM、VRAM 以及对性能和质量的要求,选择合适的量化模型。
📦 安装指南
使用huggingface-cli下载
首先,确保你已安装 huggingface-cli
:
pip install -U "huggingface_hub[cli]"
然后,你可以指定要下载的具体文件:
huggingface-cli download bartowski/nvidia_Llama-3.1-Nemotron-Nano-4B-v1.1-GGUF --include "nvidia_Llama-3.1-Nemotron-Nano-4B-v1.1-Q4_K_M.gguf" --local-dir ./
如果模型文件大于 50GB,它会被拆分为多个文件。若要将它们全部下载到本地文件夹,可运行:
huggingface-cli download bartowski/nvidia_Llama-3.1-Nemotron-Nano-4B-v1.1-GGUF --include "nvidia_Llama-3.1-Nemotron-Nano-4B-v1.1-Q8_0/*" --local-dir ./
你可以指定一个新的本地目录,也可以将它们下载到当前目录。
💻 使用示例
提示格式
<|begin_of_text|><|start_header_id|>system<|end_header_id|>
{system_prompt}<|eot_id|><|start_header_id|>user<|end_header_id|>
{prompt}<|eot_id|><|start_header_id|>assistant<|end_header_id|>
📚 详细文档
下载文件列表
文件名 | 量化类型 | 文件大小 | 拆分情况 | 描述 |
---|---|---|---|---|
Llama-3.1-Nemotron-Nano-4B-v1.1-bf16.gguf | bf16 | 9.03GB | false | 完整的 BF16 权重。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q8_0.gguf | Q8_0 | 4.80GB | false | 极高质量,通常不需要,但为最大可用量化。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q6_K_L.gguf | Q6_K_L | 3.90GB | false | 嵌入和输出权重使用 Q8_0。非常高质量,接近完美,推荐。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q6_K.gguf | Q6_K | 3.71GB | false | 非常高质量,接近完美,推荐。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q5_K_L.gguf | Q5_K_L | 3.47GB | false | 嵌入和输出权重使用 Q8_0。高质量,推荐。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q5_K_M.gguf | Q5_K_M | 3.23GB | false | 高质量,推荐。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q5_K_S.gguf | Q5_K_S | 3.16GB | false | 高质量,推荐。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q4_K_L.gguf | Q4_K_L | 3.07GB | false | 嵌入和输出权重使用 Q8_0。质量良好,推荐。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q4_1.gguf | Q4_1 | 2.91GB | false | 旧格式,性能与 Q4_K_S 相似,但在 Apple 硅芯片上的令牌/瓦特性能有所提高。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q3_K_XL.gguf | Q3_K_XL | 2.81GB | false | 嵌入和输出权重使用 Q8_0。质量较低但可用,适合低 RAM 情况。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q4_K_M.gguf | Q4_K_M | 2.78GB | false | 质量良好,大多数用例的默认大小,推荐。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q4_K_S.gguf | Q4_K_S | 2.66GB | false | 质量略低,但节省更多空间,推荐。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q4_0.gguf | Q4_0 | 2.66GB | false | 旧格式,支持 ARM 和 AVX CPU 推理的在线重打包。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-IQ4_NL.gguf | IQ4_NL | 2.66GB | false | 与 IQ4_XS 相似,但略大。支持 ARM CPU 推理的在线重打包。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-IQ4_XS.gguf | IQ4_XS | 2.54GB | false | 质量不错,比 Q4_K_S 小,性能相似,推荐。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q3_K_L.gguf | Q3_K_L | 2.46GB | false | 质量较低但可用,适合低 RAM 情况。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q3_K_M.gguf | Q3_K_M | 2.30GB | false | 低质量。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q2_K_L.gguf | Q2_K_L | 2.22GB | false | 嵌入和输出权重使用 Q8_0。质量非常低,但出人意料地可用。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-IQ3_M.gguf | IQ3_M | 2.18GB | false | 中低质量,采用新方法,性能与 Q3_K_M 相当。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q3_K_S.gguf | Q3_K_S | 2.10GB | false | 低质量,不推荐。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-IQ3_XS.gguf | IQ3_XS | 2.03GB | false | 质量较低,采用新方法,性能不错,略优于 Q3_K_S。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-IQ3_XXS.gguf | IQ3_XXS | 1.88GB | false | 质量较低,采用新方法,性能不错,与 Q3 量化相当。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-Q2_K.gguf | Q2_K | 1.84GB | false | 质量非常低,但出人意料地可用。 |
Llama-3.1-Nemotron-Nano-4B-v1.1-IQ2_M.gguf | IQ2_M | 1.72GB | false | 质量相对较低,采用最先进技术,出人意料地可用。 |
嵌入/输出权重
部分量化类型(如 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。加载时间可能会更长,但总体速度会提高。
选择哪个文件?
Artefact2 提供了一篇很棒的文章,带有展示各种性能的图表,点击查看。
首先,你需要确定能运行多大的模型。为此,你需要了解自己有多少 RAM 和/或 VRAM。
如果你希望模型运行得尽可能快,你需要将整个模型放入 GPU 的 VRAM 中。选择文件大小比 GPU 总 VRAM 小 1 - 2GB 的量化模型。
如果你追求绝对最高质量,将系统 RAM 和 GPU 的 VRAM 相加,然后选择文件大小比该总和小 1 - 2GB 的量化模型。
接下来,你需要决定是使用“I - 量化”还是“K - 量化”。
如果你不想考虑太多,选择 K - 量化之一。这些格式为 QX_K_X
,如 Q5_K_M
。
如果你想深入了解,可以查看这个非常有用的特性图表:llama.cpp 特性矩阵。
但基本上,如果你目标是低于 Q4,并且你使用的是 cuBLAS(Nvidia)或 rocBLAS(AMD),你应该考虑 I - 量化。这些格式为 IQX_X
,如 IQ3_M
。这些是较新的量化类型,在相同大小下提供更好的性能。
这些 I - 量化也可以在 CPU 上使用,但比相应的 K - 量化慢,因此你需要在速度和性能之间做出权衡。
🔧 技术细节
在线重打包
在线重打包是一种优化权重的技术,可提高模型在 ARM 和 AVX 机器上的性能。通过在运行时自动调整权重的存储方式,使得一次加载更多数据,从而减少内存访问次数,提高计算效率。
量化类型选择
不同的量化类型在性能和质量上存在差异。例如,Q8_0
提供了极高的质量,但文件大小较大;而 IQ3_M
等 I - 量化类型在较小的文件大小下提供了较好的性能。用户可以根据自身的硬件条件和需求,选择合适的量化类型。
📄 许可证
本项目使用 nvidia-open-model-license 许可证。
致谢
感谢 kalomaze 和 Dampf 在创建 imatrix 校准数据集方面提供的帮助。
感谢 ZeroWw 提供的嵌入/输出实验灵感。
感谢 LM Studio 对本项目的赞助。
如果你想支持我的工作,请访问我的 ko-fi 页面:https://ko-fi.com/bartowski



