
Syntactic Ghost: Ataques de backdoor generalizados e imperceptíveis em Modelos de Linguagem Pré-treinados
SynGhost: Ataque backdoor invisível e universal, agnóstico a tarefas, via Transferência Sintática
SynGhost tem as seguintes contribuições
Você pode instalar o SynGhost através do Git
git clone https://github.com/Zhou-CyberSecurity-AI/Syntactic-Ghost.git
cd SynGhost
pip install -r requirement.txt
Tanto o conjunto de envenenamento pré-treinado quanto o conjunto de manipulação de tarefas downstream são gerados a partir do SCPN. Você pode gerar rapidamente com o toolkit OppenAttack.
pip install openattack
cd synGhost_Generation
python ./generate_by_openattack_imdb.py
Três restrições: retenção de conhecimento primitivo, distribuição uniforme de fantasmas sintáticos e percepção sintática:
cd code
python ./synGhostToPLM.py
Fine-tuning, PEFT (LoRA, Adapter, p-tuning, prompt-tuning)
cd code
python ./synGhost_FineTuning.py
cd code
python ./synGhost_peft.py
Inspeção de Amostras (Onion, maxEntropy)
cd code
python ./synGhost_defend.py
Observe que para a Inspeção de Modelo (Fine-pruning): use diretamente a função fine-pruning do plm.py.
NeuBA, POR e BadPre.....são todos implementados no OpenBackdoor.
Primeiro, construa o Prompt com base em uma estrutura sintática específica, como (ROOT (S (SBAR) (,) (NP) (VP) (.)) EOP. Em seguida, gere instâncias limpas e instâncias envenenadas. Por fim, CACC, ASR e PPL foram avaliados pelo SynGhost. As instâncias e resultados estão disponíveis em ./Code/LLMAttack.ipynb.