Androidでのハイブリッド・オンデバイス推論:llama.cpp+LiteRT+NPU/GPUルーティング

Reddit r/LocalLLaMA / 2026/5/2

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • 提供者は、「Box」(GoogleのAI Edge Galleryのフォーク)について、クラウドでの推論やアカウントなしでAndroid上の完全オフラインAIアシスタントとして動かすことを目的に開発したと説明しています。
  • このプロジェクトは、llama.cpp(GGUF LLM)、whisper.cpp(オフラインSTT)、stable-diffusion.cpp(画像生成)、実行基盤としてLiteRTを組み合わせたハイブリッドなオンデバイス構成を検証しています。
  • ストリーミング型の音声対話や、ライブカメラ映像+自然言語でのQ&Aなどのマルチモーダル機能に加え、ローカルの文書をコンテキストとして取り込んだり、カスタムGGUFモデルを読み込めたりします。
  • 重要な設計上の学びとして、LiteRT+llama.cppのハイブリッド推論は新しめのSnapdragon/PixelのNPUで想定以上に有効であり、CPU/GPU/NPU/TPUといったルーティングはモデルの生のサイズよりも効いてくることがある、と述べています。
  • また、モバイルの多くのケースでは計算量より先にメモリ使用量や永続化がボトルネックになりやすいとしており、量子化戦略、実行時ルーティング、マルチモーダル・パイプライン、性能チューニングに関する技術的フィードバックを求めています。
Hybrid on-device inference on Android: llama.cpp + LiteRT + NPU/GPU routing

みなさん、こんにちは。

Box の開発者(メンテナー)をしています。これは、Google の AI Edge Gallery をフォークしたもので、Android 向けの完全オフライン AI アシスタントへと拡張してきました。

正直に言うと、このプロジェクトは私が作りました。

これは完全に端末上で動作します(クラウドなし、アカウントなし、外部推論なし)。さらに、複数のローカル推論バックエンドを 1 つのアプリに統合しています。


これまで試してきたこと

目標は、次を使ってどこまで 完全オフラインのモバイル AI スタック を押し進められるかを確認することでした。

  • llama.cpp(GGUF LLM 推論)
  • whisper.cpp(端末上での STT)
  • stable-diffusion.cpp(画像生成)
  • LiteRT(Google の端末内実行ランタイム)

これらは、可能な限りハードウェアアクセラレーション(GPU / NPU / TPU)を使って、Android 上ですべて動作しています。


現在の機能

  • 音声から音声への会話(ストリーミング形式、ハンズフリーのループ)
  • 視覚 + 音声(ライブカメラフレーム + 自然言語での Q&A)
  • 端末内での画像生成(GGUF 経由の Stable Diffusion)
  • コンテキストへのドキュメント取り込み(ローカルファイル)
  • カスタム GGUF モデルのインポート
  • CPU / GPU / NPU / TPU(自動選択)で動作

アーキテクチャの焦点

開発していて面白いと感じた点:

  • LiteRT + llama.cpp のハイブリッド推論は、より新しい Snapdragon/Pixel の NPU では想定以上にうまく動きました
  • モバイルでは、生のモデルサイズよりもモデルのルーティングがより重要です
  • Whisper.cpp は、完全オフライン環境では今も最も安定した STT レイヤーです
  • 多くの場合、計算より先にメモリと永続性が本当のボトルネックになります

レポジトリ(参考)

https://github.com/jegly/Box


なぜここで投稿しているのか

主に、ローカル推論システムに取り組んでいる方々からのフィードバックを得たいと考えています。特に次のあたりです。

  • モバイル向け量子化戦略
  • ハイブリッドなランタイムルーティング(CPU/GPU/NPU)
  • マルチモーダルな端末内パイプライン
  • 制約のあるハードウェアでのパフォーマンス調整

普及を押し進めたいというより、他のものより技術的な批評に関心があります。


役に立つのであれば、質問に答えたり、スタックのどの部分でも深掘りしたりできます。

submitted by /u/Healthy_Bedroom5837
[link] [comments]