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