IniziaInizia gratis

Transfer learning con BERT

In PyBooks, l'azienda ha deciso di sfruttare la potenza di BERT, un modello transformer pre-addestrato, per l'analisi del sentiment. BERT ha ottenuto risultati notevoli in vari compiti di NLP, rendendolo un ottimo candidato per questo caso d'uso.

Il tuo compito è impostare un flusso di lavoro di base usando il modello BERT della libreria transformers per una classificazione del sentiment binaria.

Sono già stati importati per te: BertTokenizer, BertForSequenceClassification, torch. Anche i dati di esempio texts e le corrispondenti labels sono già caricati.

Questo esercizio fa parte del corso

Deep Learning per il testo con PyTorch

Visualizza il corso

Istruzioni dell'esercizio

  • Carica il tokenizer e il modello bert-base-uncased adatti alla classificazione binaria.
  • Tokenizza il tuo insieme di dati e preparalo per il modello, assicurandoti che restituisca tensori PyTorch usando l'argomento return_tensors.
  • Configura l'optimizer usando i parametri del modello.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()}")
Modifica ed esegui il codice