Обзор LiteRT

LiteRT (сокращение от Lite Runtime), ранее известная как TensorFlow Lite, — это высокопроизводительная среда выполнения от Google для ИИ на устройствах. Вы можете найти готовые модели LiteRT для широкого спектра задач машинного обучения и ИИ, а также преобразовать и запустить модели TensorFlow, PyTorch и JAX в формат TFLite с помощью инструментов конвертации и оптимизации AI Edge.

Ключевые особенности

  • Оптимизировано для машинного обучения на устройстве : LiteRT устраняет пять ключевых ограничений ODML: задержка (нет обращения к серверу), конфиденциальность (никакие личные данные не покидают устройство), подключение к Интернету (не требуется подключение к Интернету), размер (уменьшенный размер модели и двоичного файла) и энергопотребление (эффективный вывод и отсутствие сетевых подключений).

  • Поддержка нескольких платформ : совместимость с устройствами Android и iOS , встроенным Linux и микроконтроллерами .

  • Поддержка моделей на разных платформах : AI Edge предоставляет инструменты для преобразования моделей PyTorch и TensorFlow в формат FlatBuffers ( .tflite ), что позволяет использовать широкий спектр современных моделей в LiteRT. Кроме того, вы получаете доступ к инструментам оптимизации моделей, которые поддерживают квантизацию и метаданные.

  • Поддержка различных языков : включает SDK для Java/Kotlin, Swift, Objective-C, C++ и Python.

  • Высокая производительность : аппаратное ускорение с помощью специализированных делегатов, таких как GPU и iOS Core ML.

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

Рабочий процесс разработки LiteRT включает в себя выявление проблемы машинного обучения/искусственного интеллекта, выбор модели, решающей эту проблему, и её реализацию на устройстве. Следующие шаги подробно описывают рабочий процесс и содержат ссылки на дополнительные инструкции.

1. Определите наиболее подходящее решение проблемы МО.

LiteRT предлагает пользователям высокий уровень гибкости и настраиваемости при решении задач машинного обучения, что делает его отличным выбором для тех, кому требуется конкретная модель или специализированная реализация. Тем, кто ищет готовые решения, может подойти MediaPipe Tasks , предлагающий готовые решения для распространённых задач машинного обучения, таких как обнаружение объектов, классификация текста и вывод LLM.

Выберите одну из следующих платформ AI Edge:

  • LiteRT : Гибкая и настраиваемая среда выполнения, поддерживающая широкий спектр моделей. Выберите модель для вашего варианта использования, конвертируйте её в формат LiteRT (при необходимости) и запустите на устройстве. Если вы планируете использовать LiteRT, продолжайте читать.
  • MediaPipe Tasks : готовые решения с моделями по умолчанию, которые можно настраивать. Выберите задачу, которая решает вашу задачу ИИ/МО, и реализуйте её на нескольких платформах. Если вы планируете использовать MediaPipe Tasks, обратитесь к документации по MediaPipe Tasks .

2. Выберите модель

Модель LiteRT представлена ​​в эффективном портативном формате, известном как FlatBuffers , который использует расширение файла .tflite .

Модель LiteRT можно использовать следующими способами:

  • Использование существующей модели LiteRT: самый простой подход — использовать модель LiteRT в формате .tflite . Такие модели не требуют дополнительных действий по конвертации. Модели LiteRT можно найти на сайте Kaggle Models .

  • Конвертация модели в модель LiteRT: вы можете использовать PyTorch Converter или TensorFlow Converter для конвертации моделей в формат FlatBuffers ( .tflite ) и запуска их в LiteRT. Для начала вы можете найти модели на следующих сайтах:

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

3. Интегрируйте модель в свое приложение.

Вы можете реализовать свои модели LiteRT для выполнения выводов непосредственно на устройстве — на веб-устройствах, встраиваемых системах и мобильных устройствах. LiteRT содержит API для Python , Java и Kotlin для Android, Swift для iOS и C++ для микроустройств.

Используйте следующие руководства для реализации модели LiteRT на предпочитаемой вами платформе:

  • Запуск на Android : запуск моделей на устройствах Android с использованием API Java/Kotlin.
  • Запуск на iOS : запуск моделей на устройствах iOS с использованием API Swift.
  • Запуск на Micro : запуск моделей на встраиваемых устройствах с использованием API C++.

На устройствах Android и iOS можно повысить производительность, используя аппаратное ускорение. На обеих платформах можно использовать GPU Delegate , а на iOS — Core ML Delegate . Чтобы добавить поддержку новых аппаратных ускорителей, можно определить собственный Delegate .

В зависимости от типа модели вывод можно выполнить следующими способами:

  • Модели без метаданных : используйте API LiteRT Interpreter . Поддерживается на различных платформах и языках, таких как Java, Swift, C++, Objective-C и Python.

  • Модели с метаданными : вы можете создавать собственные конвейеры вывода с помощью библиотеки поддержки LiteRT .

Миграция с TF Lite

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

Более подробную информацию см. в руководстве по миграции .

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

Новым пользователям рекомендуется начать с краткого руководства по LiteRT . Подробную информацию см. в следующих разделах:

Преобразование модели

Руководства по платформам