🚀 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 集成時,請仔細參考相關文檔進行配置。
📋 模型信息表格