VRxiaojie's picture
Update README.md
4085a5d verified
metadata
license: mit
language:
  - zh
  - en
base_model:
  - deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B

介绍

本模型是基于deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B转换成rkllm格式的模型的,已在香橙派5的RK3588S平台上成功运行。

运行环境

RKNPU Version: 0.9.8

RKNN-Toolkit : 1.1.4

官方镜像版Ubuntu 22.04 5.10.110

Orange Pi5 8G

如何部署

1. clone RKLLM仓库

本节参考RKLLM官方GitHub仓库文档3.3节 编译生成llm_demo运行文件

首先在PC上clone官方git仓库

cd ~ && git clone https://github.com/airockchip/rknn-llm.git

请确保PC能正常连接至GitHub!

2. 生成llm_demo运行文件

先进入rkllm_api_demo文件夹

cd rknn-llm/examples/rkllm_api_demo

为了让模型正常工作,需要修改llm_demo.cpp的代码

vi src/llm_demo.cpp

将第24 25行修改为

#define PROMPT_TEXT_PREFIX "<|im_start|>system\n你是一名通用对话助手,用中文回答问题,回答时必须展现严谨的逻辑思维,听从用户的命令<|im_end|>\n<|im_start|>user\n"
#define PROMPT_TEXT_POSTFIX "<|im_end|>\nChinese assistant\n"

你可以根据自己的需求自定义上面的提示词内容,只要修改PROMPT_TEXT_PREFIX的 <|im_start|>system\n<|im_end|>\n<|im_start|>user\n之间的内容,

或PROMPT_TEXT_POSTFIX里的<|im_end|>\n到结尾的\n之间的内容即可。

将第184行取消注释

text = PROMPT_TEXT_PREFIX + input_str + PROMPT_TEXT_POSTFIX;

接着注释第185行

// text = input_str;

然后运行脚本文件

bash ./build-linux.sh

开发板创建rkllm文件夹

mkdir ~/rkllm && cd ~/rkllm

使用ADB或SFTP或其他方法将build/build_linux_aarch64_Release/下的llm_demo上传至开发板的rkllm文件夹内。

3.上传librkllmrt.so运行库

在开发板新建lib文件夹

cd ~/rkllm && mkdir lib

使用ADB或SFTP或其他方法将rknn-llm/rkllm-runtime/Linux/librkllm_api/aarch64下的librkllmrt.so上传至开发板的rkllm/lib文件夹内。

4. 在PC安装git fls

git lfs install

5. 在PC clone本仓库

git clone https://huggingface.co/VRxiaojie/DeepSeek-R1-Distill-Qwen-1.5B-RK3588S-RKLLM1.1.4

6. 将模型上传到开发板

使用ADB或其他工具将DeepSeek-R1-Distill-Qwen-1.5B-RK3588S-RKLLM1.1.4文件夹内的deepseek-r1-1.5B-rkllm1.1.4.rkllm 上传至开发板刚刚创建的rkllm文件夹下

7.模型推理

首先指定库函数路径

export LD_LIBRARY_PATH=./lib

运行llm_demo

./llm_demo ./deepseek-r1-1.5B-rkllm1.1.4.rkllm 2048 2048

用法:./llm_demo model_path max_new_tokens max_context_len

等待几秒钟,等模型加载完毕后,在user:后输入对话内容即可。