🚀 GenTel-Shield 检测模型
GenTel-Shield 检测模型是一个用于检测恶意提示注入攻击的模型。它通过构建训练数据集、进行数据增强、使用预训练模型进行训练等步骤,能够有效区分恶意和良性样本,在多种攻击场景下的检测效果优于现有方法。
🚀 快速开始
GenTel-Shield 检测模型的开发遵循五步流程。首先,通过从在线来源收集数据和专家贡献构建训练数据集。接着,对这些数据进行二值标注和清理以确保质量。然后,应用数据增强技术扩展数据集。之后,使用预训练模型进行训练。最后,训练好的模型就能区分恶意和良性样本。
以下是 GenTel-Shield 的工作流程:

✨ 主要特性
- 多源数据:训练数据来自公共平台的风险数据和 LLM 应用的既定数据集。
- 数据增强:通过语义变更和字符级扰动增强样本多样性,提高模型鲁棒性。
- 高性能表现:在多种攻击场景下,如越狱攻击、目标劫持攻击和提示泄露攻击,检测准确率和 F1 分数优于现有方法。
📦 安装指南
文档未提及安装步骤,故跳过此章节。
💻 使用示例
文档未提供代码示例,故跳过此章节。
📚 详细文档
训练数据准备
数据收集
我们的训练数据主要来自两个来源。第一个来源包括公共平台的风险数据,如 jailbreakchat.com 和 reddit.com 等网站,以及 LLM 应用的既定数据集,如 VMware Open-Instruct 数据集和 Chatbot Instruction Prompts 数据集。领域专家对这些示例进行了标注,将提示分为有害注入攻击样本和良性样本两类。
数据增强
在现实场景中,我们遇到过对抗样本,如添加了无意义字符或删除了单词的样本,这些样本可以绕过防御模型的检测,可能导致危险行为。为了增强我们检测模型的鲁棒性,我们实施了数据增强,重点是对样本进行语义变更和字符级扰动。我们采用了四种简单而有效的字符扰动操作:同义词替换、随机插入、随机交换和随机删除。我们使用大语言模型对数据进行重写以进行语义增强,从而生成更多样化的训练样本。
模型训练细节
我们在提出的训练文本对数据集上微调 GenTel-Shield 模型,从多语言 E5 文本嵌入模型进行初始化。训练在配备一块 NVIDIA GeForce RTX 4090D (24GB) GPU 的单台机器上进行,使用的批量大小为 32。模型以 2e - 5 的学习率进行训练,采用余弦学习率调度器和 0.01 的权重衰减来减轻过拟合。为了优化内存使用,我们使用混合精度 (fp16) 训练。此外,训练过程包括 500 步的热身阶段,并应用最大范数为 1.0 的梯度裁剪。
评估
数据集
Gentel-Bench 为评估模型对各种注入攻击的鲁棒性提供了一个全面的框架。Gentel-Bench 的良性数据与大语言模型的典型使用情况密切相似,分为十个应用场景。恶意数据包含 84,812 个提示注入攻击,分布在 3 个主要类别和 28 个不同的安全场景中。
Gentel-Bench
我们在 Gentel-Bench 上评估了模型在检测越狱、目标劫持和提示泄露攻击方面的有效性。结果表明,我们的方法在大多数场景下优于现有方法,特别是在准确率和 F1 分数方面。
越狱攻击场景的分类性能
方法 |
准确率 ↑ |
精确率 ↑ |
F1 分数 ↑ |
召回率 ↑ |
ProtectAI |
89.46 |
99.59 |
88.62 |
79.83 |
Hyperion |
94.70 |
94.21 |
94.88 |
95.57 |
Prompt Guard |
50.58 |
51.03 |
66.85 |
96.88 |
Lakera AI |
87.20 |
92.12 |
86.84 |
82.14 |
Deepset |
65.69 |
60.63 |
75.49 |
100 |
Fmops |
63.35 |
59.04 |
74.25 |
100 |
WhyLabs LangKit |
78.86 |
98.48 |
75.28 |
60.92 |
GenTel-Shield(我们的) |
97.63 |
98.04 |
97.69 |
97.34 |
目标劫持攻击场景的分类性能
方法 |
准确率 ↑ |
精确率 ↑ |
F1 分数 ↑ |
召回率 ↑ |
ProtectAI |
94.25 |
99.79 |
93.95 |
88.76 |
Hyperion |
90.68 |
94.53 |
90.33 |
86.48 |
Prompt Guard |
50.90 |
50.61 |
67.21 |
100 |
Lakera AI |
74.63 |
88.59 |
69.33 |
56.95 |
Deepset |
63.40 |
57.90 |
73.34 |
100 |
Fmops |
61.03 |
56.36 |
72.09 |
100 |
WhyLabs LangKit |
68.14 |
97.53 |
54.35 |
37.67 |
GenTel-Shield(我们的) |
96.81 |
99.44 |
96.74 |
94.19 |
提示泄露攻击场景的分类性能
方法 |
准确率 ↑ |
精确率 ↑ |
F1 分数 ↑ |
召回率 ↑ |
ProtectAI |
90.94 |
99.77 |
90.06 |
82.08 |
Hyperion |
90.85 |
95.01 |
90.41 |
86.23 |
Prompt Guard |
50.28 |
50.14 |
66.79 |
100 |
Lakera AI |
96.04 |
93.11 |
96.17 |
99.43 |
Deepset |
61.79 |
57.08 |
71.34 |
95.09 |
Fmops |
58.77 |
55.07 |
69.80 |
95.28 |
WhyLabs LangKit |
99.34 |
99.62 |
99.34 |
99.06 |
GenTel-Shield(我们的) |
97.92 |
99.42 |
97.89 |
96.42 |
细分场景

🔧 技术细节
- 模型类型:基于多语言 E5 文本嵌入模型进行微调。
- 训练数据:来自公共平台的风险数据和 LLM 应用的既定数据集。
- 训练环境:单台配备 NVIDIA GeForce RTX 4090D (24GB) GPU 的机器。
- 训练参数:批量大小 32,学习率 2e - 5,余弦学习率调度器,权重衰减 0.01,混合精度 (fp16) 训练,500 步热身阶段,梯度裁剪最大范数 1.0。
属性 |
详情 |
模型类型 |
基于多语言 E5 文本嵌入模型微调 |
训练数据 |
公共平台风险数据和 LLM 应用既定数据集 |
📄 许可证
文档未提及许可证信息,故跳过此章节。
📖 引用
Li, Rongchang, et al. "GenTel-Safe: A Unified Benchmark and Shielding Framework for Defending Against Prompt Injection Attacks" arXiv preprint arXiv:2409.19521 (2024).