Дообучение модели через Trainer API

Урок 46 из 104 курса «HuggingFace: курс по Transformers»: официальный курс Hugging Face Learn (Хаггинг Фейс) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Библиотека 🤗 Transformers предоставляет класс Trainer, который помогает произвести fine-tuning любой предобученной модели на вашем датасете. После предобработки данных, сделанных в прошлом разделе, вам останется сделать несколько шагов для определения Trainer. Самая сложная часть – подготовить окружение для запуска Trainer.train(), т.к. она медленно работает на центральном процессоре. Если у вас нет видеокарты, вы можете бесплатно воспользоваться сервисом Google Colab, который предоставляет доступ к вычислениям с использованием GPU и TPU. Фрагменты кода ниже предполагают, что вы выполнили код из предыдущего раздела. Ниже приведено краткое резюме того, что вам нужно: Первый шаг перед определением Trainer, задание класса TrainingArguments, который будет содержать все гиперпараметры для Trainer (для процессов обучения и валидации). Единственный аргумент, который вы должны задать — это каталог, в котором будет сохранена обученная модель, а также контрольные точки. Для всего остального вы можете оставить значения по умолчанию, которые должны подойти для базового fine-tuning. [!TIP] 💡 Если вы хотите автоматически загружать модель на Hub во время обучения, передайте аргумент push_to_hub=True в TrainingArguments. Мы больше узнаем об этом в главе 4. Второй шаг – задание модели. Так же, как и в предыдущей главе, мы будем использовать класс AutoModelForSequenceClassification с двумя лейблами: После создания экземпляра предобученной модели будет распечатано предупреждение (в главе 2 мы с таким не сталкивались). Это происходит потому, что BERT не был предобучен для задачи классификации пар предложений, его последний слой не будет использован, вместо него будет добавлен слой, позволяющий работать с такой задачей. Предупреждения сообщают, что некоторые веса не будут использованы (как раз тех слоев, которые не будут использоваться) и для новых будут инициализированы случайные веса. В заключении предлагается обучить модель, что мы и сделаем прямо сейчас.

План урока

  1. Обучение
  2. Валидация

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды