Text attack toolkit for evaluating & improving NLP model robustness
Top 47.9% on sourcepulse
OpenAttack is a comprehensive Python toolkit designed for generating and evaluating textual adversarial attacks against NLP models. It caters to researchers and practitioners aiming to assess model robustness, develop new attack strategies, or implement adversarial training. The package streamlines the entire adversarial attack pipeline, from text preprocessing to victim model interaction and result evaluation.
How It Works
OpenAttack employs a modular architecture, separating concerns into TextProcessor, Victim, Attacker, AttackAssist, Metric, AttackEval, and DataManager. This design facilitates extensibility, allowing users to easily integrate custom datasets, victim models, or attack algorithms. It supports various attack types (sentence, word, character level; gradient, score, decision, blind) and offers parallel processing for improved efficiency. The toolkit is tightly integrated with Hugging Face's Transformers and Datasets libraries, simplifying the use of pre-trained models and datasets.
Quick Start & Requirements
pip install OpenAttack
git clone https://github.com/thunlp/OpenAttack.git && cd OpenAttack && python setup.py install
python demo.py
Highlighted Details
Maintenance & Community
Licensing & Compatibility
Limitations & Caveats
The project's license is not clearly stated in the README, which may pose a barrier for commercial adoption or use in closed-source projects.
2 years ago
1 week