EmpezarEmpieza gratis

Transfer learning con BERT

En PyBooks, la empresa ha decidido aprovechar la potencia de BERT, un modelo transformer preentrenado, para el análisis de sentimiento. BERT ha mostrado un rendimiento extraordinario en diversas tareas de NLP, lo que lo convierte en un gran candidato para este caso de uso.

Tu tarea es configurar un flujo básico usando el modelo BERT de la librería transformers para una clasificación binaria de sentimiento.

Ya tienes importado lo siguiente: BertTokenizer, BertForSequenceClassification, torch. También están precargados los datos de ejemplo texts y sus labels correspondientes.

Este ejercicio forma parte del curso

Deep Learning para texto con PyTorch

Ver curso

Instrucciones del ejercicio

  • Carga el tokenizer y el modelo bert-base-uncased adecuados para clasificación binaria.
  • Tokeniza tu conjunto de datos y prepáralo para el modelo, asegurándote de que devuelva tensores de PyTorch usando el argumento return_tensors.
  • Configura el optimizador utilizando los parámetros del modelo.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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 y ejecutar código