mllm

mllm

轻量级移动设备多模态大语言模型推理引擎

mllm是一款针对移动和边缘设备优化的多模态大语言模型推理引擎。该引擎采用纯C/C++实现,无外部依赖,支持ARM NEON和x86 AVX2指令集,并提供4位和6位整数量化。开发者可利用mllm构建智能个人助理、基于文本的图像搜索、屏幕视觉问答等移动应用,实现本地推理而无需上传敏感数据。

multimodal LLM移动设备边缘计算AI推理引擎量化Github开源项目

网站 文档 Actions 状态

mllm 是一个快速、轻量级的<ins>多模态大语言模型</ins>推理引擎,专为移动和边缘设备设计。

  • 纯C/C++实现,无依赖
  • 针对多模态大语言模型(如fuyu-8B)进行优化
  • 支持:ARM NEON 和 x86 AVX2
  • 4位和6位整数量化

等等...为什么需要设备端多模态大语言模型? - 它是智能个人助理、基于文本的图像搜索/检索、屏幕视觉问答以及更多激动人心的移动应用的关键构建模块,无需泄露您的私人数据(聊天历史、截图、拍摄的照片等)。

最新更新

目录

Android 演示

<table> <tr> <td>大语言模型聊天演示</td> <td>图像理解演示</td> <td>UI界面理解演示</td> </tr> <tr> <td> <video src="https://github.com/UbiquitousLearning/mllm/assets/38753457/7a1eb892-8259-41ff-8c97-b773d16fce7f"> </td> <td> <video src="https://github.com/UbiquitousLearning/mllm/assets/38753457/32549658-5c74-4ce0-962f-6621c919faad"> </td> <td> <video src="https://github.com/UbiquitousLearning/mllm/assets/38753457/fe234f27-1393-4ee2-84ce-254cee91a27f"> </td> </tr> </table>

支持的模型

模型CPU <br> FP32CPU <br> INT4Hexagon NPU <br> INT8
LLaMA-1/2 7B✔️✔️
Alpaca 7B✔️✔️
TinyLLaMA 1.1B✔️✔️
Fuyu 8B✔️✔️
Vision Transformer✔️✔️
CLIP✔️✔️
ImageBind (3种模态)✔️✔️
LLaVA 7B✔️✔️
Gemma 2B✔️✔️
Qwen 0.5B✔️✔️
Qwen 1.8B Chat✔️✔️✔️
Mistral 7B✔️✔️
Yi 6B✔️✔️
StableLM 1.6B✔️✔️
OPT 1.3B✔️✔️
Phi-3-mini 3.8B✔️✔️

快速开始

获取代码

git clone https://github.com/UbiquitousLearning/mllm cd mllm

检查先决条件

构建mllm需要以下工具:

  • gcc(11.4+) / clang (11.0+)
  • CMake >= 3.18
  • Android NDK Toolchains >= 26

注意,由于Apple LLVM编译器的原因,在macOS上构建OpenMP库可能会失败,因此我们默认在macOS上禁用OpenMP,你可能会在macOS上遇到性能较慢的情况。建议在Linux上构建mllm。

使用QNN在Hexagon NPU上加速运行Qwen

注意:QNN后端是可以进行端到端推理的初步版本。它仍在积极开发中,以实现更好的性能并支持更多模型。

我们支持使用高通QNN在搭载骁龙8 Gen3的设备上运行Qwen-1.5-1.8B-Chat,以获得Hexagon NPU加速。QNN环境设置和设计的详细信息在这里。预填充阶段由QNN和CPU执行,推理阶段由CPU执行。

使用QNN后端构建目标。

cd ../script ./build_qnn_anroid.sh

这里下载模型,或使用以下指令

mkdir ../models && cd ../models # 下载NPU使用的int8模型和CPU使用的q4k模型 wget https://huggingface.co/mllmTeam/qwen-1.5-1.8b-chat-mllm/resolve/main/qwen-1.5-1.8b-chat-int8.mllm?download=true -O qwen-1.5-1.8b-chat-int8.mllm wget https://huggingface.co/mllmTeam/qwen-1.5-1.8b-chat-mllm/resolve/main/qwen-1.5-1.8b-chat-q4k.mllm?download=true -O qwen-1.5-1.8b-chat-q4k.mllm

在至少16GB内存的安卓手机上运行。

cd ../script ./run_qwen_npu.sh

可执行文件中有两个参数。-s用于预填充的序列长度,在我们提供的演示中默认值为64。-c用于QNN预填充选项的类型,当设置为1时,输入将被分割成许多长度为32的序列块,并以流水线方式执行。当设置为0时,输入将在一个块中执行。

结果如下:

> ./main_qwen_npu -s 64 -c 1
[Q] <|im_start|>system
You are a helpful assistant.<|im_end|>
<|im_start|>user
Give me a short introduction to large language model.<|im_end|>
<|im_start|>assistant

[A] 大语言模型是一种旨在理解和生成人类语言文本的人工智能语言模型。这些模型通常通过大量文本数据(如书籍、文章和其他书面材料)进行训练,以学习人类语言的模式和结构。它们结合使用自然语言处理(NLP)

在Android的CPU上运行

构建

export ANDROID_NDK=/path/to/your/ndk cd scripts ./build_android.sh

运行Fuyu-8B

这里下载模型,或使用以下指令

mkdir ../models && cd ../models # 下载fuyu-8b-q4_k.mllm wget https://huggingface.co/mllmTeam/fuyu-8b-mllm/resolve/main/fuyu-8b-q4_k.mllm?download=true -O fuyu-8b-q4_k.mllm

在至少12GB内存的安卓手机上运行。

cd ../script ./run_fuyu.sh

结果如下:

> ./demo_fuyu
[Q] [../assets/bus.png]Generate a coco-style caption.

[A] 一辆蓝色巴士在路上行驶,旁边是人行道。
[Q] [../assets/two_cats.jpg]What's this?

[A] 两只猫躺在粉色毯子上。

运行LLaMA-2-7B

这里下载模型,或使用以下指令

mkdir ../models && cd ../models # 下载llama-2-7b-chat-q4_k.mllm wget https://huggingface.co/mllmTeam/llama-2-7b-mllm/resolve/main/llama-2-7b-chat-q4_k.mllm?download=true -O llama-2-7b-chat-q4_k.mllm

在至少12GB内存的安卓手机上运行。

cd ../script ./run_llama.sh

结果如下:

> ./demo_llama
[Q] 你好,你是谁?
[A]
我是一个机器人,我在这里帮助回答你的问题并提供信息。我只是一个人工智能,我没有像人类那样的个人经历或感受,但我在这里帮助你解答任何问题。你有什么具体想知道或讨论的吗?

[问] 你能做什么?
[答]
我可以帮助完成各种各样的任务,包括:

* 回答各种主题的问题,如科学、历史、技术等。
* 提供不同领域的信息,如文化、娱乐和生活方式。
* 协助语言相关的任务,如翻译文本或改进语法和句法。
* 生成文本,如文章、故事,甚至整本书。
* 辅助编程

[问] 请介绍一下北京邮电大学。
[答]
北京邮电大学(BUPT)是一所位于中国北京的公立研究型大学。它成立于1955年,是中国顶尖大学之一,在工程、技术和电信领域有着强大的优势。

北京邮电大学提供广泛的本科和研究生课程,涵盖计算机科学、电气工程、软件工程和通信工程等领域。该大学

## 路线图

- 更多后端如QNN
- 更多模型如PandaGPT  
- 更多优化如LUT-GEMM
- [更多...](https://ubiquitouslearning.github.io/mllm_website/roadmap/roadmap/)

## 文档

更多信息请参阅[文档](https://ubiquitouslearning.github.io/mllm_website/introduction/getstarted/)

## 贡献

在贡献之前请阅读[贡献指南](https://ubiquitouslearning.github.io/mllm_website/contributing/contributing/)。

## 致谢

mllm在ARM CPU上重用了[ggml](https://github.com/ggerganov/ggml)的许多底层内核实现。它还利用了[stb](https://github.com/nothings/stb)和[wenet](https://github.com/wenet-e2e/wenet)来预处理图像和音频。mllm还受益于以下项目:[llama.cpp](https://github.com/ggerganov/llama.cpp)和[MNN](https://github.com/alibaba/MNN)。

## 许可证

### 整体项目许可证

本项目根据MIT许可证的条款进行许可。请查看根目录中的[LICENSE](https://github.com/UbiquitousLearning/mllm/blob/main/LICENSE)文件以获取MIT许可证的完整文本。

### Apache 2.0许可的组件

本项目的某些组件([wenet](https://github.com/wenet-e2e/wenet))根据Apache许可证2.0进行许可。这些组件在各自的子目录中明确标识,并附有Apache许可证2.0的副本。有关Apache许可证2.0的完整文本,请参阅相关子目录中的[LICENSE-APACHE](third_party/wenet_audio/LICENSE)文件。

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具使用教程AI营销产品酷表ChatExcelAI智能客服
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

数据安全AI助手热门AI工具AI辅助写作AI论文工具论文写作智能生成大纲
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

热门AI工具AI办公办公工具智能排版AI生成PPT博思AIPPT海量精品模板AI创作
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多