Transfer learning với BERT
Tại PyBooks, công ty quyết định tận dụng sức mạnh của BERT, một mô hình transformer đã được huấn luyện sẵn, cho bài toán phân tích cảm xúc. BERT đã đạt hiệu năng ấn tượng trên nhiều tác vụ NLP, khiến nó trở thành lựa chọn hàng đầu cho trường hợp này.
Nhiệm vụ của bạn là thiết lập một quy trình cơ bản sử dụng BERT từ thư viện transformers cho phân loại cảm xúc nhị phân.
Những thành phần sau đã được nhập sẵn: BertTokenizer, BertForSequenceClassification, torch.
Dữ liệu ví dụ texts và các labels tương ứng cũng đã được nạp trước.
Bài tập này là một phần của khóa học
Deep Learning cho Văn bản với PyTorch
Hướng dẫn bài tập
- Tải
bert-base-uncasedtokenizer và mô hình phù hợp cho phân loại nhị phân. - Tokenize tập dữ liệu và chuẩn bị đầu vào cho mô hình, đảm bảo trả về tensor của PyTorch bằng tham số
return_tensors. - Thiết lập optimizer sử dụng các tham số của mô hình.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()}")