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. Для начала вы можете найти модели на следующих сайтах:- Модели TensorFlow на моделях Kaggle и 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 , а на iOS — Core ML Delegate . Чтобы добавить поддержку новых аппаратных ускорителей, вы можете определить свой собственный делегат .
Вы можете выполнить вывод следующими способами в зависимости от типа модели:
Модели без метаданных : используйте API- интерфейс LiteRT Interpreter . Поддерживается на нескольких платформах и языках, таких как Java, Swift, C++, Objective-C и Python.
Модели с метаданными . Вы можете создавать собственные конвейеры вывода с помощью библиотеки поддержки LiteRT .
Миграция с LiteRT
Приложения, использующие библиотеки LiteRT, продолжат работать, но все новые активные разработки и обновления будут включены только в пакеты LiteRT. API-интерфейсы LiteRT содержат те же имена методов, что и API-интерфейсы TF Lite, поэтому переход на LiteRT не требует детальных изменений кода.
Дополнительную информацию см. в руководстве по миграции .
Следующие шаги
Новым пользователям следует начать работу с кратким руководством LiteRT . Конкретную информацию смотрите в следующих разделах:
Преобразование модели
- Преобразование моделей TensorFlow
- Преобразование моделей PyTorch
- Преобразование моделей генеративного искусственного интеллекта PyTorch
- Преобразование моделей JAX
Направляющие платформы