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. Для начала вы можете найти модели на следующих сайтах:- Модели PyTorch на Hugging Face и
torchvision - Модели TensorFlow на Kaggle Models и Hugging Face
- Модели PyTorch на Hugging Face и
Модель 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 . Подробную информацию см. в следующих разделах:
Преобразование модели
- Конвертировать модели PyTorch
- Конвертировать модели генеративного ИИ PyTorch
- Преобразование моделей TensorFlow
- Конвертировать модели JAX
Руководства по платформам