We provide at least one example for each architecture which reproduces a result provided by the official authors
    of said architecture.
The code is usually as close to the original code base as possible which means some PyTorch code may be not as
    pytorchic as it could be as a result of being converted TensorFlow code and vice versa.
A few other goals:
Expose the models' internals as consistently as possible:
We give access, using a single API, to the full hidden-states and attention weights.
Tokenizer and base model's API are standardized to easily switch between models.
Incorporate a subjective selection of promising tools for fine-tuning/investigating these models:
A simple/consistent way to add new tokens to the vocabulary and embeddings for fine-tuning.
Simple ways to mask and prune transformer heads.
