Skip to content
The jiant toolkit for general-purpose text understanding models
Branch: master
Clone or download
sleepinyourhat No more weight logging in target (#722)
* main.py cleanup.

* Revert "main.py cleanup."

This reverts commit d4bef8f.

* Simplify logging/logic.

* Mention wildcards.
Latest commit 35b0879 Jun 22, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Tests for checkpoint logic + some fixes to checkpointing (#692) Jun 17, 2019
config A few easy checkpointing logic fixes. (#720) Jun 21, 2019
gcp Get rid of the NFS vs JIANT environment variable distinction (#615) May 2, 2019
probing Clean up and add configs+scripts (#681) May 6, 2019
scripts Undo previous commit Jun 10, 2019
src No more weight logging in target (#722) Jun 22, 2019
tests Update Metrics/Write Preds Testing (#697) Jun 19, 2019
tutorials Changed v0.9.0 -> 0.9.1 in tutorial (#705) Jun 11, 2019
.gitignore Revising documentation structure (#649) May 3, 2019
.gitmodules replace OpenAI with hugging face version #491 (#611) Apr 28, 2019
.pep8speaks.yml Clean up formatting with Black. (#660) May 4, 2019
.pre-commit-config.yaml Add pre-commit for code style hooks (#628) May 2, 2019
.pre-commit-hooks.yaml Add pre-commit for code style hooks (#628) May 2, 2019
CODEOWNERS Make sure that reviews from @pruksmhc count as approvals. (#592) Apr 26, 2019
Dockerfile Get rid of the NFS vs JIANT environment variable distinction (#615) May 2, 2019
LICENSE Apply MIT license. Sep 17, 2018
README.md Acks (#685) May 11, 2019
__init__.py Relative imports & Edge probing task def Jul 7, 2018
allennlp_mods Add symlink to fix pickle-loading issue Jul 10, 2018
cola_inference.py Add pre-commit for code style hooks (#628) May 2, 2019
environment.yml Adding pyhocon (#702) Jun 2, 2019
main.py Checkpoint pathfinding fix (#724) Jun 21, 2019
pyproject.toml Add pre-commit for code style hooks (#628) May 2, 2019
user_config_template.sh Clean up formatting with Black. (#660) May 4, 2019

README.md

jiant

CircleCI Code style: black

jiant is a work-in-progress software toolkit for natural language processing research, designed to facilitate work on multitask learning and transfer learning for sentence understanding tasks.

A few things you might want to know about jiant:

Getting Started

To find the setup instructions for using jiant and to run a simple example demo experiment using data from GLUE, follow this getting started tutorial!

Official Documentation

Our official documentation is here: https://jiant.info/documentation#/

Running

To run an experiment, make a config file similar to config/demo.conf with your model configuration. In addition, you can use the --overrides flag to override specific variables. For example:

python main.py --config_file config/demo.conf \
    --overrides "exp_name = my_exp, run_name = foobar, d_hid = 256"

will run the demo config, but output to $JIANT_PROJECT_PREFIX/my_exp/foobar. To run the demo config, you will have to set environment variables. The best way to achieve that is to follow the instructions in user_config_template.sh

  • $JIANT_PROJECT_PREFIX: the where the outputs will be saved.
  • $JIANT_DATA_DIR: location of the saved data. This is usually the location of the GLUE data in a simple default setup.
  • $WORD_EMBS_FILE: location of any word embeddings you want to use (not necessary when using ELMo, GPT, or BERT). You can download GloVe (840B) here or fastText (2M) here. To have user_config.sh run automatically, follow instructions in scripts/export_from_bash.sh.

Suggested Citation

If you use jiant in academic work, please cite it directly:

@misc{wang2019jiant,
    author = {Alex Wang and Ian F. Tenney and Yada Pruksachatkun and Katherin Yu and Jan Hula and Patrick Xia and Raghu Pappagari and Shuning Jin and R. Thomas McCoy and Roma Patel and Yinghui Huang and Jason Phang and Edouard Grave and Najoung Kim and Phu Mon Htut and Thibault F'{e}vry and Berlin Chen and Nikita Nangia and Haokun Liu and and Anhad Mohananey and Shikha Bordia and Ellie Pavlick and Samuel R. Bowman},
    title = {{jiant} 0.9: A software toolkit for research on general-purpose text understanding models},
    howpublished = {\url{http://jiant.info/}},
    year = {2019}
}

Papers

jiant has been used in these three papers so far:

To exactly reproduce experiments from the ELMo's Friends paper use the jsalt-experiments branch. That will contain a snapshot of the code as of early August, potentially with updated documentation.

For the edge probing paper, see the probing/ directory.

Getting Help

Post an issue here on GitHub if you have any problems, and create a pull request if you make any improvements (substantial or cosmetic) to the code that you're willing to share.

Contributing

We use the black coding style with a line limit of 100. After installing the requirements, simply running pre-commit install should ensure you comply with this in all your future commits. If you're adding features or fixing a bug, please also add the tests.

License

This package is released under the MIT License. The material in the allennlp_mods directory is based on AllenNLP, which was originally released under the Apache 2.0 license.

Acknowledgments

  • Part of the development of jiant took at the 2018 Frederick Jelinek Memorial Summer Workshop on Speech and Language Technologies, and was supported by Johns Hopkins University with unrestricted gifts from Amazon, Facebook, Google, Microsoft and Mitsubishi Electric Research Laboratories.
  • This work was made possible in part by a donation to NYU from Eric and Wendy Schmidt made by recommendation of the Schmidt Futures program.
  • We gratefully acknowledge the support of NVIDIA Corporation with the donation of a Titan V GPU used at NYU in this work.
  • Developer Alex Wang is supported by the National Science Foundation Graduate Research Fellowship Program under Grant No. DGE 1342536. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
  • Developer Yada Pruksachatkun is supported by the Moore-Sloan Data Science Environment as part of the NYU Data Science Services initiative.
You can’t perform that action at this time.