|
--- |
|
license: mit |
|
language: |
|
- zh |
|
- en |
|
base_model: |
|
- deepseek-ai/DeepSeek-R1-Distill-Qwen-7B |
|
--- |
|
|
|
# 介绍 |
|
本模型是基于[deepseek-ai/DeepSeek-R1-Distill-Qwen-7B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B)转换成rkllm格式的模型的。 |
|
|
|
**因手上的开发板只有8G版本内存,无法完整加载模型运行,该模型的可用性有待验证。** |
|
|
|
# 运行环境 |
|
RKNPU Version: 0.9.8 |
|
|
|
RKNN-Toolkit : 1.1.4 |
|
|
|
官方镜像版Ubuntu 22.04 5.10.110 |
|
|
|
Orange Pi5 16G |
|
|
|
# 如何部署 |
|
## 1. clone RKLLM仓库 |
|
本节参考[RKLLM官方GitHub仓库文档](https://github.com/airockchip/rknn-llm/tree/main/doc)的**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行修改为 |
|
```c |
|
#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行取消注释 |
|
```c |
|
text = PROMPT_TEXT_PREFIX + input_str + PROMPT_TEXT_POSTFIX; |
|
``` |
|
|
|
接着注释第185行 |
|
```c |
|
// 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-7B-RK3588S-RKLLM1.1.4 |
|
``` |
|
## 6. 将模型上传到开发板 |
|
|
|
使用ADB或其他工具将`DeepSeek-R1-Distill-Qwen-7B-RK3588S-RKLLM1.1.4`文件夹内的`deepseek-r1-7B-rkllm1.1.4.rkllm` 上传至开发板刚刚创建的rkllm文件夹下 |
|
|
|
## 7.模型推理 |
|
首先指定库函数路径 |
|
``` |
|
export LD_LIBRARY_PATH=./lib |
|
``` |
|
|
|
运行llm_demo |
|
``` |
|
./llm_demo ./deepseek-r1-7B-rkllm1.1.4.rkllm 2048 2048 |
|
``` |
|
用法:`./llm_demo model_path max_new_tokens max_context_len` |
|
|
|
等待片刻,等模型加载完毕后,在`user:`后输入对话内容即可。 |