Урок из полного доступа, первые уроки курса бесплатно Официальный курс Hugging Face Learn на русском
Урок 67 · Текст · ~5 мин

Отладка обучения: проверяем собственные данные

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

О чём урок

Вы написали прекрасный сценарий для обучения или дообучения модели на заданной задаче, послушно следуя советам из Главы 7. Но когда вы запускаете команду model.fit(), происходит нечто ужасное: вы получаете ошибку 😱! Или, что еще хуже, все вроде бы хорошо, обучение проходит без ошибок, но результирующая модель получается плохой. В этом разделе мы покажем вам, что можно сделать для отладки подобных проблем.

Проблема, когда вы сталкиваетесь с ошибкой в model.fit(), заключается в том, что она может возникнуть из нескольких источников, поскольку обучение обычно объединяет множество вещей, над которыми вы работали до этого момента. Проблема может заключаться в том, что в вашем наборе данных что-то не так, или в том, что вы пытаетесь объединить элементы наборов данных вместе. Или что-то не так в коде модели, функции потерь или оптимизаторе. И даже если при обучении все идет хорошо, во время оценки что-то может пойти не так, если возникнут проблемы с метрикой.

Лучший способ отладить ошибку, возникшую в model.fit(), - это вручную пройти весь конвейер, чтобы увидеть, где что-то пошло не так. В этом случае ошибку часто очень легко устранить.

Чтобы продемонстрировать это, мы используем следующий скрипт, который (пытается) дообучить модель DistilBERT на наборе данных MNLI dataset:

Если вы попытаетесь выполнить его, вы можете получить несколько VisibleDeprecationWarning при преобразовании набора данных - это известная нам проблема UX, так что, пожалуйста, игнорируйте ее. Если вы читаете курс после, скажем, ноября 2021 года, и это все еще происходит, то отправляйте гневные твиты @carrigmat, пока он не исправит это.

Однако более серьезной проблемой является то, что мы получаем откровенную ошибку. И она действительно ужасающе длинная:

Что это значит? Мы пытались обучиться на наших данных, но не получили градиента? Это вызывает недоумение; как мы вообще можем начать отлаживать что-то подобное?

Это само собой разумеется, но если ваши данные повреждены, Keras не сможет исправить их за вас.

Хотя заманчиво…

План урока

  1. Отладка обучающего пайплайна
  2. Проверка собственных данных
  3. Проверка модели
  4. Проверка гиперпараметров
  5. Другие потенциальные проблемы
  6. Как справиться с ошибками нехватки памяти
  7. "Голодный" TensorFlow 🦛
  8. Проверьте свои данные (еще раз!)

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

Откройте полный доступ

Вы прошли бесплатные уроки. Выберите тариф, чтобы продолжить обучение.

Курсы HuggingFace 1 490 ₽ Разовый платёж, навсегда
  • Все курсы от HuggingFace (1 шт.)
  • Именной сертификат по каждому пройденному курсу
Оплатить
Полный доступ 4 900 ₽ Разовый платёж, навсегда
  • Все 77 курсов от 11 AI-провайдеров
  • Библиотека промптов и новые курсы
Оплатить

Безопасная оплата через Robokassa: СБП, карты, электронные кошельки. Доступ откроется в этом браузере и придёт письмом. Уже оплатили? Восстановить доступ

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