Arbaz-hai/transformer-prompt-injection-detection-dataset-

GitHub: Arbaz-hai/transformer-prompt-injection-detection-dataset-

该项目通过在自建复合数据集上微调并对比五种 Transformer 模型,系统评估其在大语言模型 prompt 注入与越狱攻击检测任务中的准确性和部署效率。

Stars: 0 | Forks: 0

# 使用 Transformer 模型进行 Prompt 注入检测 这是一项针对基于 Transformer 的架构(BERT、RoBERTa、DeBERTa-v3、DistilBERT、ALBERT)在检测针对大型语言模型的 prompt 注入和越狱攻击方面的比较研究。本代码库伴随一篇 IEEE 期刊投稿,包含完整的数据集构建 pipeline、训练代码和评估结果。 ## 概述 Prompt 注入攻击试图通过对抗性输入覆盖或操纵 LLM 的预期行为。本项目在包含注入和良性 prompt 的复合数据集上对五个 transformer 模型进行基准测试,通过比较它们的准确率、F1 分数、ROC-AUC、延迟和模型大小,来评估在实时部署中的准确性与效率的权衡。 ## 模型对比 | Model | Type | |---|---| | BERT | Encoder, base | | RoBERTa | Encoder, base | | DeBERTa-v3 | Encoder, disentangled attention | | DistilBERT | Distilled, lightweight | | ALBERT | Parameter-shared, lightweight | ## 数据集 训练数据集是一个自定义的复合数据集,通过聚合和清理 18 个公开可用的 Hugging Face Hub 数据集构建而成,结合了带有注入/越狱标签的 prompt 和作为负样本的良性指令遵循 prompt。 **注入 / 越狱来源:** - [deepset/prompt-injections](https://huggingface.co/datasets/deepset/prompt-injections) - [rubend18/ChatGPT-Jailbreak-Prompts](https://huggingface.co/datasets/rubend18/ChatGPT-Jailbreak-Prompts) - [jackhhao/jailbreak-classification](https://huggingface.co/datasets/jackhhao/jailbreak-classification) - [Lakera/gandalf_ignore_instructions](https://huggingface.co/datasets/Lakera/gandalf_ignore_instructions) - [xTRam1/safe-guard-prompt-injection](https://huggingface.co/datasets/xTRam1/safe-guard-prompt-injection) - [rubend18/Jailbreak-Prompt-Attack](https://huggingface.co/datasets/rubend18/Jailbreak-Prompt-Attack) **良性 / 负样本类别来源:** - [tatsu-lab/alpaca](https://huggingface.co/datasets/tatsu-lab/alpaca) - [OpenAssistant/oasst2](https://huggingface.co/datasets/OpenAssistant/oasst2) - [HuggingFaceH4/no_robots](https://huggingface.co/datasets/HuggingFaceH4/no_robots) - [databricks/databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) 每个来源的数据在被合并到训练/验证/测试集划分之前,都会被加载、清理、去重,并标准化为统一的 `text` / `label` / `source` schema。完整的 pipeline 请参见 `[notebook/transformer-models-for-prompt-injection.ipynb](https://github.com/Arbaz-hai/Arbaz-hai/blob/main/transformer-models-for-prompt-injection.ipynb)` 第 2 节(“数据集构建”)。 ## Notebook 完整的实验——数据集构建、tokenization、训练、评估和统计显著性检验——是作为一个单独的 Kaggle notebook 实现的: **Kaggle:** `https://www.kaggle.com/code/arbazdevhive/transformer-models-for-prompt-injection>`_ 本仓库的 `[notebook/transformer-models-for-prompt-injection.ipynb](https://github.com/Arbaz-hai/Arbaz-hai/blob/main/transformer-models-for-prompt-injection.ipynb)` 中也包含了一份副本。 ## 方法论总结 1. **数据集构建** — 聚合、清理、去重并标签标准化 18 个源数据集,合并为一个单一的二分类数据集(注入 vs. 良性)。 2. **Tokenization** — 使用特定于模型的 tokenizer,根据每个模型配置的最大序列长度进行填充/截断。 3. **训练** — 使用 AdamW 进行 fine-tuning,结合线性预热调度、混合精度(AMP)和梯度裁剪。 4. **评估** — 在预留的测试集上评估准确率、精确率、召回率、F1(宏平均)、ROC-AUC、假阴性率、推理延迟和吞吐量。 5. **统计显著性** — 对各模型对之间分批次的 F1 分数进行 Wilcoxon 符号秩检验。
标签:DLL 劫持, Transformer, 人工智能安全, 凭据扫描, 合规性, 大语言模型, 提示注入, 文本分类, 模型评估, 逆向工具, 集群管理