НачатьНачать бесплатно

Трансферное обучение с помощью 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()}")
Редактировать и запускать код