UbiquitousLearning/mllm
Fast Multimodal LLM on Mobile Devices
解決する課題
mllmは、モバイルおよびエッジデバイス向けに設計された高速かつ軽量なマルチモーダルLLM推論エンジンです。スマートフォンや組み込みシステムなど、リソースが限られたハードウェア上で、クラウドサーバーに依存することなく、大規模な視覚言語モデル(VLM)やLLMをローカルで実行するという課題を解決します。
仕組み
このエンジンは、高レベルの最適化アルゴリズムと低レベルのハードウェア実行レイヤーの橋渡しをします。変換ツール (mllm-convertor) を使用してPyTorchやSafeTensorsモデルを取り込み、量子化して独自のmllm形式に変換し、実行します。
主な技術コンポーネント:
- ハードウェアバックエンド: Arm CPU、OpenCL GPU、QNN NPU、Ascend NPUをサポート。
- 最適化: 量子化(例:W4A16、W8A8)、プルーニング、投機的実行を実装し、メモリと計算リソースの要件を削減。
- アーキテクチャ: Android上では、In-App Go Serverを使用したクライアント・サーバーアーキテクチャを採用し、UIと重い推論タスクを分離。
- グラフ実行:
traceAPIにより計算グラフの抽出が可能で、動的な実行をNPU統合用に最適化された静的表現に変換。
対象ユーザー
Android、Jetson Orin、その他のエッジデバイス向けにオンデバイスAIアプリケーションを構築しており、マルチモーダルモデルの高性能なローカル推論を必要とする開発者やエンジニア。
ハイライト
- 幅広いハードウェアサポート: Arm CPU、OpenCL GPU、Qualcomm (QNN) や Huawei (Ascend) のNPUで動作。
- エッジでの高性能: 特定のモデルにおいて、llama.cppと比較して大幅なプリフィル速度の向上(Jetson Orinで最大3.12倍)を実現。
- 豊富なモデルZoo: Qwenシリーズ (Qwen3, Qwen2-VL)、MiniCPM、Llama 3、DeepSeek-OCRなど、幅広いモデルをサポート。
- 開発者フレンドリー: モデル作成用のPythonic APIと、統合用のC++ SDKを提供。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト