
Фреймворк для исследований по обнаружению и удалению бэкдоров в языковых моделях, объединяющий обнаружение аномалий на основе признаков с разобучением на основе LoRA для BERT, BART, LLaMA и Qwen.
Это официальный репозиторий для статьи:
DUP: Detection-guided Unlearning for Backdoor Purification in Language Models
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