Создание моделей LiteRT

На этой странице представлены рекомендации по созданию моделей TensorFlow с целью их конвертации в формат моделей LiteRT. Модели машинного обучения (МО), используемые с LiteRT, изначально создаются и обучаются с использованием библиотек и инструментов ядра TensorFlow. После создания модели с использованием ядра TensorFlow вы можете преобразовать её в более компактный и эффективный формат МО, называемый моделью LiteRT.

Если у вас уже есть модель для конвертации, ознакомьтесь со страницей обзора «Конвертация моделей» для получения инструкций по конвертации вашей модели.

Создание вашей модели

Если вы создаете пользовательскую модель для конкретного варианта использования, вам следует начать с разработки и обучения модели TensorFlow или расширения существующей.

Ограничения проектирования модели

Прежде чем приступить к процессу разработки модели, вам следует ознакомиться с ограничениями для моделей LiteRT и создать свою модель с учетом этих ограничений:

  • Ограниченные вычислительные возможности . По сравнению с полностью оснащёнными серверами с несколькими ЦП, большим объёмом памяти и специализированными процессорами, такими как графические процессоры и TPU, мобильные и периферийные устройства гораздо более ограничены. Несмотря на рост их вычислительной мощности и совместимости со специализированным оборудованием, модели и данные, которые они могут эффективно обрабатывать, по-прежнему сравнительно ограничены.
  • Размер моделей . Общая сложность модели, включая логику предварительной обработки данных и количество слоёв, увеличивает её объём в памяти. Большая модель может работать неприемлемо медленно или просто не помещаться в доступную память мобильного или периферийного устройства.
  • Размер данных . Объём входных данных, которые можно эффективно обработать с помощью модели машинного обучения, ограничен на мобильных или периферийных устройствах. Модели, использующие большие библиотеки данных, такие как языковые библиотеки, библиотеки изображений или библиотеки видеоклипов, могут не поместиться на этих устройствах и потребовать использования решений для хранения и доступа вне устройства.
  • Поддерживаемые операции TensorFlow . Среды выполнения LiteRT поддерживают подмножество операций моделей машинного обучения по сравнению с обычными моделями TensorFlow. При разработке модели для использования с LiteRT следует отслеживать её совместимость с возможностями сред выполнения LiteRT.

Дополнительную информацию о создании эффективных, совместимых и высокопроизводительных моделей для LiteRT см. в разделе Рекомендации по производительности .

Разработка модели

Чтобы построить модель LiteRT, сначала необходимо создать модель с использованием базовых библиотек TensorFlow. Базовые библиотеки TensorFlow — это низкоуровневые библиотеки, предоставляющие API для создания, обучения и развертывания моделей машинного обучения.

Рабочий процесс сборки TFLite

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

Модельный сад

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

Независимо от того, хотите ли вы оценить производительность известной модели, проверить результаты недавно опубликованных исследований или расширить существующие модели, Model Garden поможет вам достичь ваших целей в области МО.

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

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

Оценка модели

После разработки модели необходимо оценить её производительность и протестировать на устройствах конечных пользователей. TensorFlow предоставляет несколько способов сделать это.

  • TensorBoard — это инструмент для проведения измерений и визуализации, необходимых в процессе машинного обучения. Он позволяет отслеживать такие метрики эксперимента, как потери и точность, визуализировать граф модели, проецировать вложения в пространство меньшей размерности и многое другое.
  • Инструменты для бенчмаркинга доступны для каждой поддерживаемой платформы, например, для Android и iOS. Используйте эти инструменты для измерения и расчета статистики важных показателей производительности.

Оптимизация модели

Учитывая ограничения на ресурсы, характерные для моделей TensorFlow Lite, оптимизация моделей может помочь обеспечить высокую производительность вашей модели и снизить потребление вычислительных ресурсов. Производительность моделей машинного обучения обычно определяется балансом между размером модели, скоростью вывода и точностью. В настоящее время LiteRT поддерживает оптимизацию посредством квантования, обрезки и кластеризации. Подробнее об этих методах см. в разделе « Оптимизация моделей» . TensorFlow также предоставляет набор инструментов для оптимизации моделей , предоставляющий API для реализации этих методов.

Следующие шаги