
Syntactic Ghost: Ataques de puerta trasera generales e imperceptibles en modelos de lenguaje preentrenados
SynGhost: Ataque de puerta trasera invisible y universal agnóstico a la tarea mediante transferencia sintáctica
SynGhost tiene las siguientes contribuciones
Puedes instalar SynGhost a través de Git
git clone https://github.com/Zhou-CyberSecurity-AI/Syntactic-Ghost.git
cd SynGhost
pip install -r requirement.txt
Tanto el conjunto de envenenamiento preentrenado como el conjunto de manipulación de tareas posteriores se generan a partir del SCPN. Puedes generarlos rápidamente con el toolkit OppenAttack.
pip install openattack
cd synGhost_Generation
python ./generate_by_openattack_imdb.py
Tres restricciones: retención de conocimiento primitivo, distribución uniforme de fantasmas sintácticos y percepción sintáctica:
cd code
python ./synGhostToPLM.py
Ajuste fino, PEFT (LoRA, Adapter, p-tuning, prompt-tuning)
cd code
python ./synGhost_FineTuning.py
cd code
python ./synGhost_peft.py
Inspección de muestras (Onion, maxEntropy)
cd code
python ./synGhost_defend.py
Ten en cuenta que para la Inspección de Modelos (Fine-pruning): utiliza directamente la función fine-pruning de plm.py.
NeuBA, POR y BadPre.....están todos implementados sobre OpenBackdoor.
Primero, construye un Prompt basado en una estructura sintáctica específica, como (ROOT (S (SBAR) (,) (NP) (VP) (.)) EOP. Luego genera instancias limpias e instancias envenenadas. Finalmente, CACC, ASR y PPL fueron evaluados por SynGhost. Las instancias y los resultados están disponibles en ./Code/LLMAttack.ipynb.