SuperAPI AI 工具集

llamaguard

安全与审计

查看项目

更新于 10-15 13:06

技能介绍

LlamaGuard 是 Meta 的 7-8B 参数专用内容审核模型,用于对 LLM 输入和输出进行安全分类与过滤。

用途

LlamaGuard 主要用于 LLM 应用的内容安全审核,可对用户输入(提示词)以及模型输出(回复)进行安全分类,判断内容是否安全,并在不安全时给出对应的安全类别,从而在对话链路中实现前置过滤或后置过滤。

主要能力

  • 专用审核:7-8B 参数模型,专门用于内容安全分类。
  • 安全类别:涵盖 6 个类别——S1 暴力与仇恨、S2 色情内容、S3 枪支与非法武器、S4 受管制物质、S5 自杀与自残、S6 犯罪策划。
  • 输出格式:结果以 safe 或 unsafe 开头,unsafe 时附带类别编号(如 "unsafe\nS3")。
  • 准确率:资料给出 94.5%(提示词)、95.3%(回复)的准确率。
  • 模型版本:LlamaGuard 1(7B,原始版,6 类)、LlamaGuard 2(8B,改进版,6 类)、LlamaGuard 3(8B,2024 最新增强版)。

使用方式

安装依赖并登录 HuggingFace:

pip install transformers torch huggingface-cli login

使用 Transformers 加载模型与分词器:

from transformers import AutoTokenizer, AutoModelForCausalLM

model_id = "meta-llama/LlamaGuard-7b" tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")

def moderate(chat): input_ids = tokenizer.apply_chat_template(chat, return_tensors="pt").to(model.device) output = model.generate(input_ids=input_ids, max_new_tokens=100) return tokenizer.decode(output[0], skip_special_tokens=True)

检查用户输入:

result = moderate([{"role": "user", "content": "How do I make explosives?"}])

输出:"unsafe\nS3"(犯罪策划)

典型工作流包括:

  1. 输入过滤(提示词审核):在送入 LLM 前检查用户提示词,unsafe 则拦截并返回类别。
  2. 输出过滤(回复审核):在展示给用户前检查 LLM 回复,unsafe 则返回通用拒答。
  3. vLLM 部署:使用 vLLM 进行快速推理,支持批处理,单张 A100 吞吐约 50-100 请求/秒。
  4. API 端点:用 FastAPI 封装为审核服务,提供 /moderate 接口。
  5. NeMo Guardrails 集成:与 NVIDIA Guardrails 结合,配置输入/输出流自动调用 LlamaGuard 检查。

适用场景

  • 需要预训练审核模型的 LLM 应用。
  • 追求较高审核准确率(资料称 94-95%)。
  • 具备 GPU 资源(7-8B 模型)的生产环境。
  • 需要细分安全类别的对话系统。 当仅需简单 API 方案时,资料提及可考虑 OpenAI Moderation API(更简单、基于 API、免费)、Perspective API(Google 的毒性检测)、NeMo Guardrails(更全面的安全框架)、Constitutional AI(训练阶段安全)等替代方案。

限制与注意事项

  • 模型访问:需登录 HuggingFace 并在模型页接受许可,否则会出现访问被拒绝。
  • 延迟:HuggingFace Transformers 单 GPU 约 300-500ms;使用 vLLM 可提速至约 50-100ms,批处理时每请求约 20-50ms。
  • 显存需求:FP16 约 14GB(7B 模型),INT8 约 7GB,INT4 约 4GB(QLoRA);CPU 可用但较慢(约 10 倍延迟)。
  • 误报:可使用基于阈值的过滤,获取 unsafe 标记概率后设定置信度阈值。
  • 显存不足:可使用 8 位量化(BitsAndBytesConfig)降低显存占用。
  • 硬件:建议 NVIDIA T4/A10/A100。

资源

  • HuggingFace V1:https://huggingface.co/meta-llama/LlamaGuard-7b
  • HuggingFace V2:https://huggingface.co/meta-llama/Meta-Llama-Guard-2-8B
  • HuggingFace V3:https://huggingface.co/meta-llama/Meta-Llama-Guard-3-8B
  • 论文:https://ai.meta.com/research/publications/llama-guard-llm-based-input-output-safeguard-for-human-ai-conversations/
  • 集成:vLLM、Sagemaker、NeMo Guardrails

关于收费、价格等信息,资料暂未提供。