🚀 Nemotron-Mini-4B-Instruct
Nemotron-Mini-4B-Instruct 是一个用于角色扮演、检索增强生成和函数调用的模型。它是一个小型语言模型,经过蒸馏、剪枝和量化优化,以实现更快的速度和设备端部署。
🚀 快速开始
你可以在 build.nvidia.com 上尝试这个模型。若想了解该模型如何用于 NVIDIA ACE,请参考 这篇博客文章 和 这个演示视频,它们展示了如何将模型集成到视频游戏中。你可以从 这里 下载适用于 NVIDIA AI 推理管理器 (AIM) SDK 的模型检查点。
✨ 主要特性
- 多功能用途:可用于角色扮演、检索增强生成和函数调用。
- 优化部署:通过蒸馏、剪枝和量化进行优化,适合设备端部署。
- 上下文长度支持:支持 4096 个标记的上下文长度。
- 商业可用:该模型可用于商业用途。
📦 安装指南
此部分文档未提供具体安装步骤,故跳过。
💻 使用示例
基础用法
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("nvidia/Nemotron-Mini-4B-Instruct")
model = AutoModelForCausalLM.from_pretrained("nvidia/Nemotron-Mini-4B-Instruct")
messages = [
{
"role": "system",
"content": "You are a friendly chatbot who always responds in the style of a pirate",
},
{"role": "user", "content": "How many helicopters can a human eat in one sitting?"},
]
tokenized_chat = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(tokenized_chat, max_new_tokens=128)
print(tokenizer.decode(outputs[0]))
高级用法
from transformers import AutoTokenizer
from transformers import pipeline
tokenizer = AutoTokenizer.from_pretrained("nvidia/Nemotron-Mini-4B-Instruct")
messages = [
{"role": "user", "content": "Who are you?"},
]
pipe = pipeline("text-generation", model="nvidia/Nemotron-Mini-4B-Instruct")
pipe.tokenizer = tokenizer
pipe(messages)
📚 详细文档
模型概述
Nemotron-Mini-4B-Instruct 是一个小型语言模型(SLM),通过蒸馏、剪枝和量化进行优化,以实现速度和设备端部署。它是 nvidia/Minitron-4B-Base 的微调版本,而 nvidia/Minitron-4B-Base 是使用 我们的大语言模型压缩技术 从 Nemotron-4 15B 中剪枝和蒸馏而来。这个指令模型针对英语中的角色扮演、检索增强生成(RAG)问答和函数调用进行了优化,支持 4096 个标记的上下文长度,并且可用于商业用途。
模型开发者
NVIDIA
模型日期
Nemotron-Mini-4B-Instruct 于 2024 年 2 月至 2024 年 8 月期间进行训练。
许可证
NVIDIA 社区模型许可证
模型架构
- 架构类型:Transformer 解码器(自回归语言模型)
- 网络架构:Nemotron-4
- 模型参数:使用 3072 的模型嵌入大小、32 个注意力头和 9216 的多层感知机(MLP)中间维度。还使用了分组查询注意力(GQA)和旋转位置嵌入(RoPE)。
提示格式
建议使用以下提示模板,该模板用于微调模型。如果不使用该模板,模型可能无法达到最佳性能。
单轮对话
<extra_id_0>System
{system prompt}
<extra_id_1>User
{prompt}
<extra_id_1>Assistant\n
工具使用
<extra_id_0>System
{system prompt}
<tool> ... </tool>
<context> ... </context>
<extra_id_1>User
{prompt}
<extra_id_1>Assistant
<toolcall> ... </toolcall>
<extra_id_1>Tool
{tool response}
<extra_id_1>Assistant\n
🔧 技术细节
人工智能安全措施
Nemotron-Mini-4B-Instruct 模型经过了人工智能安全评估,包括通过三种不同方法进行的对抗性测试:
- Garak:一种自动化的大语言模型漏洞扫描器,用于探测常见弱点,包括提示注入和数据泄露。
- AEGIS:一个内容安全评估数据集和基于大语言模型的内容安全分类器模型,遵循人类与大语言模型交互中 13 类关键风险的广泛分类法。
- 人工内容红队:利用人类对模型响应的交互和评估。
局限性
该模型在最初从互联网抓取的包含有毒语言和社会偏见的数据上进行训练。因此,模型可能会放大这些偏见并返回有毒响应,特别是当使用有毒提示时。即使提示本身不包含任何明确的冒犯性内容,模型也可能生成不准确的答案、遗漏关键信息或包含无关或冗余的文本,从而产生社会不可接受或不良的文本。如果不使用推荐的提示模板,这个问题可能会更加严重。
伦理考量
NVIDIA 认为可信人工智能是一项共同责任,我们已经制定了政策和实践,以支持广泛的人工智能应用开发。当按照我们的服务条款下载或使用该模型时,开发者应与内部模型团队合作,确保该模型满足相关行业和用例的要求,并解决不可预见的产品滥用问题。有关该模型伦理考量的更多详细信息,请参阅 模型卡片++。请 在此 报告安全漏洞或 NVIDIA 人工智能相关问题。
📄 许可证
该模型使用 NVIDIA 社区模型许可证。
信息表格
属性 |
详情 |
模型类型 |
Transformer 解码器(自回归语言模型) |
训练数据 |
最初从互联网抓取的数据,包含有毒语言和社会偏见 |
模型开发者 |
NVIDIA |
模型日期 |
2024 年 2 月至 2024 年 8 月 |
许可证 |
NVIDIA 社区模型许可证 |
常用提示信息
⚠️ 重要提示
该模型在包含有毒语言和社会偏见的数据上进行训练,可能会放大这些偏见并返回有毒响应,特别是当使用有毒提示时。建议使用推荐的提示模板,以避免产生不准确或不良的文本。
💡 使用建议
在使用该模型时,请与内部模型团队合作,确保模型满足相关行业和用例的要求,并解决不可预见的产品滥用问题。同时,请遵循 NVIDIA 的服务条款和伦理考量。