
Syntactic Ghost: 사전 학습된 언어 모델에 대한 감지 불가능한 범용 백도어 공격
SynGhost: 구문 전이를 통한 보이지 않고 보편적인 작업 비종속적 백도어 공격
SynGhost는 다음과 같은 기여를 합니다
Git을 통해 SynGhost를 설치할 수 있습니다
git clone https://github.com/Zhou-CyberSecurity-AI/Syntactic-Ghost.git
cd SynGhost
pip install -r requirement.txt
사전 학습된 오염 세트와 다운스트림 작업 조작 세트 모두 SCPN에서 생성됩니다. OppenAttack 툴킷을 통해 빠르게 생성할 수 있습니다.
pip install openattack
cd synGhost_Generation
python ./generate_by_openattack_imdb.py
세 가지 제약 조건: 원시 지식 유지, 구문 고스트의 균일한 분포, 구문 인식:
cd code
python ./synGhostToPLM.py
미세 조정, PEFT (LoRA, Adapter, p-tuning, prompt-tuning)
cd code
python ./synGhost_FineTuning.py
cd code
python ./synGhost_peft.py
샘플 검사 (Onion, maxEntropy)
cd code
python ./synGhost_defend.py
모델 검사 (Fine-pruning): plm.py에서 직접 fine-pruning 함수를 사용하십시오.
NeuBA, POR, BadPre.....는 모두 OpenBackdoor에서 구현됩니다.
먼저, 특정 구문 구조를 기반으로 프롬프트를 구성합니다. 예를 들어 (ROOT (S (SBAR) (,) (NP) (VP) (.)) EOP. 그런 다음 깨끗한 인스턴스와 오염된 인스턴스를 생성합니다. 마지막으로 CACC, ASR, PPL이 SynGhost에 의해 평가되었습니다. 인스턴스와 결과는 ./Code/LLMAttack.ipynb에서 확인할 수 있습니다.