five

Prompt安全检测数据集

收藏
魔搭社区2026-05-20 更新2026-05-03 收录
下载链接:
https://modelscope.cn/datasets/ynygljj/Unified-Prompt-Guard
下载链接
链接失效反馈
官方服务:
资源简介:
# Unified-Prompt-Guard (Cerberus Dataset) 这是一个综合性的 Prompt 安全检测数据集,专门用于训练防御 LLM 越狱攻击(Jailbreak)和有害输入(Unsafe Prompts)的二分类模型。数据集经过大规模数据增强处理,包括循环翻译和英文改写等技术。 ## 数据集描述 本数据集由以下三个高质量源合并而成,并经过严格的全局去重处理: ### 主要来源 1. **jailbreak-detection-dataset**: 专注于越狱攻击模式和对抗性指令。 2. **Nemotron-Safety-Guard-Dataset-v3 (zh)**: NVIDIA 提供的针对中文场景的安全对话数据。 3. **PKU-SafeRLHF**: 北京大学提供的多维度偏好对齐数据(提取自其 Prompt 层)。 ### 数据集规模 | 数据集 | 样本数 | |-------------|---------| | 训练集 (train) | 265,589 | | 验证集 (val) | 10,857 | | 测试集 (test) | 10,857 | ### 数据字段 数据集包含以下 6 个字段: | 字段名 | 类型 | 描述 | |------------|---------|--------------------------------------------------------------------------------------------------------------------------| | `text` | str | 原始文本内容 | | `label` | int/str | 标签:`0` 或 `safe`(安全),`1` 或 `unsafe`(不安全) | | `source` | str | 数据来源标识(如 `jailbreak`, `nemotron`, `saferlhf` 等) | | `lang` | str | 语言类型:`zh`(中文)、`en`(英文)、`mixed`(混合)、`code`(代码)、`other`(其他) | | `is_aug` | int | 是否为增强样本:`0`(原始样本)、`1`(增强样本) | | `aug_type` | str | 增强类型:`orig`(原始)、`bt_zh`(中文回译)、`bt_en`(英文回译)、`bt_mixed_best`(混合回译最优)、`para_en`(英文改写)、`cheap_zh/en/mixed/code/other`(轻量扰动) | ## 标签定义 | 标签 | ID | 描述 | |--------|----|-------------------| | safe | 0 | 内容无害,模型可以直接响应 | | unsafe | 1 | 包含越狱尝试、恶意指令或不合规内容 | ## 数据增强流程 数据集经过多轮数据增强处理,显著提升了数据多样性: ### 1. 语言检测与分类 - 使用正则表达式和统计特征自动检测文本语言类型 - 分类:`zh`(中文)、`en`(英文)、`mixed`(中英混合)、`code`(代码)、`other`(其他) ### 2. 循环翻译增强 (Back-Translation) 采用 NLLB-200-3.3B 模型进行双向翻译增强: - **中文样本**:`zh → en → zh`(中文→英文→中文) - **英文样本**:`en → zh → en`(英文→中文→英文) - **混合样本**:同时进行两种方向翻译,选择语义相似度更高的结果 - **相似度过滤**:使用 `paraphrase-multilingual-MiniLM-L12-v2` 计算余弦相似度,阈值 `0.72`,确保增强样本语义一致性 ### 3. 英文改写增强 (Paraphrasing) 针对英文及英文主导的混合文本: - 使用 `humarin/chatgpt_paraphraser_on_T5_base` 模型 - 相似度阈值:`0.75` - 保留语义同时改变表达方式 ### 4. 轻量扰动增强 (Cheap Perturbation) 对所有样本进行低成本的文本扰动: - **中文**:添加安全测试前缀、标点符号替换 - **英文**:添加安全测试前缀、随机大小写变换 - **代码/其他**:使用英文前缀进行扰动 ### 5. 长文本分段处理 对于超过模型最大长度的文本: - 按句子切分并重新打包 - 确保每个分段不超过 `max_src_len`(256 tokens) - 避免长文本在翻译过程中丢失信息 ## 使用方法 ### 基本加载 ```python from datasets import load_dataset # 加载完整数据集 dataset = load_dataset("parquet", data_files={ "train": "dataset/Unified-Prompt-Guard/train.parquet", "validation": "dataset/Unified-Prompt-Guard/val.parquet", "test": "dataset/Unified-Prompt-Guard/test.parquet" }) print(dataset["train"].shape) # (265589, 6) print(dataset["validation"].shape) # (10857, 6) print(dataset["test"].shape) # (10857, 6) ``` ### 查看增强样本 ```python # 查看原始样本 orig_samples = dataset["train"].filter(lambda x: x["is_aug"] == 0) # 查看增强样本 aug_samples = dataset["train"].filter(lambda x: x["is_aug"] == 1) # 按增强类型统计 aug_types = dataset["train"]["aug_type"] from collections import Counter print(Counter(aug_types)) ``` ### 按语言筛选 ```python # 只看中文样本 zh_samples = dataset["train"].filter(lambda x: x["lang"] == "zh") # 只看英文样本 en_samples = dataset["train"].filter(lambda x: x["lang"] == "en") ``` ## 数据增强统计示例 ```python # 查看增强类型分布 from datasets import load_dataset from collections import Counter dataset = load_dataset("parquet", data_files={"train": "train.parquet"}) aug_types = dataset["train"]["aug_type"] print(Counter(aug_types)) # 输出示例: # Counter({ # 'orig': 108569, # 原始样本 # 'bt_zh': 45000, # 中文回译 # 'bt_en': 42000, # 英文回译 # 'bt_mixed_best': 8000, # 混合回译最优 # 'para_en': 25000, # 英文改写 # 'cheap_zh': 15000, # 中文轻量扰动 # 'cheap_en': 12000, # 英文轻量扰动 # ... # }) ``` ## 技术细节 ### 模型配置 - **回译模型**: `facebook/nllb-200-3.3B` - **改写模型**: `humarin/chatgpt_paraphraser_on_T5_base` - **嵌入模型**: `sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2` ### 相似度阈值 - 回译增强: `0.72` - 改写增强: `0.75` ### 批处理大小 - 回译: `batch_size=400` - 改写: `batch_size=128` ## 注意事项 1. **去重处理**: 所有增强样本在生成后都会进行去重处理,确保 `(text, label)` 唯一 2. **语义一致性**: 通过余弦相似度过滤,确保增强样本与原始样本语义一致 3. **语言平衡**: 增强过程会保持原始数据的语言分布比例 4. **代码保护**: 代码类文本不会被翻译或改写,仅进行轻量扰动 ## 引用 如果使用本数据集,请引用原始数据源: - jailbreak-detection-dataset - Nemotron-Safety-Guard-Dataset-v3 - PKU-SafeRLHF ## 许可证 Apache 2.0 ```

# 统一提示防护(Cerberus数据集) 本数据集为综合性提示词(Prompt)安全检测数据集,专用于训练可防御大语言模型(LLM)越狱攻击(Jailbreak)与有害提示词(Unsafe Prompts)的二分类模型。数据集经大规模数据增强处理,涵盖循环翻译、英文改写等技术手段。 ## 数据集描述 本数据集由三类高质量数据源合并构建,并经严格的全局去重处理: ### 核心数据源 1. **jailbreak-detection-dataset**:聚焦越狱攻击模式与对抗性指令。 2. **Nemotron-Safety-Guard-Dataset-v3 (zh)**:由英伟达(NVIDIA)提供的中文场景安全对话数据集。 3. **PKU-SafeRLHF**:由北京大学提供的多维度偏好对齐数据集(提取自其提示词(Prompt)层)。 ### 数据集规模 | 数据集 | 样本数 | |-------------|---------| | 训练集 (train) | 265,589 | | 验证集 (val) | 10,857 | | 测试集 (test) | 10,857 | ### 数据字段 数据集包含以下 6 个字段: | 字段名 | 类型 | 描述 | |------------|---------|--------------------------------------------------------------------------------------------------------------------------| | `text` | str | 原始文本内容 | | `label` | int/str | 标签:`0` 或 `safe`(安全),`1` 或 `unsafe`(不安全) | | `source` | str | 数据来源标识(如 `jailbreak`, `nemotron`, `saferlhf` 等) | | `lang` | str | 语言类型:`zh`(中文)、`en`(英文)、`mixed`(混合)、`code`(代码)、`other`(其他) | | `is_aug` | int | 是否为增强样本:`0`(原始样本)、`1`(增强样本) | | `aug_type` | str | 增强类型:`orig`(原始)、`bt_zh`(中文回译)、`bt_en`(英文回译)、`bt_mixed_best`(混合回译最优)、`para_en`(英文改写)、`cheap_zh/en/mixed/code/other`(轻量扰动) | ## 标签定义 | 标签 | 编号 | 描述 | |--------|----|-------------------| | safe | 0 | 内容无害,模型可直接响应 | | unsafe | 1 | 包含越狱尝试、恶意指令或违规内容 | ## 数据增强流程 数据集经过多轮数据增强处理,显著提升了数据多样性: ### 1. 语言检测与分类 - 采用正则表达式与统计特征自动检测文本语言类型 - 分类维度包括:`zh`(中文)、`en`(英文)、`mixed`(中英混合)、`code`(代码)、`other`(其他) ### 2. 循环翻译增强(Back-Translation) 采用 `NLLB-200-3.3B` 模型执行双向翻译增强: - **中文样本**:`zh → en → zh`(中文→英文→中文) - **英文样本**:`en → zh → en`(英文→中文→英文) - **混合样本**:同步执行两种方向翻译,选取语义相似度更高的结果 - **相似度过滤**:使用 `paraphrase-multilingual-MiniLM-L12-v2` 计算余弦相似度,阈值设为`0.72`,以保障增强样本的语义一致性 ### 3. 英文改写增强(Paraphrasing) 针对英文及以英文为主的混合文本: - 采用 `humarin/chatgpt_paraphraser_on_T5_base` 模型 - 相似度阈值设为`0.75` - 在保留核心语义的前提下调整表达方式 ### 4. 轻量扰动增强(Cheap Perturbation) 对全量样本执行低成本文本扰动: - **中文样本**:添加安全测试前缀、替换标点符号 - **英文样本**:添加安全测试前缀、执行随机大小写变换 - **代码/其他样本**:采用英文前缀完成扰动 ### 5. 长文本分段处理 针对超出模型最大长度的文本: - 按句子粒度切分后重新打包 - 确保每个分段的Token数不超过`max_src_len`(256 tokens) - 避免长文本在翻译流程中出现信息丢失 ## 使用方法 ### 基本加载 python from datasets import load_dataset # 加载完整数据集 dataset = load_dataset("parquet", data_files={ "train": "dataset/Unified-Prompt-Guard/train.parquet", "validation": "dataset/Unified-Prompt-Guard/val.parquet", "test": "dataset/Unified-Prompt-Guard/test.parquet" }) print(dataset["train"].shape) # (265589, 6) print(dataset["validation"].shape) # (10857, 6) print(dataset["test"].shape) # (10857, 6) ### 查看增强样本 python # 查看原始样本 orig_samples = dataset["train"].filter(lambda x: x["is_aug"] == 0) # 查看增强样本 aug_samples = dataset["train"].filter(lambda x: x["is_aug"] == 1) # 按增强类型统计 aug_types = dataset["train"]["aug_type"] from collections import Counter print(Counter(aug_types)) ### 按语言筛选 python # 只看中文样本 zh_samples = dataset["train"].filter(lambda x: x["lang"] == "zh") # 只看英文样本 en_samples = dataset["train"].filter(lambda x: x["lang"] == "en") ## 数据增强统计示例 python # 查看增强类型分布 from datasets import load_dataset from collections import Counter dataset = load_dataset("parquet", data_files={"train": "train.parquet"}) aug_types = dataset["train"]["aug_type"] print(Counter(aug_types)) # 输出示例: # Counter({ # 'orig': 108569, # 原始样本 # 'bt_zh': 45000, # 中文回译 # 'bt_en': 42000, # 英文回译 # 'bt_mixed_best': 8000, # 混合回译最优 # 'para_en': 25000, # 英文改写 # 'cheap_zh': 15000, # 中文轻量扰动 # 'cheap_en': 12000, # 英文轻量扰动 # ... # }) ## 技术细节 ### 模型配置 - **回译模型**:`facebook/nllb-200-3.3B` - **改写模型**:`humarin/chatgpt_paraphraser_on_T5_base` - **嵌入模型**:`sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2` ### 相似度阈值 - 回译增强阈值:`0.72` - 改写增强阈值:`0.75` ### 批处理规模 - 回译流程批处理规模:`batch_size=400` - 改写流程批处理规模:`batch_size=128` ## 注意事项 1. **去重处理**:所有增强样本在生成后均会执行去重操作,保障`(text, label)`组合唯一 2. **语义一致性**:通过余弦相似度过滤机制,确保增强样本与原始样本语义保持一致 3. **语言平衡**:增强流程将保留原始数据的语言分布比例 4. **代码保护**:代码类文本不会被执行翻译或改写操作,仅进行轻量扰动 ## 引用 若使用本数据集,请引用以下原始数据源: - jailbreak-detection-dataset - Nemotron-Safety-Guard-Dataset-v3 - PKU-SafeRLHF ## 许可证 Apache 2.0
提供机构:
maas
创建时间:
2026-01-26
搜集汇总
数据集介绍
main_image_url
背景与挑战
背景概述
该数据集是一个综合性提示安全检测数据集,专为训练二元分类模型以防御LLM越狱攻击和不安全提示而设计。它整合了三个高质量来源,并经过大规模数据增强,包括回译和英文改写等技术,提供训练、验证和测试集共约28.7万个样本。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务