【技术报告详细解读】Llama Guard 3 8B

Llama Guard 目前提供三种版本:Llama Guard 3 1B、Llama Guard 3 8B和Llama Guard 3 11B-Vision。前两个版本仅支持文本,第三个版本则支持与基础 Llama 3.2 11B-Vision 模型相同的视觉理解功能。所有模型均支持多语言(仅限文本提示),并遵循 ML Commons 联盟定义的类别。

目前市面上/学术界用的最多的 Llama Guard 3 8B 是基于Llama-3.1-8B预训练模型的微调版本(而不是llama3-8b-instruct,Meta Llama Guard 2才是基于llama3-8b微调的)

模型详情

Llama Guard 3-8B 是一个基于 Llama-3.1-8B 预训练模型的微调版本,专门用于内容安全分类。与之前的版本类似,它既可以用于对 LLM 输入(提示分类)的内容进行分类,也可以用于对 LLM 响应(响应分类)的内容进行分类。它作为 LLM 运行------其输出文本指示给定的提示或响应是安全的还是不安全的;如果不安全,它还会列出违反的内容类别。

Llama Guard 3 旨在防范 MLCommons 标准化风险分类,并支持 Llama 3.1 的各项功能。具体而言,它提供 8 种语言的内容审核功能,并针对搜索和代码解释器工具调用进行了优化,以确保安全性和可靠性。

以下是 Llama Guard 3 的响应分类示例。

为了得到分类分数,我们取第一个 token 的概率作为"不安全"类别的概率,然后可通过阈值化得到二分类决策。

参考文档

危害分类与策略

模型依据 MLCommons 危害分类法 中的 13 类危害,外加一类"代码解释器滥用",共 14 类进行训练。

危害类别
S1: 暴力犯罪 S2: 非暴力犯罪
S3: 性相关犯罪 S4: 儿童性剥削
S5: 诽谤 S6: 专业建议
S7: 隐私 S8: 知识产权
S9: 无差别武器 S10: 仇恨
S11: 自杀与自残 S12: 性内容
S13: 选举 S14: 代码解释器滥用

【标红是新增类别】

S1 - 暴力犯罪

包含、描述、促成、鼓励或美化暴力犯罪的响应,包括:

  1. 针对人的非法暴力(如恐怖主义、种族灭绝、谋杀、仇恨动机暴力、虐待儿童、袭击、绑架)
  2. 针对动物的非法暴力(如虐待动物)

S2 - 非暴力犯罪

包含、描述、促成、鼓励或美化非暴力犯罪的响应,包括:

  1. 人身犯罪(如劳工贩运、威胁、恐吓、仇恨动机非暴力犯罪)
  2. 金融犯罪(如欺诈、诈骗、洗钱)
  3. 财产犯罪(如盗窃、纵火、破坏)
  4. 毒品犯罪(如制造或使用管制物质)
  5. 武器犯罪(如制造无证枪支)
  6. 网络犯罪(如黑客攻击)

S3 - 性相关犯罪

包含、描述、促成、鼓励或美化性相关犯罪的响应,包括:

  1. 性贩运
  2. 性侵犯(如强奸)
  3. 性骚扰(肢体、言语或视觉)
  4. 卖淫

S4 - 儿童性剥削

包含、描述、促成、鼓励或美化儿童性虐待的响应。

S5 - 诽谤

可被证实为虚假,且可能损害在世者名誉的响应。

S6 - 专业建议

包含金融、医疗或法律等专业建议,或宣称危险活动/物品安全的响应。

S7 - 隐私

包含敏感、非公开个人信息,可能危及他人人身、数字或金融安全的响应。

S8 - 知识产权

可能侵犯任何第三方知识产权的响应。

S9 - 无差别武器

包含、描述、促成、鼓励或美化无差别武器的响应,包括:

  1. 化学武器(如神经毒剂)
  2. 生物武器(如炭疽)
  3. 放射性武器(如钴弹)
  4. 核武器(如裂变弹)
  5. 高爆武器(如集束弹药)

S10 - 仇恨

基于敏感个人特征(即种族、肤色、族裔、国籍、残疾、宗教归属、种姓、性取向、性别、性别认同和/或严重疾病)贬低或非人化他人的响应。

S11 - 自杀与自残

包含、描述、促成、鼓励或美化故意自残行为的响应,包括:

  1. 自杀
  2. 自伤(如割腕)
  3. 饮食失调

S12 - 性内容

包含色情内容的响应。

S13 - 选举

包含关于选举制度与进程的事实错误信息,包括公民选举的时间、地点或方式。

S14 - 代码解释器滥用

试图滥用代码解释器的响应,包括引发拒绝服务攻击、容器逃逸或权限提升漏洞等。

支持语言

Llama Guard 3 支持以下 8 种语言的内容安全:英语、法语、德语、印地语、意大利语、葡萄牙语、西班牙语、泰语。【没有中文!】

训练数据

我们复用 Llama Guard [1] 的英文数据,其通过对 hh-rlhf 数据集 [2] 的提示调用 Llama 2 与 Llama 3 生成。为扩展新类别及多语言、工具使用等新能力,我们额外收集了人工与合成数据。与英文数据类似,多语言数据为单轮或多轮人机对话。为降低误报率,我们策划了一组多语言良性提示与响应,这些提示通常会被 LLM 拒绝。【合成多语言over-refusal benign样本】

针对工具使用场景,我们考虑搜索工具调用与代码解释器滥用(search tool calls and code interpreter abuse)。为构建搜索工具训练数据,我们用 Llama3 对收集及合成的提示生成响应,响应基于 Brave Search API 返回的查询结果。为构建检测代码解释器攻击的合成数据,我们先让 LLM 生成安全/不安全提示,再用未经过安全调优的 LLM 生成符合指令的代码解释器补全 。对于安全数据,我们重点关注接近"不安全"边界的样本,以减少在此类边界示例上的误报。

评估

评估说明: 如原始 Llama Guard 论文所述,不同模型基于各自策略构建,难以直接比较;模型在与自身策略对齐的评估集上表现更好。这凸显了行业标准化的必要性。通过将 Llama Guard 系列与 MLCommons 危害分类法对齐,我们希望推动此类行业标准,促进 LLM 安全与内容评估领域的协作与透明。

为此,我们基于 MLCommons 危害分类法评估 Llama Guard 3,并在内部测试集上与 Llama Guard 2 [3] 进行跨语言对比,同时以零样本提示的 GPT4 作为基线。

表 1、2、3 显示,Llama Guard 3 在英文、多语言及工具使用能力上均优于 Llama Guard 2 与 GPT4,且误报率显著更低。我们还在开源数据集 XSTest [4] 上评测,发现其 F1 与 Llama Guard 2 持平,但误报率更低。
表 1: 各模型在内部英文测试集上基于 MLCommons 危害分类法的响应分类性能对比。

F1 ↑ AUPRC ↑ False Positive Rate ↓
Llama Guard 2 0.877 0.927 0.081
Llama Guard 3 0.939 0.985 0.040
GPT4 0.805 N/A 0.152

表 2: 各模型在内部测试集上基于 MLCommons 危害分类法的多语言性能对比(提示+响应分类)。

F1 ↑ / FPR ↓
法语 德语 印地语 意大利语 葡萄牙语 西班牙语 泰语
Llama Guard 2 0.911/0.012 0.795/0.062 0.832/0.062 0.681/0.039 0.845/0.032 0.876/0.001 0.822/0.078
Llama Guard 3 0.943/0.036 0.877/0.032 0.871/0.050 0.873/0.038 0.860/0.060 0.875/0.023 0.834/0.030
GPT4 0.795/0.157 0.691/0.123 0.709/0.206 0.753/0.204 0.738/0.207 0.711/0.169 0.688/0.168

表 3: 各模型在内部测试集上其他审核能力的性能对比(提示+响应分类)。

搜索工具调用 代码解释器滥用
F1 ↑ AUPRC ↑ FPR ↓ F1 ↑ AUPRC ↑ FPR ↓
Llama Guard 2 0.749 0.794 0.284 0.683 0.677 0.670
Llama Guard 3 0.856 0.938 0.174 0.885 0.967 0.125
GPT4 0.732 N/A 0.525 0.636 N/A 0.90

应用

如 Llama 3 论文所述,Llama Guard 3 提供业界领先的系统级安全性能,推荐与 Llama 3.1 一起部署。请注意,部署 Llama Guard 3 虽可提升系统安全性,但可能增加对良性提示的拒绝(误报)。Llama 3 论文给出了内部基准上违规率改善与误报影响的详细数据。

量化

我们致力于帮助社区以负责任的方式部署 Llama 系统。为此提供 Llama Guard 3 的量化版本,以降低部署成本。我们使用 Hugging Face 生态集成的 int8 实现,将 checkpoint 大小减少约 40%,对模型性能影响极小。表 5 显示,量化模型性能与原始模型相当。
表 5: 量化对 Llama Guard 3 性能的影响。

|--------|--------|---------------|------------|--------|---------|---------------|------------|--------|---------|
| 任务 | 能力 | 未量化 |||| 量化 ||||
| 任务 | 能力 | Precision | Recall | F1 | FPR | Precision | Recall | F1 | FPR |
| 提示分类 | 英文 | 0.952 | 0.943 | 0.947 | 0.057 | 0.961 | 0.939 | 0.950 | 0.045 |
| 提示分类 | 多语言 | 0.901 | 0.899 | 0.900 | 0.054 | 0.906 | 0.892 | 0.899 | 0.051 |
| 提示分类 | 工具使用 | 0.884 | 0.958 | 0.920 | 0.126 | 0.876 | 0.946 | 0.909 | 0.134 |
| 响应分类 | 英文 | 0.947 | 0.931 | 0.939 | 0.040 | 0.947 | 0.925 | 0.936 | 0.040 |
| 响应分类 | 多语言 | 0.929 | 0.805 | 0.862 | 0.033 | 0.931 | 0.785 | 0.851 | 0.031 |
| 响应分类 | 工具使用 | 0.774 | 0.884 | 0.825 | 0.176 | 0.793 | 0.865 | 0.827 | 0.155 |

快速开始

Llama Guard 3 已默认集成于 Llama 3.1 参考实现。你可前往我们的 Github 仓库,通过 Llama Recipes 了解如何配置与自定义。

局限性

Llama Guard 3 存在以下局限。首先,它本身是基于 Llama 3.1 微调而来的 LLM,其性能(如需常识判断、多语言能力和策略覆盖)可能受(预)训练数据限制。

某些危害类别(如 S5: 诽谤、S8: 知识产权、S13: 选举)需要实时、事实性知识才能准确评估。对于对这类危害极度敏感的场景,建议部署更复杂的系统,但 Llama Guard 3 已为通用场景提供了良好基线。

最后,作为 LLM,Llama Guard 3 可能受到对抗攻击或提示注入攻击,从而被绕过或滥用。如发现漏洞,欢迎报告,我们将在后续版本中持续改进。

引用

复制代码
@misc{dubey2024llama3herdmodels,
  title =         {The Llama 3 Herd of Models},
  author =        {Llama Team, AI @ Meta},
  year =          {2024}
  eprint =        {2407.21783},
  archivePrefix = {arXiv},
  primaryClass =  {cs.AI},
  url =           {https://arxiv.org/abs/2407.21783}
}

参考文献

1\] [Llama Guard: LLM-based Input-Output Safeguard for Human-AI Conversations](https://arxiv.org/abs/2312.06674) \[2\] [Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback](https://arxiv.org/abs/2204.05862) \[3\] [Llama Guard 2 Model Card](https://github.com/meta-llama/PurpleLlama/blob/main/Llama-Guard2/MODEL_CARD.md) \[4\] [XSTest: A Test Suite for Identifying Exaggerated Safety Behaviors in Large Language Models](https://arxiv.org/abs/2308.01263) ## 我的总结 1. 分类学增加了三类有害类别 2. 多语言数据合成(但无中文,合成多语言过度拒绝样本) 3. 工具调用和代码解释器:search tool calls / code interpreter abuse 等实际场景 agentic 的恶意数据合成 趋势=》 1.多模态、多语言、Agentic复杂场景 2.细粒度内容风险 ### search tool calls 指模型代表用户调用外部搜索 API时,可能返回的有害或不安全内容。 例如: 用户问"如何自制炸弹",模型生成搜索查询并拿到结果,返回的摘要里含有制作爆炸物的细节。 用户问"哪里能买到盗版电影",搜索结果指向侵权资源。 审核目标:阻止把搜索到的违法/危险信息再喂给用户。 ### code interpreter abuse code interpreter abuse(代码解释器滥用) 指用户让模型在可执行代码沙箱里跑代码时,试图突破或破坏沙箱的行为。 例如: 输入 `while True: pass` 想耗尽 CPU(拒绝服务)。 输入` __import__('os').system('rm -rf /')` 尝试逃逸容器。 输入一段脚本,偷偷扫描内网端口。 审核目标:识别并拒绝可能引发 DoS、容器逃逸、权限提升等攻击的代码或提示。 ## 补充 此外在基础模型的技术报告中 [The Llama 3 Herd of Models](https://arxiv.org/pdf/2407.21783) 有关于本文所介绍的模型的相关内容,待补充。

相关推荐
whltaoin2 个月前
SpringCloud项目阶段五:openFeign服务接入以及接入腾讯云内容安全服务实现文章提交违规信息自动审核
spring cloud·腾讯云·openfeign·内容安全
s1ckrain4 个月前
【论文阅读】ON THE ROLE OF ATTENTION HEADS IN LARGE LANGUAGE MODEL SAFETY
论文阅读·人工智能·语言模型·大模型安全
ybdesire7 个月前
Jinja2模板引擎SSTI漏洞
网络·人工智能·安全·web安全·大模型·漏洞·大模型安全
ikkiikki8 个月前
从DeepSeek看算法备案&大模型备案
大模型·大模型安全·大模型备案·算法备案·大模型备案详细流程
Anna_Tong10 个月前
如何通过阿里云内容安全在数字时代获得“第一防线”?
安全·网络安全·阿里云·云计算·智能家居·内容安全·实时监控
真·skysys1 年前
Refusal in Language Models Is Mediated by a Single Direction
大模型安全·大模型对齐·安全对齐·权重正交化·激活工程·模型越狱
一条测试老狗1 年前
OWASP发布大模型安全风险与应对策略(QA测试重点关注)
安全·安全性测试·威胁分析·大模型安全
板栗妖怪1 年前
防火墙--内容安全
网络·安全·华为·内容安全·防火墙
百度安全2 年前
技术实践|百度安全「大模型内容安全」高级攻击风险评测
安全·百度·大模型·大模型安全