huggingface/transformers
机器学习用于加载、运行和微调文本、视觉、音频及多模态模型的模型定义框架,统一对接 Hugging Face Hub 上的预训练权重。
项目介绍
Transformers 是 Hugging Face 生态中的模型定义框架,本身不分发权重,而是集中定义各架构如何加载、配置和执行。同一份模型定义可被 Axolotl、Unsloth、DeepSpeed、PyTorch-Lightning 等训练框架,vLLM、SGLang、TGI 等推理引擎,以及 llama.cpp、mlx 等相邻库复用。它覆盖文本、视觉、音频、视频和多模态模型,同时支持推理与训练,Hub 上已有超过 100 万个兼容的模型 checkpoint。
它适合希望用统一 API 覆盖大量预训练架构的研究者和工程师,也适合需要在 PyTorch、JAX、TensorFlow 之间切换,或在实验与生产之间迁移同一模型的项目。
安装与首次运行
运行环境需要 Python 3.11+ 和 PyTorch 2.6+ PyTorch。创建并激活虚拟环境后,安装时带上 torch 扩展:
python -m venv .my-env
source .my-env/bin/activate
pip install "transformers[torch]"
使用 uv 时,安装步骤换成 uv pip install "transformers[torch]" 安装步骤。若要获得最新未发布代码,可克隆仓库、进入目录后执行 pip install '.[torch]';该版本可能不稳定,遇到问题可通过问题跟踪页反馈。
高层 Pipeline 会处理输入预处理并返回对应任务的输出。下面的例子会下载并缓存一个文本生成模型,然后向它提问 快速开始:
from transformers import pipeline
pipe = pipeline(task="text-generation", model="Qwen/Qwen2.5-1.5B")
pipe("the secret to baking a really good cake is ")
返回值是包含 generated_text 字段的字典列表。同样的调用方式也适用于对话(传入 {"role", "content"} 消息列表)、使用 openai/whisper-large-v3 的语音识别、使用 facebook/dinov2-small-imagenet1k-1-layer 的图像分类,以及使用 Salesforce/blip-vqa-base 的视觉问答。命令行也提供了入口:先运行 transformers serve,再执行 transformers chat Qwen/Qwen2.5-0.5B-Instruct 即可交互对话 推理服务文档。
可以从模型目录挑选 checkpoint,模型卡上会写明传给 pipeline 的任务名称。
使用约束
- 权重不随库打包,首次运行会从 Hub 下载并缓存到本地,需要网络和磁盘空间;受限模型还需接受条款并完成认证。
- GPU 执行以及量化或大模型能否运行,取决于所装 PyTorch 版本、硬件和显存;纯 CPU 可以运行,但大模型会明显更慢。
- 训练 API 针对 Transformers 提供的 PyTorch 模型优化,通用训练循环项目方建议改用 Accelerate。
- 模型文件有意保持较少抽象,方便研究者直接修改单个架构,因此不适合作为模块化神经网络积木库。
- 许可证为 Apache-2.0 许可证。
HotRepo 点评
站内日榜快照显示的是稳定增长而非爆发:2026-08-11 日增 69 Star,之后多在 100 左右,2026-09-14 和 2026-09-15 分别有 528 和 536 Star 的日增,2026-11-12 在 Python 日榜位列第 11。在这一体量下,每天数百 Star 更多反映它作为共享基础设施的长期位置,而不是某次发布带来的短期热度。Hacker News 上的讨论不多且偏历史:2019 年关于 TensorFlow/PyTorch 互操作的帖子获得 103 分,当时的评论已经称它是 NLP 领域最重要的库 讨论 评论;2024 年关于工具调用和 RAG 模型支持的帖子、2026 年关于 v5 的帖子几乎没有评论。更值得关注的是它的架构定位:作为训练框架和推理引擎共同消费的定义层,周围工具链如何变化都不影响它被依赖。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。