DeepSeek的免费开源使得AI需求猛增,各个行业应用都在积极接入DeepSeek,为能源电力、智能制造、智慧医疗等工业应用赋能。
硬件环境:
瑞芯微RK3576和RK3588
DeepSeek模型
国产平台对DeepSeek-R1的7B和1.5B模型
下文为DeepSeek本地部署测评的简要步骤,如需完整PDF文档、完整测试文件(例如7B、1.5B模型文件),请在如下链接下载:
百度网盘链接:https://pan.baidu.com/s/1CUKzP3mrpBTqiNNsXO-D3Q
提取码:xhr8
一、DeepSeek-R1模型简介
DeepSeek-R1是深度求索(DeepSeek)公司推出的开源大语言模型,是一个兼具强推理能力和任务广泛适用性的高效模型。DeepSeek-R1基于开源模型进行了微调,根据不同参数量提供了1.5B至32B等多个版本的模型,满足不同场景下对于计算资源和性能的需求,让DeepSeek的部署与应用更加灵活。
图 1 DeepSeek-R1模型
图 2 7B/1.5B模型特点与要求
二、DeepSeek模型部署方案
瑞芯微RK3576为4核Cortex-A72@2.2GHz + 4核Cortex-A53@2.0GHz + 6TOPS算力NPU处理器,RK3588为4核Cortex-A76@2.4GHz + 4核Cortex-A55@1.8GHz + 6TOPS算力NPU处理器,它们在能源电力、工业控制、智慧医疗、仪器仪表等领域有着广泛应用。
一般有2种部署DeepSeek的方案,分别是“RKLLM量化部署”和“Ollama部署”。
为了将RK3576/RK3588强悍的NPU性能发挥出来,推荐使用“RKLLM量化部署”方案。
RKLLM量化部署:瑞芯微官方的RKLLM量化部署,使用NPU运行,适用于RK3576、RK3588处理器平台。
Ollama工具部署:Ollama是一个开源的大模型服务工具,使用CPU运行,适用于通用处理器平台。
三、7B/1.5B模型性能测评数据
以下为RK3576/RK3588基于“RKLLM量化部署”方案的7B/1.5B模型的性能测评详细数据。
图 3 7B/1.5B模型性能测评数据
四、RKLLM量化部署
RKLLM-Toolkit是瑞芯微提供给用户在计算机上进行大语言模型量化、转换的开发套件,通过RKLLM-Toolkit提供的接口可便捷地完成模型转换和模型量化功能。
RKLLM-Toolkit支持将Hugging Face模型或GGUF模型转换为适配瑞芯微NPU的RKLLM模型。RKLLM Runtime负责加载RKLLM-Toolkit转换得到的RKLLM模型,并在RK3576/RK3588本地通过调用NPU驱动,加速RKLLM模型的推理。
图 4 RKLLM软件框架
图 5 部署步骤
(1)获取原始模型
以RK3576平台 + 1.5B模型为例,在Ubuntu上位机执行如下命令,下载原始模型文件。
Host# git clone https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
(2)RKLLM工具安装
在Ubuntu上位机创建Python虚拟环境,并执行如下命令安装RKLLM-Toolkit工具。
Host# pip3 install rkllm_toolkit-1.1.4-cp38-cp38-linux_x86_64.whl
(3)模型转换
然后使用RKLLM-Toolkit工具将Hugging Face模型转换为适配瑞芯微NPU的RKLLM格式。然后修改export_rkllm.py文件中的模型路径、平台名称以及NPU核心数量,再执行如下命令运行export_rkllm.py文件将模型导出。
Host# python3 export_rkllm.py
图 6
(4)程序编译
在Ubuntu上位机执行如下命令配置交叉编译环境,并运行build-linux.sh脚本编译RKLLM Runtime可执行文件。编译完成后,将会在install目录生成模型可执行程序以及动态库。
Host# source /home/tronlong/RK3576/rk3576_linux6.1_release/ubuntu/environment
Host# ./build-linux.sh
图 7
(5)运行测试
将案例”bin/rkllm/“目录下的整个demo_Linux_aarch64文件夹,以及”bin/rkllm/deepseek_model/“目录下的DeepSeek-R1-Distill-Qwen-1.5B_W4A16G128_RK3576.rkllm模型拷贝至评估板文件系统。然后再将”demo_Linux_aarch64/lib/“目录的librkllmrt.so动态库拷贝至估板文件系统lib目录下。
在demo_Linux_aarch64目录下执行如下命令,加载与测试部署在评估板的DeepSeek-R1模型。
Target#./llm_demo ../DeepSeek-R1-Distill-Qwen-1.5B_W4A16G128_RK3576.rkllm 2048 4096
图 8
输入推理测试问题:设备故障诊断与维修:“某台设备出现故障,报错代码为XXX,可能是什么原因导致的,以及如何解决?”等问题,能否根据典型的工业设备故障现象和代码,给出准确的故障原因分析和维修建议。
推理测试效果如下所示。
图 9
图 10
如需查看RKLLM的推理性能(仅适用基于RKLLM量化部署),请在运行DeepSeek-R1模型前执行如下命令,即可在每次推理完成后显示Prefill与Generate阶段的Token数量与推理耗时。
Target# export RKLLM_LOG_LEVEL=1
图 11 RK3576
图 12 RK3588
五、Ollama部署方案
Ollama是一个开源的本地大语言模型运行框架,专为在本地设备上便捷部署和运行大型语言模型(LLM)而设计,支持在X86/ARM架构设备上零配置运行AI大模型。
(1)Ollama安装
将案例”bin\ollama\“目录下的ollama-linux-arm64.tgz压缩包拷贝至评估板文件系统,执行如下命令解压。解压完成后,请重启评估板。
Target# tar -C /usr -xzf ollama-linux-arm64.tgz
图 13
(2)启动Ollama服务
进入评估板文件系统,执行如下命令,启动Ollama服务。
Target# ollama serve &
图 14
(3)运行模型
执行如下命令,使用Ollama运行deepseek-r1:1.5b模型。
Target# ollama run deepseek-r1:1.5b