开始使用免费开始使用

使用 BERT 进行迁移学习

在 PyBooks,公司决定利用预训练的 Transformer 模型 BERT 来做情感分析。BERT 在多种 NLP 任务上表现出色,非常适合本用例。

您的任务是使用 transformers 库中的 BERT 模型,搭建一个用于二分类情感分析的基础工作流。

以下内容已为您导入:BertTokenizerBertForSequenceClassificationtorch。 示例数据 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()}")
编辑并运行代码