
4G手机内存玩转Qwen2.5-Omni?MNN全面支持Qwen2.5-Omni与Qwen3!
随着移动端算力、存储能力的提升,在端侧部署大模型已成为趋势。本地化运行可消除网络延迟实现毫秒响应,降低云端算力成本,同时避免数据上传保障隐私安全。
01.概述
随着移动端算力、存储能力的提升,在端侧部署大模型已成为趋势。本地化运行可消除网络延迟实现毫秒响应,降低云端算力成本,同时避免数据上传保障隐私安全。MNN是阿里巴巴开源的一个高效轻量级深度学习框架,专注端侧AI部署优化,支持CNN/RNN/GAN/Transformer等主流模型架构,覆盖模型优化、异构计算(CPU/GPU/NPU)及动态输入处理,已在淘宝、钉钉等30+APP落地应用。
MNN-LLM是基于 MNN 引擎开发的大型语言模型运行时解决方案,旨在将 LLM 模型本地部署到所有平台(手机/PC/物联网)。
轻量化框架
-
针对设备进行优化,无依赖性,可以轻松部署到移动设备和各种嵌入式设备。
-
iOS平台:arm v7+arm64平台静态库大小全选约12MB,链接后可执行文件大小增加约2M。
-
Android平台:核心so大小约为800KB(armv7a - c++_shared)。
-
使用 MNN_BUILD_MINI 可以减少包大小约 25%,但模型输入大小有限制
-
支持fp16/int8/int4量化,可缩小模型尺寸50%-70%
MNN 及大模型推理相关代码均已开源:
https://github.com/alibaba/MNN/
MNN推理端侧模型均已在魔搭社区开源:https://modelscope.cn/organization/MNN
02.MNN支持Qwen3系列模型
Qwen3 的发布在国内外引起很大的关注,社区中也有很多人有本地部署的需求,MNN Chat Android 第一时间做了适配,并且发布一天内又冲到了 Github Trending:
用户开启推理模式后,模型将进行更深入的推理再给出答案,若关闭则直接快速回答,满足不同使用场景。
Qwen3 no_think模式 |
Qwen3-4B thinking模式 |
更多自定义设置
采样设置
MNN Chat APP新增了Sampler的自定义设置功能,用户可自由决定输出是偏确定性还是更富创造性。
注,Qwen官方推荐的sample参数如下:
更多设置
除了采样设置外,新版本还加入了System Prompt和Max New Tokens等更多可自定义的设置项。比如Max New Tokens可以控制模型输出的长度,避免输出过短或过长的情况。
System Prompt则可以自定义模型的人设和回答风格,更好地满足个性化需求。
03.MNN支持Qwen2.5-Omni模型
Qwen2.5-Omni语音对话 |
Qwen2.5-Omni视觉理解 |
04.最佳实践
是不是已经迫不及待的想要自己尝试一下,那就让继续来看看如何使用吧!
Android
Android用户可以直接在 github上下载,也可自行编译定制功能:
git clone https://github.com/alibaba/MNN.git
cd project/android
mkdir build_64
../build_64.sh "-DMNN_LOW_MEMORY=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"
find . -name "*.so" -exec cp {} ../apps/MnnLlmApp/app/src/main/jniLibs/arm64-v8a/
cd ../apps/MnnLlmApp/
./gradlew installDebug
iOS
iOS 用户当前需要自行编译,后续 TestFlight 包审核后会在Github文档中更新:
1.下载仓库代码:
git clone https://github.com/alibaba/MNN.git
2.编译 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_METAL=ON
-DMNN_BUILD_DIFFUSION=ON
-DMNN_BUILD_OPENCV=ON
-DMNN_IMGCODECS=ON
-DMNN_OPENCL=OFF
-DMNN_SEP_BUILD=OFF
3.拷贝 framework 到 iOS 项目中
mv MNN-iOS-CPU-GPU/Static/MNN.framework /apps/iOS/MNNLLMChat/MNN.framework
4.确保 Link Binary With Libraried 中包含 MNN.framework 和其他三个 Framework。
如果没有包含,可以手动添加:
5.修改 iOS 签名并编译项目
cd /apps/iOS/MNNLLMChatopen MNNLLMiOS.xcodeproj
在 Xcode 项目属性中 Signing & Capabilities > Team 输入自己的账号和Bundle Identifier
桌面端(Windows、Mac、Linux)
从魔搭下载模型,并源码编译进行模型推理,在Linux/Mac/Windows等设备上进行测试。
模型下载
#命令行工具下载
modelscope download --model 'MNN/Qwen2.5-Omni-3B-MNN' --local_dir 'path/to/dir'
环境安装
-
x86架构额外加
MNN_AVX512
的宏 -
Mac 推荐增加
MNN_METAL
的宏
git clone https://github.com/alibaba/MNN.git
# 编译
cd MNN
mkdir build && cd build
cmake .. -DLLM_SUPPORT_VISION=ON -DMNN_BUILD_OPENCV=ON -DMNN_IMGCODECS=ON -DLLM_SUPPORT_AUDIO=ON -DMNN_BUILD_AUDIO=ON -DMNN_LOW_MEMORY=true -DMNN_CPU_WEIGHT_DEQUANT_GEMM=true -DMNN_BUILD_LLM=true -DMNN_SUPPORT_TRANSFORMER_FUSE=true
make -j
编译完成后,可以看到 mls 产物,通过 mls 命令可以执行下载、benchmark 测试、启动rest服务等功能。
Qwen3模型推理
# 运行
./mnncli serve Qwen3-4B-MNN
会启动一个 REST 服务端。
接下来可以在 Chatbox 等客户端就可以配置使用 MNN 的服务。
Qwen2.5-Omni模型推理
./llm_demo /path/to/Qwen2.5-Omni-3B-MNN/config.json
多模态prompt示例:
<img>https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg</img>介绍一下这张图片
<audio>https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2-Audio/audio/translate_to_chinese.wav</audio>
点击链接, 即可跳转~
更多推荐
所有评论(0)