
Syntactic Ghost: Незаметная универсальная бэкдор-атака на предварительно обученные языковые модели
SynGhost: невидимая и универсальная не зависящая от задачи бэкдор-атака посредством синтаксического переноса
SynGhost имеет следующий вклад
Вы можете установить SynGhost через Git
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): пожалуйста, используйте функцию fine-pruning напрямую из plm.py.
NeuBA, POR и BadPre.....все реализованы на OpenBackdoor.
Сначала постройте Prompt на основе конкретной синтаксической структуры, например (ROOT (S (SBAR) (,) (NP) (VP) (.)) EOP. Затем сгенерируйте чистые экземпляры и отравленные экземпляры. Наконец, CACC, ASR и PPL были оценены с помощью SynGhost. Экземпляры и результаты доступны в ./Code/LLMAttack.ipynb.