LiteRT — это разработанная Google платформа для высокопроизводительного развертывания машинного обучения и искусственного интеллекта на периферийных платформах, использующая эффективные методы преобразования, выполнения и оптимизации.
В последней версии LiteRT 2.x представлен API CompiledModel — современный интерфейс среды выполнения, разработанный для максимального ускорения работы оборудования. Хотя API Interpreter (ранее TensorFlow Lite) остается доступным для обратной совместимости, API CompiledModel рекомендуется разработчикам, стремящимся к высочайшей производительности в приложениях искусственного интеллекта на устройствах.
Основные характеристики LiteRT
Упростите разработку с помощью LiteRT.
Автоматический выбор ускорителя вместо явного создания делегата. Эффективная обработка буферов ввода-вывода и асинхронное выполнение для повышения производительности. См. документацию по выводу данных на устройстве .
Лучшая в своем классе производительность графического процессора
Благодаря технологии ML Drift, теперь поддерживаются как модели машинного обучения, так и модели генеративного искусственного интеллекта на графических процессорах (GPU). См. документацию по ускорению на GPU .
Унифицированное ускорение NPU
Ускорьте работу вашей модели, используя упрощенный доступ к NPU от ведущих производителей чипсетов. См. документацию по ускорению NPU .
Превосходная поддержка LLM
LiteRT обеспечивает высокопроизводительное развертывание моделей генеративного ИИ на мобильных, настольных и веб-платформах. См. документацию по развертыванию GenAI .
Широкая поддержка фреймворков машинного обучения.
LiteRT поддерживает упрощенное преобразование из фреймворков PyTorch, TensorFlow и JAX в формат .tflite или .litertlm . См. документацию по преобразованию моделей .
Рабочий процесс разработки
LiteRT выполняет вычисления полностью на устройстве: Android, iOS, в веб-браузере, на устройствах IoT, а также на настольных компьютерах и ноутбуках. Независимо от устройства, ниже представлен наиболее распространенный рабочий процесс со ссылками на дополнительные инструкции.

Определите наиболее подходящее решение для задачи машинного обучения.
LiteRT предлагает пользователям высокий уровень гибкости и настраиваемости при решении задач машинного обучения, что делает его подходящим вариантом для тех, кому требуется конкретная модель или специализированная реализация. Пользователям, ищущим готовые решения, может больше подойти MediaPipe Tasks , предоставляющий готовые решения для распространенных задач машинного обучения, таких как обнаружение объектов, классификация текста и вывод LLM-моделей.
Получение и подготовка модели
Модель LiteRT представлена в эффективном переносимом формате, известном как FlatBuffers , который использует расширение файла .tflite .
Модель LiteRT можно приобрести следующими способами:
Получите предварительно обученную модель: для популярных задач машинного обучения, таких как сегментация изображений, обнаружение объектов и т. д.
Простейший подход — использовать модель LiteRT, уже находящуюся в формате
.tflite. Эти модели не требуют дополнительных преобразований.Тип модели Источник предварительно обученной модели Классическое машинное обучение
(формат.tflite)Посетите Kaggle или HuggingFace.
Например, модели сегментации изображений и пример приложения.Генеративный ИИ
(формат.litertlm)Страница LiteRT "Обнимающее лицо"
Например, семья Джеммы.Преобразуйте выбранную вами модель PyTorch, TensorFlow или JAX в модель LiteRT, если вы решили не использовать предварительно обученную модель. [PRO USER]
Модель структуры Примеры моделей Инструмент конвертации Питорч Обнимающее лицо
ТорчвизионСвязь TensorFlow Модели Kaggle
Обнимающее лицоСвязь Джакс Обнимающее лицо Связь Создайте свою LLM для дальнейшей оптимизации с помощью Generative API [PRO USER]
Наша библиотека Generative API предоставляет встроенные в PyTorch строительные блоки для создания моделей Transformer, таких как Gemma , TinyLlama и другие , с использованием удобных для мобильных устройств абстракций, благодаря которым мы можем гарантировать преобразование и производительное выполнение в нашей мобильной среде выполнения LiteRT. См. документацию Generative API .
Квантование [PRO USER]
AI Edge Quantizer для опытных разработчиков — это инструмент для квантизации преобразованных моделей LiteRT. Он призван помочь опытным пользователям добиться оптимальной производительности на ресурсоемких моделях (например, моделях GenAI).
Более подробную информацию можно найти в документации AI Edge Quantizer .
Интегрируйте модель в ваше приложение на периферийных платформах.
LiteRT позволяет запускать модели машинного обучения полностью на устройстве с высокой производительностью на платформах Android, iOS, Web, Desktop и IoT.
Воспользуйтесь приведенными ниже инструкциями для интеграции модели LiteRT на предпочитаемой вами платформе:
| Поддерживаемая платформа | Поддерживаемые устройства | Поддерживаемые API |
|---|---|---|
| Запущено на Android | мобильные устройства Android | C++/Kotlin |
| Работает на iOS/macOS | Мобильные устройства iOS, MacBook | C++/Swift |
| Запуск в веб-среде с использованием LiteRT.js | Устройство с установленными браузерами Chrome, Firefox или Safari. | JavaScript |
| Запущено на Linux | Рабочие станции на базе Linux или устройства IoT на базе Linux | C++/Python |
| Запускается в Windows | Рабочие станции или ноутбуки под управлением Windows | C++/Python |
| Запущено на Micro | Встроенные устройства | C++ |
Приведенные ниже фрагменты кода демонстрируют базовую реализацию на Kotlin и C++.
Котлин
// Load model and initialize runtime
val compiledModel = CompiledModel.create(
"/path/to/mymodel.tflite",
CompiledModel.Options(Accelerator.CPU))
// Preallocate input/output buffers
val inputBuffers = compiledModel.createInputBuffers()
val outputBuffers = compiledModel.createOutputBuffers()
// Fill the input buffer
inputBuffers.get(0).writeFloat(input0)
inputBuffers.get(1).writeFloat(input1)
// Invoke
compiledModel.run(inputBuffers, outputBuffers)
// Read the output
val output = outputBuffers.get(0).readFloat()
C++
// Load model and initialize runtime
LITERT_ASSIGN_OR_RETURN(auto env, GetEnvironment());
LITERT_ASSIGN_OR_RETURN(auto options, GetOptions());
LITERT_ASSIGN_OR_RETURN(
auto compiled_model,
CompiledModel::Create(env, "/path/to/mymodel.tflite", options));
// Preallocate input/output buffers
LITERT_ASSIGN_OR_RETURN(auto input_buffers,compiled_model.CreateInputBuffers(signature_index));
LITERT_ASSIGN_OR_RETURN(auto output_buffers,compiled_model.CreateOutputBuffers(signature_index));
// Fill the input buffer
LITERT_ABORT_IF_ERROR(input_buffers[0].Write(input0));
LITERT_ABORT_IF_ERROR(input_buffers[1].Write(input1));
// Invoke
LITERT_ABORT_IF_ERROR(compiled_model.Run(signature_index, input_buffers, output_buffers));
// Read the output
LITERT_ABORT_IF_ERROR(output_buffers[0].Read(output0));
Выберите аппаратный ускоритель
Самый простой способ интегрировать бэкенды в LiteRT — использовать встроенные в среду выполнения интеллектуальные возможности. API CompiledModel значительно упрощает настройку, позволяя указать целевой бэкенд в качестве опции. Более подробную информацию см. в руководстве по инференции на устройстве .
| Android | iOS / macOS | Веб | Linux / Windows | Интернет вещей | |
|---|---|---|---|---|---|
| Процессор | XNNPACK | XNNPACK | XNNPACK | XNNPACK | XNNPACK |
| GPU | WebGPU OpenCL | WebGPU Металл | WebGPU | WebGPU OpenCL | WebGPU |
| НПУ | MediaTek Квалкомм | - | - | - | - |
Дополнительная документация и поддержка
Репозиторий LiteRT-Samples на GitHub содержит больше примеров приложений LiteRT.
Для существующих пользователей TensorFlow Lite см. руководство по миграции .
Страница инструментов LiteRT для анализа производительности, профилирования, сообщений об ошибках и т.д.