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

微信公众号:老牛同学

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

公众号链接: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、Ge
### 部署DeepSeek NPU模型 对于希望在本地环境中部署并调用NPU模型进行推理或训练的情况,通常涉及几个关键步骤。这些步骤涵盖了环境准备、依赖项安装以及具体的应用程序接口(API)配置。 #### 环境设置与工具链安装 为了支持NPU硬件加速,在Linux环境下推荐使用特定版本的操作系统如Ubuntu 18.04 LTS,并确保已安装必要的驱动程序支持库来启用神经处理单元(NPU)[^1]。此外,还需要获取适用于目标平台的编译器其他开发工具包(TDK),这可以从设备制造商处获得相应的SDK文档资源。 #### 安装MNN框架及其扩展模块 针对MNN应用内的搜索功能——DeepSeek提供了两种不同规模预训练好的Transformer模型(7B参数量级1.5B参数量级), 用户可以通过夸克网盘或者百度网盘下载所需文件。完成下载之后,则需按照官方指南说明执行解压操作并将模型权重加载到内存中以便后续调用。 #### 调整应用程序以利用NPU性能优化 当考虑通过NPU来进行高效能计算时,应当修改原有代码逻辑使之能够识别并充分利用底层硬件特性所带来的优势。例如,在Python脚本里可以引入`mnn.api`中的类实现对输入数据流的有效管理: ```python from mnn import api, npu_extension # 初始化API实例并与指定路径下的模型建立连接 session = api.Session(model_path='path/to/your/model') # 创建用于描述输入张量形状的对象 input_tensor_desc = session.get_input_tensors()[0] # 准备好待预测的数据样本作为NumPy数组形式传入 data_sample = ... # 假设这里已经准备好了一个合适的numpy.ndarray对象 # 将CPU上的原始数据复制至NPU侧对应的缓冲区内存位置 npu_buffer = npu_extension.allocate(input_tensor_desc.shape(), input_tensor_desc.dtype()) np.copyto(npu_buffer, data_sample) # 执行前向传播过程得到最终输出结果 output_data = session.run([npu_buffer]) ``` 上述示例展示了如何借助于`mnn.npu_extension`所提供的辅助函数简化跨平台移植工作的同时保持良好的兼容性易读性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值