| <!--Copyright 2024 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 | |
| specific language governing permissions and limitations under the License. | |
| ⚠️ Note that this file is in Markdown but contain specific syntax for our doc-builder (similar to MDX) that may not be | |
| rendered properly in your Markdown viewer. | |
| --> | |
| # Transformers | |
| <h3 align="center"> | |
| <img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/transformers_as_a_model_definition.png"/> | |
| </h3> | |
| Transformers acts as the model-definition framework for state-of-the-art machine learning models in text, computer | |
| vision, audio, video, and multimodal model, for both inference and training. | |
| It centralizes the model definition so that this definition is agreed upon across the ecosystem. `transformers` is the | |
| pivot across frameworks: if a model definition is supported, it will be compatible with the majority of training | |
| frameworks (Axolotl, Unsloth, DeepSpeed, FSDP, PyTorch-Lightning, ...), inference engines (vLLM, SGLang, TGI, ...), | |
| and adjacent modeling libraries (llama.cpp, mlx, ...) which leverage the model definition from `transformers`. | |
| We pledge to help support new state-of-the-art models and democratize their usage by having their model definition be | |
| simple, customizable, and efficient. | |
| There are over 1M+ Transformers [model checkpoints](https://huggingface.co/models?library=transformers&sort=trending) on the [Hugging Face Hub](https://huggingface.com/models) you can use. | |
| Explore the [Hub](https://huggingface.com/) today to find a model and use Transformers to help you get started right away. | |
| Explore the [Models Timeline](./models_timeline) to discover the latest text, vision, audio and multimodal model architectures in Transformers. | |
| ## Features | |
| Transformers provides everything you need for inference or training with state-of-the-art pretrained models. Some of the main features include: | |
| - [Pipeline](./pipeline_tutorial): Simple and optimized inference class for many machine learning tasks like text generation, image segmentation, automatic speech recognition, document question answering, and more. | |
| - [Trainer](./trainer): A comprehensive trainer that supports features such as mixed precision, torch.compile, and FlashAttention for training and distributed training for PyTorch models. | |
| - [generate](./llm_tutorial): Fast text generation with large language models (LLMs) and vision language models (VLMs), including support for streaming and multiple decoding strategies. | |
| ## Design | |
| > [!TIP] | |
| > Read our [Philosophy](./philosophy) to learn more about Transformers' design principles. | |
| Transformers is designed for developers and machine learning engineers and researchers. Its main design principles are: | |
| 1. Fast and easy to use: Every model is implemented from only three main classes (configuration, model, and preprocessor) and can be quickly used for inference or training with [`Pipeline`] or [`Trainer`]. | |
| 2. Pretrained models: Reduce your carbon footprint, compute cost and time by using a pretrained model instead of training an entirely new one. Each pretrained model is reproduced as closely as possible to the original model and offers state-of-the-art performance. | |
| <div class="flex justify-center"> | |
| <a target="_blank" href="https://huggingface.co/support"> | |
| <img alt="HuggingFace Expert Acceleration Program" src="https://hf.co/datasets/huggingface/documentation-images/resolve/81d7d9201fd4ceb537fc4cebc22c29c37a2ed216/transformers/transformers-index.png" style="width: 100%; max-width: 600px; border: 1px solid #eee; border-radius: 4px; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);"> | |
| </a> | |
| </div> | |
| ## Learn | |
| If you're new to Transformers or want to learn more about transformer models, we recommend starting with the [LLM course](https://huggingface.co/learn/llm-course/chapter1/1?fw=pt). This comprehensive course covers everything from the fundamentals of how transformer models work to practical applications across various tasks. You'll learn the complete workflow, from curating high-quality datasets to fine-tuning large language models and implementing reasoning capabilities. The course contains both theoretical and hands-on exercises to build a solid foundational knowledge of transformer models as you learn. | |