MNN助力DeepSeek R1手机本地部署,多模态大模型轻松运行,告别服务器繁忙!

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/android
mkdir 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-v8a
find . -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/MNNLLMChat
open 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车牌识别

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

还有其他的大模型,包括音频、图片生成(Stable Diffusion)等,大家可以体验一下。


AI大模型学习福利

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

大模型&AI产品经理如何学习

求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

在这里插入图片描述

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方图片前往获取

3.技术文档和电子书

这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
在这里插入图片描述

4.LLM面试题和面经合集

这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

<think>好的,用户想在手机本地部署大型机器学习模型,我需要先了解当前可行的方法和工具。首先,手机端的资源有限,特别是内存和计算能力,所以直接部署大模型可能比较困难。不过,最近有一些优化技术,比如模型量化、剪枝和蒸馏,可以减小模型大小,提升运行效率。 根据引用[1],提到适合私有化部署的最新大模型,并提供部署指导,包括手机端。可能涉及的开源模型有TinyLlama、MobileBERT等,这些模型专为移动设备设计。然后,引用[2]中提到的大模型部署工具,比如Ollama,但可能更多是针对本地电脑的。不过,像TensorFlow Lite和PyTorch Mobile这样的框架支持移动端部署,这些应该是关键工具。 另外,引用[3]提到通过Ngrok或Pagekite将本地服务暴露到互联网,但用户问的是手机本地部署,可能需要直接运行手机上,而不是通过电脑中转。所以需要区分两种情况:手机直接运行模型,或者手机访问部署本地电脑的模型。用户的问题更倾向于前者,即手机本地部署。 需要考虑的步骤包括选择合适的轻量级模型、使用移动端框架转换模型、集成到移动应用中。同时,性能优化是关键,比如使用硬件加速(GPU、NPU)。可能遇到的挑战是模型大小和推理速度,需要量化或剪枝来优化。另外,内存管理也很重要,确保应用不会崩溃。 用户可能需要具体的工具推荐,比如TensorFlow Lite、ML Kit,以及如何转换模型格式。还要注意不同操作系统的差异,Android和iOS可能有不同的支持库。最后,给出实际应用场景的例子,帮助用户理解部署后的用途,比如离线翻译或智能助手。</think>### 手机本地部署大型模型的方法及工具 #### 一、核心挑战与优化技术 1. **资源限制** 手机端的计算资源(CPU/GPU)、内存和存储有限,需通过以下技术优化模型: - **模型量化**:将浮点权重转换为低精度(如8位整数),减小模型体积。例如,使用TensorFlow Lite的量化工具[^1]。 - **模型剪枝**:移除冗余参数,降低计算复杂度。例如,应用$L_1$正则化剪枝。 - **知识蒸馏**:用小型模型(如MobileBERT)模仿大型模型(如BERT)的行为[^1]。 2. **硬件加速** 利用手机NPU(神经网络处理器)或GPU加速推理,如Android NNAPI、iOS Core ML。 --- #### 二、主流部署工具与框架 1. **移动端专用框架** - **TensorFlow Lite** 支持模型转换(`.h5`/`.pb` → `.tflite`)和量化,提供Android/iOS SDK。 ```python converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir) converter.optimizations = [tf.lite.Optimize.DEFAULT] tflite_model = converter.convert() ``` - **PyTorch Mobile** 支持将TorchScript模型部署到移动端,支持动态量化。 - **ML Kit(Google)** 提供预置模型(如文本识别、翻译)和自定义模型部署接口。 2. **轻量级推理引擎** - **MNN(阿里巴巴)** 跨平台引擎,支持模型压缩与异构计算,适用于Android/iOS[^2]。 - **NCNN(腾讯)** 面向移动端的无依赖库,支持ARM CPU优化。 --- #### 三、具体部署步骤 1. **模型选择与转换** 选择轻量级模型(如TinyLlama、MobileBERT),使用工具转换为移动端格式(如TFLite、Core ML模型)。 2. **集成到移动应用** - **Android示例(TensorFlow Lite)** ```java Interpreter.Options options = new Interpreter.Options(); options.setUseNNAPI(true); // 启用NPU加速 Interpreter interpreter = new Interpreter(modelFile, options); interpreter.run(input, output); ``` - **iOS示例(Core ML)** 使用`coremltools`将PyTorch模型转换为`.mlmodel`,直接集成至Xcode。 3. **性能调优** - 限制模型推理线程数,避免内存溢出。 - 使用分块推理处理长序列输入。 --- #### 四、实际应用场景 1. **离线语音助手**:部署端到端语音识别模型(如Wav2Vec 2.0量化版)。 2. **实时图像分割**:使用MobileNet+DeepLabV3组合模型。 3. **隐私敏感场景**:医疗数据分析、本地聊天机器人[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值