Обзор модельного сада

TensorFlow Model Garden предоставляет реализации многих современных моделей машинного обучения (ML) для зрения и обработки естественного языка (NLP), а также инструменты рабочего процесса, позволяющие быстро настраивать и запускать эти модели на стандартных наборах данных. Независимо от того, хотите ли вы оценить производительность известной модели, проверить результаты недавно опубликованных исследований или расширить существующие модели, Model Garden может помочь вам продвигать свои исследования и приложения в области машинного обучения.

Model Garden включает следующие ресурсы для разработчиков машинного обучения:

Эти ресурсы предназначены для использования с инфраструктурой TensorFlow Core и интеграции с вашими существующими проектами разработки TensorFlow. Ресурсы Model Garden также предоставляются по лицензии с открытым исходным кодом , поэтому вы можете свободно расширять и распространять модели и инструменты.

Практические модели машинного обучения требуют больших вычислительных ресурсов для обучения и запуска и могут потребовать ускорителей, таких как графические процессоры (GPU) и тензорные процессоры (TPU). Большинство моделей в Model Garden обучались на больших наборах данных с использованием TPU. Однако вы также можете обучать и запускать эти модели на процессорах GPU и CPU.

Модели садовых моделей

Модели машинного обучения в Model Garden включают полный код, поэтому вы можете тестировать, обучать или переобучать их для исследований и экспериментов. Модельный сад включает в себя две основные категории моделей: официальные модели и исследовательские модели .

Официальные модели

Официальный репозиторий моделей — это коллекция современных моделей с упором на зрение и обработку естественного языка (NLP). Эти модели реализованы с использованием текущих высокоуровневых API TensorFlow 2.x. Библиотеки моделей в этом репозитории оптимизированы для обеспечения высокой производительности и активно поддерживаются инженерами Google. Официальные модели включают дополнительные метаданные, которые можно использовать для быстрой настройки экспериментов с помощью среды обучающих экспериментов Model Garden.

Исследовательские модели

Репозиторий исследовательских моделей представляет собой набор моделей, опубликованных в виде ресурсов кода для исследовательских работ. Эти модели реализованы с использованием как TensorFlow 1.x, так и 2.x. Библиотеки моделей в исследовательской папке поддерживаются владельцами кода и исследовательским сообществом.

Структура обучающего эксперимента

Платформа обучающих экспериментов Model Garden позволяет быстро собирать и запускать обучающие эксперименты, используя официальные модели и стандартные наборы данных. Учебная среда использует дополнительные метаданные, включенные в официальные модели Model Garden, чтобы вы могли быстро настроить модели с помощью модели декларативного программирования. Вы можете определить обучающий эксперимент с помощью команд Python в библиотеке моделей TensorFlow или настроить обучение с помощью файла конфигурации YAML, как в этом примере .

Учебная среда использует tfm.core.base_trainer.ExperimentConfig в качестве объекта конфигурации, который содержит следующие объекты конфигурации верхнего уровня:

  • runtime : определяет оборудование для обработки, стратегию распространения и другие оптимизации производительности.
  • task : определяет модель, обучающие данные, потери и инициализацию.
  • trainer : определяет оптимизатор, циклы обучения, циклы оценки, сводки и контрольные точки.

Полный пример с использованием структуры обучающего эксперимента Model Garden см. в учебнике Классификация изображений с помощью Model Garden . Для получения информации о структуре обучающего эксперимента ознакомьтесь с документацией по TensorFlow Models API . Если вы ищете решение для управления циклами обучения для экспериментов по обучению моделей, ознакомьтесь с Orbit .

Специализированные операции машинного обучения

Model Garden содержит множество операций машинного зрения и НЛП, специально разработанных для выполнения современных моделей, которые эффективно работают на графических процессорах и ТПУ. Ознакомьтесь с документацией по API библиотеки TensorFlow Models Vision, чтобы найти список специализированных операций машинного зрения . Ознакомьтесь с документацией по API библиотеки TensorFlow Models NLP для получения списка операций NLP . Эти библиотеки также включают дополнительные служебные функции, используемые для обработки зрения и данных NLP, обучения и выполнения моделей.

Тренировочные циклы с Orbit

Существует два варианта обучения моделей TensorFlow по умолчанию:

  • Используйте высокоуровневую функцию Keras Model.fit . Если ваша модель и процедура обучения соответствуют предположениям метода Model.fit (инкрементный градиентный спуск для пакетов данных), это может быть очень удобно.
  • Напишите собственный цикл обучения с keras или без него. Вы можете написать собственный обучающий цикл с низкоуровневыми методами TensorFlow, такими как tf.GradientTape или tf.function . Однако этот подход требует большого количества шаблонного кода и ничего не делает для упрощения распределенного обучения.

Orbit пытается предоставить третий вариант между этими двумя крайностями.

Orbit — это гибкая, легковесная библиотека, предназначенная для упрощения написания пользовательских обучающих циклов в TensorFlow 2.x, и хорошо работает с фреймворком обучающих экспериментов Model Garden. Orbit выполняет общие задачи обучения модели, такие как сохранение контрольных точек, выполнение оценки модели и настройка записи сводки. Он легко интегрируется с tf.distribute и поддерживает работу на различных типах устройств, включая аппаратное обеспечение CPU, GPU и TPU. Инструмент Orbit также имеет открытый исходный код , поэтому вы можете расширять его и адаптировать к потребностям обучения вашей модели.

Путеводитель по Орбите доступен здесь .