transformers
用于从 Hugging Face Hub 加载模型、运行管道推理、文本生成以及在 NLP、视觉、音频和多模态任务上进行 Trainer 微调。适用于与 AutoModel、pipelines、tokenizers 或 TrainingArguments 搭配使用——不要用于 Transformers 库之外的通用机器学习。
Transformers - Hugging Face 模型加载、推理与微调
技能概述
使用 Hugging Face Transformers 库加载预训练模型、执行 pipeline 推理、文本生成和 Trainer 微调,支持 NLP、计算机视觉、音频和多模态任务。
适用场景
1. 快速模型推理
当你需要快速执行常见 AI 任务(文本分类、问答、命名实体识别、图像分类等)时,使用 pipeline API 可以在无需手动配置的情况下直接获得优化后的推理结果。适合原型开发、简单推理任务和不需要自定义预处理的场景。
2. 模型微调与训练
当你需要将预训练模型适配到特定领域或任务时,使用 Trainer API 进行模型微调。支持自动混合精度训练、分布式训练、日志记录等功能,适合需要提升模型在特定任务上的性能、进行领域适配或学术研究场景。
3. 高级模型管理
当你需要精细控制模型初始化、设备放置、精度设置或进行模型检查时,手动加载 AutoModel 和 tokenizer 可以提供完全的配置控制。适合需要自定义预处理流程、多 GPU/TPU 部署、模型调试或需要深入理解模型输入输出的场景。
核心功能
Pipeline 快速推理
提供针对多种任务优化的推理接口,支持文本生成、文本分类、命名实体识别、问答、摘要、翻译、图像分类、目标检测、音频分类等 20+ 种任务类型。只需一行代码即可完成模型加载和推理,无需手动处理预处理和后处理逻辑。
模型加载与配置
使用 AutoModel 系列类(AutoModelForCausalLM、AutoModelForSequenceClassification 等)和 AutoTokenizer 加载 Hugging Face Hub 上的预训练模型,支持设备自动映射(device_map="auto")、精度控制(float16、bfloat16)、量化等高级配置选项。
Trainer 训练与微调
提供统一的训练接口,集成 TrainingArguments 配置、数据预处理、训练循环、评估和日志记录。支持单机多卡、分布式训练、混合精度训练、梯度累积等训练技巧,并可集成 Weights & Biases、TensorBoard 等日志工具。
常见问题
Transformers 技能支持哪些任务类型?
Transformers 支持 NLP(文本分类、命名实体识别、问答、摘要、翻译)、计算机视觉(图像分类、目标检测、图像分割)、音频(音频分类、语音识别)和多模态任务(图文检索、视觉问答)。具体支持的任务类型可参考 references/pipelines.md 文档。
如何处理门控或私有模型的认证?
对于门控模型或私有模型,需要先在 Hugging Face Hub 上接受模型许可,然后通过 CLI 执行 hf auth login 进行交互式登录,或设置环境变量 HF_TOKEN=...(推荐从密钥管理器读取,不要硬编码在代码中)。认证后,使用 trust_remote_code=True 可加载需要自定义代码的模型。
Transformers 5.x 有哪些重要变化?
Transformers 5.x 仅支持 PyTorch 后端(移除了 TensorFlow 和 JAX 支持)。新项目应配合 transformers 5.x 和 huggingface_hub 1.x 使用。加载门控或自定义架构模型时,需要在 Hub 上接受许可并仅在审查自定义代码后使用 trust_remote_code=True。缓存位置可通过 HF_HOME 或 HF_HUB_CACHE 环境变量配置。
技能边界
注意:此技能仅适用于使用 Hugging Face Transformers 库的工作,包括 AutoModel 加载、pipeline 推理、tokenizers 使用和 TrainingArguments 训练。不适用于 Transformers 库之外的通用机器学习任务。