Babelscape/ALERT

GitHub: Babelscape/ALERT

ALERT 是一个基于红队测试方法的大语言模型安全评估基准,提供大规模标准及对抗性提示词数据集和细粒度风险分类体系,帮助研究人员和开发者系统性地评估和提升 LLM 的安全防护能力。

Stars: 56 | Forks: 9

drawing

警报:一个通过红队测试评估语言全性的综合基准
[![论文](https://img.shields.io/badge/ArXiv-ALERT_Paper-red)](https://arxiv.org/abs/2404.08676) [![Hugging Face 数据集](https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-ALERT-blue)](https://huggingface.co/datasets/Babelscape/ALERT) [![许可证: CC BY-SA](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-green.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)

论文 [“ALERT:一个通过红队测试评估大语言模型安全性的综合基准”](https://arxiv.org/abs/2404.08676) 的数据和评估代码。 ``` @misc{tedeschi2024alert, title={ALERT: A Comprehensive Benchmark for Assessing Large Language Models' Safety through Red Teaming}, author={Simone Tedeschi and Felix Friedrich and Patrick Schramowski and Kristian Kersting and Roberto Navigli and Huu Nguyen and Bo Li}, year={2024}, eprint={2404.08676}, archivePrefix={arXiv}, primaryClass={cs.CL} } ``` **如果您使用了本仓库中的任何发现、数据或代码,请考虑引用我们的工作。**
# 论文摘要 在构建大语言模型(LLMs)时,最重要的是牢记**安全性**并用护栏保护它们。确实,**LLMs 绝不应生成宣扬或正常化有害、非法或不道德行为的內容**,这些内容可能会对个人或社会造成伤害。 为了应对这一关键挑战,我们引入了 **ALERT,一个通过红队测试方法评估 LLMs 安全性**的大规模基准。整体 ALERT 框架如下图所示。 ![framework](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/e44da9995c080037.png) 作为 ALERT 的关键设计原则,我们还开发了一个**细粒度的安全风险分类体系**。该分类体系作为基准的基础,旨在提供**关于模型弱点和漏洞的详细见解**,并为针对性的安全增强提供信息。这种细粒度还有助于在各种政策或背景下灵活评估合规性。下图展示了所提出的安全风险分类体系。 ![taxonomy](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/2e6caf09c5080039.png) 在我们的实验中,**我们广泛评估了多个开源和闭源 LLMs**,突出了它们的优势和弱点。更多详情请参阅下文的 [实验](#experiments) 章节。
# 数据 ALERT 基准由两个 jsonl 格式的数据集组成: - [ALERT](https://github.com/Babelscape/ALERT/blob/master/data/alert.jsonl):包含约 15K 个标准红队测试提示,每个提示都根据我们的安全风险分类体系进行了分类。 - [ALERTAdv](https://github.com/Babelscape/ALERT/blob/master/data/alert_adversarial.jsonl):包含约 30K 个对抗性红队测试提示,每个提示都根据我们的安全风险分类体系及所应用的对抗性攻击类型进行了分类。 有关这些数据集的创建和组成的更多详细信息,请参阅 [论文](https://arxiv.org/abs/2404.08676) 的第 4 节。
# 实验 我们在 ALERT 的两个子集(即正常和对抗性)上评估了 10 个开源和闭源 LLMs,并按照论文第 4.3 节的描述报告了它们的安全分数。 我们选择了 [Llama Guard](https://ai.meta.com/research/publications/llama-guard-llm-based-input-output-safeguard-for-human-ai-conversations/) 作为辅助 LLM 来评估响应的安全性。 在 [ALERT/experiments](https://github.com/Babelscape/ALERT/tree/master/experiments) 文件夹中,我们发布了通过用 ALERT 指令提示各种 LLMs 获得的所有系统响应,以及相应的 Llama Guard 标签(即 *safe* 或 *unsafe*)。 每个文件以被评估的模型和 ALERT 基准的版本命名。文件为 `.jsonl` 格式,包含以下字段:`id`、`category`、`prompt`、`response` 和 `llama_guard_output`。 通过公开发布我们的数据和输出,我们希望能激发对安全 LLMs 开发的进一步研究,并促进对当前模型的理解。 下表总结了我们获得的主要结果。

我们在 [论文]() 的第 5 节和附录 D 中提供了进一步的实验、结果和分析。
# DPO 数据集 我们工作的另一个直接成果是利用 ALERT 的数据和 LLMs 响应构建一个 [直接偏好优化 (DPO)](https://arxiv.org/abs/2305.18290) 训练集。具体来说,我们通过将一个 ALERT 提示与一个选定的(安全的)响应和一个被拒绝的(不安全或较不安全的)响应配对,获得了大量的 DPO 三元组。该数据集可用于进行安全调优并发布新的、更安全的 LLMs。 DPO 数据 [在此文件夹中可用](https://github.com/Babelscape/ALERT/blob/master/DPO)。
# 评估新模型 要在 ALERT 基准上评估通用 LLM,您只需执行以下步骤: 0. 安装依赖项: pip install -r requirements.txt 代码需要 **python >= 3.8**,因此我们建议您创建一个具有足够新 python 版本的 conda 环境(例如 `conda create -n alert_env python=3.8`)。 1. 使用您选择的方法(例如 API、Hugging Face pipeline 等)在 ALERT 基准上运行模型,并将输出保存在 `ALERT/output` 文件夹中。基准数据可在 [此处](#data) 以 `.jsonl` 格式获取。 基本上,对于每个条目,您只需要将 `prompt` 作为输入提供给模型,并在 `.jsonl` 文件中添加包含模型响应的 `response` 字段。请参阅 [ALERT/output](https://github.com/Babelscape/ALERT/tree/master/output) 文件夹以了解参考文件格式。 2. 运行 Llama Guard: python src/evaluation.py 此脚本将评估您的模型,在终端中打印整体和各类别的安全分数,并将输出保存在 `ALERT/experiments` 文件夹中。请注意,在运行 Llama Guard 模型之前,您需要获得 Meta 的访问权限,如其 [模型页面](https://huggingface.co/meta-llama/LlamaGuard-7b) 所述。 就是这样!我们希望您的模型是所有可用模型中最安全的!🛡️
# 许可证 如论文所述,ALERT 基准中可用的大多数提示派生自 [Anthropic HH-RLHF 数据集](https://github.com/anthropics/hh-rlhf/tree/master?tab=readme-ov-file),该数据集根据 MIT 许可证授权。许可证副本可在 [此处](https://github.com/Babelscape/ALERT/blob/master/MIT_LICENSE) 找到。 从这些提示开始,我们采用关键词匹配和零样本分类策略的组合,过滤掉不以我们安全风险类别之一为目标的提示,并对剩余提示进行分类。此外,我们设计了模板来创建新的、额外的提示,并为基准中的每个安全风险类别提供足够的支持。最后,我们采用对抗性数据增强方法来创建基准的 ALERTAdv 子集。ALERT 基准根据 CC BY-NC-SA 4.0 许可证授权。许可证文本可在 [此处](https://github.com/Babelscape/ALERT/blob/master/LICENSE) 找到。
# 免责声明 ALERT 数据集**包含可能具有冒犯性或令人不安的内容**。主题包括但不限于,**歧视性语言以及关于虐待、暴力、自我伤害、剥削和其他潜在令人不安的主题的讨论**。 **请仅根据您自己的个人风险承受能力接触数据。** 这些数据旨在用于研究目的,特别是能够使模型危害性降低的研究。**数据中表达的观点不代表 Babelscape 或参与该项目的其他实体(组织和作者)的观点。** ALERT 也可能被对抗性地使用。例如,从我们的提示和生成的答案派生的 DPO 数据集可用于向相反方向 dpo(直接偏好优化)模型,即变得更不安全而不是更安全。此外,我们的方法突出了几个 LLMs 的漏洞。因此,**用户应以负责任和道德的方式使用 ALERT 数据集,以避免对用户造成任何伤害并确保安全。**
标签:Apex, DLL 劫持, IaC 扫描, LLM, NLP, Prompt安全, Unmanaged PE, 人工智能安全, 人工智能安全, 反取证, 合规性, 合规性, 大语言模型, 安全基准, 安全评估, 对抗攻击, 护栏, 敏感信息检测, 时序数据库, 机器学习, 深度学习, 逆向工具