大模型(qwen3-1.7b)转rkllm

复制代码
apt install nvidia-cuda-toolkit

一、前文

之前用过qwen3.0 转rkllm,部署rk3588上面,这次就来记录下,如何转换吧。

由于qwen3.0 需要python 3.9以上,所以之前的提供的 rknn-toolkit2-v2.3.0-cp38-docker.tar.gz 不能用,那么我们直接在ubuntu上面进行使用把。要不就自己慢慢搭建环境。

首先可以看看在windows上面搭建ubuntu的教程:方案二:ubuntu安装【docker】

在上面安装conda环境,这个网上一大堆很容易。

复制代码
# 下载最新版Miniconda(Python 3)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

# 运行安装脚本
bash Miniconda3-latest-Linux-x86_64.sh

# 按照提示操作,包括阅读许可协议、确认安装位置等。
# 通常情况下,默认选项即可,但需要同意许可协议并选择是否初始化Miniconda3。
#执行完后生效配置
source ~/.bashrc

二、rkllm工具环境

2.1 下载Rkllm-toolkit工具

通过git拉去环境(最好拉去最新的,之前有些模型可能不支持)

复制代码
git clone https://github.com/airockchip/rknn-llm.git

如果访问不了git,询问我直接提供。

rkllm-toolkit的作用就是把大模型转换为rk板子所识别的模型,转换为rk板子所识别的模型就可以使用rk的npu,这里用的rk3588有6T的算力。

  • Rkllm-toolkit是一个软件开发工具包,供用户在PC上执行模型转换和量化。

  • RKLLM Runtime为Rockchip NPU平台提供C/C ++ 编程接口,以帮助用户部署RKLLM模型并加速LLM应用程序的实现。

  • RKNPU内核驱动程序负责与NPU硬件进行交互。它是开源的,可以在Rockchip内核代码中找到。

2.2 安装rkllm工具

拷贝文件到如下目录,在运行窗口访问这个目录,拷贝的数据就到了ubuntu系统了,具体看之前的文档。

复制代码
\\wsl$\Ubuntu-20.04\home\ubuntu20

解压之后得到目录:

复制代码
unzip rknn-llm-release-v1.2.3.zip

rknn-llm-release-v1.2.3

通过conda创建一个python3.11的环境

复制代码
conda create -n py311 python=3.11

成功之后进入到环境

复制代码
conda activate py311

如果在命令行前面有了py311 那么环境切换成功了

进入到安装环境目录:rknn-llm-release-v1.2.3/rkllm-toolkit/packages

下面包含如下信息:

安装工具

pip install numpy gekko panda

【1】如果需要cuda那么就安装cuda环境

bash 复制代码
apt install nvidia-cuda-toolkit
apt install nvidia-driver-535

执行:

复制代码
nvcc --version 
bash 复制代码
nvidia-smi

执行量化信息

bash 复制代码
pip install auto_gptq

【2】如果不需要cuda

bash 复制代码
pip install auto_gptq --no-build-isolation 

*对了如果是python311 可能无法直接安装auto-gptq

执行下面的文件: rkllm_toolkit-1.2.3-cp311-cp311-linux_x86_64.whl

bash 复制代码
pip install rkllm_toolkit-1.2.3-cp311-cp311-linux_x86_64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple

等待一段时间。

三、模型转换

3.1 安装modelscope

安装 modelscope,用于下载大模型

bash 复制代码
pip install modelscope

3.2 下载模型

bash 复制代码
modelscope download --model Qwen/Qwen3-1.7B

下载地址:/root/.cache/modelscope/hub/models/Qwen/Qwen3-1.7B

3.3 转换模型

进入到rknn-llm-release-v1.2.3/examples/rkllm_api_demo/export

bash 复制代码
cp export_rkllm.py  export_rkllm_qwen3.py

修改模型路径

bash 复制代码
modelpath = '/root/.cache/modelscope/hub/models/Qwen/Qwen3-1.7B'

执行转换

bash 复制代码
 python export_rkllm_qwen3.py

然后再当前目录生成了 Qwen3-1.7B_W8A8_RK3588.rkllm

3.4 编译

有两种方式,一种是交叉编译,另外是直接在办卡rk3588里面编译

这里我没有写在交叉编译环境,直接就在板子上面进行编译把

通过工具连接主板,我是用的 MobaXterm,也可以使用xshell,可以通过串口先查询到ip

把 Qwen3-1.7B_W8A8_RK3588.rkllm 拷贝过去

把下面的文件拷贝过去

rknn-llm-release-v1.2.3/examples/rkllm_api_demo/deploy

rknn-llm-release-v1.2.3\rkllm-runtime\Linux\librkllm_api\aarch64\

rknn-llm-release-v1.2.3\rkllm-runtime\Linux\librkllm_api\include\

把上面两个文件夹内的都拷贝到rk3588具体如下:

把所有的文件拷贝到src:

librkllmrt.so llm_demo.cpp rkllm.h

安装g++

bash 复制代码
sudo apt install gcc g++ cmake

编译

bash 复制代码
g++ llm_demo.cpp -L.  -lrkllmrt  -o llm_main

编译之后发现如下文件:

llm_main

3.5 验证

添加权限

bash 复制代码
chmod +x  llm_main

设置环境变量,可以找到so

bash 复制代码
export LD_LIBRARY_PATH=/home/hmy/llm/src:$LD_LIBRARY_PATH

执行

bash 复制代码
 ./llm_main /home/hmy/llm/Qwen3-1.7B_W8A8_RK3588.rkllm  4096 4096

如下:

这上述是示例,可以选择另外的python代码,可以接入api

代码路径在:rknn-llm-release-v1.2.3\examples\rkllm_server_demo

执行的时候可以查询npu使用

bash 复制代码
cat /sys/kernel/debug/rknpu/load

执行cpu和内存

bash 复制代码
top

还可以跑其他的模型,其他模型也可以按照这样的思路跑起来。当然多模态的需要转到下面

rknn-llm-release-v1.2.3\examples\multimodal_model_demo\

另外 转换为rknn的模型可以看另外的文档:

https://blog.csdn.net/p731heminyang/article/details/139965771?utm_source%20=%20uc_fansmsghttps://blog.csdn.net/p731heminyang/article/details/139965771?utm_source%20=%20uc_fansmsg

相关推荐
weixin_449290018 小时前
Dify 三模式安全配置清单
ai
YDS8299 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
Agent手记10 小时前
异常考勤智能预警与处理与流程优化方案 | 基于企业级Agent的超自动化实战教程
运维·人工智能·ai·自动化
郭涤生12 小时前
不同主机之间网络通信-以太网连接复习
开发语言·rk3588
彦为君12 小时前
Agent 安全:从权限提示到沙箱隔离
python·ai·ai编程
武子康14 小时前
调查研究-138 全球机器人产业深度调研报告【01 篇】:市场规模、竞争格局与商业化成熟 2026
服务器·数据库·ai·chatgpt·机器人·具身智能
创世宇图14 小时前
【AI入门知识点】LLM 原理是什么?为什么 ChatGPT 看起来像“会思考”?
人工智能·ai·llm·token
码途漫谈14 小时前
让 AI 编程不断线:9Router 的本地模型路由与 Token 节流术
人工智能·ai·开源·ai编程
郭涤生14 小时前
飞凌 RK3588 开发板同显 / 异显模式切换
c++·rk3588
周杰伦的稻香15 小时前
Ollama访问限制
nginx·ai