Apriel-Nemotron-15b-Thinker 模型速读
1. 摘要
Apriel-Nemotron-15b-Thinker 是 ServiceNow 的 Apriel SLM 系列中一个拥有 150 亿参数的推理模型。它在与类似规模的最新模型(如 o1-mini、QWQ-32b 和 EXAONE-Deep-32b)竞争时表现出色,同时其内存占用仅为这些替代方案的一半。该模型基于 Apriel-15b-base 检查点,通过持续预训练(CPT)、监督微调(SFT)和强化学习(RL)三个阶段的训练流程进行构建。
2. 评估
性能亮点
-
该模型在内存效率方面表现出色,其大小仅为 QWQ-32b 和 EXAONE-32b 等最新模型的一半。
-
与 QWQ-32b 相比,它在生产环境中消耗的 tokens 减少了 40%,使其极为高效。
-
在诸如 MBPP、BFCL、企业 RAG、MT Bench、MixEval、IFEval 和 Multi-Challenge 等任务上表现与最新模型持平或更优,使其非常适合代理/企业任务。
-
在学术基准测试(如 AIME-24、AIME-25、AMC23、MATH-500 和 GPQA)上,考虑其模型大小,性能具有竞争力。
评估基准
-
企业能力的评估基准
-
学术推理基准
-
Token 效率比较(数值越低越好)
3. 训练细节
持续预训练(CPT)
-
在此阶段,模型在从数学推理、编程挑战、科学讨论和逻辑谜题中精心策划的 1000 亿个 tokens 上进行训练。
-
目标是加强模型的基础推理能力,这对于模型作为推理器的功能至关重要,并在推理基准测试中提供了显著提升。
监督微调(SFT)
- 接下来,使用 200,000 个高质量演示对模型进行监督微调,这些演示涵盖了数学和科学问题解决、编程任务、通用指令遵循场景、API/函数调用用例等。
强化学习
-
即使 SFT 调整后的检查点在数学和一般知识等核心能力上表现出色,但其在指令遵循和编程任务上存在不足。
-
为弥补这些不足,应用了 GRPO(对目标进行了一些修改)。结果是在 IFEval、Multi Challenge、企业 RAG、MBPP 和 BFCL 等基准测试中取得了显著提升,同时保留了在 AIME 和 AMC 等竞赛级数学考试中的得分。
-
GRPO 还在 GPQA 和 MixEval 上带来了适度的改进。
-
在整个训练过程中,定期合并 SFT 和 GRPO 阶段的中间快照,以提高泛化能力并减少灾难性遗忘。
4. 如何使用
安装
pip install transformers
运行推理模型
import re
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "ServiceNow-AI/Apriel-Nemotron-15b-Thinker"
# 加载 tokenizer 和模型
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto", device_map="auto")
# 准备模型输入
prompt = "Positive real numbers $x$ and $y$ satisfy $y^3=x^2$ and $(y-x)^2=4y^2$. What is..."
messages = [{"role": "user", "content": prompt}]
tools = []
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, tools=tools)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
# 执行文本补全
generated_ids = model.generate(**model_inputs, max_new_tokens=65536)
output = tokenizer.decode(generated_ids[0], skip_special_tokens=True)
# 解析响应
response = re.findall(r"\[BEGIN FINAL RESPONSE\](.*?)\[END FINAL RESPONSE\]", output, re.DOTALL)
print("output:", output)
print("response:", response)
聊天模板
<|system|> You are a thoughtful and systematic AI assistant built by ServiceNow Language Models (SLAM <|end|> <|user|> # user message here <|end|>
使用指南
-
使用模型的默认聊天模板,其中已包含系统提示。
-
推荐在用户消息中添加所有其他指令。
-
推荐将温度设置为 0.6。
-
确保模型在所有评估中以 “Here are my reasoning steps:\n” 开始。这在默认聊天模板中已实现。
示例
from transformers import AutoTokenizer
model_name = "ServiceNow-AI/Apriel-Nemotron-15b-Thinker"
tokenizer = AutoTokenizer.from_pretrained(model_name)
# 准备模型输入
custom_system_prompt = "Answer like a pirate."
prompt = "You are an expert assistant in the implementation of customer experience management programs..."
messages = [{"role": "user", "content": custom_system_prompt + "\n\n" + prompt}]
# 示例工具
tools = [{"type": "function", "function": {"name": "getRetailFeedbackModules", "description": "..."}}
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, tools=tools)
model_inputs = tokenizer([text], return_tensors="pt")
5. 预期用途
Apriel 系列模型专为各种通用指令任务而设计,包括:
-
代码协助和生成
-
逻辑推理和多步任务
-
问答和信息检索
-
函数调用、复杂指令遵循和代理用例
它们不适合在没有人类监督的安全关键应用或需要保证事实准确性的场景中使用。
6. 限制
-
事实准确性:可能会产生错误、误导性或过时的内容。在关键环境中使用前应验证输出。
-
偏见:可能会反映训练数据中存在的社会、文化或系统性偏见。
-
伦理:不要使用该模型生成有害、非法或不道德的内容。
-
语言:在英语中表现最强。在代表性不足的语言中,输出质量可能会下降。
-
关键用途:不适合在没有防护措施的情况下用于医疗、法律、金融或其他高风险应用。
7. 安全与负责任的使用
部署者指南
-
定期进行全面评估,以识别和减轻对抗性输入。
-
实施验证和过滤流程,以防止有害或偏见的输出。
-
持续执行数据隐私检查,以防止意外的数据泄露。
-
向所有最终用户记录并传达模型的限制、预期用途和已知安全风险。
用户指南
-
遵循部署者提供的既定安全政策和使用指南。
-
在与模型交互时保护和管理敏感信息。
-
向部署者或开发者报告异常、可疑行为或不安全输出。
-
在交互过程中保持人类监督,并运用判断力以减轻潜在的安全或道德风险。
免责声明:用户接受责任,安全地部署、管理和使用这个开源 LLM。该模型按“原样”提供,对于安全性或适合任何特定应用或环境,不提供明确或暗示的保证。
8. 软件
训练栈:Fast-LLM
9. 许可证
MIT