This is the repository for the paper:
Overconfidence in the Face of Ambiguity with Adversarial Data. Margaret Li* and Julian Michael,* Proceedings of the First Workshop on Dynamic Adversarial Data Collection (DADC) at NAACL 2022.
(The silly acronym is from the original working name, "An Ambiguous Evaluation of Adversarial Evaluation")
In this repository:
aeae/
: Source code for data, metrics, etc.scripts/
: Entry points for running predictions, evaluating, and producing plots for our analysis.In the paper, we forget to mention that the FEVER-NLI data was used together with SNLI and MNLI
to train the classical
model. This means classical
is trained on all of the
non-adversarially-collected data that the seed models for ANLI were trained on.
This project requires Python 3 and is written using AllenNLP and PyTorch.
Workstation setup:
python scripts/download.py
from the base directory to download
datasets.pip install -r requirements.txt
.python scripts/build_data.py
.To sanity-check model training, run
MODE=tiny allennlp train config/basic.jsonnet --include-package aeae -o '{"trainer.cuda_device": -1}' -s save/tiny
This will train a model on a tiny subset of MNLI using CPU. Changing MODE accordingly uses different data sources (see basic.jsonnet) the cuda device determines which GPU is used.
NLI instances are preprocessed into the following format:
{
"uid": String,
"premise": String,
"hypothesis": String,
"label": "e" | "c" | "n"
}
Rest of the documentation is TODO.