在RK3588开发板上部署NPU加速的LLM模型
众所周知,RK3588有6 Tops的NPU算力,不拿来用用真是太可惜了。正巧最近官方也放出了使用NPU跑LLM的套件 地址 ,正好研究一下。
拉代码
bash
git clone https://github.com/airockchip/rknn-llm --depth 1
更新NPU驱动
笔者开发板为香橙派5 Plus,内核版本5.10.160,其自带的NPU驱动版本为0.9.2。
然而,套件中要求的NPU驱动版本为0.9.6,只好将套件中的NPU驱动整合入5.10.160内核中,并进行编译。
注意:官方提供的rknpu驱动只能在5.10.198以上内核中编译,如果需在5.10.160内核中集成,请下载笔者移植好的版本:下载,使用方法同官方教程。
下载模型
从huggingface.co获取chatglm-6b模型,过程略。
使用Debian,创建python虚拟环境,安装rknn-llm转换工具,过程略。
修改test.py,将路径指向下载好的chatglm-6b模型文件夹,随后运行脚本,开始转换
超大内存消耗警告:8G RAM + 32G swap 占用24G
运行
将rkllm-api-example编译,得到可执行文件。然后将转换完毕的.rkllm模型文件推到开发板上。
bash
ulimit -n unlimited
./rkllm ~/model.rkllm
随后便可以开始与大模型对话了。