ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Carregue o tokenizer e o modelo bert-base-uncased adequados 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()}")
Editar e executar o código