LiteRT-LM の概要

LiteRT-LM は、エッジ デバイスで高性能のクロスプラットフォーム LLM デプロイを実現するように設計された、プロダクション レディなオープンソース推論フレームワークです。

  • クロス プラットフォーム サポート: Android、iOS、ウェブ、パソコン、IoT(Raspberry Pi など)で実行できます。
  • ハードウェア アクセラレーション: さまざまなハードウェアで GPU と NPU アクセラレータを活用して、最高のパフォーマンスとシステムの安定性を実現します。
  • マルチモーダリティ: 画像と音声のサポートを備えた LLM を使用して構築します。
  • ツールの使用: 精度向上のための制約付きデコードによるエージェント ワークフローの関数呼び出しをサポートします。
  • 幅広いモデルのサポート: Gemma、Llama、Phi-4、Qwen などを実行します。

オンデバイス生成 AI の紹介

Google AI Edge ギャラリーのスクリーンショット

Google AI Edge ギャラリーは、LiteRT-LM を使用して完全にオフラインで実行されるオンデバイスの生成 AI 機能をデモするために設計された試験運用版アプリです。

  • Google Play: 対応する Android デバイスで LLM をローカルで使用します。
  • App Store: iOS デバイスでオンデバイス AI を体験できます。
  • GitHub ソース: 写真アプリのソースコードを表示して、LiteRT-LM を独自のプロジェクトに統合する方法を確認します。
デバイス プロファイル モード プレフィル(tk/s) Decode(tk/s)
MacBook Pro 2023 M3 CPU 233 28
MacBook Pro 2024 M4 GPU 2265 48
Samsung S24(Ultra) CPU 111 16
GPU 816 16

構築を開始する

次のスニペットは、LiteRT-LM CLI、Python、Kotlin、C++ API の使用を開始する方法を示しています。

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']}")

Kotlin

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 分以内に使い始めることができます。 CLI ガイド
Python
Stable
デスクトップと Raspberry Pi での迅速なプロトタイピングと開発。 Python ガイド
Kotlin
Stable
ネイティブ Android アプリと JVM ベースのデスクトップ ツール。コルーチン向けに最適化されています。 Kotlin ガイド
C++
Stable
高パフォーマンスのクロス プラットフォーム コアロジックと組み込みシステム。 C++ ガイド
Swift 🚀
開発中
専用の Metal サポートによる iOS と macOS のネイティブ統合。 近日提供予定

サポートされているバックエンドとプラットフォーム

加速 Android iOS macOS Windows Linux IoT
CPU
GPU -
NPU - - - - -

サポートされているモデル

次の表に、LiteRT-LM でサポートされているモデルを示します。パフォーマンスの数値とモデルカードの詳細については、Hugging Face の LiteRT コミュニティをご覧ください。

モデル タイプ サイズ(MB) ダウンロード リンク デバイス CPU プリフィル(tk/秒) CPU デコード(tk/秒) GPU プリフィル(tk/秒) GPU デコード(tk/秒)
Gemma3-1B チャット 1005 モデルカード Samsung S24 Ultra 177 33 1191 24
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
FunctionGemma ベース 289 モデルカード Samsung S25 Ultra 2238 154 - -
phi-4-mini チャット 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 - -

問題の報告

バグが発生した場合や機能リクエストがある場合は、LiteRT-LM GitHub Issues で報告してください。