外观
Hugging Face Transformers
预训练模型的定义与加载库:覆盖文本、视觉、音频、视频与多模态;同时服务推理与训练。Hub 上有大量基于它的 checkpoint。
它是做什么的
官方定位:成为 SOTA 模型定义的枢纽——一旦定义被采纳,即可对接多数训练框架(文档列举如 Axolotl、Unsloth、DeepSpeed、FSDP、PyTorch-Lightning 等)与推理引擎(如 vLLM、SGLang、TGI),以及 llama.cpp、MLX 等相邻库。换句话说:你在 Transformers 里加载的架构,往往也是生态其他工具认的「同一份定义」。设计原则:每个模型主要由 Config / Model / Preprocessor 三类构成,追求快上手、可定制;优先复用预训练权重,降低从零训练的算力与时间成本。Hub 上有大量兼容 checkpoint。新手除 Quickstart 外,文档还推荐官方 LLM Course(从 Pipeline、架构到微调与分享)。若只想验证「能不能跑」,从 Pipeline 开始;若要改训练,再进 Trainer。
要点
- 三类核心抽象:
PreTrainedConfig、PreTrainedModel、Preprocessor(tokenizer / image processor 等) - AutoClass +
from_pretrained:按模型名或路径推断架构并加载权重与配置 - Pipeline:按任务做推理的快捷入口(文本生成、图像分割、ASR、文档问答等)
generate:面向 LLM/VLM 的生成 API,支持流式与多种解码策略- Trainer + TrainingArguments:封装 PyTorch 训练/评估环(混合精度、
torch.compile、FlashAttention、分布式等,以当前文档为准) - 加载建议(Quickstart):大模型可用
device_map="auto"、dtype="auto",减少错误设备放置与重复转精度 - 与 Hub 联动:登录后可
push_to_hub/ 拉 gated 权重;模型卡与仓库元数据仍以 Hub 为准
适合谁
- 快速跑开源 LLM / 多模态模型,写推理或聊天脚本
- 用 Trainer(或再接 PEFT / Accelerate / DeepSpeed)做微调与分享
- 需要与 Hub 同一套下载、复现、推送工作流,而不是每个模型一份自定义加载代码
官方入口
建议怎么用
按官方 Quickstart:
- 安装 PyTorch 后:
pip install -U transformers;微调常再装datasets evaluate accelerate timm等(以文档当前列表为准)。 - 需要 gated 模型:创建 Token 后
hf auth login(或notebook_login)。 - 先用 Pipeline(如
text-generation)或AutoModelForCausalLM+AutoTokenizer+generate/batch_decode完成一次本地生成;确认无误再上 Trainer +TrainingArguments。量化、多卡、DeepSpeed、FlashAttention 等放到第二条路径;系统学习可跟 LLM Course 第 1–4 章(Pipeline → 架构 → 微调 → 分享到 Hub)。