Transfer Learning mit BERT
Bei PyBooks hat sich das Unternehmen entschieden, die Leistungsfähigkeit von BERT, einem vortrainierten Transformer-Modell, für Sentiment-Analyse zu nutzen. BERT liefert in vielen NLP-Aufgaben hervorragende Ergebnisse und ist daher ein idealer Kandidat für diesen Einsatzzweck.
Deine Aufgabe ist es, einen einfachen Workflow mit dem BERT-Modell aus der transformers-Bibliothek für eine binäre Sentiment-Klassifikation aufzusetzen.
Folgendes wurde bereits für dich importiert: BertTokenizer, BertForSequenceClassification, torch.
Die Beispieldaten texts und die zugehörigen labels sind ebenfalls vorab geladen.
Diese Übung ist Teil des Kurses
Deep Learning für Text mit PyTorch
Anleitung zur Übung
- Lade den Tokenizer und das Modell
bert-base-uncased, geeignet für binäre Klassifikation. - Tokenisiere deinen Datensatz und bereite ihn für das Modell vor. Achte darauf, dass PyTorch-Tensoren mit dem Argument
return_tensorszurückgegeben werden. - Richte den Optimizer mit den Modellparametern ein.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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()}")