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 と重い推論計算を分離。 - グラフ抽出:
traceAPI により、動的なモデル実行を最適化された静的な計算グラフに変換し、シリアル化とデプロイを向上。 - 最適化: 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 を含む幅広いモデルをサポート。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト