UbiquitousLearning/mllm

Fast Multimodal LLM on Mobile Devices

解決する課題

mllm は、モバイルおよびエッジデバイス向けに特別に設計された、高速で軽量なマルチモーダルLLM推論エンジンです。高レベルのモデル最適化アルゴリズムと低レベルのハードウェアアクセラレーション層を橋渡しする統一フレームワークを提供することで、リソースの限られたハードウェア上で大規模なマルチモーダルモデルを実行するという課題を解決します。

仕組み

このエンジンは、AI推論スタックの中核となるハブとして機能し、最適化技術(量子化、プルーニング、投機的デコードなど)とハードウェア固有のランタイム(CUDA、CANN、MLIRなど)を接続します。mllm-convertor を使用して PyTorch および SafeTensors モデルを取り込み、実行用に独自の mllm 形式に変換します。

主な技術実装は以下の通りです:

  • ハードウェアバックエンド: Arm CPU、OpenCL GPU、QNN NPU、および Ascend NPU をサポート。
  • Android アーキテクチャ: アプリ内 Go サーバー (mllm_server.aar) を使用したクライアント・サーバー設計により、UI と重い推論計算を分離。
  • グラフ抽出: trace API により、動的なモデル実行を最適化された静的な計算グラフに変換し、シリアル化とデプロイを向上。
  • 最適化: W4A16 や W8A8 を含む様々な量子化パスをサポート。Jetson Orin に対しては特定の最適化(AWQ および Marlin GEMM を使用)を提供。

対象ユーザー

高スループットかつ低レイテンシでマルチモーダルモデルを実行する必要がある、エッジデバイス、Android スマートフォン、および組み込みシステム(NVIDIA Jetson など)向けの AI アプリケーションを構築する開発者およびエンジニア。

ハイライト

  • 幅広いハードウェアサポート: Arm CPU、OpenCL GPU、および Qualcomm (QNN) と Huawei (Ascend) の NPU で動作。
  • エッジでの高性能: Qwen3-VL-2B W8A8 において、AGX Orin 32GB 上で llama.cpp と比較して最大 3.12 倍の prefill 高速化を達成。
  • Pythonic なモデル作成: 迅速なモデル開発と実装のための高レベル API を提供。
  • 広範なモデルズー: Qwen シリーズ、LLaMA、DeepSeek-OCR、Phi-3-Vision を含む幅広いモデルをサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト