这是论文的官方代码仓库:
DUP:面向语言模型后门净化的检测引导遗忘
DUP 提出了一个统一框架,将基于特征的异常检测与参数高效遗忘相结合,以从预训练语言模型中移除后门。该方法在传统 PLM 和现代 LLM 上均有效,包括 BERT、BART、LLaMA 3B 和 Qwen 3B。
DUP 框架在以下环境中实现并测试:
Python: 3.10
OS: Ubuntu 22.04
CUDA: 11.8
PyTorch: 2.1.2
Accelerate: 1.0.1
PEFT: 0.12.0
language-tool-python: 2.8.1
下载以下模型并将其放置在 /victim_models 目录下:
bert-base-uncasedbart-baseLLaMA-3.2-3B-InstructQwen2.5-3B投毒数据集已准备好,位于 /poison_data
要发起后门攻击:
python demo_attack.py
支持的攻击:
该模块使用马氏距离和谱签名分数,并结合自适应层选择来识别投毒输入。
python demo_detection.py
该模块使用由检测引导的基于 LoRA 的蒸馏来移除后门:
python demo_unlearning.py
.
├── victim_models/ # Pretrained model weights
├── poison_data/ # poisoned datasets
├── openbackdoor/ # Core implementation of backdoor attacks and defenses
├── demo_attack.py # Backdoor attack scripts
├── demo_detection.py # Detection procedure
├── demo_unlearning.py # Unlearning procedure
└── README.md # Project documentation