# Transformers

    

Transformers 是用于文本、计算机视觉、音频、视频以及多模态模型的最先进机器学习模型的定义框架，同时支持推理和训练。

它集中管理模型定义，使该定义在整个生态系统中达成一致。`transformers` 是各框架之间的枢纽：如果某个模型定义得到支持，它将与大多数训练框架（Axolotl、Unsloth、DeepSpeed、FSDP、PyTorch-Lightning 等）、推理引擎（vLLM、SGLang、TGI 等）以及相邻的建模库（llama.cpp、mlx 等）兼容，这些库都利用了来自 `transformers` 的模型定义。

我们致力于帮助支持最新的前沿模型，并通过使模型定义简单、可定制且高效，来推动其普及使用。

在 [Hugging Face Hub](https://huggingface.com/models) 上，有超过 100 万个 [模型检查点](https://huggingface.co/models?library=transformers&sort=trending) 可供你使用。

今天就到 [Hub](https://huggingface.com/) 上探索，找到合适的模型，并使用 Transformers 立即开始上手。

探索 [模型时间线](./models_timeline)，了解 Transformers 中最新的文本、视觉、音频和多模态模型架构。

## 功能

Transformers 提供了使用最先进的预训练模型进行推理或训练所需的一切。主要功能包括：

- [Pipeline](./pipeline_tutorial)：一个简单且经过优化的推理类，适用于文本生成、图像分割、自动语音识别、文档问答等多种机器学习任务。
- [Trainer](./trainer)：一个功能全面的训练器，支持混合精度、torch.compile 和 FlashAttention 等特性，用于 PyTorch 模型的训练和分布式训练。
- [generate](./llm_tutorial)：使用大型语言模型（LLM）和视觉语言模型（VLM）进行快速文本生成，支持流式输出和多种解码策略。

## 设计

> [!TIP]
> 阅读我们的[设计理念](./philosophy)，以了解 Transformers 的设计原则。

Transformers 专为开发者、机器学习工程师和研究人员设计。其主要设计原则如下：

1. 快速且易于使用：每个模型仅由三个主要类（configuration、model 和 preprocessor）实现，并可通过 [Pipeline](/docs/transformers/main/zh/main_classes/pipelines#transformers.Pipeline) 或 [Trainer](/docs/transformers/main/zh/main_classes/trainer#transformers.Trainer) 快速用于推理或训练。
2. 预训练模型：使用预训练模型而非从头训练全新模型，可降低碳足迹、计算成本和时间。每个预训练模型都尽可能忠实地复现了原始模型，并提供最先进的性能。

  
      
  

## 学习

如果您是 Transformers 的新手，或者希望进一步了解 transformer 模型，我们建议从 [LLM 课程](https://huggingface.co/learn/llm-course/chapter1/1?fw=pt) 开始。这门全面的课程涵盖了从 transformer 模型工作原理的基础知识到各种任务中的实际应用。您将学习完整的工作流程，包括构建高质量数据集、微调大型语言模型以及实现推理能力。课程包含理论学习和动手实践练习，帮助您在学习过程中建立对 transformer 模型的扎实基础。

