開始使用免費開始

使用 BERT 進行遷移學習

在 PyBooks,公司決定運用 BERT 模型(預訓練的 transformer 模型)的威力來做情緒分析。BERT 在各種 NLP 任務上都有出色表現,非常適合這個情境。

你的任務是用 transformers 函式庫中的 BERT 模型,建立一個用於二元情緒分類的基本工作流程。

以下元件已為你匯入:BertTokenizerBertForSequenceClassificationtorch。 範例資料 texts 與對應的 labels 也已預先載入。

本練習屬於課程

Deep Learning for Text with PyTorch

檢視課程

練習說明

  • 載入適用於二元分類的 bert-base-uncased tokenizer 與模型。
  • 對資料集進行分詞並準備成可供模型使用的格式,確保透過 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()}")
編輯並執行程式碼