描述
Hugging Face Transformers 是一个基础性的模型定义框架,涵盖文本、计算机视觉、音频、视频和多模态应用等多个领域的尖端机器学习模型。其主要目标是集中模型定义,促进整个 AI 生态系统的共识和兼容性。该框架充当关键枢纽,确保其中定义的模型与广泛的训练框架(如 Axolotl、Unsloth、DeepSpeed、FSDP 和 PyTorch-Lightning)兼容。此外,它还能与 vLLM、SGLang 和 TGI 等推理引擎以及 llama.cpp 和 mlx 等相邻建模库无缝集成,所有这些库都利用 Transformers 提供的模型定义。
Hugging Face 致力于支持最新的先进模型并普及其可访问性。这是通过使模型定义变得简单、可定制且高效来实现的。Hugging Face Hub 托管了超过 100 万个 Transformers 模型检查点,用户可以轻松探索并集成到他们的项目中。该平台还提供模型时间线,展示文本、视觉、音频和多模态领域的最新架构。
Transformers 框架旨在为用户提供使用高级预训练模型进行推理和训练所需的一切。主要功能包括 `Pipeline` 类,它为文本生成、图像分割、自动语音识别和文档问答等众多机器学习任务提供了一个简单且优化的推理接口。对于训练,`Trainer` 类提供了对混合精度、torch.compile 和 FlashAttention 等功能的全面支持,便于 PyTorch 模型的单设备和分布式训练。此外,`generate` 函数支持大型语言模型 (LLM) 和视觉语言模型 (VLM) 的快速文本生成,并支持流式传输和各种解码策略。
Transformers 的设计原则强调速度和易用性。每个模型都仅使用三个核心类实现:配置、模型和预处理器,从而可以通过 `Pipeline` 或 `Trainer` 快速部署到推理或训练场景中。该框架大力提倡使用预训练模型,以减少碳足迹、计算成本和开发时间。每个预训练模型都经过精心复现,尽可能与原始模型保持一致,从而提供最先进的性能。对于 Transformer 新手或希望加深理解的用户,Hugging Face 提供了一个 LLM 课程,涵盖模型基础知识、实际应用、数据集整理、微调和推理能力,并包含理论内容和实践练习。
Hugging Face Transformers的核心功能
文本、视觉、音频、视频和多模态模型的集中式模型定义
与主流训练框架(Axolotl、Unsloth、DeepSpeed、FSDP、PyTorch-Lightning)兼容
与推理引擎(vLLM、SGLang、TGI)集成
支持相邻建模库(llama.cpp、mlx)
Hugging Face Hub 上提供超过 100 万个 Transformers 模型检查点
Pipeline 类,用于各种 ML 任务的简单优化推理
Trainer 类,提供全面的训练功能,包括混合精度和分布式训练
LLM 和 VLM 的快速文本生成,包括流式传输支持
模型使用配置、模型和预处理器类实现,易于使用
强调使用预训练模型以节省计算和时间
可访问最新模型架构的时间线
提供 LLM 课程以学习 Transformer 模型和应用
Hugging Face Transformers入门
安装:使用您喜欢的包管理器安装 Transformers 库。
配置:定义模型配置,包括参数和架构详细信息。
模型加载:从 Hugging Face Hub 或本地存储加载预训练模型或自定义训练模型。
推理:利用 Pipeline 类对各种任务进行直接推理。
训练:使用 Trainer 类进行高效的模型训练和微调。
部署:将训练好的模型集成到应用程序中以供生产使用。
优化:利用混合精度和 FlashAttention 等功能来提高性能。
Hugging Face Transformers的使用案例
- 文本生成
- 图像分割
- 语音识别
- 文档问答
- 模型训练
- 模型推理
- 多模态应用







