Обзор LiteRT

LiteRT, ранее известная как 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.

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

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

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

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

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

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

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

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

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

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

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

  • Преобразование модели в модель LiteRT. Вы можете использовать конвертер TensorFlow , конвертер PyToch или конвертер 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 , а на iOS — Core ML Delegate . Чтобы добавить поддержку новых аппаратных ускорителей, вы можете определить свой собственный делегат .

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

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

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

Миграция с LiteRT

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

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

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

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

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

Направляющие платформы