Transfer learning usando BERT
Na PyBooks, a empresa decidiu aproveitar o poder do modelo BERT, um transformer pré-treinado, para análise de sentimento. O BERT tem apresentado desempenho notável em várias tarefas de NLP, sendo um ótimo candidato para este caso de uso.
Sua tarefa é configurar um fluxo básico usando o modelo BERT da biblioteca transformers para classificação binária de sentimento.
Já foram importados para você: BertTokenizer, BertForSequenceClassification, torch.
Os dados de exemplo texts e os labels correspondentes também estão pré-carregados.
Este exercício faz parte do curso
Deep Learning para Texto com PyTorch
Instruções do exercício
- Carregue o tokenizer e o modelo
bert-base-uncasedadequados para classificação binária. - Tokenize seu conjunto de dados e prepare-o para o modelo, garantindo que ele retorne tensores do PyTorch usando o argumento
return_tensors. - Configure o otimizador usando os parâmetros do modelo.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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()}")