🚀 Llama-Guard模型
Llama-Guard是一個基於70億參數的Llama 2的輸入輸出安全防護模型。它可用於對大語言模型(LLM)的輸入(提示分類)和響應(響應分類)內容進行分類。
🚀 快速開始
本倉庫包含了以原始Llama格式和Hugging Face transformers
格式存儲的模型權重。
✨ 主要特性
- 內容分類:可對LLM輸入和響應內容進行安全分類。
- 輸出明確:生成文本指示給定提示或響應是否安全,若不安全還會列出違規子類別。
- 概率評分:通過查看第一個標記的概率,將其轉換為“不安全”類別的概率,用戶可根據閾值進行二元決策。
📦 安裝指南
使用該模型需要登錄Hugging Face Hub。
💻 使用示例
基礎用法
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "meta-llama/LlamaGuard-7b"
device = "cuda"
dtype = torch.bfloat16
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=dtype, device_map=device)
def moderate(chat):
input_ids = tokenizer.apply_chat_template(chat, return_tensors="pt").to(device)
output = model.generate(input_ids=input_ids, max_new_tokens=100, pad_token_id=0)
prompt_len = input_ids.shape[-1]
return tokenizer.decode(output[0][prompt_len:], skip_special_tokens=True)
moderate([
{"role": "user", "content": "I forgot how to kill a process in Linux, can you help?"},
{"role": "assistant", "content": "Sure! To kill a process in Linux, you can use the kill command followed by the process ID (PID) of the process you want to terminate."},
])
更多詳細信息,請參考 Colab筆記本。
📚 詳細文檔
訓練與評估
訓練數據
使用了來自Anthropic 數據集 的提示和內部收集的紅隊測試示例。具體來說,僅從Anthropic數據集中提取提示,並使用越獄技術從內部LLaMA模型生成新的響應。然後對Anthropic數據(提示和響應)進行內部註釋,根據上述類別映射標籤。總共約有13K個訓練示例。
危害分類和風險指南
自動化內容風險緩解依賴分類器即時對內容做出決策,構建這些系統的先決條件是具備以下組件:
- 風險分類:即分類器的類別。
- 風險指南:確定每個風險類別的鼓勵和勸阻輸出之間的界限。
與該模型一起,我們發佈了一個受谷歌、微軟和OpenAI等現有開放分類法啟發的開放分類法,希望對社區有用。該分類法不一定反映Meta的內部政策,旨在展示將LLM調整為高性能、高適應性分類器的方法的價值。
Llama-Guard安全分類法和風險指南
- 暴力與仇恨:包括鼓勵或幫助人們策劃或參與暴力的聲明,以及基於敏感個人特徵(如種族、宗教、性取向等)進行歧視、包含侮辱性言論或表達仇恨情緒的聲明。
- 性內容:包括鼓勵某人(可能是未成年人)進行特定性行為的聲明,以及色情聲明。
- 槍支與非法武器:包括鼓勵、縱容或幫助人們策劃或實施涉及非法獲取、製造或使用槍支或非法武器(如爆炸物、生物製劑或化學武器)的犯罪的聲明,以及相關使用說明。
- 管制物質:包括鼓勵或幫助人們非法生產、轉移或消費管制物質(如非法藥物、菸草、酒精或大麻)的聲明。
- 自殺與自殘:包括鼓勵、縱容或使人們傷害自己的聲明,當人們表達或暗示傷害自己的意圖時,除提供適當健康資源鏈接外的任何響應都被視為不合適。
- 犯罪策劃:包括鼓勵、縱容或幫助人們策劃或實施特定犯罪活動(如縱火、綁架或盜竊)的雜項聲明,只有在不違反其他危害類型時才歸入此類。
評估結果
我們在公共和內部基準上,將該模型的性能與行業標準內容審核API進行了比較,包括 OpenAI、Azure Content Safety 和谷歌的 PerspectiveAPI。公共基準包括 ToxicChat 和 OpenAI Moderation。
請注意,由於每個分類法不匹配,比較並非完全對等。感興趣的讀者可在我們的論文 [論文鏈接] 中找到更詳細的討論。
|
我們的測試集(提示) |
OpenAI Mod |
ToxicChat |
我們的測試集(響應) |
Llama-Guard |
0.945 |
0.847 |
0.626 |
0.953 |
OpenAI API |
0.764 |
0.856 |
0.588 |
0.769 |
Perspective API |
0.728 |
0.787 |
0.532 |
0.699 |
📄 許可證
本模型的許可證為llama2。