使用 BERT 进行迁移学习
在 PyBooks,公司决定利用预训练的 Transformer 模型 BERT 来做情感分析。BERT 在多种 NLP 任务上表现出色,非常适合本用例。
您的任务是使用 transformers 库中的 BERT 模型,搭建一个用于二分类情感分析的基础工作流。
以下内容已为您导入:BertTokenizer、BertForSequenceClassification、torch。
示例数据 texts 及其对应的 labels 也已预加载。
本练习是课程的一部分
使用 PyTorch 的文本深度学习
练习说明
- 加载适用于二分类的
bert-base-uncased分词器和模型。 - 对数据集进行分词并为模型做准备,确保通过
return_tensors参数返回 PyTorch 张量。 - 使用模型参数设置优化器。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Load the BERT tokenizer and model
tokenizer = BertTokenizer.from_pretrained('____')
model = BertForSequenceClassification.from_pretrained('____', num_labels=____)
# Tokenize your data and return PyTorch tensors
inputs = tokenizer(____, padding=True, truncation=True, return_tensors="____", max_length=32)
inputs["labels"] = torch.tensor(labels)
# Setup the optimizer using model parameters
optimizer = torch.optim.AdamW(____, lr=0.00001)
model.train()
for epoch in range(2):
outputs = model(**inputs)
loss = outputs.loss
loss.backward()
optimizer.step()
optimizer.zero_grad()
print(f"Epoch: {epoch+1}, Loss: {loss.item()}")