mnn大模型推理之编译MNN

1.安装**llm-export**

这里为了方便改动其中出现的问题,通过源码安装

复制代码
git clone https://github.com/wangzhaode/llm-export
cd llm-export
pip install -e .
2.模型导出

下载qwen2.5-0.5B模型:

复制代码
modelscope download Qwen/Qwen2.5-0.5B-Instruct --local_dir Qwen2.5-0.5B-Instruct

测试模型效果:

复制代码
llmexport --path Qwen2.5-0.5B-Instruct --test "你好,请介绍一下你自己"

模型导出:

复制代码
# 导出为 ONNX 格式
llmexport --path Qwen2.5-0.5B-Instruct --export onnx

# 导出为 MNN 格式(默认 4bit 量化)
llmexport --path Qwen2.5-0.5B-Instruct --export mnn

# 自定义量化参数
llmexport --path Qwen2.5-0.5B-Instruct --export mnn --quant_bit 8 --quant_block 128
3.编译mnn-llm

​ 下载代码然后编译代码

复制代码
git clone --recurse-submodules https://github.com/wangzhaode/mnn-llm.git
cd mnn-llm

# linux
./script/build.sh

# android
./script/android_build.sh

# android apk
./script/android_app_build.sh

一些编译宏:

BUILD_FOR_ANDROID: 编译到Android设备;
LLM_SUPPORT_VISION: 是否支持视觉处理能力;
DUMP_PROFILE_INFO: 每次对话后dump出性能数据到命令行中;
默认使用CPU,如果使用其他后端或能力,可以在编译MNN时添加MNN编译宏

cuda: -DMNN_CUDA=ON
opencl: -DMNN_OPENCL=ON
metal: -DMNN_METAL=ON
4.测试

​ 通过这个库运行llmexport导出的模型一直报错,暂时不知道什么问题,github评论区很多都在说

复制代码
Can't open file:./mnn_cachefile.bin
Load Cache file error.
load tokenizer
tokenizer_type = 3
load tokenizer Done
load ../../model/llm.mnn ... 3 tensor [ logits_index ] is input but not found
Load Module Done!
Clone Decode Module Done!

Q: who

A: Segmentation fault
5. 编译MNN

​ 看到MNN-llm库说已经merge到MNN了,想着是不是前者不维护了,试一下MNN,没想到反而可以

​

复制代码
// 下载代码
git clone https://github.com/alibaba/MNN.git
cd MNN&& mkdir build   
//编译x86  cmake
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=truemake -DMNN_AVX512=ON  && make -j4
./llm_demo  ../../qwen2.5_0.5B_mnn/   //运行demo
相关推荐
探客木木夕1 分钟前
结构超图重构神经网络模型:脉冲权重节点与四阶段闭环框架
人工智能·深度学习·神经网络
地理探险家11 分钟前
从零实现图片自动分类:数据准备、模型训练与单图预测
人工智能·深度学习·机器学习·分类·数据挖掘·数据集
亲笔签15 分钟前
“场景重庆”典型案例 | 数字笔迹技术赋能政务服务 打造可信电子签署创新场景
大数据·人工智能
马剑威(威哥爱编程)16 分钟前
【共创稿事节】HarmonyOS 7 Agent 开发实战 04:云端 RAG 搭企业私有知识库问答
人工智能·华为·harmonyos
snhna18 分钟前
DeerFlow 2.x 源码拆解:多智能体委派、Skills、沙箱与 Linux 部署实战
人工智能·python
m4Rk_22 分钟前
【论文阅读】Agent 记忆机制(99):PrisMem——从整体分数搜索走向能力驱动的记忆自进化
论文阅读·人工智能·学习·开源·github
喵叔哟29 分钟前
第 4 章 用 Constitution 给 AI 编程立法
人工智能
2401_8652616330 分钟前
亦唐科技国产贴片机的质量控制与生产优化之路
人工智能
深圳市恒星物联科技有限公司34 分钟前
排水管网监测边缘计算网关:本地数据预处理实现解析
人工智能·边缘计算
杀生丸学AI34 分钟前
【世界模型】WorldCrafter:基于隐式三维感知记忆的视频世界模型
人工智能·三维重建·扩散模型·视频生成·世界模型·4dgs·动态重建