模型简介
模型特点
模型能力
使用案例
🚀 AceMath-RL-Nemotron-7B GGUF 模型
AceMath-RL-Nemotron-7B 是一个完全通过强化学习(RL)训练的数学推理模型,基于 Deepseek-R1-Distilled-Qwen-7B 进行训练。该模型在多个数学推理任务中表现出色,同时在编码任务上也有一定的泛化能力。
🚀 快速开始
你可以按照以下代码示例使用该模型:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = 'nvidia/AceMath-RL-Nemotron-7B'
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto", device_map="auto")
prompt = "Jen enters a lottery by picking $4$ distinct numbers from $S=\\{1,2,3,\\cdots,9,10\\}.$ $4$ numbers are randomly chosen from $S.$ She wins a prize if at least two of her numbers were $2$ of the randomly chosen numbers, and wins the grand prize if all four of her numbers were the randomly chosen numbers. The probability of her winning the grand prize given that she won a prize is $\\tfrac{m}{n}$ where $m$ and $n$ are relatively prime positive integers. Find $m+n$."
messages = [{"role": "user", "content": prompt}]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to("cuda")
generated_ids = model.generate(
**model_inputs,
max_new_tokens=32768,
temperature=0.6,
top_p=0.95
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
✨ 主要特性
- 强化学习训练:完全通过强化学习训练,在数学推理任务中表现出色。
- 泛化能力强:在数学推理训练的同时,提高了模型在编码任务上的准确性。
- 多种量化格式:提供多种量化格式,以适应不同的硬件和内存需求。
📚 详细文档
模型生成细节
该模型使用 llama.cpp 在提交版本 19e899c
下生成。
超低比特量化(1 - 2 比特)
我们最新的量化方法为超低比特模型(1 - 2 比特)引入了精度自适应量化,在 Llama-3-8B 上的基准测试中证明了其有效性。该方法采用特定层策略,在保持极高内存效率的同时保留了准确性。
基准测试环境
所有测试均在 Llama-3-8B-Instruct 上进行,使用以下配置:
- 标准困惑度评估管道
- 2048 令牌上下文窗口
- 所有量化方法使用相同的提示集
方法
- 动态精度分配:
- 前 25% 和后 25% 的层使用 IQ4_XS(选定层)
- 中间 50% 的层使用 IQ2_XXS/IQ3_S(提高效率)
- 关键组件保护:
- 嵌入层和输出层使用 Q5_K
- 与标准 1 - 2 比特量化相比,误差传播降低了 38%
量化性能比较(Llama-3-8B)
量化方法 | 标准困惑度 | DynamicGate 困惑度 | 困惑度变化 | 标准大小 | DG 大小 | 大小变化 | 标准速度 | DG 速度 |
---|---|---|---|---|---|---|---|---|
IQ2_XXS | 11.30 | 9.84 | -12.9% | 2.5G | 2.6G | +0.1G | 234s | 246s |
IQ2_XS | 11.72 | 11.63 | -0.8% | 2.7G | 2.8G | +0.1G | 242s | 246s |
IQ2_S | 14.31 | 9.02 | -36.9% | 2.7G | 2.9G | +0.2G | 238s | 244s |
IQ1_M | 27.46 | 15.41 | -43.9% | 2.2G | 2.5G | +0.3G | 206s | 212s |
IQ1_S | 53.07 | 32.00 | -39.7% | 2.1G | 2.4G | +0.3G | 184s | 209s |
关键指标说明:
- PPL = 困惑度(越低越好)
- Δ PPL = 从标准量化到 DynamicGate 量化的困惑度变化百分比
- 速度 = 推理时间(CPU avx2,2048 令牌上下文)
- 大小差异反映了混合量化的开销
主要改进:
- IQ1_M:困惑度大幅降低 43.9%(从 27.46 降至 15.41)
- IQ2_S:困惑度降低 36.9%,同时仅增加 0.2GB 大小
- IQ1_S:尽管是 1 比特量化,但准确性提高了 39.7%
权衡:
- 所有变体的大小增加适中(0.1 - 0.3GB)
- 推理速度相近(差异小于 5%)
使用场景
- 适配 GPU VRAM
- 内存受限的部署
- 可容忍 1 - 2 比特误差的 CPU 和边缘设备
- 超低比特量化研究
选择合适的模型格式
选择正确的模型格式取决于你的硬件能力和内存限制。
BF16(Brain Float 16) - 若支持 BF16 加速则使用
- 一种 16 位浮点格式,专为更快的计算而设计,同时保留了良好的精度。
- 提供与 FP32 相似的动态范围,但内存使用更低。
- 若你的硬件支持 BF16 加速(检查设备规格),建议使用。
- 与 FP32 相比,适用于高性能推理且内存占用减少的场景。
适用情况:
- 你的硬件具有原生 BF16 支持(如较新的 GPU、TPU)。
- 你希望在节省内存的同时获得更高的精度。
- 你计划将模型重新量化为其他格式。
避免情况:
- 你的硬件不支持 BF16(可能会回退到 FP32 并运行较慢)。
- 你需要与缺乏 BF16 优化的旧设备兼容。
F16(Float 16) - 比 BF16 更广泛支持
- 一种 16 位浮点格式,精度较高,但动态范围小于 BF16。
- 适用于大多数支持 FP16 加速的设备(包括许多 GPU 和一些 CPU)。
- 数值精度略低于 BF16,但通常足以进行推理。
适用情况:
- 你的硬件支持 FP16 但不支持 BF16。
- 你需要在速度、内存使用和准确性之间取得平衡。
- 你在 GPU 或其他针对 FP16 计算优化的设备上运行。
避免情况:
- 你的设备缺乏原生 FP16 支持(可能运行比预期慢)。
- 你有内存限制。
量化模型(Q4_K、Q6_K、Q8 等) - 用于 CPU 和低 VRAM 推理
量化可以在尽可能保持准确性的同时减小模型大小和内存使用。
- 低比特模型(Q4_K):内存使用最小,但精度可能较低。
- 高比特模型(Q6_K、Q8_0):准确性更高,但需要更多内存。
适用情况:
- 你在 CPU 上进行推理,需要优化的模型。
- 你的设备 VRAM 较低,无法加载全精度模型。
- 你希望在保持合理准确性的同时减少内存占用。
避免情况:
- 你需要最高的准确性(全精度模型更适合)。
- 你的硬件有足够的 VRAM 用于更高精度的格式(BF16/F16)。
极低比特量化(IQ3_XS、IQ3_S、IQ3_M、Q4_K、Q4_0)
这些模型针对极致内存效率进行了优化,适用于低功耗设备或内存是关键限制因素的大规模部署。
- IQ3_XS:超低比特量化(3 比特),具有极致的内存效率。
- 使用场景:最适合超低内存设备,即使 Q4_K 也太大的情况。
- 权衡:与高比特量化相比,准确性较低。
- IQ3_S:小块大小,以实现最大内存效率。
- 使用场景:最适合低内存设备,当 IQ3_XS 过于激进时。
- IQ3_M:中等块大小,比 IQ3_S 具有更好的准确性。
- 使用场景:适用于低内存设备,当 IQ3_S 限制较大时。
- Q4_K:4 比特量化,具有块级优化以提高准确性。
- 使用场景:最适合低内存设备,当 Q6_K 太大时。
- Q4_0:纯 4 比特量化,针对 ARM 设备进行了优化。
- 使用场景:最适合基于 ARM 的设备或低内存环境。
模型格式选择总结表
模型格式 | 精度 | 内存使用 | 设备要求 | 最佳使用场景 |
---|---|---|---|---|
BF16 | 最高 | 高 | 支持 BF16 的 GPU/CPU | 减少内存的高速推理 |
F16 | 高 | 高 | 支持 FP16 的设备 | BF16 不可用时的 GPU 推理 |
Q4_K | 中低 | 低 | CPU 或低 VRAM 设备 | 内存受限的环境 |
Q6_K | 中等 | 适中 | 内存较多的 CPU | 量化模型中准确性较好的情况 |
Q8_0 | 高 | 适中 | 有足够 VRAM 的 CPU 或 GPU | 量化模型中准确性最高的情况 |
IQ3_XS | 非常低 | 非常低 | 超低内存设备 | 极致内存效率和低准确性 |
Q4_0 | 低 | 低 | ARM 或低内存设备 | llama.cpp 可针对 ARM 设备进行优化 |
包含的文件及详情
AceMath-RL-Nemotron-7B-bf16.gguf
- 模型权重保存为 BF16 格式。
- 如果你想将模型重新量化为其他格式,可使用此文件。
- 若你的设备支持 BF16 加速,此文件最佳。
AceMath-RL-Nemotron-7B-f16.gguf
- 模型权重存储为 F16 格式。
- 若你的设备支持 FP16,尤其是 BF16 不可用时,可使用此文件。
AceMath-RL-Nemotron-7B-bf16-q8_0.gguf
- 输出和嵌入层保持为 BF16 格式。
- 其他所有层量化为 Q8_0 格式。
- 若你的设备支持 BF16 且你需要量化版本,可使用此文件。
AceMath-RL-Nemotron-7B-f16-q8_0.gguf
- 输出和嵌入层保持为 F16 格式。
- 其他所有层量化为 Q8_0 格式。
AceMath-RL-Nemotron-7B-q4_k.gguf
- 输出和嵌入层量化为 Q8_0 格式。
- 其他所有层量化为 Q4_K 格式。
- 适用于内存有限的 CPU 推理。
AceMath-RL-Nemotron-7B-q4_k_s.gguf
- 最小的 Q4_K 变体,以牺牲准确性为代价减少内存使用。
- 最适合极低内存的设置。
AceMath-RL-Nemotron-7B-q6_k.gguf
- 输出和嵌入层量化为 Q8_0 格式。
- 其他所有层量化为 Q6_K 格式。
AceMath-RL-Nemotron-7B-q8_0.gguf
- 完全 Q8 量化的模型,以获得更好的准确性。
- 需要更多内存,但提供更高的精度。
AceMath-RL-Nemotron-7B-iq3_xs.gguf
- IQ3_XS 量化,针对极致内存效率进行了优化。
- 最适合超低内存设备。
AceMath-RL-Nemotron-7B-iq3_m.gguf
- IQ3_M 量化,提供中等块大小以提高准确性。
- 适用于低内存设备。
AceMath-RL-Nemotron-7B-q4_0.gguf
- 纯 Q4_0 量化,针对 ARM 设备进行了优化。
- 最适合低内存环境。
- 若需要更高准确性,建议使用 IQ4_NL。
测试模型
如果你发现这些模型有用,请点击“点赞”!同时,帮助我们测试具有量子就绪安全检查功能的 AI 网络监控助手: 免费网络监控
测试方法
选择一种 AI 助手类型:
TurboLLM
(GPT-4o-mini)HugLLM
(Hugginface 开源模型)TestLLM
(仅支持 CPU 的实验性模型)
测试内容
我们正在挑战用于 AI 网络监控的小型开源模型的极限,具体包括:
- 针对实时网络服务的函数调用
- 模型规模最小化的同时仍能处理:
- 自动化 Nmap 扫描
- 量子就绪检查
- 网络监控任务
TestLLM - 当前实验性模型(llama.cpp 在 2 个 CPU 线程上运行)
- 零配置设置
- 加载时间约 30 秒(推理速度慢,但无 API 成本)
- 寻求帮助! 如果你对边缘设备 AI 感兴趣,让我们一起合作!
其他助手
- TurboLLM - 使用 gpt-4o-mini 进行:
- 在免费网络监控代理上创建自定义 cmd 处理器以运行 .net 代码
- 实时网络诊断和监控
- 安全审计
- 渗透测试(Nmap/Metasploit)
- 通过登录或下载集成 AI 助手的免费网络监控代理获取更多令牌
- HugLLM - 最新的开源模型:
- 在 Hugging Face 推理 API 上运行
示例测试命令
"Give me info on my websites SSL certificate"
"Check if my server is using quantum safe encyption for communication"
"Run a comprehensive security audit on my server"
- '"Create a cmd processor to .. (what ever you want)" 注意:你需要安装免费网络监控代理才能运行 .net 代码。这是一个非常灵活和强大的功能,请谨慎使用!
结果
我们在 AIME 2024、AIME 2025 和 GPQA 上对我们的模型与同等规模的竞争推理模型进行了评估。
模型 | AIME 2024 (AVG@64) |
AIME 2025 (AVG@64) |
GPQA-Diamond (AVG@8) |
---|---|---|---|
DeepSeek-R1-Distill-Qwen-7B | 55.5 | 39.2 | 49.1 |
Light-R1-7B-DS | 59.1 | 44.3 | 49.4 |
AReaL-boba-RL-7B | 61.9 | 48.3 | 47.6 |
Llama-Nemotron-Nano-v1 (8B) | 63.8 | 47.1 | 54.1 |
Skywork-OR1-Math-7B-Preview | 69.8 | 52.3 | - |
AceMath-RL-Nemotron-7B | 69.0 | 53.6 | 52.1 |
此外,我们还在其他数学基准测试和 LiveCodeBench 上对我们的模型进行了更全面的评估。
模型 | GSM8K (AVG@1) |
MATH500 (AVG@4) |
Minerva Math (AVG@1) |
GaoKao2023En (AVG@1) |
Olympiad Bench (AVG@1) |
College Math (AVG@1) |
ACM23 (AVG@5) |
LiveCodeBench (AVG@8) |
---|---|---|---|---|---|---|---|---|
DeepSeek-R1-Distill-Qwen-7B | 92.7 | 92.8 | 57.4 | 82.3 | 58.2 | 56.7 | 89.0 | 37.6 |
AceMath-RL-Nemotron-7B | 93.3 | 94.1 | 56.6 | 85.5 | 66.7 | 59.8 | 94.0 | 44.4 |
💡 使用建议
- 不要包含系统提示,而是将所有指令直接放在用户提示中。
- 我们建议对数学问题使用以下提示格式:
<开始句子><用户>{数学问题}\n请逐步推理,并将最终答案放在 \boxed{} 内。<助手><思考>\n
🔧 技术细节
该模型基于 Deepseek-R1-Distilled-Qwen-7B 进行强化学习训练。在训练过程中,我们使用了特定的量化方法和策略,以提高模型的性能和效率。具体的训练配方、训练日志和数据整理细节可在我们的 博客 中查看。
📄 许可证
你对该模型的使用受 NVIDIA 开放模型许可证 约束。
引用
@article{acemath2024,
title={AceMath: Advancing Frontier Math Reasoning with Post-Training and Reward Modeling},
author={Liu, Zihan and Chen, Yang and Shoeybi, Mohammad and Catanzaro, Bryan and Ping, Wei},
journal={arXiv preprint},
year={2024}
}
联系方式
- Yang Chen (yachen@nvidia.com)
- Zihan Liu (zihanl@nvidia.com)
- Chankyu Lee (chankyul@nvidia.com)
- Wei Ping (wping@nvidia.com)



