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

相关推荐
aqi009 小时前
15天学会AI应用开发(十七)使用LangGraph实现会话记忆功能
人工智能·python·大模型·ai编程·ai应用
第一程序员9 小时前
Rust Agent 子进程执行:Command 之前,先定义输入和超时
python·rust·github
xixixi777779 小时前
三大 AI 安全里程碑:Akamai 高危风险预警、智能体水印强制落地、PQC 量子安全全产业链统一
大数据·人工智能·安全·ai·大模型·智能体·政策
skywalk81639 小时前
设计并实现段言的 C FFI 绑定机制 @Trae
c语言·开发语言·python·编程
weixin_BYSJ19879 小时前
SpringBoot + MySQL 乒乓球运动员信息管理系统项目实战--附源码04954
java·javascript·spring boot·python·django·flask·php
AI小码9 小时前
LLM 应用的缓存工程:当每次 API 调用都在燃烧成本
java·人工智能·spring·计算机·llm·编程·api
code 小楊9 小时前
AI函数调用:Function Calling从理论到实战全解析
人工智能
delishcomcn9 小时前
智切未来:AI算法如何重塑不干胶标签分切机的精度与效率边界
人工智能·神经网络·计算机视觉
观远数据10 小时前
ChatBI选型对比:从意图识别到SQL修复,六个维度打分决定是否值得投产
数据库·人工智能·sql
犀利豆10 小时前
AI in Harness(四)
人工智能·后端