蓝迪哥玩转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大家都要认真努力学习。

相关推荐
傻啦嘿哟5 分钟前
某招聘平台爬虫:爬取招聘岗位数据,分析各城市薪资水平
开发语言·爬虫·python
2501_933670797 分钟前
2026秋招量化分析岗技能栈:Python、SQL、统计建模、回测项目怎么准备
开发语言·python·sql
Rocktech_ruixun14 分钟前
机器人本地跑LLM大模型对主板硬件有什么要求?瑞迅科技RK3588/3568方案选型解析
人工智能·科技·嵌入式硬件·机器人·边缘计算
2601_9620776016 分钟前
python Dejavu库快速识别音频指纹实例探究
python·音乐识别·dejavu库·音频指纹识别·实例探究
yxlalm18 分钟前
Spring AI+RAG 01-项目背景与技术选型
java·人工智能·spring
tedcloud12320 分钟前
Wand-Enhancer 怎么搭建?开源 Wand 客户端增强与远程控制工具介绍
大数据·服务器·人工智能·开源·音视频
科技苑33 分钟前
如何用Python编程实现一个简单的Web爬虫?
人工智能·python
迅利科技1 小时前
新能源汽车零部件研发,SIMULIA一站式仿真解决方案如何缩短研发周期
人工智能·汽车
dayDayupbetter1 小时前
Visual C++ 2010安装与使用高手秘籍
python
隐擎fox1 小时前
深入理解网络传输层安全:TLS 指纹识别(JA3/JA4)原理与 Python 协议层检测实战
爬虫·python·网络协议·安全·网络安全·https