Skip to content

参考

基于 Hugging Face Transformers 官方文档(huggingface.co/docs/transformers,main_classes / API Reference)+ GitHub 整理

速查

  • 核心入口pipeline / AutoTokenizer / AutoModel* / Trainer / TrainingArguments
  • 加载/保存from_pretrainedsave_pretrainedpush_to_hub
  • 三件套:configuration(config.json)+ model(.safetensors/.bin)+ tokenizer(tokenizer.json 等)
  • 任务 head*ForSequenceClassification / *ForTokenClassification / *ForQuestionAnswering / *ForCausalLM / *ForMaskedLM / *ForSeq2SeqLM
  • 训练循环Trainer.train() / .evaluate() / .predict() / .save_model() / .push_to_hub()
  • 后端:PyTorch(默认)/ TensorFlow / JAX
  • 量化BitsAndBytesConfig(4bit/8bit,配合 bitsandbytes)
  • 当前版本:v5.x 主线(v5 起 dtype 从 config 推断、参数多次改名)
  • 缓存~/.cache/huggingface/hubHF_HOME 改路径,HF_HUB_OFFLINE=1 离线
  • 安装pip install transformers / pip install "transformers[torch]"
  • import 名import transformers / from transformers import ...

AutoClass 速查表

AutoClass用途典型调用
AutoTokenizer文本→token idsAutoTokenizer.from_pretrained(id)
AutoProcessor多模态输入(图像+文本+音频)AutoProcessor.from_pretrained(id)
AutoImageProcessor图像预处理AutoImageProcessor.from_pretrained(id)
AutoFeatureExtractor音频/视觉特征AutoFeatureExtractor.from_pretrained(id)
AutoConfig仅加载配置AutoConfig.from_pretrained(id)
AutoModelbackbone(取隐藏态)AutoModel.from_pretrained(id)
AutoModelForSequenceClassification文本分类from_pretrained(id, num_labels=N)
AutoModelForTokenClassificationNER/词性from_pretrained(id, num_labels=N)
AutoModelForQuestionAnswering抽取式 QAfrom_pretrained(id)
AutoModelForCausalLMGPT 风格生成from_pretrained(id)
AutoModelForMaskedLMBERT 掩码from_pretrained(id)
AutoModelForSeq2SeqLMT5/BART seq2seqfrom_pretrained(id)
AutoModelForImageClassification图像分类from_pretrained(id, num_labels=N)
AutoModelForSpeechSeq2Seq语音识别(Whisper)from_pretrained(id)

pipeline 任务对照

任务名别名输入输出
text-classificationsentiment-analysis字符串/list[{label, score}]
token-classificationner字符串[{entity, score, word, start, end, index}]
question-answering{question, context}{answer, start, end, score}
summarization字符串[{summary_text}]
translation_xx_to_yy字符串[{translation_text}]
text-generation字符串/list[{generated_text}]
text2text-generation字符串[{generated_text}](seq2seq)
fill-mask<mask> 的字符串[{sequence, score, token, token_str}]
zero-shot-classification(text, candidate_labels){labels, scores, sequence}
image-classification图像/PIL[{label, score}]
object-detection图像[{score, label, box}]
automatic-speech-recognitionasr音频{text}
feature-extraction字符串向量
conversationalConversationConversation

from_pretrained 常用参数

参数类型作用
pretrained_model_name_or_pathstrrepo id 或本地目录(必填)
dtypestr/torch.dtypev5 从 config 推断,可显式覆盖("float32"/"bfloat16"/"float16"
revisionstr指定 git 分支/tag/commit
tokenstr私有仓库访问令牌
cache_dirstr自定义缓存目录
force_downloadbool强制重新下载
local_files_onlybool仅用本地缓存(离线)
device_mapstr/dictauto/balanced/具体映射,配合 accelerate
low_cpu_mem_usagebool低内存加载(大模型)
trust_remote_codebool允许执行仓库自定义代码
quantization_configBitsAndBytesConfig4bit/8bit 量化加载
torch_dtypetorch.dtype旧参数名,等价于 dtype
attn_implementationstreager/sdpa/flash_attention_2

Trainer 主要方法

方法作用
trainer.train(resume_from_checkpoint=...)启动训练,可断点续训
trainer.evaluate(eval_dataset=...)在 eval 集跑指标
trainer.predict(test_dataset=...)在测试集出预测
trainer.save_model(output_dir=...)保存当前模型+tokenizer
trainer.push_to_hub(commit_message=...)上传到 Hub
trainer.add_callback(cb) / remove_callback(cb)增删回调
trainer.create_model_card()生成模型卡片
trainer.log(logs)手动记日志

默认值变更(v5 关键迁移点)

旧(≤ v4)新(v5)
from_pretrained dtype恒 float32从 config 推断
评估策略参数evaluation_strategyeval_strategy
Trainer 的 tokenizer 参数tokenizer=processing_class=(旧名兼容)
max_length(generate)含输入长度推荐用 max_new_tokens
torch_dtype主参数仍可用,推荐 dtype
缓存结构transformers/ 目录hub/ 目录(huggingface_hub 统一)

架构族与命名

架构族类名前缀类型代表任务
BERTBertEncoder分类、NER、QA
RoBERTaRobertaEncoder同 BERT
DistilBERTDistilBertEncoder轻量分类
DeBERTaDebertaV2Encoder分类、NER
GPT-2 / GPT-NeoXGPT2 / GPTNeoXDecoder生成
LLaMA / Qwen / Mistral / Gemma / PhiLlama / Qwen2 / Mistral / Gemma / Phi3Decoder生成、对话
T5 / mT5T5Encoder-Decoder翻译、摘要
BART / MarianBart / MarianEncoder-Decoder翻译、摘要
WhisperWhisperEncoder-Decoder语音识别
CLIP / LLaVA / Qwen-VLCLIP / Llava / Qwen2VL多模态图文

版本与兼容

近期版本要点

版本线状态关键点
v5.x主线(2026)dtype 默认从 config 推断;eval_strategy 改名;统一用 processing_class;缓存走 hub/
v4.x旧主线evaluation_strategytorch_dtypetokenizer= 等旧参数;max_length 用法
v3.x归档早期 Keras/TF 支持更全

兼容性

  • Python:≥ 3.9(推荐 3.10–3.12)
  • PyTorch:≥ 2.0
  • 依赖tokenizers(快速分词)/ huggingface_hub(Hub 交互)/ safetensors(安全权重)/ accelerate(分布式,可选)/ sentencepiece(部分 tokenizer)
  • 权重格式.safetensors(默认,安全)/ .bin(旧,pickle)
  • import 名from transformers import AutoModel, AutoTokenizer, pipeline, Trainer, TrainingArguments

与同类库对比

维度TransformersLangChainvLLMAxolotl
定位模型定义/推理/训练应用编排/Agent高吞吐推理训练封装
重点训练侧 API(Trainer/AutoModel)应用侧(链/记忆/工具)推理服务化微调工作流
是否依赖前者依赖 Transformers 加载模型复用 Transformers 模型定义封装 Transformers + PEFT + TRL
模型覆盖100 万+调用前者同前者同前者
场景通用 NLP/CV/AudioRAG/Agent生产推理LLM 微调

官方资源