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)的开发者和工程师。

亮点

  • 广泛的硬件支持:可在 Arm CPU、OpenCL GPU 以及来自 Qualcomm (QNN) 和 Huawei (Ascend) 的 NPU 上运行。
  • 边缘端高性能:在 AGX Orin 32GB 上,Qwen3-VL-2B W8A8 的 prefill 速度比 llama.cpp 快达 3.12 倍。
  • Pythonic 模型编写:提供用于快速模型开发和实现的高层 API。
  • 丰富的模型库:支持包括 Qwen 系列、LLaMA、DeepSeek-OCR 和 Phi-3-Vision 在内的广泛模型。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目