
Framework di ricerca per rilevare e rimuovere backdoor nei modelli linguistici, combinando il rilevamento di anomalie basato su feature con l'unlearning basato su LoRA su BERT, BART, LLaMA e Qwen.
Questo è il repository ufficiale del paper:
DUP: Detection-guided Unlearning for Backdoor Purification in Language Models
DUP introduce un framework unificato che combina il rilevamento di anomalie basato sulle feature con l'unlearning efficiente in termini di parametri per rimuovere le backdoor dai modelli linguistici pre-addestrati. È efficace sia sui PLM tradizionali sia sugli LLM moderni, inclusi BERT, BART, LLaMA 3B e Qwen 3B.
Il framework DUP è implementato e testato nel seguente ambiente:
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
Scarica i seguenti modelli e inseriscili nella directory /victim_models:
bert-base-uncasedbart-baseLLaMA-3.2-3B-InstructQwen2.5-3BI dataset avvelenati sono già preparati e si trovano in /poison_data
Per lanciare gli attacchi backdoor:
python demo_attack.py
Attacchi supportati:
Questo modulo identifica gli input avvelenati utilizzando i punteggi di distanza di Mahalanobis e Spectral Signature con selezione adattiva dei layer.
python demo_detection.py
Questo modulo rimuove le backdoor utilizzando la distillazione basata su LoRA guidata dal rilevamento:
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