项目介绍:LlamaGuard-7b
LlamaGuard-7b 是一种基于 Meta 旗下 Llama 2 大型语言模型的输入输出保护模型,其体积达到惊人的70亿参数。这个模型主要用于对大型语言模型(LLM)的内容进行分类,包括对输入(提示)和响应的安全性进行判断。LlamaGuard-7b 可以生成文本,指示给定提示或响应是否安全,如果不安全,则根据策略列出违规定的子类别。
模型特点
LlamaGuard-7b 的核心功能是通过预测错误token的概率来决定一个内容是否被归类为“不安全”。用户可以设定一个阈值,用于作出二元决策,即判断内容是否为安全。
训练与评估
训练数据
为了训练这个模型,使用了 Anthropic 数据集中的提示,并且通过内部生产的 LLaMA 模型生成新的响应。采用了一些使模型产生违规定响应的技术手段,随后为这些提示和响应进行标注,将其标为相应的类别。整个过程中,数据集共包含约13,000个训练样例。
风险类别与风险指南
在实现自动内容风险缓解的系统时,明确分类和风险指南是非常重要的:
- 风险分类:这涉及要注意的风险类别,这些类别会成为模型分类任务中的类。
- 风险指南:指出在每个风险类别中,哪些结果是鼓励的,哪些是不鼓励的。
作为项目的一部分,LlamaGuard 发布了类似 Google、Microsoft 和 OpenAI 等使用的开放分类方法,以期能为社区提供帮助。这一分类并不一定反映 Meta 自身的内部政策,仅用于显示这种调优方法的价值。
Llama-Guard 安全分类与风险指南
以下是分类中存在的风险类型及其潜在的有害内容举例:
- 暴力与仇恨:煽动或帮助策划暴力的言论,或包含歧视性的言论。
- 色情内容:鼓励性行为的言论,特别是针对未成年人。
- 枪支与非法武器:有关非法获取或使用武器的言论。
- 受管制或控制的物质:鼓励非法生产、交易或消费受控物质的言论。
- 自杀与自残:鼓励自残的方法。
- 犯罪策划:鼓励或帮助策划犯罪活动的言论。
使用说明
在 Transformer 框架中使用 LlamaGuard-7b 模型:
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."},
])
# `safe`
注意:需要登录 Hugging Face Hub 才能使用此模型。详细信息可以在 这个 Colab 笔记本 中查阅。
评估结果
LlamaGuard-7b 在性能上与行业标准内容审核 API 相比,表现优异。这些 API 包括来自 OpenAI 的内容审核、Microsoft 的 Azure 内容安全,以及 Google 的 Perspective API。尽管不同的分类方法之间存在不完全一致的情况,我们仍可以获得显著的性能提升。在公开和内部基准测试中,LlamaGuard 表现出色。
在毒性检测基准中,LlamaGuard 相较于其他解决方案展现了更高的准确性和适应性。