1. 什么是 Transformers?
Transformers 是由 Hugging Face 开发并维护的开源 Python 库,旨在为开发者提供简单、统一的接口来使用预训练的 Transformer 模型。它支持超过 300 种预训练模型(如 BERT、RoBERTa、GPT-2、T5、DistilBERT、XLM-R 等),适用于多种语言和任务。
该库的主要特点包括:
- 支持 PyTorch 和 TensorFlow 框架。
- 提供简洁的 API 接口,便于快速加载和使用模型。
- 集成大量预训练模型,开箱即用。
- 支持文本分类、命名实体识别、问答、翻译、摘要生成等多种任务。
- 可轻松微调模型以适应特定应用场景。
2. 安装与环境准备
要使用 Transformers,首先需要安装它。推荐使用 pip 安装:
pip install transformers
如果你还希望使用 PyTorch 或 TensorFlow,也需单独安装对应的深度学习框架:
# 安装 PyTorch(推荐)
pip install torch
# 或者安装 TensorFlow
pip install tensorflow
此外,许多任务还需要分词器(Tokenizer),通常会自动随模型一起下载,但你也可以手动安装相关依赖。
3. 核心组件介绍
3.1 模型(Model)
Transformers 中的模型是执行具体 NLP 任务的核心。例如:
BertForSequenceClassification:用于文本分类。BertForQuestionAnswering:用于问答任务。GPT2LMHeadModel:用于文本生成。
你可以通过模型名称从 Hugging Face 模型中心加载预训练模型。
3.2 分词器(Tokenizer)
分词器负责将原始文本转换为模型可理解的数字输入(token IDs)。每个模型都有对应的分词器。
例如,BERT 使用 WordPiece 分词,而 GPT 使用 Byte-Pair Encoding(BPE)。
from transformers import BertTokenizer
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
tokens = tokenizer("Hello, how are you?", return_tensors='pt')
print(tokens)
输出示例如下:
{
'input_ids': tensor([[101, 7592, 1010, 2129, )
'attention_mask' tensor( )


