Transfer learning s využitím BERT
V PyBooks se společnost rozhodla využít sílu modelu BERT – předtrénovaného transformerového modelu – pro analýzu sentimentu. BERT dosahuje skvělých výsledků v různých NLP úlohách, a proto je ideálním kandidátem pro tento případ použití.
Tvým úkolem je nastavit základní workflow s modelem BERT z knihovny transformers pro binární klasifikaci sentimentu.
Následující moduly už jsou naimportované: BertTokenizer, BertForSequenceClassification, torch.
Ukázková data texts a odpovídající labels jsou také předpřipravená.
Toto cvičení je součástí kurzu
Deep Learning for Text with PyTorch
Pokyny k cvičení
- Načti tokenizér a model
bert-base-uncasedvhodný pro binární klasifikaci. - Tokenizuj svůj dataset a připrav ho pro model – nastav argument
return_tensorstak, aby vracel PyTorchové tenzory. - Nastav optimalizátor s využitím parametrů modelu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()}")