Обзор LiteRT

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

Основные характеристики

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

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

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

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

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

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

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

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

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

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

  • LiteRT : Гибкая и настраиваемая среда выполнения, которая может запускать широкий спектр моделей. Выберите модель для вашего варианта использования, преобразуйте ее в формат LiteRT (при необходимости) и запустите на устройстве. Если вы собираетесь использовать LiteRT, продолжайте читать.
  • MediaPipe Tasks : решения Plug-and-play с моделями по умолчанию, которые позволяют настраивать. Выберите задачу, которая решает вашу проблему AI/ML, и реализуйте ее на нескольких платформах. Если вы собираетесь использовать MediaPipe Tasks, обратитесь к документации MediaPipe Tasks .

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

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

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

  • Использовать существующую модель LiteRT: ��амый простой подход — использовать модель LiteRT уже в формате .tflite . Эти модели не требуют дополнительных шагов преобразования. Вы можете найти модели LiteRT на Kaggle Models .

  • Конвертировать модель в модель LiteRT: Вы можете использовать TensorFlow Converter , PyTorch Converter или JAX-ко��верт��р д��я ��о��верт��ции моделей в формат 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 quickstart . Для получения конкретной информации см. следующие разделы:

Конверсия модели

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