From 0e3be1ac8f82df479d5fe1899c671f1050c37897 Mon Sep 17 00:00:00 2001 From: Patrick von Platen Date: Mon, 1 Feb 2021 17:55:10 +0300 Subject: [PATCH] Add new model docs (#9667) * add new model logic * fix docs * change structure * improve add_new_model * push new changes * up * up * correct spelling * improve docstring * correct line length * update readme * correct links * correct typos * only add rst file for now * Apply suggestions from code review 1 Co-authored-by: Stas Bekman Co-authored-by: Bram Vanroy * Apply suggestions from code review Co-authored-by: Bram Vanroy Co-authored-by: Stas Bekman * Apply suggestions from code review Co-authored-by: Stas Bekman * Apply suggestions from code review Co-authored-by: Stas Bekman Co-authored-by: Stefan Schweter Co-authored-by: Bram Vanroy * Apply suggestions from code review Co-authored-by: Stas Bekman Co-authored-by: Pierric Cistac * finish adding all suggestions * make style * apply Niels feedback * Apply suggestions from code review Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com> * apply sylvains suggestions Co-authored-by: Stas Bekman Co-authored-by: Bram Vanroy Co-authored-by: Stefan Schweter Co-authored-by: Pierric Cistac Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com> --- docs/source/add_new_model.rst | 844 ++++++++++++++++++ docs/source/imgs/transformers_overview.png | Bin 0 -> 148321 bytes docs/source/index.rst | 1 + .../open_model_proposals/README.md | 3 + 4 files changed, 848 insertions(+) create mode 100644 docs/source/add_new_model.rst create mode 100644 docs/source/imgs/transformers_overview.png create mode 100644 templates/adding_a_new_model/open_model_proposals/README.md diff --git a/docs/source/add_new_model.rst b/docs/source/add_new_model.rst new file mode 100644 index 0000000000..c1474471c0 --- /dev/null +++ b/docs/source/add_new_model.rst @@ -0,0 +1,844 @@ +.. + Copyright 2020 The HuggingFace Team. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + +How to add a model to πŸ€— Transformers? +======================================================================================================================= + +Adding a new model is often difficult and requires an in-depth knowledge of the πŸ€— Transformers library and ideally also +of the model's original repository. At Hugging Face, we are trying to empower the community more and more to add models +independently. Thus, for some new models that the community wants to be added to πŸ€— Transformers, we create a customized +*call-for-model-addition* that explains step-by-step how to add the requested model. With this +*call-for-model-addition*, we want to teach a motivated and experienced contributor of the community how to port a +model to πŸ€— Transformers. + +If this sounds like something you would be interested in, feel free to check out the currently open +β€œcalls-for-model-addition” `here +`__ +and to contact us. + +If selected, you will then work closely with one member of the Hugging Face team to integrate the model into πŸ€— +Transformers. By doing so, you will both gain a theoretical and deep practical understanding of the proposed model. But +more importantly, you will have made a major open-source contribution to πŸ€— Transformers. Along the way, you will: + +- get insights into open-source best practices +- understand the design principles of one of the most popular NLP libraries +- learn how to do efficiently test large NLP models +- learn how to integrate Python utilities like ``black``, ``isort``, ``make fix-copies`` into a library to always + ensure clean and readable code + +We are also more than happy if you want to add a model that cannot be found in the β€œcalls-for-model-addition” folder. +The following sections explain in detail how to add a new model. It might also be very helpful to check out already +added models to see if those resemble the model you would like to add `here +`__. + +To start, let's try to get a general overview of the Transformers library. + +General overview of πŸ€— Transformers +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +First, you should get a general overview of πŸ€— Transformers. πŸ€— Transformers is a very opinionated library, so there is a +chance that you don't agree with some of the library's philosophies or design choices. From our experience, however, we +found that the fundamental design choices and philosophies of the library are crucial to efficiently scale πŸ€— +Transformers while keeping maintenance costs at a reasonable level. + +A good first starting point to better understand the library is to read the :doc:`documentation of our philosophy +`. As a result of our way of working, there are some choices that we try to apply to all models: + +- Composition is generally favored over-abstraction +- Duplicating code is not always bad if it strongly improves the readability or accessibility of a model +- Model files are as self-contained as possible so that when you read the code of a specific model, you ideally only + have to look into the respective ``modeling_....py`` file. + +In our opinion, the library's code is not just a means to provide a product, *e.g.* the ability to use BERT for +inference, but also as the very product that we want to improve. Hence, when adding a model, the user is not only the +person that will use your model, but also everybody that will read, try to understand, and possibly tweak your code. + +With this in mind, let's go a bit deeper into the general library design. + +Overview of models +----------------------------------------------------------------------------------------------------------------------- + +To successfully add a model, it is important to understand the interaction between your model and its config, +:class:`~transformers.PreTrainedModel`, and :class:`~transformers.PretrainedConfig`. For exemplary purposes, we will +call the model to be added to πŸ€— Transformers ``BrandNewBert``. + +Let's take a look: + +.. image:: ./imgs/transformers_overview.png + +As you can see, we do make use of inheritance in πŸ€— Transformers, but we keep the level of abstraction to an absolute +minimum. There are never more than two levels of abstraction for any model in the library. :obj:`BrandNewBertModel` +inherits from :obj:`BrandNewBertPreTrainedModel` which in turn inherits from :class:`~transformres.PreTrainedModel` and +that's it. As a general rule, we want to make sure that a new model only depends on +:class:`~transformers.PreTrainedModel`. The important functionalities that are automatically provided to every new +model are :meth:`~transformers.PreTrainedModel.from_pretrained` and +:meth:`~transformers.PreTrainedModel.save_pretrained`, which are used for serialization and deserialization. All of the +other important functionalities, such as :meth:`BrandNewBertModel.forward` should be completely defined in the new +``modeling_brand_new_bert.py`` script. Next, we want to make sure that a model with a specific head layer, such as +:obj:`BrandNewBertForMaskedLM` does not inherit from :obj:`BrandNewBertModel`, but rather uses :obj:`BrandNewBertModel` +as a component that can be called in its forward pass to keep the level of abstraction low. Every new model requires a +configuration class, called :obj:`BrandNewBertConfig`. This configuration is always stored as an attribute in +:class:`~transformers.PreTrainedModel`, and thus can be accessed via the ``config`` attribute for all classes +inheriting from :obj:`BrandNewBertPreTrainedModel`: + + .. code:: python + + model = BrandNewBertModel.from_pretrained("brandy/brand_new_bert") + model.config # model has access to its config + +Similar to the model, the configuration inherits basic serialization and deserialization functionalities from +:class:`~transformers.PretrainedConfig`. Note that the configuration and the model are always serialized into two +different formats - the model to a `pytorch_model.bin` file and the configuration to a `config.json` file. Calling +:meth:`~transformers.PreTrainedModel.save_pretrained` will automatically call +:meth:`~transformers.PretrainedConfig.save_pretrained`, so that both model and configuration are saved. + + +Overview of tokenizers +----------------------------------------------------------------------------------------------------------------------- + +Not quite ready yet :-( This section will be added soon! + +Step-by-step recipe to add a model to πŸ€— Transformers +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Everyone has different preferences of how to port a model so it can be very helpful for you to take a look at summaries +of how other contributors ported models to Hugging Face. Here is a list of community blog posts on how to port a model: + +1. `Porting GPT2 Model `__ by `Thomas + `__ +2. `Porting WMT19 MT Model `__ by `Stas `__ + +From experience, we can tell you that the most important things to keep in mind when adding a model are: + +- Don't reinvent the wheel! Most parts of the code you will add for the new πŸ€— Transformers model already exist + somewhere in πŸ€— Transformers. Take some time to find similar, already existing models and tokenizers you can copy + from. `grep `__ and `rg `__ are your + friends. Note that it might very well happen that your model's tokenizer is based on one model implementation, and + your model's modeling code on another one. *E.g.* FSMT's modeling code is based on BART, while FSMT's tokenizer code + is based on XLM. +- It's more of an engineering challenge than a scientific challenge. You should spend more time on creating an + efficient debugging environment than trying to understand all theoretical aspects of the model in the paper. +- Ask for help, when you're stuck! Models are the core component of πŸ€— Transformers so that we at Hugging Face are more + than happy to help you at every step to add your model. Don't hesitate to ask if you notice you are not making + progress. + +In the following, we try to give you a general recipe that we found most useful when porting a model to πŸ€— Transformers. + +The following list is a summary of everything that has to be done to add a model and can be used by you as a To-Do +List: + +- 1. ☐ (Optional) Understood theoretical aspects +- 2. ☐ Prepared transformers dev environment +- 3. ☐ Set up debugging environment of the original repository +- 4. ☐ Created script that successfully runs forward pass using original repository and checkpoint +- 5. ☐ Successfully added the model skeleton to Transformers +- 6. ☐ Successfully converted original checkpoint to Transformers checkpoint +- 7. ☐ Successfully ran forward pass in Transformers that gives identical output to original checkpoint +- 8. ☐ Finished model tests in Transformers +- 9. ☐ Successfully added Tokenizer in Transformers +- 10. ☐ Run end-to-end integration tests +- 11. ☐ Finished docs +- 12. ☐ Uploaded model weights to the hub +- 13. ☐ Submitted the pull request +- 14. ☐ (Optional) Added a demo notebook + +To begin with, we usually recommend to start by getting a good theoretical understanding of ``BrandNewBert``. However, +if you prefer to understand the theoretical aspects of the model *on-the-job*, then it is totally fine to directly dive +into the ``BrandNewBert``'s code-base. This option might suit you better, if your engineering skills are better than +your theoretical skill, if you have trouble understanding ``BrandNewBert``'s paper, or if you just enjoy programming +much more than reading scientific papers. + +1. (Optional) Theoretical aspects of BrandNewBert +----------------------------------------------------------------------------------------------------------------------- + +You should take some time to read *BrandNewBert's* paper, if such descriptive work exists. There might be large +sections of the paper that are difficult to understand. If this is the case, this is fine - don't worry! The goal is +not to get a deep theoretical understanding of the paper, but to extract the necessary information required to +effectively re-implement the model in πŸ€— Transformers. That being said, you don't have to spend too much time on the +theoretical aspects, but rather focus on the practical ones, namely: + +- What type of model is *brand_new_bert*? BERT-like encoder-only model? GPT2-like decoder-only model? BART-like + encoder-decoder model? Look at the :doc:`model_summary` if you're not familiar with the differences between those. +- What are the applications of *brand_new_bert*? Text classification? Text generation? Seq2Seq tasks, *e.g.,* + summarization? +- What is the novel feature of the model making it different from BERT/GPT-2/BART? +- Which of the already existing `πŸ€— Transformers models `__ is most + similar to *brand_new_bert*? +- What type of tokenizer is used? A sentencepiece tokenizer? Word piece tokenizer? Is it the same tokenizer as used + for BERT or BART? + +After you feel like you have gotten a good overview of the architecture of the model, you might want to write to the +Hugging Face team with any questions you might have. This might include questions regarding the model's architecture, +its attention layer, etc. We will be more than happy to help you. + +2. Next prepare your environment +----------------------------------------------------------------------------------------------------------------------- + +1. Fork the `repository `__ by clicking on the β€˜Fork' button on the + repository's page. This creates a copy of the code under your GitHub user account. + +2. Clone your ``transformers`` fork to your local disk, and add the base repository as a remote: + + .. code:: bash + + git clone https://github.com/[your Github handle]/transformers.git + cd transformers + git remote add upstream https://github.com/huggingface/transformers.git + +3. Set up a development environment, for instance by running the following command: + + .. code:: bash + + python -m venv .env + source .env/bin/activate + pip install -e ".[dev]" + +and return to the parent directory + +.. code:: bash + + cd .. + +4. We recommend adding the PyTorch version of *brand_new_bert* to Transformers. To install PyTorch, please follow the + instructions on https://pytorch.org/get-started/locally/. + +**Note:** You don't need to have CUDA installed. Making the new model work on CPU is sufficient. + +5. To port *brand_new_bert*, you will also need access to its original repository: + +.. code:: bash + + git clone https://github.com/org_that_created_brand_new_bert_org/brand_new_bert.git + cd brand_new_bert + pip install -e . + +Now you have set up a development environment to port *brand_new_bert* to πŸ€— Transformers. + +3.-4. Run a pretrained checkpoint using the original repository +----------------------------------------------------------------------------------------------------------------------- + +At first, you will work on the original *brand_new_bert* repository. Often, the original implementation is very +β€œresearchy”. Meaning that documentation might be lacking and the code can be difficult to understand. But this should +be exactly your motivation to reimplement *brand_new_bert*. At Hugging Face, one of our main goals is to *make people +stand on the shoulders of giants* which translates here very well into taking a working model and rewriting it to make +it as **accessible, user-friendly, and beautiful** as possible. This is the number-one motivation to re-implement +models into πŸ€— Transformers - trying to make complex new NLP technology accessible to **everybody**. + +You should start thereby by diving into the original repository. + +Successfully running the official pretrained model in the original repository is often **the most difficult** step. +From our experience, it is very important to spend some time getting familiar with the original code-base. You need to +figure out the following: + +- Where to find the pretrained weights? +- How to load the pretrained weights into the corresponding model? +- How to run the tokenizer independently from the model? +- Trace one forward pass so that you know which classes and functions are required for a simple forward pass. Usually, + you only have to reimplement those functions. +- Be able to locate the important components of the model: Where is the model's class? Are there model sub-classes, + *e.g.* EncoderModel, DecoderModel? Where is the self-attention layer? Are there multiple different attention layers, + *e.g.* *self-attention*, *cross-attention*...? +- How can you debug the model in the original environment of the repo? Do you have to add `print` statements, can you + work with an interactive debugger like `ipdb`, or should you use an efficient IDE to debug the model, like PyCharm? + +It is very important that before you start the porting process, that you can **efficiently** debug code in the original +repository! Also, remember that you are working with an open-source library, so do not hesitate to open an issue, or +even a pull request in the original repository. The maintainers of this repository are most likely very happy about +someone looking into their code! + +At this point, it is really up to you which debugging environment and strategy you prefer to use to debug the original +model. We strongly advise against setting up a costly GPU environment, but simply work on a CPU both when starting to +dive into the original repository and also when starting to write the πŸ€— Transformers implementation of the model. Only +at the very end, when the model has already been successfully ported to πŸ€— Transformers, one should verify that the +model also works as expected on GPU. + +In general, there are two possible debugging environments for running the original model + +- `Jupyter notebooks `__ / `google colab + `__ +- Local python scripts. + +Jupyter notebooks have the advantage that they allow for cell-by-cell execution which can be helpful to better split +logical components from one another and to have faster debugging cycles as intermediate results can be stored. Also, +notebooks are often easier to share with other contributors, which might be very helpful if you want to ask the Hugging +Face team for help. If you are familiar with Jupiter notebooks, we strongly recommend you to work with them. + +The obvious disadvantage of Jupyther notebooks is that if you are not used to working with them you will have to spend +some time adjusting to the new programming environment and that you might not be able to use your known debugging tools +anymore, like ``ipdb``. + +For each code-base, a good first step is always to load a **small** pretrained checkpoint and to be able to reproduce a +single forward pass using a dummy integer vector of input IDs as an input. Such a script could look like this (in +pseudocode): + +.. code:: bash + + model = BrandNewBertModel.load_pretrained_checkpoint(/path/to/checkpoint/) + input_ids = [0, 4, 5, 2, 3, 7, 9] # vector of input ids + original_output = model.predict(input_ids) + +Next, regarding the debugging strategy, there are generally a few from which to choose from: + +- Decompose the original model into many small testable components and run a forward pass on each of those for + verification +- Decompose the original model only into the original *tokenizer* and the original *model*, run a forward pass on + those, and use intermediate print statements or breakpoints for verification + +Again, it is up to you which strategy to choose. Often, one or the other is advantageous depending on the original code +base. + +If the original code-base allows you to decompose the model into smaller sub-components, *e.g.* if the original +code-base can easily be run in eager mode, it is usually worth the effort to do so. There are some important advantages +to taking the more difficult road in the beginning: + +- at a later stage when comparing the original model to the Hugging Face implementation, you can verify automatically + for each component individually that the corresponding component of the πŸ€— Transformers implementation matches instead + of relying on visual comparison via print statements +- it can give you some rope to decompose the big problem of porting a model into smaller problems of just porting + individual components and thus structure your work better +- separating the model into logical meaningful components will help you to get a better overview of the model's design + and thus to better understand the model +- at a later stage those component-by-component tests help you to ensure that no regression occurs as you continue + changing your code + +`Lysandre's `__ integration checks for ELECTRA +gives a nice example of how this can be done. + +However, if the original code-base is very complex or only allows intermediate components to be run in a compiled mode, +it might be too time-consuming or even impossible to separate the model into smaller testable sub-components. A good +example is `T5's MeshTensorFlow `__ library which is +very complex and does not offer a simple way to decompose the model into its sub-components. For such libraries, one +often relies on verifying print statements. + +No matter which strategy you choose, the recommended procedure is often the same in that you should start to debug the +starting layers first and the ending layers last. + +It is recommended that you retrieve the output, either by print statements or sub-component functions, of the following +layers in the following order: + +1. Retrieve the input IDs passed to the model +2. Retrieve the word embeddings +3. Retrieve the input of the first Transformer layer +4. Retrieve the output of the first Transformer layer +5. Retrieve the output of the following n - 1 Transformer layers +6. Retrieve the output of the whole BrandNewBert Model + +Input IDs should thereby consists of an array of integers, *e.g.* ``input_ids = [0, 4, 4, 3, 2, 4, 1, 7, 19]`` + +The outputs of the following layers often consist of multi-dimensional float arrays and can look like this: + +.. code:: bash + + [[ + [-0.1465, -0.6501, 0.1993, ..., 0.1451, 0.3430, 0.6024], + [-0.4417, -0.5920, 0.3450, ..., -0.3062, 0.6182, 0.7132], + [-0.5009, -0.7122, 0.4548, ..., -0.3662, 0.6091, 0.7648], + ..., + [-0.5613, -0.6332, 0.4324, ..., -0.3792, 0.7372, 0.9288], + [-0.5416, -0.6345, 0.4180, ..., -0.3564, 0.6992, 0.9191], + [-0.5334, -0.6403, 0.4271, ..., -0.3339, 0.6533, 0.8694]]], + +We expect that every model added to πŸ€— Transformers passes a couple of integration tests, meaning that the original +model and the reimplemented version in πŸ€— Transformers have to give the exact same output up to a precision of 0.001! +Since it is normal that the exact same model written in different libraries can give a slightly different output +depending on the library framework, we accept an error tolerance of 1e-3 (0.001). It is not enough if the model gives +nearly the same output, they have to be the almost identical. Therefore, you will certainly compare the intermediate +outputs of the πŸ€— Transformers version multiple times against the intermediate outputs of the original implementation of +*brand_new_bert* in which case an **efficient** debugging environment of the original repository is absolutely +important. Here is some advice is to make your debugging environment as efficient as possible. + +- Find the best way of debugging intermediate results. Is the original repository written in PyTorch? Then you should + probably take the time to write a longer script that decomposes the original model into smaller sub-components to + retrieve intermediate values. Is the original repository written in Tensorflow 1? Then you might have to rely on + TensorFlow print operations like `tf.print `__ to output + intermediate values. Is the original repository written in Jax? Then make sure that the model is **not jitted** when + running the forward pass, *e.g.* check-out `this link `__. +- Use the smallest pretrained checkpoint you can find. The smaller the checkpoint, the faster your debug cycle + becomes. It is not efficient if your pretrained model is so big that your forward pass takes more than 10 seconds. + In case only very large checkpoints are available, it might make more sense to create a dummy model in the new + environment with randomly initialized weights and save those weights for comparison with the πŸ€— Transformers version + of your model +- Make sure you are using the easiest way of calling a forward pass in the original repository. Ideally, you want to + find the function in the original repository that **only** calls a single forward pass, *i.e.* that is often called + ``predict``, ``evaluate``, ``forward`` or ``__call__``. You don't want to debug a function that calls ``forward`` + multiple times, *e.g.* to generate text, like ``autoregressive_sample``, ``generate``. +- Try to separate the tokenization from the model's `forward` pass. If the original repository shows examples where + you have to input a string, then try to find out where in the forward call the string input is changed to input ids + and start from this point. This might mean that you have to possibly write a small script yourself or change the + original code so that you can directly input the ids instead of an input string. +- Make sure that the model in your debugging setup is **not** in training mode, which often causes the model to yield + random outputs due to multiple dropout layers in the model. Make sure that the forward pass in your debugging + environment is **deterministic** so that the dropout layers are not used. Or use `transformers.file_utils.set_seed` + if the old and new implementations are in the same framework. + +The following section gives you more specific details/tips on how you can do this for *brand_new_bert*. + +5.-14. Port BrandNewBert to πŸ€— Transformers +----------------------------------------------------------------------------------------------------------------------- + +Next, you can finally start adding new code to πŸ€— Transformers. Go into the clone of your πŸ€— Transformers' fork: + +:: + + cd transformers + +In the special case that you are adding a model whose architecture exactly matches the model architecture of an +existing model you only have to add a conversion script as described in `this section <#write-a-conversion-script>`__. +In this case, you can just re-use the whole model architecture of the already existing model. + +Otherwise, let's start generating a new model with the amazing Cookiecutter! + +**Use the Cookiecutter to automatically generate the model's code** + +To begin with head over to the `πŸ€— Transformers templates +`__ to make use of our +``cookiecutter`` implementation to automatically generate all the relevant files for your model. Again, we recommend +only adding the PyTorch version of the model at first. Make sure you follow the instructions of the ``README.md`` on +the `πŸ€— Transformers templates `__ +carefully. + +**Open a Pull Request on the main huggingface/transformers repo** + +Before starting to adapt the automatically generated code, now is the time to open a β€œWork in progress (WIP)” pull +request, *e.g.* β€œ[WIP] Add *brand_new_bert*”, in πŸ€— Transformers so that you and the Hugging Face team can work +side-by-side on integrating the model into πŸ€— Transformers. + +You should do the following: + +1. Create a branch with a descriptive name from your master branch + +:: + + git checkout -b add_brand_new_bert + +2. Commit the automatically generated code: + +:: + + git add . + git commit + +3. Fetch and rebase to current master + +:: + + git fetch upstream + git rebase upstream/master + +4. Push the changes to your account using: + +:: + + git push -u origin a-descriptive-name-for-my-changes + +5. Once you are satisfied, go to the webpage of your fork on GitHub. Click on β€œPull request”. Make sure to add the + GitHub handle of some members of the Hugging Face team as reviewers, so that the Hugging Face team gets notified for + future changes. + +6. Change the PR into a draft by clicking on β€œConvert to draft” on the right of the GitHub pull request web page. + +In the following, whenever you have done some progress, don't forget to commit your work and push it to your account so +that it shows in the pull request. Additionally, you should make sure to update your work with the current master from +time to time by doing: + +:: + + git fetch upstream + git merge upstream/master + +In general, all questions you might have regarding the model or your implementation should be asked in your PR and +discussed/solved in the PR. This way, the Hugging Face team will always be notified when you are committing new code or +if you have a question. It is often very helpful to point the Hugging Face team to your added code so that the Hugging +Face team can efficiently understand your problem or question. + +To do so, you can go to the β€œFiles changed” tab where you see all of your changes, go to a line regarding which you +want to ask a question, and click on the β€œ+” symbol to add a comment. Whenever a question or problem has been solved, +you can click on the β€œResolve” button of the created comment. + +In the same way, the Hugging Face team will open comments when reviewing your code. We recommend asking most questions +on GitHub on your PR. For some very general questions that are not very useful for the public, feel free to ping the +Hugging Face team by Slack or email. + +**5. Adapt the generated models code for brand_new_bert** + +At first, we will focus only on the model itself and not care about the tokenizer. All the relevant code should be +found in the generated files ``src/transformers/models/brand_new_bert/modeling_brand_new_bert.py`` and +``src/transformers/models/brand_new_bert/configuration_brand_new_bert.py``. + +Now you can finally start coding :). The generated code in +``src/transformers/models/brand_new_bert/modeling_brand_new_bert.py`` will either have the same architecture as BERT if +it's an encoder-only model or BART if it's an encoder-decoder model. At this point, you should remind yourself what +you've learned in the beginning about the theoretical aspects of the model: *How is the model different from BERT or +BART?*". Implement those changes which often means to change the *self-attention* layer, the order of the normalization +layer, etc… Again, it is often useful to look at the similar architecture of already existing models in Transformers to +get a better feeling of how your model should be implemented. + +**Note** that at this point, you don't have to be very sure that your code is fully correct or clean. Rather, it is +advised to add a first *unclean*, copy-pasted version of the original code to +``src/transformers/models/brand_new_bert/modeling_brand_new_bert.py`` until you feel like all the necessary code is +added. From our experience, it is much more efficient to quickly add a first version of the required code and +improve/correct the code iteratively with the conversion script as described in the next section. The only thing that +has to work at this point is that you can instantiate the πŸ€— Transformers implementation of *brand_new_bert*, *i.e.* the +following command should work: + +.. code:: python + + from transformers import BrandNewBertModel, BrandNewBertConfig + model = BrandNewBertModel(BrandNewBertConfig()) + +The above command will create a model according to the default parameters as defined in ``BrandNewBertConfig()`` with +random weights, thus making sure that the ``init()`` methods of all components works. + +**6. Write a conversion script** + +Next, you should write a conversion script that lets you convert the checkpoint you used to debug *brand_new_bert* in +the original repository to a checkpoint compatible with your just created πŸ€— Transformers implementation of +*brand_new_bert*. It is not advised to write the conversion script from scratch, but rather to look through already +existing conversion scripts in πŸ€— Transformers for one that has been used to convert a similar model that was written in +the same framework as *brand_new_bert*. Usually, it is enough to copy an already existing conversion script and +slightly adapt it for your use case. Don't hesitate to ask the Hugging Face team to point you to a similar already +existing conversion script for your model. + +- If you are porting a model from TensorFlow to PyTorch, a good starting point might be BERT's conversion script `here + `__ +- If you are porting a model from PyTorch to PyTorch, a good starting point might be BART's conversion script `here + `__ + +In the following, we'll quickly explain how PyTorch models store layer weights and define layer names. In PyTorch, the +name of a layer is defined by the name of the class attribute you give the layer. Let's define a dummy model in +PyTorch, called ``SimpleModel`` as follows: + +.. code:: python + + import torch.nn as nn + + class SimpleModel(nn.Module): + def __init__(self): + super().__init__() + self.dense = nn.Linear(10, 10) + self.intermediate = nn.Linear(10, 10) + self.layer_norm = nn.LayerNorm(10) + +Now we can create an instance of this model definition which will fill all weights: ``dense``, ``intermediate``, +``layer_norm`` with random weights. We can print the model to see its architecture + +.. code:: python + + model = SimpleModel() + + print(model) + +This will print out the following: + +.. code:: bash + + SimpleModel( + (dense): Linear(in_features=10, out_features=10, bias=True) + (intermediate): Linear(in_features=10, out_features=10, bias=True) + (layer_norm): LayerNorm((10,), eps=1e-05, elementwise_affine=True) + ) + +We can see that the layer names are defined by the name of the class attribute in PyTorch. You can print out the weight +values of a specific layer: + +.. code:: python + + print(model.dense.weight.data) + +to see that the weights were randomly initialized + +.. code:: bash + + tensor([[-0.0818, 0.2207, -0.0749, -0.0030, 0.0045, -0.1569, -0.1598, 0.0212, + -0.2077, 0.2157], + [ 0.1044, 0.0201, 0.0990, 0.2482, 0.3116, 0.2509, 0.2866, -0.2190, + 0.2166, -0.0212], + [-0.2000, 0.1107, -0.1999, -0.3119, 0.1559, 0.0993, 0.1776, -0.1950, + -0.1023, -0.0447], + [-0.0888, -0.1092, 0.2281, 0.0336, 0.1817, -0.0115, 0.2096, 0.1415, + -0.1876, -0.2467], + [ 0.2208, -0.2352, -0.1426, -0.2636, -0.2889, -0.2061, -0.2849, -0.0465, + 0.2577, 0.0402], + [ 0.1502, 0.2465, 0.2566, 0.0693, 0.2352, -0.0530, 0.1859, -0.0604, + 0.2132, 0.1680], + [ 0.1733, -0.2407, -0.1721, 0.1484, 0.0358, -0.0633, -0.0721, -0.0090, + 0.2707, -0.2509], + [-0.1173, 0.1561, 0.2945, 0.0595, -0.1996, 0.2988, -0.0802, 0.0407, + 0.1829, -0.1568], + [-0.1164, -0.2228, -0.0403, 0.0428, 0.1339, 0.0047, 0.1967, 0.2923, + 0.0333, -0.0536], + [-0.1492, -0.1616, 0.1057, 0.1950, -0.2807, -0.2710, -0.1586, 0.0739, + 0.2220, 0.2358]]). + +In the conversion script, you should fill those randomly initialized weights with the exact weights of the +corresponding layer in the checkpoint. *E.g.* + +.. code:: python + + # retrieve matching layer weights, e.g. by + # recursive algorithm + layer_name = "dense" + pretrained_weight = array_of_dense_layer + + model_pointer = getattr(model, "dense") + + model_pointer.weight.data = torch.from_numpy(pretrained_weight) + +While doing so, you must verify that each randomly initialized weight of your PyTorch model and its corresponding +pretrained checkpoint weight exactly match in both **shape and name**. To do so, it is **necessary** to add assert +statements for the shape and print out the names of the checkpoints weights. E.g. you should add statements like: + +.. code:: python + + assert ( + model_pointer.weight.shape == pretrained_weight.shape + ), f"Pointer shape of random weight {model_pointer.shape} and array shape of checkpoint weight {pretrained_weight.shape} mismatched" + +Besides, you should also print out the names of both weights to make sure they match, *e.g.* + +.. code:: python + + logger.info(f"Initialize PyTorch weight {layer_name} from {pretrained_weight.name}") + +If either the shape or the name doesn't match, you probably assigned the wrong checkpoint weight to a randomly +initialized layer of the πŸ€— Transformers implementation. + +An incorrect shape is most likely due to an incorrect setting of the config parameters in ``BrandNewBertConfig()`` that +do not exactly match those that were used for the checkpoint you want to convert. However, it could also be that +PyTorch's implementation of a layer requires the weight to be transposed beforehand. + +Finally, you should also check that **all** required weights are initialized and print out all checkpoint weights that +were not used for initialization to make sure the model is correctly converted. It is completely normal, that the +conversion trials fail with either a wrong shape statement or wrong name assignment. This is most likely because either +you used incorrect parameters in ``BrandNewBertConfig()``, have a wrong architecture in the πŸ€— Transformers +implementation, you have a bug in the ``init()`` functions of one of the components of the πŸ€— Transformers +implementation or you need to transpose one of the checkpoint weights. + +This step should be iterated with the previous step until all weights of the checkpoint are correctly loaded in the +Transformers model. Having correctly loaded the checkpoint into the πŸ€— Transformers implementation, you can then save +the model under a folder of your choice ``/path/to/converted/checkpoint/folder`` that should then contain both a +``pytorch_model.bin`` file and a ``config.json`` file: + +.. code:: python + + model.save_pretrained("/path/to/converted/checkpoint/folder") + +**7. Implement the forward pass** + +Having managed to correctly load the pretrained weights into the πŸ€— Transformers implementation, you should now make +sure that the forward pass is correctly implemented. In `Get familiar with the original repository +<#run-a-pretrained-checkpoint-using-the-original-repository>`__, you have already created a script that runs a forward +pass of the model using the original repository. Now you should write an analogous script using the πŸ€— Transformers +implementation instead of the original one. It should look as follows: + +.. code:: python + + model = BrandNewBertModel.from_pretrained(/path/to/converted/checkpoint/folder) + input_ids = [0, 4, 4, 3, 2, 4, 1, 7, 19] + output = model(input_ids).last_hidden_states + +It is very likely that the πŸ€— Transformers implementation and the original model implementation don't give the exact +same output the very first time or that the forward pass throws an error. Don't be disappointed - it's expected! First, +you should make sure that the forward pass doesn't throw any errors. It often happens that the wrong dimensions are +used leading to a `Dimensionality mismatch` error or that the wrong data type object is used, *e.g.* ``torch.long`` +instead of ``torch.float32``. Don't hesitate to ask the Hugging Face team for help, if you don't manage to solve +certain errors. + +The final part to make sure the πŸ€— Transformers implementation works correctly is to ensure that the outputs are +equivalent to a precision of ``1e-3``. First, you should ensure that the output shapes are identical, *i.e.* +``outputs.shape`` should yield the same value for the script of the πŸ€— Transformers implementation and the original +implementation. Next, you should make sure that the output values are identical as well. This one of the most difficult +parts of adding a new model. Common mistakes why the outputs are not identical are: + +- Some layers were not added, *i.e.* an `activation` layer was not added, or the residual connection was forgotten +- The word embedding matrix was not tied +- The wrong positional embeddings are used because the original implementation uses on offset +- Dropout is applied during the forward pass. To fix this make sure `model.training is False` and that no dropout + layer is falsely activated during the forward pass, *i.e.* pass `self.training` to `PyTorch's functional dropout + `_ + +The best way to fix the problem is usually to look at the forward pass of the original implementation and the πŸ€— +Transformers implementation side-by-side and check if there are any differences. Ideally, you should debug/print out +intermediate outputs of both implementations of the forward pass to find the exact position in the network where the πŸ€— +Transformers implementation shows a different output than the original implementation. First, make sure that the +hard-coded ``input_ids`` in both scripts are identical. Next, verify that the outputs of the first transformation of +the ``input_ids`` (usually the word embeddings) are identical. And then work your way up to the very last layer of the +network. At some point, you will notice a difference between the two implementations, which should point you to the bug +in the πŸ€— Transformers implementation. From our experience, a simple and efficient way is to add many print statements +in both the original implementation and πŸ€— Transformers implementation, at the same positions in the network +respectively, and to successively remove print statements showing the same values for intermediate presentions. + +When you're confident that both implementations yield the same output, verifying the outputs with +``torch.allclose(original_output, output, atol=1e-3)``, you're done with the most difficult part! Congratulations - the +work left to be done should be a cakewalk 😊. + +**8. Adding all necessary model tests** + +At this point, you have successfully added a new model. However, it is very much possible that the model does not yet +fully comply with the required design. To make sure, the implementation is fully compatible with πŸ€— Transformers, all +common tests should pass. The Cookiecutter should have automatically added a test file for your model, probably under +the same ``tests/test_modeling_brand_new_bert.py``. Run this test file to verify that all common tests pass: + +.. code:: python + + pytest tests/test_modeling_brand_new_bert.py + +Having fixed all common tests, it is now crucial to ensure that all the nice work you have done is well tested, so that + +- + + a) The community can easily understand your work by looking at specific tests of *brand_new_bert* + +- + + b) Future changes to your model will not break any important feature of the model. + +At first, integration tests should be added. Those integration tests essentially do the same as the debugging scripts +you used earlier to implement the model to πŸ€— Transformers. A template of those model tests is already added by the +Cookiecutter, called ``BrandNewBertModelIntegrationTests`` and only has to be filled out by you. To ensure that those +tests are passing, run + +.. code:: python + + RUN_SLOW=1 pytest -sv tests/test_modeling_brand_new_bert.py::BrandNewBertModelIntegrationTests + +.. note:: + + In case you are using Windows, you should replace ``RUN_SLOW=1`` with ``SET RUN_SLOW=1`` + +Second, all features that are special to *brand_new_bert* should be tested additionally in a separate test under +``BrandNewBertModelTester``/``BrandNewBertModelTest``. This part is often forgotten but is extremely useful in two +ways: + +- It helps to transfer the knowledge you have acquired during the model addition to the community by showing how the + special features of *brand_new_bert* should work. +- Future contributors can quickly test changes to the model by running those special tests. + + +**9. Implement the tokenizer** + +Next, we should add the tokenizer of *brand_new_bert*. Usually, the tokenizer is equivalent or very similar to an +already existing tokenizer of πŸ€— Transformers. + +It is very important to find/extract the original tokenizer file and to manage to load this file into the πŸ€— +Transformers' implementation of the tokenizer. + +To ensure that the tokenizer works correctly, it is recommended to first create a script in the original repository +that inputs a string and returns the ``input_ids``. It could look similar to this (in pseudo-code): + +.. code:: bash + + input_str = "This is a long example input string containing special characters .$?-, numbers 2872 234 12 and words." + model = BrandNewBertModel.load_pretrained_checkpoint(/path/to/checkpoint/) + input_ids = model.tokenize(input_str) + +You might have to take a deeper look again into the original repository to find the correct tokenizer function or you +might even have to do changes to your clone of the original repository to only output the ``input_ids``. Having written +a functional tokenization script that uses the original repository, an analogous script for πŸ€— Transformers should be +created. It should look similar to this: + +.. code:: python + + from transformers import BrandNewBertTokenizer + input_str = "This is a long example input string containing special characters .$?-, numbers 2872 234 12 and words." + + tokenizer = BrandNewBertTokenizer.from_pretrained(/path/to/tokenizer/folder/) + + input_ids = tokenizer(input_str).input_ids + +When both ``input_ids`` yield the same values, as a final step a tokenizer test file should also be added. + +Analogous to the modeling test files of *brand_new_bert*, the tokenization test files of *brand_new_bert* should +contain a couple of hard-coded integration tests. + +**10. Run End-to-end integration tests** + +Having added the tokenizer, you should also add a couple of end-to-end integration tests using both the model and the +tokenizer to ``tests/test_modeling_brand_new_bert.py`` in πŸ€— Transformers. Such a test should show on a meaningful +text-to-text sample that the πŸ€— Transformers implementation works as expected. A meaningful text-to-text sample can +include *e.g.* a source-to-target-translation pair, an article-to-summary pair, a question-to-answer pair, etc… If none +of the ported checkpoints has been fine-tuned on a downstream task it is enough to simply rely on the model tests. In a +final step to ensure that the model is fully functional, it is advised that you also run all tests on GPU. It can +happen that you forgot to add some ``.to(self.device)`` statements to internal tensors of the model, which in such a +test would show in an error. In case you have no access to a GPU, the Hugging Face team can take care of running those +tests for you. + +**11. Add Docstring** + +Now, all the necessary functionality for *brand_new_bert* is added - you're almost done! The only thing left to add is +a nice docstring and a doc page. The Cookiecutter should have added a template file called +``docs/source/model_doc/brand_new_bert.rst`` that you should fill out. Users of your model will usually first look at +this page before using your model. Hence, the documentation must be understandable and concise. It is very useful for +the community to add some *Tips* to show how the model should be used. Don't hesitate to ping the Hugging Face team +regarding the docstrings. + +Next, make sure that the docstring added to ``src/transformers/models/brand_new_bert/modeling_brand_new_bert.py`` is +correct and included all necessary inputs and outputs. It is always to good to remind oneself that documentation should +be treated at least as carefully as the code in πŸ€— Transformers since the documentation is usually the first contact +point of the community with the model. + +**Code refactor** + +Great, now you have added all the necessary code for *brand_new_bert*. At this point, you should correct some potential +incorrect code style by running: + +.. code:: bash + + make style + +and verify that your coding style passes the quality check: + +.. code:: bash + + make quality + +There are a couple of other very strict design tests in πŸ€— Transformers that might still be failing, which shows up in +the tests of your pull request. This is often because of some missing information in the docstring or some incorrect +naming. The Hugging Face team will surely help you if you're stuck here. + +Lastly, it is always a good idea to refactor one's code after having ensured that the code works correctly. With all +tests passing, now it's a good time to go over the added code again and do some refactoring. + +You have now finished the coding part, congratulation! πŸŽ‰ You are Awesome! 😎 + +**12. Upload the models to the model hub** + +In this final part, you should convert and upload all checkpoints to the model hub and add a model card for each +uploaded model checkpoint. You should work alongside the Hugging Face team here to decide on a fitting name for each +checkpoint and to get the required access rights to be able to upload the model under the author's organization of +*brand_new_bert*. + +It is worth spending some time to create fitting model cards for each checkpoint. The model cards should highlight the +specific characteristics of this particular checkpoint, *e.g.* On which dataset was the checkpoint +pretrained/fine-tuned on? On what down-stream task should the model be used? And also include some code on how to +correctly use the model. + +**13. (Optional) Add notebook** + +It is very helpful to add a notebook that showcases in-detail how *brand_new_bert* can be used for inference and/or +fine-tuned on a downstream task. This is not mandatory to merge your PR, but very useful for the community. + +**14. Submit your finished PR** + +You're done programming now and can move to the last step, which is getting your PR merged into master. Usually, the +Hugging Face team should have helped you already at this point, but it is worth taking some time to give your finished +PR a nice description and eventually add comments to your code, if you want to point out certain design choices to your +reviewer. + +Share your work!! +----------------------------------------------------------------------------------------------------------------------- + +Now, it's time to get some credit from the community for your work! Having completed a model addition is a major +contribution to Transformers and the whole NLP community. Your code and the ported pre-trained models will certainly be +used by hundreds and possibly even thousands of developers and researchers. You should be proud of your work and share +your achievement with the community. + +**You have made another model that is super easy to access for everyone in the community! 🀯** diff --git a/docs/source/imgs/transformers_overview.png b/docs/source/imgs/transformers_overview.png new file mode 100644 index 0000000000000000000000000000000000000000..b618d475b1d5bf06c180aca37f284ab5a16a3f83 GIT binary patch literal 148321 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

  • w#aaHhf5r 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 G2K^t`D#g|S literal 0 HcmV?d00001 diff --git a/docs/source/index.rst b/docs/source/index.rst index 38a66e12e5..e5b0a9a865 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -338,6 +338,7 @@ TensorFlow and/or Flax. converting_tensorflow_models migration contributing + add_new_model testing serialization diff --git a/templates/adding_a_new_model/open_model_proposals/README.md b/templates/adding_a_new_model/open_model_proposals/README.md new file mode 100644 index 0000000000..bae12a1765 --- /dev/null +++ b/templates/adding_a_new_model/open_model_proposals/README.md @@ -0,0 +1,3 @@ +Currently the following model proposals are available: + +- TODO(PVP) add BigBird