🚀 Llama-3.1-NemoGuard-8B-Topic-Control
Llama-3.1-NemoGuard-8B-Topic-Control 是一款用于文本分类的模型,可对人类与助手交互中的用户提示进行主题和对话审核,适用于面向任务的对话代理和基于自定义策略的审核场景。
🚀 快速开始
你可以点击 Llama-3.1-NemoGuard-8B-Topic-Control 试用该模型。给定系统指令(也称为主题指令,即指定允许和不允许的主题)和以最后用户提示结尾的对话历史记录,模型将返回一个二进制响应,标记用户消息是否符合系统指令(即消息是否切题)。
✨ 主要特性
- 主题审核:能够根据系统指令判断用户消息是否切题。
- 商业可用:该模型已准备好用于商业用途。
- 多领域适用:在多个领域(如金融、健康、教育等)都有良好的泛化能力。
📦 安装指南
文档未提及具体安装步骤,暂无法提供。
💻 使用示例
基础用法
以下是一个使用示例,展示了如何构建输入提示:
[
{
"role": "system",
"content": "In the next conversation always use a polite tone and do not engage in any talk about travelling and touristic destinations"
},
{
"role": "user",
"content": "Hi there!"
},
{
"role": "assistant",
"content": "Hello! How can I help today?"
},
{
"role": "user",
"content": "Do you know which is the most popular beach in Barcelona?"
}
]
模型将对最后一个用户提示进行审核,并返回 "off-topic" 或 "on-topic"。
高级用法
在使用时,需要注意系统提示必须以 TOPIC_SAFETY_OUTPUT_RESTRICTION
字符串结尾,以确保模型的预测结果为 "on-topic" 或 "off-topic"。TOPIC_SAFETY_OUTPUT_RESTRICTION
字符串定义如下:
If any of the above conditions are violated, please respond with "off-topic". Otherwise, respond with "on-topic". You must respond with "on-topic" or "off-topic".
📚 详细文档
系统指令
系统指令部分是引导对话的综合指南,包括核心规则和角色分配。核心规则用于管理交互,确保相关性和遵守指定边界;角色分配使模型能够采用特定角色,如“银行助理”,并可以指定在角色范围内要阻止的子类别或主题。系统提示必须以 TOPIC_SAFETY_OUTPUT_RESTRICTION
字符串结尾。
对话历史
对话历史记录了用户提示和大语言模型响应的顺序记录,可以包括单轮或多轮交互。通常,历史记录以最新的用户提示结尾,该提示必须由主题控制模型进行审核。
与 NeMo Guardrails 集成
要将主题控制模型与 NeMo Guardrails 集成,需要访问 llama-3.1-nemoguard-8b-topic-control 的 NVIDIA NIM 容器。可以参考 NVIDIA NeMo Guardrails 文档获取更多配置信息。
🔧 技术细节
模型架构
- 架构类型:Transformer
- 网络架构:基于 Meta 的 Llama-3.1-8B-Instruct 模型,使用参数高效微调(PEFT)方法进行微调,相关参数包括:秩为 8,Alpha 为 32,目标低秩适应模块为 'k_proj', 'q_proj', 'v_proj', 'o_proj', 'up_proj', 'down_proj', 'gate_proj'。
训练方法
使用名为 CantTalkAboutThis-Mixtral-1.0 的合成生成数据集对基础模型进行指令调优,该数据集包含约 1000 个多轮对话,每个对话都有特定的主题指令。模型被训练为在给定当前对话的主题指令下,检测用户消息是切题还是干扰项。
输入输出
- 输入:文本类型,格式为字符串,输入参数为一维列表,包括带有主题指令的系统提示和结构化的对话历史记录。
- 输出:文本类型,格式为字符串,输出参数为一维,响应是一个二进制字符串标签,指示输入对话中最后一个用户回合是否符合主题指令。
软件集成
- 运行时引擎:PyTorch
- 库:Meta 的 llama-recipes、HuggingFace transformers 库、HuggingFace peft 库
- 支持的硬件平台:NVIDIA Ampere(A100 80GB, A100 40GB)
- 首选/支持的操作系统:Linux(Ubuntu)
训练、测试和评估数据集
推理
- 引擎:TRT-LLM/vLLM/Hugging Face
- 测试硬件:A100 80GB
📄 许可证
使用此模型受 NVIDIA Open Model License Agreement 约束。更多信息请参考 Llama 3.1 Community License Agreement。
🔍 参考资料
@article{sreedhar2024canttalkaboutthis,
title={CantTalkAboutThis: Aligning Language Models to Stay on Topic in Dialogues},
author={Sreedhar, Makesh Narsimhan and Rebedea, Traian and Ghosh, Shaona and Zeng, Jiaqi and Parisien, Christopher},
journal={arXiv preprint arXiv:2404.03820},
year={2024}
}
⚠️ 重要提示
NVIDIA 认为可信 AI 是一项共同责任,开发者在下载或使用该模型时,应与内部模型团队合作,确保该模型满足相关行业和用例的要求,并解决意外的产品滥用问题。请将安全漏洞或 NVIDIA AI 相关问题报告至 此处。
💡 使用建议
在使用该模型处理超出训练的 9 个领域(包括金融、健康、教育等)的提示时,建议进行充分测试,以确保模型的性能。同时,在与 NeMo Guardrails 集成时,请仔细参考相关文档进行配置。
📋 模型信息表格