RK3588部署Deepseek R1模型(CPU+NPU)
1.前言
最近deepseek非常火爆,从使用者的角度看
(1)开源的模型:deepseek开源了13个模型(毕竟openai的模型不开放)
(2)资源暂用较少(毕竟不是每个人家里都用用不完的GPU):使用ollama在mac上部署了一下,不能说非常简单吧,只能说傻瓜式的教程。
2.RK3588-CPU运行deepseek r1
(1)rk3588安装ollama
linux-ollama
(2)下载deepseek r1模型
DeepSeek-R1-Distill-Qwen-1.5B
ollama run deepseek-r1:1.5b
这里有魔法的话可能快一点,如果没有,只能慢点下载,好在模型只有1.1G(经验:刚开始的时候很快,到后面就掉到kb了,这里可以中断一下再运行,重复中断再运行)
(3)R1模型效果
每次运行时8个核心的cpu基本上都是满载的状态(速度还行的,不太慢,毕竟cpu跑的)
3.RK3588-NPU运行Deepseek R1
(1)参考rkllm的example,如果不想转模型,有官方转好的模型(若需要密码,密码:rkllm)
模型地址:deepseek-r1的rknn模型
(2)下载好量化后的模型,在3588开发板上git一下rkllm的仓库: rkllm仓库地址
(3)进入examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/deploy,给权限运行sh脚本文件
(1) chmod a+x build-linux.sh(2) ./build-linux.sh
# 注意:我这里的gcc和g++的路径不对,编译时报错,查看gcc和g++的路径使用which指令,
which gcc
which g++# 我的是在/usr/lib路径中,在CMakeLists.txt的第二行添加了自定义的路径
set(CMAKE_C_COMPILER "/usr/bin/gcc")
set(CMAKE_CXX_COMPILER "/usr/bin/g++")# 编译完成后在当前文件夹会出现install/demo_Linux_aarch64目录(3) cd install/demo_Linux_aarch64
# demo_Linux_aarch64 目录中会有lib文件夹和llm_demo文件,将下载好的模型放demo_Linux_aarch64
# 如果初始化失败,找不到库,可以将lib库中的so文件拷贝到/usr/lib库中,我设置的是在这里找
(4)export LD_LIBRARY_PATH=./lib
# 如果不行加sudo
(5)taskset f0 ./llm_demo /path/to/your/rkllm/model 2048 4096
基本上就可以愉快的运行了!
查看NPU的是用情况:watch -n 1 sudo cat /sys/kernel/debug/rknpu/load