Transformersยถ
State-of-the-art Natural Language Processing for Jax, Pytorch and TensorFlow
๐ค Transformers (formerly known as pytorch-transformers and pytorch-pretrained-bert) provides general-purpose architectures (BERT, GPT-2, RoBERTa, XLM, DistilBert, XLNetโฆ) for Natural Language Understanding (NLU) and Natural Language Generation (NLG) with over 32+ pretrained models in 100+ languages and deep interoperability between Jax, PyTorch and TensorFlow.
This is the documentation of our repository transformers. You can also follow our online course that teaches how to use this library, as well as the other libraries developed by Hugging Face and the Hub.
Featuresยถ
High performance on NLU and NLG tasks
Low barrier to entry for educators and practitioners
State-of-the-art NLP for everyone:
Deep learning researchers
Hands-on practitioners
AI/ML/NLP teachers and educators
Lower compute costs, smaller carbon footprint:
Researchers can share trained models instead of always retraining
Practitioners can reduce compute time and production costs
8 architectures with over 30 pretrained models, some in more than 100 languages
Choose the right framework for every part of a modelโs lifetime:
Train state-of-the-art models in 3 lines of code
Deep interoperability between Jax, Pytorch and TensorFlow models
Move a single model between Jax/PyTorch/TensorFlow frameworks at will
Seamlessly pick the right framework for training, evaluation, production
The support for Jax is still experimental (with a few models right now), expect to see it grow in the coming months!
All the model checkpoints are seamlessly integrated from the huggingface.co model hub where they are uploaded directly by users and organizations.
Current number of checkpoints:
Contentsยถ
The documentation is organized in five parts:
GET STARTED contains a quick tour, the installation instructions and some useful information about our philosophy and a glossary.
USING ๐ค TRANSFORMERS contains general tutorials on how to use the library.
ADVANCED GUIDES contains more advanced guides that are more specific to a given script or part of the library.
RESEARCH focuses on tutorials that have less to do with how to use the library but more about general research in transformers model
The three last section contain the documentation of each public class and function, grouped in:
MAIN CLASSES for the main classes exposing the important APIs of the library.
MODELS for the classes and functions related to each model implemented in the library.
INTERNAL HELPERS for the classes and functions we use internally.
The library currently contains Jax, PyTorch and Tensorflow implementations, pretrained model weights, usage scripts and conversion utilities for the following models.
Supported modelsยถ
ALBERT (from Google Research and the Toyota Technological Institute at Chicago) released with the paper ALBERT: A Lite BERT for Self-supervised Learning of Language Representations, by Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma, Radu Soricut.
BART (from Facebook) released with the paper BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension by Mike Lewis, Yinhan Liu, Naman Goyal, Marjan Ghazvininejad, Abdelrahman Mohamed, Omer Levy, Ves Stoyanov and Luke Zettlemoyer.
BARThez (from รcole polytechnique) released with the paper BARThez: a Skilled Pretrained French Sequence-to-Sequence Model by Moussa Kamal Eddine, Antoine J.-P. Tixier, Michalis Vazirgiannis.
BEiT (from Microsoft) released with the paper BEiT: BERT Pre-Training of Image Transformers by Hangbo Bao, Li Dong, Furu Wei.
BERT (from Google) released with the paper BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding by Jacob Devlin, Ming-Wei Chang, Kenton Lee and Kristina Toutanova.
BERT For Sequence Generation (from Google) released with the paper Leveraging Pre-trained Checkpoints for Sequence Generation Tasks by Sascha Rothe, Shashi Narayan, Aliaksei Severyn.
BigBird-RoBERTa (from Google Research) released with the paper Big Bird: Transformers for Longer Sequences by Manzil Zaheer, Guru Guruganesh, Avinava Dubey, Joshua Ainslie, Chris Alberti, Santiago Ontanon, Philip Pham, Anirudh Ravula, Qifan Wang, Li Yang, Amr Ahmed.
BigBird-Pegasus (from Google Research) released with the paper Big Bird: Transformers for Longer Sequences by Manzil Zaheer, Guru Guruganesh, Avinava Dubey, Joshua Ainslie, Chris Alberti, Santiago Ontanon, Philip Pham, Anirudh Ravula, Qifan Wang, Li Yang, Amr Ahmed.
Blenderbot (from Facebook) released with the paper Recipes for building an open-domain chatbot by Stephen Roller, Emily Dinan, Naman Goyal, Da Ju, Mary Williamson, Yinhan Liu, Jing Xu, Myle Ott, Kurt Shuster, Eric M. Smith, Y-Lan Boureau, Jason Weston.
BlenderbotSmall (from Facebook) released with the paper Recipes for building an open-domain chatbot by Stephen Roller, Emily Dinan, Naman Goyal, Da Ju, Mary Williamson, Yinhan Liu, Jing Xu, Myle Ott, Kurt Shuster, Eric M. Smith, Y-Lan Boureau, Jason Weston.
BORT (from Alexa) released with the paper Optimal Subarchitecture Extraction For BERT by Adrian de Wynter and Daniel J. Perry.
ByT5 (from Google Research) released with the paper ByT5: Towards a token-free future with pre-trained byte-to-byte models by Linting Xue, Aditya Barua, Noah Constant, Rami Al-Rfou, Sharan Narang, Mihir Kale, Adam Roberts, Colin Raffel.
CamemBERT (from Inria/Facebook/Sorbonne) released with the paper CamemBERT: a Tasty French Language Model by Louis Martin*, Benjamin Muller*, Pedro Javier Ortiz Suรกrez*, Yoann Dupont, Laurent Romary, รric Villemonte de la Clergerie, Djamรฉ Seddah and Benoรฎt Sagot.
CANINE (from Google Research) released with the paper CANINE: Pre-training an Efficient Tokenization-Free Encoder for Language Representation by Jonathan H. Clark, Dan Garrette, Iulia Turc, John Wieting.
CLIP (from OpenAI) released with the paper Learning Transferable Visual Models From Natural Language Supervision by Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, Gretchen Krueger, Ilya Sutskever.
ConvBERT (from YituTech) released with the paper ConvBERT: Improving BERT with Span-based Dynamic Convolution by Zihang Jiang, Weihao Yu, Daquan Zhou, Yunpeng Chen, Jiashi Feng, Shuicheng Yan.
CPM (from Tsinghua University) released with the paper CPM: A Large-scale Generative Chinese Pre-trained Language Model by Zhengyan Zhang, Xu Han, Hao Zhou, Pei Ke, Yuxian Gu, Deming Ye, Yujia Qin, Yusheng Su, Haozhe Ji, Jian Guan, Fanchao Qi, Xiaozhi Wang, Yanan Zheng, Guoyang Zeng, Huanqi Cao, Shengqi Chen, Daixuan Li, Zhenbo Sun, Zhiyuan Liu, Minlie Huang, Wentao Han, Jie Tang, Juanzi Li, Xiaoyan Zhu, Maosong Sun.
CTRL (from Salesforce) released with the paper CTRL: A Conditional Transformer Language Model for Controllable Generation by Nitish Shirish Keskar*, Bryan McCann*, Lav R. Varshney, Caiming Xiong and Richard Socher.
DeBERTa (from Microsoft) released with the paper DeBERTa: Decoding-enhanced BERT with Disentangled Attention by Pengcheng He, Xiaodong Liu, Jianfeng Gao, Weizhu Chen.
DeBERTa-v2 (from Microsoft) released with the paper DeBERTa: Decoding-enhanced BERT with Disentangled Attention by Pengcheng He, Xiaodong Liu, Jianfeng Gao, Weizhu Chen.
DeiT (from Facebook) released with the paper Training data-efficient image transformers & distillation through attention by Hugo Touvron, Matthieu Cord, Matthijs Douze, Francisco Massa, Alexandre Sablayrolles, Hervรฉ Jรฉgou.
DETR (from Facebook) released with the paper End-to-End Object Detection with Transformers by Nicolas Carion, Francisco Massa, Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov, Sergey Zagoruyko.
DialoGPT (from Microsoft Research) released with the paper DialoGPT: Large-Scale Generative Pre-training for Conversational Response Generation by Yizhe Zhang, Siqi Sun, Michel Galley, Yen-Chun Chen, Chris Brockett, Xiang Gao, Jianfeng Gao, Jingjing Liu, Bill Dolan.
DistilBERT (from HuggingFace), released together with the paper DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter by Victor Sanh, Lysandre Debut and Thomas Wolf. The same method has been applied to compress GPT2 into DistilGPT2, RoBERTa into DistilRoBERTa, Multilingual BERT into DistilmBERT and a German version of DistilBERT.
DPR (from Facebook) released with the paper Dense Passage Retrieval for Open-Domain Question Answering by Vladimir Karpukhin, Barlas Oฤuz, Sewon Min, Patrick Lewis, Ledell Wu, Sergey Edunov, Danqi Chen, and Wen-tau Yih.
EncoderDecoder (from Google Research) released with the paper Leveraging Pre-trained Checkpoints for Sequence Generation Tasks by Sascha Rothe, Shashi Narayan, Aliaksei Severyn.
ELECTRA (from Google Research/Stanford University) released with the paper ELECTRA: Pre-training text encoders as discriminators rather than generators by Kevin Clark, Minh-Thang Luong, Quoc V. Le, Christopher D. Manning.
FlauBERT (from CNRS) released with the paper FlauBERT: Unsupervised Language Model Pre-training for French by Hang Le, Loรฏc Vial, Jibril Frej, Vincent Segonne, Maximin Coavoux, Benjamin Lecouteux, Alexandre Allauzen, Benoรฎt Crabbรฉ, Laurent Besacier, Didier Schwab.
FNet (from Google Research) released with the paper FNet: Mixing Tokens with Fourier Transforms by James Lee-Thorp, Joshua Ainslie, Ilya Eckstein, Santiago Ontanon.
Funnel Transformer (from CMU/Google Brain) released with the paper Funnel-Transformer: Filtering out Sequential Redundancy for Efficient Language Processing by Zihang Dai, Guokun Lai, Yiming Yang, Quoc V. Le.
GPT (from OpenAI) released with the paper Improving Language Understanding by Generative Pre-Training by Alec Radford, Karthik Narasimhan, Tim Salimans and Ilya Sutskever.
GPT-2 (from OpenAI) released with the paper Language Models are Unsupervised Multitask Learners by Alec Radford*, Jeffrey Wu*, Rewon Child, David Luan, Dario Amodei** and Ilya Sutskever**.
GPT-J (from EleutherAI) released in the repository kingoflolz/mesh-transformer-jax by Ben Wang and Aran Komatsuzaki.
GPT Neo (from EleutherAI) released in the repository EleutherAI/gpt-neo by Sid Black, Stella Biderman, Leo Gao, Phil Wang and Connor Leahy.
Hubert (from Facebook) released with the paper HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed.
I-BERT (from Berkeley) released with the paper I-BERT: Integer-only BERT Quantization by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer.
LayoutLM (from Microsoft Research Asia) released with the paper LayoutLM: Pre-training of Text and Layout for Document Image Understanding by Yiheng Xu, Minghao Li, Lei Cui, Shaohan Huang, Furu Wei, Ming Zhou.
LayoutLMv2 (from Microsoft Research Asia) released with the paper LayoutLMv2: Multi-modal Pre-training for Visually-Rich Document Understanding by Yang Xu, Yiheng Xu, Tengchao Lv, Lei Cui, Furu Wei, Guoxin Wang, Yijuan Lu, Dinei Florencio, Cha Zhang, Wanxiang Che, Min Zhang, Lidong Zhou.
LayoutXLM (from Microsoft Research Asia) released with the paper LayoutXLM: Multimodal Pre-training for Multilingual Visually-rich Document Understanding by Yiheng Xu, Tengchao Lv, Lei Cui, Guoxin Wang, Yijuan Lu, Dinei Florencio, Cha Zhang, Furu Wei.
LED (from AllenAI) released with the paper Longformer: The Long-Document Transformer by Iz Beltagy, Matthew E. Peters, Arman Cohan.
Longformer (from AllenAI) released with the paper Longformer: The Long-Document Transformer by Iz Beltagy, Matthew E. Peters, Arman Cohan.
LUKE (from Studio Ousia) released with the paper LUKE: Deep Contextualized Entity Representations with Entity-aware Self-attention by Ikuya Yamada, Akari Asai, Hiroyuki Shindo, Hideaki Takeda, Yuji Matsumoto.
LXMERT (from UNC Chapel Hill) released with the paper LXMERT: Learning Cross-Modality Encoder Representations from Transformers for Open-Domain Question Answering by Hao Tan and Mohit Bansal.
M2M100 (from Facebook) released with the paper Beyond English-Centric Multilingual Machine Translation by Angela Fan, Shruti Bhosale, Holger Schwenk, Zhiyi Ma, Ahmed El-Kishky, Siddharth Goyal, Mandeep Baines, Onur Celebi, Guillaume Wenzek, Vishrav Chaudhary, Naman Goyal, Tom Birch, Vitaliy Liptchinsky, Sergey Edunov, Edouard Grave, Michael Auli, Armand Joulin.
MarianMT Machine translation models trained using OPUS data by Jรถrg Tiedemann. The Marian Framework is being developed by the Microsoft Translator Team.
MBart (from Facebook) released with the paper Multilingual Denoising Pre-training for Neural Machine Translation by Yinhan Liu, Jiatao Gu, Naman Goyal, Xian Li, Sergey Edunov, Marjan Ghazvininejad, Mike Lewis, Luke Zettlemoyer.
MBart-50 (from Facebook) released with the paper Multilingual Translation with Extensible Multilingual Pretraining and Finetuning by Yuqing Tang, Chau Tran, Xian Li, Peng-Jen Chen, Naman Goyal, Vishrav Chaudhary, Jiatao Gu, Angela Fan.
Megatron-BERT (from NVIDIA) released with the paper Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism by Mohammad Shoeybi, Mostofa Patwary, Raul Puri, Patrick LeGresley, Jared Casper and Bryan Catanzaro.
Megatron-GPT2 (from NVIDIA) released with the paper Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism by Mohammad Shoeybi, Mostofa Patwary, Raul Puri, Patrick LeGresley, Jared Casper and Bryan Catanzaro.
MPNet (from Microsoft Research) released with the paper MPNet: Masked and Permuted Pre-training for Language Understanding by Kaitao Song, Xu Tan, Tao Qin, Jianfeng Lu, Tie-Yan Liu.
MT5 (from Google AI) released with the paper mT5: A massively multilingual pre-trained text-to-text transformer by Linting Xue, Noah Constant, Adam Roberts, Mihir Kale, Rami Al-Rfou, Aditya Siddhant, Aditya Barua, Colin Raffel.
Pegasus (from Google) released with the paper PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization by Jingqing Zhang, Yao Zhao, Mohammad Saleh and Peter J. Liu.
ProphetNet (from Microsoft Research) released with the paper ProphetNet: Predicting Future N-gram for Sequence-to-Sequence Pre-training by Yu Yan, Weizhen Qi, Yeyun Gong, Dayiheng Liu, Nan Duan, Jiusheng Chen, Ruofei Zhang and Ming Zhou.
Reformer (from Google Research) released with the paper Reformer: The Efficient Transformer by Nikita Kitaev, ลukasz Kaiser, Anselm Levskaya.
RemBERT (from Google Research) released with the paper Rethinking embedding coupling in pre-trained language models by Hyung Won Chung, Thibault Fรฉvry, Henry Tsai, M. Johnson, Sebastian Ruder.
RoBERTa (from Facebook), released together with the paper a Robustly Optimized BERT Pretraining Approach by Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, Veselin Stoyanov.
RoFormer (from ZhuiyiTechnology), released together with the paper a RoFormer: Enhanced Transformer with Rotary Position Embedding by Jianlin Su and Yu Lu and Shengfeng Pan and Bo Wen and Yunfeng Liu.
SpeechToTextTransformer (from Facebook), released together with the paper fairseq S2T: Fast Speech-to-Text Modeling with fairseq by Changhan Wang, Yun Tang, Xutai Ma, Anne Wu, Dmytro Okhonko, Juan Pino.
SpeechToTextTransformer2 (from Facebook), released together with the paper Large-Scale Self- and Semi-Supervised Learning for Speech Translation by Changhan Wang, Anne Wu, Juan Pino, Alexei Baevski, Michael Auli, Alexis Conneau.
Splinter (from Tel Aviv University), released together with the paper Few-Shot Question Answering by Pretraining Span Selection by Ori Ram, Yuval Kirstain, Jonathan Berant, Amir Globerson, Omer Levy.
SqueezeBert (from Berkeley) released with the paper SqueezeBERT: What can computer vision teach NLP about efficient neural networks? by Forrest N. Iandola, Albert E. Shaw, Ravi Krishna, and Kurt W. Keutzer.
T5 (from Google AI) released with the paper Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer by Colin Raffel and Noam Shazeer and Adam Roberts and Katherine Lee and Sharan Narang and Michael Matena and Yanqi Zhou and Wei Li and Peter J. Liu.
T5v1.1 (from Google AI) released in the repository google-research/text-to-text-transfer-transformer by Colin Raffel and Noam Shazeer and Adam Roberts and Katherine Lee and Sharan Narang and Michael Matena and Yanqi Zhou and Wei Li and Peter J. Liu.
TAPAS (from Google AI) released with the paper TAPAS: Weakly Supervised Table Parsing via Pre-training by Jonathan Herzig, Paweล Krzysztof Nowak, Thomas Mรผller, Francesco Piccinno and Julian Martin Eisenschlos.
Transformer-XL (from Google/CMU) released with the paper Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context by Zihang Dai*, Zhilin Yang*, Yiming Yang, Jaime Carbonell, Quoc V. Le, Ruslan Salakhutdinov.
Vision Transformer (ViT) (from Google AI) released with the paper An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale by Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit, Neil Houlsby.
VisualBERT (from UCLA NLP) released with the paper VisualBERT: A Simple and Performant Baseline for Vision and Language by Liunian Harold Li, Mark Yatskar, Da Yin, Cho-Jui Hsieh, Kai-Wei Chang.
Wav2Vec2 (from Facebook AI) released with the paper wav2vec 2.0: A Framework for Self-Supervised Learning of Speech Representations by Alexei Baevski, Henry Zhou, Abdelrahman Mohamed, Michael Auli.
XLM (from Facebook) released together with the paper Cross-lingual Language Model Pretraining by Guillaume Lample and Alexis Conneau.
XLM-ProphetNet (from Microsoft Research) released with the paper ProphetNet: Predicting Future N-gram for Sequence-to-Sequence Pre-training by Yu Yan, Weizhen Qi, Yeyun Gong, Dayiheng Liu, Nan Duan, Jiusheng Chen, Ruofei Zhang and Ming Zhou.
XLM-RoBERTa (from Facebook AI), released together with the paper Unsupervised Cross-lingual Representation Learning at Scale by Alexis Conneau*, Kartikay Khandelwal*, Naman Goyal, Vishrav Chaudhary, Guillaume Wenzek, Francisco Guzmรกn, Edouard Grave, Myle Ott, Luke Zettlemoyer and Veselin Stoyanov.
XLNet (from Google/CMU) released with the paper โXLNet: Generalized Autoregressive Pretraining for Language Understanding by Zhilin Yang*, Zihang Dai*, Yiming Yang, Jaime Carbonell, Ruslan Salakhutdinov, Quoc V. Le.
XLSR-Wav2Vec2 (from Facebook AI) released with the paper Unsupervised Cross-Lingual Representation Learning For Speech Recognition by Alexis Conneau, Alexei Baevski, Ronan Collobert, Abdelrahman Mohamed, Michael Auli.
Supported frameworksยถ
The table below represents the current support in the library for each of those models, whether they have a Python tokenizer (called โslowโ). A โfastโ tokenizer backed by the ๐ค Tokenizers library, whether they have support in Jax (via Flax), PyTorch, and/or TensorFlow.
Model |
Tokenizer slow |
Tokenizer fast |
PyTorch support |
TensorFlow support |
Flax Support |
---|---|---|---|---|---|
ALBERT |
โ |
โ |
โ |
โ |
โ |
BART |
โ |
โ |
โ |
โ |
โ |
BeiT |
โ |
โ |
โ |
โ |
โ |
BERT |
โ |
โ |
โ |
โ |
โ |
Bert Generation |
โ |
โ |
โ |
โ |
โ |
BigBird |
โ |
โ |
โ |
โ |
โ |
BigBirdPegasus |
โ |
โ |
โ |
โ |
โ |
Blenderbot |
โ |
โ |
โ |
โ |
โ |
BlenderbotSmall |
โ |
โ |
โ |
โ |
โ |
CamemBERT |
โ |
โ |
โ |
โ |
โ |
Canine |
โ |
โ |
โ |
โ |
โ |
CLIP |
โ |
โ |
โ |
โ |
โ |
ConvBERT |
โ |
โ |
โ |
โ |
โ |
CTRL |
โ |
โ |
โ |
โ |
โ |
DeBERTa |
โ |
โ |
โ |
โ |
โ |
DeBERTa-v2 |
โ |
โ |
โ |
โ |
โ |
DeiT |
โ |
โ |
โ |
โ |
โ |
DETR |
โ |
โ |
โ |
โ |
โ |
DistilBERT |
โ |
โ |
โ |
โ |
โ |
DPR |
โ |
โ |
โ |
โ |
โ |
ELECTRA |
โ |
โ |
โ |
โ |
โ |
Encoder decoder |
โ |
โ |
โ |
โ |
โ |
FairSeq Machine-Translation |
โ |
โ |
โ |
โ |
โ |
FlauBERT |
โ |
โ |
โ |
โ |
โ |
FNet |
โ |
โ |
โ |
โ |
โ |
Funnel Transformer |
โ |
โ |
โ |
โ |
โ |
GPT Neo |
โ |
โ |
โ |
โ |
โ |
GPT-J |
โ |
โ |
โ |
โ |
โ |
Hubert |
โ |
โ |
โ |
โ |
โ |
I-BERT |
โ |
โ |
โ |
โ |
โ |
LayoutLM |
โ |
โ |
โ |
โ |
โ |
LayoutLMv2 |
โ |
โ |
โ |
โ |
โ |
LED |
โ |
โ |
โ |
โ |
โ |
Longformer |
โ |
โ |
โ |
โ |
โ |
LUKE |
โ |
โ |
โ |
โ |
โ |
LXMERT |
โ |
โ |
โ |
โ |
โ |
M2M100 |
โ |
โ |
โ |
โ |
โ |
Marian |
โ |
โ |
โ |
โ |
โ |
mBART |
โ |
โ |
โ |
โ |
โ |
MegatronBert |
โ |
โ |
โ |
โ |
โ |
MobileBERT |
โ |
โ |
โ |
โ |
โ |
MPNet |
โ |
โ |
โ |
โ |
โ |
mT5 |
โ |
โ |
โ |
โ |
โ |
OpenAI GPT |
โ |
โ |
โ |
โ |
โ |
OpenAI GPT-2 |
โ |
โ |
โ |
โ |
โ |
Pegasus |
โ |
โ |
โ |
โ |
โ |
ProphetNet |
โ |
โ |
โ |
โ |
โ |
RAG |
โ |
โ |
โ |
โ |
โ |
Reformer |
โ |
โ |
โ |
โ |
โ |
RemBERT |
โ |
โ |
โ |
โ |
โ |
RetriBERT |
โ |
โ |
โ |
โ |
โ |
RoBERTa |
โ |
โ |
โ |
โ |
โ |
RoFormer |
โ |
โ |
โ |
โ |
โ |
Speech Encoder decoder |
โ |
โ |
โ |
โ |
โ |
Speech2Text |
โ |
โ |
โ |
โ |
โ |
Speech2Text2 |
โ |
โ |
โ |
โ |
โ |
Splinter |
โ |
โ |
โ |
โ |
โ |
SqueezeBERT |
โ |
โ |
โ |
โ |
โ |
T5 |
โ |
โ |
โ |
โ |
โ |
TAPAS |
โ |
โ |
โ |
โ |
โ |
Transformer-XL |
โ |
โ |
โ |
โ |
โ |
VisualBert |
โ |
โ |
โ |
โ |
โ |
ViT |
โ |
โ |
โ |
โ |
โ |
Wav2Vec2 |
โ |
โ |
โ |
โ |
โ |
XLM |
โ |
โ |
โ |
โ |
โ |
XLM-RoBERTa |
โ |
โ |
โ |
โ |
โ |
XLMProphetNet |
โ |
โ |
โ |
โ |
โ |
XLNet |
โ |
โ |
โ |
โ |
โ |
- Pretrained models
- Examples
- Troubleshooting
- Fine-tuning with custom datasets
- ๐ค Transformers Notebooks
- Run training on Amazon SageMaker
- Community
- Converting Tensorflow Checkpoints
- Migrating from previous packages
- How to contribute to transformers?
- How to add a model to ๐ค Transformers?
- How to add a pipeline to ๐ค Transformers?
- Using tokenizers from ๐ค Tokenizers
- Performance and Scalability: How To Fit a Bigger Model and Train It Faster
- Model Parallelism
- Testing
- Debugging
- Exporting transformers models
- Callbacks
- Configuration
- Data Collator
- Logging
- Models
- Optimization
- Model outputs
- ModelOutput
- BaseModelOutput
- BaseModelOutputWithPooling
- BaseModelOutputWithCrossAttentions
- BaseModelOutputWithPoolingAndCrossAttentions
- BaseModelOutputWithPast
- BaseModelOutputWithPastAndCrossAttentions
- Seq2SeqModelOutput
- CausalLMOutput
- CausalLMOutputWithCrossAttentions
- CausalLMOutputWithPast
- MaskedLMOutput
- Seq2SeqLMOutput
- NextSentencePredictorOutput
- SequenceClassifierOutput
- Seq2SeqSequenceClassifierOutput
- MultipleChoiceModelOutput
- TokenClassifierOutput
- QuestionAnsweringModelOutput
- Seq2SeqQuestionAnsweringModelOutput
- TFBaseModelOutput
- TFBaseModelOutputWithPooling
- TFBaseModelOutputWithPast
- TFSeq2SeqModelOutput
- TFCausalLMOutput
- TFCausalLMOutputWithPast
- TFMaskedLMOutput
- TFSeq2SeqLMOutput
- TFNextSentencePredictorOutput
- TFSequenceClassifierOutput
- TFSeq2SeqSequenceClassifierOutput
- TFMultipleChoiceModelOutput
- TFTokenClassifierOutput
- TFQuestionAnsweringModelOutput
- TFSeq2SeqQuestionAnsweringModelOutput
- FlaxBaseModelOutput
- FlaxBaseModelOutputWithPast
- FlaxBaseModelOutputWithPooling
- FlaxBaseModelOutputWithPastAndCrossAttentions
- FlaxSeq2SeqModelOutput
- FlaxCausalLMOutputWithCrossAttentions
- FlaxMaskedLMOutput
- FlaxSeq2SeqLMOutput
- FlaxNextSentencePredictorOutput
- FlaxSequenceClassifierOutput
- FlaxSeq2SeqSequenceClassifierOutput
- FlaxMultipleChoiceModelOutput
- FlaxTokenClassifierOutput
- FlaxQuestionAnsweringModelOutput
- FlaxSeq2SeqQuestionAnsweringModelOutput
- Pipelines
- Processors
- Tokenizer
- Trainer
- DeepSpeed Integration
- Feature Extractor
- ALBERT
- Overview
- AlbertConfig
- AlbertTokenizer
- AlbertTokenizerFast
- Albert specific outputs
- AlbertModel
- AlbertForPreTraining
- AlbertForMaskedLM
- AlbertForSequenceClassification
- AlbertForMultipleChoice
- AlbertForTokenClassification
- AlbertForQuestionAnswering
- TFAlbertModel
- TFAlbertForPreTraining
- TFAlbertForMaskedLM
- TFAlbertForSequenceClassification
- TFAlbertForMultipleChoice
- TFAlbertForTokenClassification
- TFAlbertForQuestionAnswering
- FlaxAlbertModel
- FlaxAlbertForPreTraining
- FlaxAlbertForMaskedLM
- FlaxAlbertForSequenceClassification
- FlaxAlbertForMultipleChoice
- FlaxAlbertForTokenClassification
- FlaxAlbertForQuestionAnswering
- Auto Classes
- AutoConfig
- AutoTokenizer
- AutoFeatureExtractor
- AutoModel
- AutoModelForPreTraining
- AutoModelForCausalLM
- AutoModelForMaskedLM
- AutoModelForSeq2SeqLM
- AutoModelForSequenceClassification
- AutoModelForMultipleChoice
- AutoModelForNextSentencePrediction
- AutoModelForTokenClassification
- AutoModelForQuestionAnswering
- AutoModelForTableQuestionAnswering
- AutoModelForImageClassification
- AutoModelForAudioClassification
- AutoModelForCTC
- AutoModelForSpeechSeq2Seq
- AutoModelForObjectDetection
- TFAutoModel
- TFAutoModelForPreTraining
- TFAutoModelForCausalLM
- TFAutoModelForMaskedLM
- TFAutoModelForSeq2SeqLM
- TFAutoModelForSequenceClassification
- TFAutoModelForMultipleChoice
- TFAutoModelForTokenClassification
- TFAutoModelForQuestionAnswering
- FlaxAutoModel
- FlaxAutoModelForCausalLM
- FlaxAutoModelForPreTraining
- FlaxAutoModelForMaskedLM
- FlaxAutoModelForSeq2SeqLM
- FlaxAutoModelForSequenceClassification
- FlaxAutoModelForQuestionAnswering
- FlaxAutoModelForTokenClassification
- FlaxAutoModelForMultipleChoice
- FlaxAutoModelForNextSentencePrediction
- FlaxAutoModelForImageClassification
- BART
- Overview
- Implementation Notes
- Mask Filling
- BartConfig
- BartTokenizer
- BartTokenizerFast
- BartModel
- BartForConditionalGeneration
- BartForSequenceClassification
- BartForQuestionAnswering
- BartForCausalLM
- TFBartModel
- TFBartForConditionalGeneration
- FlaxBartModel
- FlaxBartForConditionalGeneration
- FlaxBartForSequenceClassification
- FlaxBartForQuestionAnswering
- BARThez
- BEiT
- BERT
- Overview
- BertConfig
- BertTokenizer
- BertTokenizerFast
- Bert specific outputs
- BertModel
- BertForPreTraining
- BertLMHeadModel
- BertForMaskedLM
- BertForNextSentencePrediction
- BertForSequenceClassification
- BertForMultipleChoice
- BertForTokenClassification
- BertForQuestionAnswering
- TFBertModel
- TFBertForPreTraining
- TFBertModelLMHeadModel
- TFBertForMaskedLM
- TFBertForNextSentencePrediction
- TFBertForSequenceClassification
- TFBertForMultipleChoice
- TFBertForTokenClassification
- TFBertForQuestionAnswering
- FlaxBertModel
- FlaxBertForPreTraining
- FlaxBertForMaskedLM
- FlaxBertForNextSentencePrediction
- FlaxBertForSequenceClassification
- FlaxBertForMultipleChoice
- FlaxBertForTokenClassification
- FlaxBertForQuestionAnswering
- Bertweet
- BertGeneration
- BertJapanese
- BigBird
- Overview
- BigBirdConfig
- BigBirdTokenizer
- BigBirdTokenizerFast
- BigBird specific outputs
- BigBirdModel
- BigBirdForPreTraining
- BigBirdForCausalLM
- BigBirdForMaskedLM
- BigBirdForSequenceClassification
- BigBirdForMultipleChoice
- BigBirdForTokenClassification
- BigBirdForQuestionAnswering
- FlaxBigBirdModel
- FlaxBigBirdForPreTraining
- FlaxBigBirdForMaskedLM
- FlaxBigBirdForSequenceClassification
- FlaxBigBirdForMultipleChoice
- FlaxBigBirdForTokenClassification
- FlaxBigBirdForQuestionAnswering
- BigBirdPegasus
- Blenderbot
- Blenderbot Small
- BORT
- ByT5
- CamemBERT
- Overview
- CamembertConfig
- CamembertTokenizer
- CamembertTokenizerFast
- CamembertModel
- CamembertForCausalLM
- CamembertForMaskedLM
- CamembertForSequenceClassification
- CamembertForMultipleChoice
- CamembertForTokenClassification
- CamembertForQuestionAnswering
- TFCamembertModel
- TFCamembertForMaskedLM
- TFCamembertForSequenceClassification
- TFCamembertForMultipleChoice
- TFCamembertForTokenClassification
- TFCamembertForQuestionAnswering
- CANINE
- CLIP
- ConvBERT
- Overview
- ConvBertConfig
- ConvBertTokenizer
- ConvBertTokenizerFast
- ConvBertModel
- ConvBertForMaskedLM
- ConvBertForSequenceClassification
- ConvBertForMultipleChoice
- ConvBertForTokenClassification
- ConvBertForQuestionAnswering
- TFConvBertModel
- TFConvBertForMaskedLM
- TFConvBertForSequenceClassification
- TFConvBertForMultipleChoice
- TFConvBertForTokenClassification
- TFConvBertForQuestionAnswering
- CPM
- CTRL
- DeBERTa
- Overview
- DebertaConfig
- DebertaTokenizer
- DebertaTokenizerFast
- DebertaModel
- DebertaPreTrainedModel
- DebertaForMaskedLM
- DebertaForSequenceClassification
- DebertaForTokenClassification
- DebertaForQuestionAnswering
- TFDebertaModel
- TFDebertaPreTrainedModel
- TFDebertaForMaskedLM
- TFDebertaForSequenceClassification
- TFDebertaForTokenClassification
- TFDebertaForQuestionAnswering
- DeBERTa-v2
- Overview
- DebertaV2Config
- DebertaV2Tokenizer
- DebertaV2Model
- DebertaV2PreTrainedModel
- DebertaV2ForMaskedLM
- DebertaV2ForSequenceClassification
- DebertaV2ForTokenClassification
- DebertaV2ForQuestionAnswering
- TFDebertaV2Model
- TFDebertaV2PreTrainedModel
- TFDebertaV2ForMaskedLM
- TFDebertaV2ForSequenceClassification
- TFDebertaV2ForTokenClassification
- TFDebertaV2ForQuestionAnswering
- DeiT
- DETR
- DialoGPT
- DistilBERT
- Overview
- DistilBertConfig
- DistilBertTokenizer
- DistilBertTokenizerFast
- DistilBertModel
- DistilBertForMaskedLM
- DistilBertForSequenceClassification
- DistilBertForMultipleChoice
- DistilBertForTokenClassification
- DistilBertForQuestionAnswering
- TFDistilBertModel
- TFDistilBertForMaskedLM
- TFDistilBertForSequenceClassification
- TFDistilBertForMultipleChoice
- TFDistilBertForTokenClassification
- TFDistilBertForQuestionAnswering
- FlaxDistilBertModel
- FlaxDistilBertForMaskedLM
- FlaxDistilBertForSequenceClassification
- FlaxDistilBertForMultipleChoice
- FlaxDistilBertForTokenClassification
- FlaxDistilBertForQuestionAnswering
- DPR
- Overview
- DPRConfig
- DPRPreTrainedModel
- DPRContextEncoderTokenizer
- DPRContextEncoderTokenizerFast
- DPRQuestionEncoderTokenizer
- DPRQuestionEncoderTokenizerFast
- DPRReaderTokenizer
- DPRReaderTokenizerFast
- DPR specific outputs
- DPRContextEncoder
- DPRQuestionEncoder
- DPRReader
- TFDPRContextEncoder
- TFDPRQuestionEncoder
- TFDPRReader
- ELECTRA
- Overview
- ElectraConfig
- ElectraTokenizer
- ElectraTokenizerFast
- Electra specific outputs
- ElectraModel
- ElectraForPreTraining
- ElectraForMaskedLM
- ElectraForSequenceClassification
- ElectraForMultipleChoice
- ElectraForTokenClassification
- ElectraForQuestionAnswering
- TFElectraModel
- TFElectraForPreTraining
- TFElectraForMaskedLM
- TFElectraForSequenceClassification
- TFElectraForMultipleChoice
- TFElectraForTokenClassification
- TFElectraForQuestionAnswering
- FlaxElectraModel
- FlaxElectraForPreTraining
- FlaxElectraForMaskedLM
- FlaxElectraForSequenceClassification
- FlaxElectraForMultipleChoice
- FlaxElectraForTokenClassification
- FlaxElectraForQuestionAnswering
- Encoder Decoder Models
- FlauBERT
- Overview
- FlaubertConfig
- FlaubertTokenizer
- FlaubertModel
- FlaubertWithLMHeadModel
- FlaubertForSequenceClassification
- FlaubertForMultipleChoice
- FlaubertForTokenClassification
- FlaubertForQuestionAnsweringSimple
- FlaubertForQuestionAnswering
- TFFlaubertModel
- TFFlaubertWithLMHeadModel
- TFFlaubertForSequenceClassification
- TFFlaubertForMultipleChoice
- TFFlaubertForTokenClassification
- TFFlaubertForQuestionAnsweringSimple
- FNet
- FSMT
- Funnel Transformer
- Overview
- FunnelConfig
- FunnelTokenizer
- FunnelTokenizerFast
- Funnel specific outputs
- FunnelBaseModel
- FunnelModel
- FunnelModelForPreTraining
- FunnelForMaskedLM
- FunnelForSequenceClassification
- FunnelForMultipleChoice
- FunnelForTokenClassification
- FunnelForQuestionAnswering
- TFFunnelBaseModel
- TFFunnelModel
- TFFunnelModelForPreTraining
- TFFunnelForMaskedLM
- TFFunnelForSequenceClassification
- TFFunnelForMultipleChoice
- TFFunnelForTokenClassification
- TFFunnelForQuestionAnswering
- herBERT
- I-BERT
- LayoutLM
- LayoutLMV2
- LayoutXLM
- LED
- Longformer
- Overview
- Longformer Self Attention
- Training
- LongformerConfig
- LongformerTokenizer
- LongformerTokenizerFast
- Longformer specific outputs
- LongformerModel
- LongformerForMaskedLM
- LongformerForSequenceClassification
- LongformerForMultipleChoice
- LongformerForTokenClassification
- LongformerForQuestionAnswering
- TFLongformerModel
- TFLongformerForMaskedLM
- TFLongformerForQuestionAnswering
- TFLongformerForSequenceClassification
- TFLongformerForTokenClassification
- TFLongformerForMultipleChoice
- LUKE
- LXMERT
- MarianMT
- M2M100
- MBart and MBart-50
- Overview of MBart
- Overview of MBart-50
- MBartConfig
- MBartTokenizer
- MBartTokenizerFast
- MBart50Tokenizer
- MBart50TokenizerFast
- MBartModel
- MBartForConditionalGeneration
- MBartForQuestionAnswering
- MBartForSequenceClassification
- MBartForCausalLM
- TFMBartModel
- TFMBartForConditionalGeneration
- FlaxMBartModel
- FlaxMBartForConditionalGeneration
- FlaxMBartForSequenceClassification
- FlaxMBartForQuestionAnswering
- MegatronBERT
- MegatronGPT2
- MobileBERT
- Overview
- MobileBertConfig
- MobileBertTokenizer
- MobileBertTokenizerFast
- MobileBert specific outputs
- MobileBertModel
- MobileBertForPreTraining
- MobileBertForMaskedLM
- MobileBertForNextSentencePrediction
- MobileBertForSequenceClassification
- MobileBertForMultipleChoice
- MobileBertForTokenClassification
- MobileBertForQuestionAnswering
- TFMobileBertModel
- TFMobileBertForPreTraining
- TFMobileBertForMaskedLM
- TFMobileBertForNextSentencePrediction
- TFMobileBertForSequenceClassification
- TFMobileBertForMultipleChoice
- TFMobileBertForTokenClassification
- TFMobileBertForQuestionAnswering
- MPNet
- Overview
- MPNetConfig
- MPNetTokenizer
- MPNetTokenizerFast
- MPNetModel
- MPNetForMaskedLM
- MPNetForSequenceClassification
- MPNetForMultipleChoice
- MPNetForTokenClassification
- MPNetForQuestionAnswering
- TFMPNetModel
- TFMPNetForMaskedLM
- TFMPNetForSequenceClassification
- TFMPNetForMultipleChoice
- TFMPNetForTokenClassification
- TFMPNetForQuestionAnswering
- mT5
- OpenAI GPT
- OpenAI GPT2
- Overview
- GPT2Config
- GPT2Tokenizer
- GPT2TokenizerFast
- GPT2 specific outputs
- GPT2Model
- GPT2LMHeadModel
- GPT2DoubleHeadsModel
- GPT2ForSequenceClassification
- GPT2ForTokenClassification
- TFGPT2Model
- TFGPT2LMHeadModel
- TFGPT2DoubleHeadsModel
- TFGPT2ForSequenceClassification
- TFSequenceClassifierOutputWithPast
- FlaxGPT2Model
- FlaxGPT2LMHeadModel
- GPT-J
- GPT Neo
- Hubert
- Pegasus
- PhoBERT
- ProphetNet
- RAG
- Reformer
- RemBERT
- Overview
- RemBertConfig
- RemBertTokenizer
- RemBertTokenizerFast
- RemBertModel
- RemBertForCausalLM
- RemBertForMaskedLM
- RemBertForSequenceClassification
- RemBertForMultipleChoice
- RemBertForTokenClassification
- RemBertForQuestionAnswering
- TFRemBertModel
- TFRemBertForMaskedLM
- TFRemBertForCausalLM
- TFRemBertForSequenceClassification
- TFRemBertForMultipleChoice
- TFRemBertForTokenClassification
- TFRemBertForQuestionAnswering
- RetriBERT
- RoBERTa
- Overview
- RobertaConfig
- RobertaTokenizer
- RobertaTokenizerFast
- RobertaModel
- RobertaForCausalLM
- RobertaForMaskedLM
- RobertaForSequenceClassification
- RobertaForMultipleChoice
- RobertaForTokenClassification
- RobertaForQuestionAnswering
- TFRobertaModel
- TFRobertaForMaskedLM
- TFRobertaForSequenceClassification
- TFRobertaForMultipleChoice
- TFRobertaForTokenClassification
- TFRobertaForQuestionAnswering
- FlaxRobertaModel
- FlaxRobertaForMaskedLM
- FlaxRobertaForSequenceClassification
- FlaxRobertaForMultipleChoice
- FlaxRobertaForTokenClassification
- FlaxRobertaForQuestionAnswering
- RoFormer
- Overview
- RoFormerConfig
- RoFormerTokenizer
- RoFormerTokenizerFast
- RoFormerModel
- RoFormerForCausalLM
- RoFormerForMaskedLM
- RoFormerForSequenceClassification
- RoFormerForMultipleChoice
- RoFormerForTokenClassification
- RoFormerForQuestionAnswering
- TFRoFormerModel
- TFRoFormerForMaskedLM
- TFRoFormerForCausalLM
- TFRoFormerForSequenceClassification
- TFRoFormerForMultipleChoice
- TFRoFormerForTokenClassification
- TFRoFormerForQuestionAnswering
- Speech Encoder Decoder Models
- Speech2Text
- Speech2Text2
- Splinter
- SqueezeBERT
- T5
- T5v1.1
- TAPAS
- Transformer XL
- Vision Transformer (ViT)
- VisualBERT
- Wav2Vec2
- XLM
- Overview
- XLMConfig
- XLMTokenizer
- XLM specific outputs
- XLMModel
- XLMWithLMHeadModel
- XLMForSequenceClassification
- XLMForMultipleChoice
- XLMForTokenClassification
- XLMForQuestionAnsweringSimple
- XLMForQuestionAnswering
- TFXLMModel
- TFXLMWithLMHeadModel
- TFXLMForSequenceClassification
- TFXLMForMultipleChoice
- TFXLMForTokenClassification
- TFXLMForQuestionAnsweringSimple
- XLM-ProphetNet
- XLM-RoBERTa
- Overview
- XLMRobertaConfig
- XLMRobertaTokenizer
- XLMRobertaTokenizerFast
- XLMRobertaModel
- XLMRobertaForCausalLM
- XLMRobertaForMaskedLM
- XLMRobertaForSequenceClassification
- XLMRobertaForMultipleChoice
- XLMRobertaForTokenClassification
- XLMRobertaForQuestionAnswering
- TFXLMRobertaModel
- TFXLMRobertaForMaskedLM
- TFXLMRobertaForSequenceClassification
- TFXLMRobertaForMultipleChoice
- TFXLMRobertaForTokenClassification
- TFXLMRobertaForQuestionAnswering
- XLNet
- Overview
- XLNetConfig
- XLNetTokenizer
- XLNetTokenizerFast
- XLNet specific outputs
- XLNetModel
- XLNetLMHeadModel
- XLNetForSequenceClassification
- XLNetForMultipleChoice
- XLNetForTokenClassification
- XLNetForQuestionAnsweringSimple
- XLNetForQuestionAnswering
- TFXLNetModel
- TFXLNetLMHeadModel
- TFXLNetForSequenceClassification
- TFLNetForMultipleChoice
- TFXLNetForTokenClassification
- TFXLNetForQuestionAnsweringSimple
- XLSR-Wav2Vec2