支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


MNN 手机本地部署 DeepSeek R1 和多模态大模型,告别服务器繁忙!

发布日期:2025-02-22 06:55:39 浏览次数: 1970 作者:老牛同学
推荐语

告别服务器繁忙,享受极速大模型推理体验。
核心内容:
1. 基于Termux在手机上部署Phi-3模型的局限性
2. MNN Chat应用的优势:本地运行、CPU优化、多模态支持
3. 广泛的模型兼容性和官网资源链接

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

Phi-3大模型发布之际,我们基于Termux应用,在我的小米手机部署了Phi-3模型:

Termux应用是一个终端模拟器,它允许我们安装 Linux 操作系统,然后在 Linux 操作系统中安装 Ollama,最后基于 Ollama 下载和推理大模型,虽然方法可行,但是存在一些局限:

  • 操作步骤繁琐,用户体验较差:安装 Linux 操作系统、启动系统、安装和启动 Ollama 等操作,都需要通过命令行完成,体验较差。
  • 资源消耗较大:手机内存有限,Termux 应用、Linux 操作系统、Ollama 框架等都需要消耗资源,推理速度较慢,资源吃紧

DeepSeek R1 很火爆,导致在使用 DeepSeek R1 时,老牛同学经常会遇到“服务器繁忙,请稍后重试。”的问题:

DeepSeek R1服务器繁忙

今天老牛同学推荐一款更加先进的应用:MNN Chat,它是由阿里巴巴开源的全功能多模态模型应用。

  • 仅需一台手机即可运行: 完全在设备本地运行,确保数据隐私,无需将信息上传至外部服务器。
  • CPU 推理优化: 在安卓平台上,MNN-LLM 展现了卓越的 CPU 性能,预填充速度相较于 llama.cpp 提高了 8.6 倍,相较于 fastllm 提升了 20.5 倍,解码速度分别快了 2.3 倍和 8.9 倍。
  • 多模态支持: 提供多种任务功能,包括文本生成文本、图像生成文本、音频转文本及文本生成图像。
  • 广泛的模型兼容性: 支持多种领先的模型提供商,包括 Qwen、Gemma、Llama(涵盖 TinyLlama 与 MobileLLM)、Baichuan、Yi、DeepSeek、InternLM、Phi、ReaderLM 和 Smolm 等。

官网地址:https://www.mnn.zone

GitHub 源码地址:https://github.com/alibaba/MNN

接下来,我们在手机上部署试用一下,老牛同学的手机配置如下:

小米手机配置


1.安装 MNN 应用

对于 Android 手机,我们可以直接下载和安装最新版本:下载地址

MNN LLM

或者,我们也可以按照以下步骤,自己编译 Android 和 iOS 应用:


Android 编译和使用

  • 克隆 MNN 源代码:git clone https://github.com/alibaba/MNN.git
  • 构建库:
cd project/androidmkdir build_64../build_64.sh "-DMNN_LOW_MEMORY=true -DMNN_CPU_WEIGHT_DEQUANT_GEMM=true -DMNN_BUILD_LLM=true -DMNN_SUPPORT_TRANSFORMER_FUSE=true -DMNN_ARM82=true -DMNN_USE_LOGCAT=true -DMNN_OPENCL=true -DLLM_SUPPORT_VISION=true -DMNN_BUILD_OPENCV=true -DMNN_IMGCODECS=true -DLLM_SUPPORT_AUDIO=true -DMNN_BUILD_AUDIO=true -DMNN_BUILD_DIFFUSION=ON -DMNN_SEP_BUILD=ON"
  • 复制到 LLM Android 应用项目:
mkdir -p ../../../apps/Android/MnnLlmChat/app/src/main/jniLibs/arm64-v8afind . -name "*.so" -exec cp {} ../../../apps/Android/MnnLlmChat/app/src/main/jniLibs/arm64-v8a \;
  • 构建 Android 应用项目并安装:
cd ../../../apps/Android/MnnLlmChat./gradlew installDebug


iOS 应用编译和使用

  • 克隆 MNN 源代码:git clone https://github.com/alibaba/MNN.git
  • 编译 MNN.framework:
cd MNN/sh package_scripts/ios/buildiOS.sh "-DMNN_ARM82=true -DMNN_LOW_MEMORY=true -DMNN_SUPPORT_TRANSFORMER_FUSE=true -DMNN_BUILD_LLM=true -DMNN_CPU_WEIGHT_DEQUANT_GEMM=true-DMNN_METAL=ON-DMNN_BUILD_DIFFUSION=ON-DMNN_BUILD_OPENCV=ON-DMNN_IMGCODECS=ON-DMNN_OPENCL=OFF-DMNN_SEP_BUILD=OFF-DMNN_SUPPORT_TRANSFORMER_FUSE=ON"
  • 拷贝 framework 到 iOS 项目中:
mv MNN-iOS-CPU-GPU/Static/MNN.framework /apps/iOS/MNNLLMChat/MNN.framework

确保 Link Binary With Libraried 中包含 MNN.framework,和其他三个 Framework:

Framework

如果没有包含,可以手动添加 MNN.framework:

MNN.framework
  • 修改 iOS 签名并编译项目
cd /apps/iOS/MNNLLMChatopen MNNLLMiOS.xcodeproj

在 Xcode 项目属性中 Signing & Capabilities > Team 输入自己的账号和 Bundle Identifier:

签名

等待 Swift Package 下载完成之后,进行编译使用。


2.下载模型文件

手机上安装好MNN Chat应用之后,我们打开应用,就可以看到它所兼容的模型列表,包括文本、音频、图像等:

大模型列表

点击即可下载,老牛同学想体验一下文本和图片识别,下载了DeepSeek-R1-7B-Qwen-MNNQwen2-VL-2B-Instruct-MNN这 2 个大模型,等待下载完成。


3. MNN 模型推理

先试用一下DeepSeek-R1-7B-Qwen-MNN文本模型,输入提示词:

同样是一年,为什么阳历固定12个月,而阴历却有闰月?
DeepSeek文本推理

DeepSeek R1 开始思考,分析阳历和阴历的计算方法,最终得出结论:

DeepSeek思考结果

从手机的推理速率来看,总体还算不错,比通过Termux应用的方式推理效率高多了。

接下来,看看Qwen2-VL-2B-Instruct-MNN图片多模态大模型,老牛同学让它进行车牌识别:

Qwen2-VL车牌识别

可以看到,识别的结果是很不错的!

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询