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
Ö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()}")