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

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

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

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

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

Ограничения конструкции модели

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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