蓝迪哥玩转Ai(8)---端侧AI:RK3588 端侧大语言模型(LLM)开发实战指南

蓝迪哥玩转Ai(8)---端侧AI:RK3588 端侧大语言模型(LLM)开发实战指南

正点原子 ATK-DLRK3588 开发板

V1.0 | 2026年5月5日

一、前言

FPGA ,ARM, RISC-V, NPU大家都要认真努力学习。先科普一个简单的文章:

1.1 什么是端侧 LLM?

端侧 LLM 是指在本地设备上运行大语言模型,相比云端部署具有以下优势:

优势 说明

隐私安全 数据不离开本地设备

低延迟 无需网络传输,响应更快

离线可用 不依赖网络连接

成本更低 无需支付云服务费用

二、RK3588 与 RKLLM 技术概述

2.1 RK3588 芯片特性

特性 规格

CPU 四核 Cortex-A76 + 四核 Cortex-A55

GPU Mali-G610 MC4

NPU 6TOPS INT8/INT16/FP16

2.2 RKLLM 软件架构

RKLLM 是瑞芯微为大语言模型部署设计的完整软件栈:

复制代码
                               图 1: RKLLM 软件架构图

2.3 RKLLM 技术特点

  1. 支持多种模型架构
    • LLaMA / LLaMA2
    • Qwen / Qwen2 / Qwen3
    • Phi-2 / DeepSeek-R1
  2. 支持多种量化精度
    • w8a8:8位权重 + 8位激活(推荐 RK3588)
    • w4a16:4位权重 + 16位激活(更小模型)

三、LLM 模型转换详解

3.1 模型转换流程

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐

│ Hugging Face │────>│ RKLLM-Toolkit │────>│ RKLLM │

│ 模型 │ │ 转换工具 │ │ 量化模型 │

└─────────────────┘ └─────────────────┘ └─────────────────┘

图 2: LLM 模型转换流程

3.2 安装 RKLLM-Toolkit

创建 Python 虚拟环境

python3 -m venv rkllm_env

source rkllm_env/bin/activate

pip install rkllm-toolkit

3.3 模型转换代码

from rkllm.api import RKLLM

llm = RKLLM()

ret = llm.load_huggingface(model='./Qwen1.8B', device='cpu')

ret = llm.build(do_quantization=True,

quantized_dtype='w8a8',

target_platform='rk3588',

num_npu_core=3,

dataset='./data_quant.json')

ret = llm.export_rkllm('./qwen1.8b-w8a8-rk3588.rkllm')

3.4 量化参数说明

参数 可选值 说明

quantized_dtype w8a8, w4a16 量化精度

num_npu_core 1, 2, 3 NPU 核心数

target_platform rk3588, rk3576 目标平台

四、RK3588 模型部署

4.1 ADB 连接方式

连接开发板

adb connect 192.168.1.22:5555

adb shell

4.2 推送并运行模型

推送模型文件

adb push qwen1.8b.rkllm /userdata/aidemo/

解压并运行

cd /userdata/aidemo && unzip rkllm_qwen_1.8.zip

chmod +x llm_start.sh && ./llm_start.sh

五、C++ 应用开发

5.1 RKLLM C++ API 示例

#include "rkllm.h"

LLMHandle llmHandle = nullptr;

void callback(RKLLMResult *result, void *userdata, LLMCallState state) {

if (state == RKLLM_RUN_NORMAL) {

printf("%s", result->text);

}

}

int main() {

RKLLMParam param = rkllm_createDefaultParam();

rkllm_init(&llmHandle, &param, callback);

// ... 推理代码

六、支持模型列表

模型 参数量 量化方式 推荐平台

Qwen1.8B 1.8B w8a8, w4a16 RK3588

Qwen3-4B 4B w8a8 RK3588

DeepSeek-R1 1.5B/7B w8a8 RK3588

Phi-2 2.7B w8a8 RK3588

七、参考资料

7.1 官方资源

资源 链接

RKLLM SDK github.com/airockchip/rknn-llm

RKNN-Toolkit2 github.com/airockchip/rknn-toolkit2

--- 文档结束 ---

感谢阅读!

FPGA ,ARM, RISC-V, NPU大家都要认真努力学习。

相关推荐
花酒锄作田2 小时前
[python]argparse 包在聊天机器人中的应用
python
久违 °4 小时前
【AI-Agent】TagMatrix 数据标注工具开发
人工智能·数据分析·go·agent·数据隐私
NiceCloud喜云4 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
AI360labs_atyun5 小时前
腾讯推出电子牛马Marvis,好用吗?
人工智能·科技·ai
Dfreedom.5 小时前
Windows、虚拟机、开发板组网通信原理及调试通联步骤
人工智能·windows·部署·边缘计算·开发板·模型加速
3DVisionary5 小时前
蓝光三维扫描:医疗制造的精度焦虑怎么解
人工智能·算法·制造·蓝光三维扫描·医疗制造·三维检测·义齿检测
Are_You_Okkk_5 小时前
基于MonkeyCode解析AI研发新模式,根治开发低效痛点
大数据·人工智能·开源·ai编程
AI玫瑰助手5 小时前
Python函数:默认参数的定义与注意事项
开发语言·python·信息可视化
好评笔记5 小时前
机器学习面试八股——常用损失函数
人工智能·深度学习·算法·机器学习·校招
weixin_468466855 小时前
全局与局部注意力机制新手实战指南
人工智能·python·深度学习·算法·自然语言处理·transformer·注意力机制