Transfer learning cu BERT
La PyBooks, compania a decis să valorifice puterea modelului BERT – un model transformer pre-antrenat – pentru analiza sentimentelor. BERT a demonstrat performanțe remarcabile în diverse sarcini NLP, ceea ce îl face un candidat ideal pentru acest caz de utilizare.
Ești responsabil cu configurarea unui flux de lucru de bază folosind modelul BERT din biblioteca transformers, pentru clasificarea binară a sentimentelor.
Următoarele au fost importate pentru tine: BertTokenizer, BertForSequenceClassification, torch.
Datele exemplu texts și etichetele corespunzătoare labels sunt, de asemenea, preîncărcate.
Acest exercițiu face parte din cursul
Deep Learning pentru text cu PyTorch
Instrucțiuni pentru exercițiu
- Încarcă tokenizatorul și modelul
bert-base-uncasedpotrivit pentru clasificarea binară. - Tokenizează setul de date și pregătește-l pentru model, asigurându-te că returnează tensori PyTorch folosind argumentul
return_tensors. - Configurează optimizatorul folosind parametrii modelului.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()}")