
Marco de investigación para detectar y eliminar puertas traseras en modelos de lenguaje, combinando detección de anomalías basada en características con desaprendizaje basado en LoRA en BERT, BART, LLaMA y Qwen.
Este es el repositorio oficial del artículo:
DUP: Detection-guided Unlearning for Backdoor Purification in Language Models
DUP presenta un marco unificado que combina la detección de anomalías basada en características con el desaprendizaje eficiente en parámetros para eliminar puertas traseras de modelos de lenguaje preentrenados. Es eficaz tanto en PLM tradicionales como en LLM modernos, incluidos BERT, BART, LLaMA 3B y Qwen 3B.
El marco DUP está implementado y probado en el siguiente entorno:
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
Descargue los siguientes modelos y colóquelos en el directorio /victim_models:
bert-base-uncasedbart-baseLLaMA-3.2-3B-InstructQwen2.5-3BLos conjuntos de datos envenenados ya están preparados y se encuentran en /poison_data
Para lanzar ataques de puerta trasera:
python demo_attack.py
Ataques compatibles:
Este módulo identifica entradas envenenadas utilizando puntuaciones de Distancia de Mahalanobis y Firma Espectral con selección adaptativa de capas.
python demo_detection.py
Este módulo elimina las puertas traseras mediante destilación basada en LoRA guiada por la detección:
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