Kom igångKom igång gratis

Transferinlärning med BERT

På PyBooks har företaget beslutat att utnyttja BERT-modellen – en förtränad transformermodell – för sentimentanalys. BERT har visat imponerande resultat inom en rad NLP-uppgifter och är därför ett naturligt val för det här ändamålet.

Din uppgift är att sätta upp ett grundläggande arbetsflöde med BERT-modellen från biblioteket transformers för binär sentimentklassificering.

Följande har redan importerats åt dig: BertTokenizer, BertForSequenceClassification, torch. Exempeldata texts och tillhörande labels är också förinlästa.

Den här övningen är en del av kursen

Djupinlärning för text med PyTorch

Visa kurs

Övningsinstruktioner

  • Läs in tokeniseraren och modellen bert-base-uncased, anpassad för binär klassificering.
  • Tokenisera din datamängd och förbered den för modellen – se till att den returnerar PyTorch-tensorer med hjälp av argumentet return_tensors.
  • Ställ in optimeraren med modellens parametrar.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()}")
Redigera och kör kod