Apprentissage par transfert avec BERT
Chez PyBooks, l’entreprise a décidé d’exploiter la puissance de BERT, un modèle Transformer préentraîné, pour l’analyse de sentiment. BERT a obtenu d’excellentes performances sur de nombreuses tâches de NLP, ce qui en fait un excellent candidat pour ce cas d’usage.
Votre mission est de mettre en place un flux de travail de base avec le modèle BERT de la bibliothèque transformers pour une classification binaire des sentiments.
Les éléments suivants ont été importés pour vous : BertTokenizer, BertForSequenceClassification, torch.
Les données d’exemple texts et les labels correspondants sont également préchargés.
Cet exercice fait partie du cours
Deep Learning pour le texte avec PyTorch
Instructions
- Chargez le tokenizer et le modèle
bert-base-uncasedadaptés à une classification binaire. - Tokenisez votre jeu de données et préparez-le pour le modèle, en veillant à renvoyer des tenseurs PyTorch à l’aide de l’argument
return_tensors. - Configurez l’optimiseur en utilisant les paramètres du modèle.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()}")