ПочатиПочніть безкоштовно

Трансферне навчання з BERT

У PyBooks вирішили використати потужність моделі BERT — попередньо натренованої трансформерної моделі — для аналізу тональності. BERT демонструє відмінні результати в різних задачах НЛП, тож це чудовий кандидат для цього випадку.

Ваше завдання — налаштувати базовий робочий процес із використанням моделі BERT з бібліотеки transformers для бінарної класифікації тональності.

Для вас уже імпортовано: BertTokenizer, BertForSequenceClassification, torch. Приклади даних texts і відповідні labels також попередньо завантажено.

Ця вправа є частиною курсу

Глибоке навчання для тексту з PyTorch

Переглянути курс

Інструкції до вправи

  • Завантажте токенізатор і модель bert-base-uncased, придатні для бінарної класифікації.
  • Токенізуйте набір даних і підготуйте його для моделі, забезпечивши повернення тензорів PyTorch за допомогою аргументу return_tensors.
  • Налаштуйте оптимізатор, використавши параметри моделі.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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()}")
Редагувати та запускати код