
언어 모델의 백도어를 탐지하고 제거하기 위한 연구 프레임워크로, BERT, BART, LLaMA, Qwen 전반에 걸쳐 특징 기반 이상 탐지와 LoRA 기반 언러닝을 결합한다.
이 저장소는 다음 논문의 공식 저장소입니다:
DUP: 언어 모델의 백도어 정화를 위한 탐지 기반 언러닝
DUP는 특징 기반 이상 탐지와 파라미터 효율적 언러닝을 결합하여 사전 학습된 언어 모델에서 백도어를 제거하는 통합 프레임워크를 소개합니다. 이는 BERT, BART, LLaMA 3B, Qwen 3B를 포함한 전통적인 PLM과 현대적인 LLM 모두에서 효과적입니다.
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
지원되는 공격:
이 모듈은 적응형 레이어 선택과 함께 Mahalanobis Distance 및 Spectral Signature 점수를 사용하여 오염된 입력을 식별합니다.
python demo_detection.py
이 모듈은 탐지에 의해 안내되는 LoRA 기반 증류를 사용하여 백도어를 제거합니다:
python demo_unlearning.py
.
├── victim_models/ # 사전 학습된 모델 가중치
├── poison_data/ # 오염된 데이터셋
├── openbackdoor/ # 백도어 공격 및 방어의 핵심 구현
├── demo_attack.py # 백도어 공격 스크립트
├── demo_detection.py # 탐지 절차
├── demo_unlearning.py # 언러닝 절차
└── README.md # 프로젝트 문서