Обзор LiteRT-LM

LiteRT-LM — это готовая к использованию в производственных условиях платформа для выполнения инференции с открытым исходным кодом, разработанная для обеспечения высокопроизводительного кроссплатформенного развертывания LLM на периферийных устройствах.

  • Кроссплатформенная поддержка: работает на Android, iOS, в веб-браузере, на настольных компьютерах и устройствах IoT (например, Raspberry Pi).
  • Аппаратное ускорение: Добейтесь максимальной производительности и стабильности системы, используя ускорители GPU и NPU на различном оборудовании.
  • Мультимодальность: Создавайте модели на основе LLM, поддерживающие визуальное и звуковое восприятие.
  • Использование инструмента: Поддержка вызова функций для агентных рабочих процессов с ограниченным декодированием для повышения точности.
  • Широкая поддержка моделей: запуск Gemma, Llama, Phi-4, Qwen и других.

Демонстрация возможностей GenAI на устройстве

Скриншот из галереи Google AI Edge

Google AI Edge Gallery — это экспериментальное приложение, разработанное для демонстрации возможностей генеративного ИИ на устройстве, работающее полностью в автономном режиме с использованием LiteRT-LM.

  • Google Play : Используйте LLM-модули локально на поддерживаемых устройствах Android.
  • App Store : Оцените возможности искусственного интеллекта на вашем устройстве iOS.
  • Исходный код на GitHub : Просмотрите исходный код приложения галереи, чтобы узнать, как интегрировать LiteRT-LM в ваши собственные проекты.
  • Размер модели: 2,58 ГБ
  • Дополнительные технические характеристики приведены в описании модели HuggingFace.

    Платформа (Устройство) Бэкенд Предварительное заполнение (тк/с) Декодирование (тк/с) Время до получения первого токена (секунды) Максимальное потребление памяти ЦП (МБ)
    Android (S26 Ultra) Процессор 557 47 1.8 1733
    GPU 3808 52 0.3 676
    iOS (iPhone 17 Pro) Процессор 532 25 1.9 607
    GPU 2878 56 0.3 1450
    Linux (Arm 2.3 и 2.8 ГГц, NVIDIA GeForce RTX 4090) Процессор 260 35 4 1628
    GPU 11234 143 0.1 913
    macOS (MacBook Pro M4) Процессор 901 42 1.1 736
    GPU 7835 160 0.1 1623
    Интернет вещей (Raspberry Pi 5 16 ГБ) Процессор 133 8 7.8 1546

Начало строительства

Приведенные ниже фрагменты кода демонстрируют, как начать работу с интерфейсом командной строки LiteRT-LM, а также с API на Python, Kotlin и C++.

CLI

litert-lm run model.litertlm --prompt="What is the capital of France?"

Python

engine = litert_lm.Engine("model.litertlm")

with engine.create_conversation() as conversation:
    response = conversation.send_message("What is the capital of France?")
    print(f"Response: {response['content'][0]['text']}")

Котлин

val engineConfig = EngineConfig(
    modelPath = "/path/to/your/model.litertlm",
    backend = Backend.CPU(),
)

val engine = Engine(engineConfig)
engine.initialize()

val conversation = engine.createConversation()
print(conversation.sendMessage("What is the capital of France?"))  

C++

auto model_assets = ModelAssets::Create(model_path);
CHECK_OK(model_assets);

auto engine_settings = EngineSettings::CreateDefault(
    model_assets,
    /*backend=*/litert::lm::Backend::CPU);

absl::StatusOr<std::unique_ptr<Engine>> engine = Engine::CreateEngine(engine_settings);
CHECK_OK(engine);

auto conversation_config = ConversationConfig::CreateDefault(**engine);
CHECK_OK(conversation_config);
absl::StatusOr<std::unique_ptr<Conversation>> conversation = Conversation::Create(**engine, *conversation_config);
CHECK_OK(conversation);

absl::StatusOr<Message> model_message = (*conversation)->SendMessage(
    JsonMessage{
        {"role", "user"},
        {"content", "What is the capital of France?"}
    });
CHECK_OK(model_message);

std::cout << *model_message << std::endl;
Язык Статус Лучше всего подходит для... Документация
CLI 🚀
Предварительный просмотр
Начать работу с LiteRT-LM менее чем за 1 минуту. Руководство по интерфейсу командной строки
Python
Стабильный
Быстрое прототипирование и разработка на настольных компьютерах и Raspberry Pi. Руководство по Python
Котлин
Стабильный
Нативные приложения для Android и настольные инструменты на базе JVM. Оптимизированы для сопрограмм. Руководство по Android (Kotlin)
C++
Стабильный
Высокопроизводительные кроссплатформенные логические компоненты и встроенные системы. Руководство по C++
Быстрый 🚀
В разработке
Встроенная интеграция с iOS и macOS со специализированной поддержкой Metal. Вскоре

Поддерживаемые бэкэнды и платформы

Ускорение Android iOS macOS Windows Linux Интернет вещей
Процессор
GPU -
НПУ - - - - -

Поддерживаемые модели

В таблице ниже перечислены модели, поддерживаемые LiteRT-LM. Более подробные данные о производительности и список моделей видеокарт можно найти в сообществе LiteRT на Hugging Face .

Модель Тип Размер (МБ) Подробности Устройство Предварительное заполнение ЦП (тк/с) Декодирование ЦП (тк/с) Предварительное заполнение GPU (тк/с) Декодирование на GPU (тк/с)
Gemma4-E2B Чат 2583 Модель карты Samsung S26 Ultra 557 47 3808 52
iPhone 17 Pro 532 25 2878 57
MacBook Pro M4 901 42 7835 160
Gemma4-E4B Чат 3654 Модель карты Samsung S26 Ultra 195 18 1293 22
iPhone 17 Pro 159 10 1189 25
MacBook Pro M4 277 27 2560 101
Gemma-3n-E2B Чат 2965 Модель карты MacBook Pro M3 233 28 - -
Samsung S24 Ultra 111 16 816 16
Gemma-3n-E4B Чат 4235 Модель карты MacBook Pro M3 170 20 - -
Samsung S24 Ultra 74 9 548 9
Gemma3-1B Чат 1005 Модель карты Samsung S24 Ultra 177 33 1191 24
FunctionGemma База 289 Модель карты Samsung S25 Ultra 2238 154 - -
фи-4-мини Чат 3906 Модель карты Samsung S24 Ultra 67 7 314 10
Qwen2.5-1.5B Чат 1598 Модель карты Samsung S25 Ultra 298 34 1668 31
Qwen3-0.6B Чат 586 Модель карты Vivo X300 Pro 165 9 580 21
Qwen2.5-0.5B Чат 521 Модель карты Samsung S24 Ultra 251 30 - -

Сообщение о проблемах

Если вы обнаружили ошибку или у вас есть предложение по улучшению функционала, сообщите об этом в разделе Issues на GitHub проекта LiteRT-LM .