0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ElfBoard技术实战|ELF 2开发板本地部署DeepSeek大模型的完整指南

ElfBoard ? 2025-05-16 11:13 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

DeepSeek作为国产大数据驱动的AI模型代表,凭借其卓越的推理能力和高效的文本生成技术,在全球人工智能领域引发广泛关注。

RK3588作为瑞芯微推出的旗舰级芯片,凭借多核异构计算能力以及强大的CPUGPU和NPU性能,成为嵌入式AI应用的理想平台。

DeepSeek与基于RK3588设计的ELF 2开发板的深度融合,标志着国产AI大模型从云端向边缘端的延伸。这种“先进算法+定制化芯片”的协同模式,不仅解决了边缘侧实时性、隐私保护等关键需求,更构建起从技术研发到产业赋能的完整价值链条。接下来,让我们深入探讨这一过程是如何具体实现的。

环境搭建

1.1 Anaconda安装及使用

1.1.1 Anaconda介绍

Anaconda是一个流行的开源软件包管理和环境管理系统,用于科学计算、数据分析和大数据处理,特别是在Python环境中。它包含了许多常用的科学计算和数据分析的软件包,并提供了一个方便的方式来管理这些软件包的安装、更新和环境配置。

以下是 Anaconda的一些主要特点和用途:

1、软件包管理

Anaconda提供了一个名为conda的包管理工具,可以轻松安装、更新和删除软件包。它支持数千个科学计算和数据分析相关的软件包,如NumPy、Pandas、Matplotlib等。

2、环境管理

Anaconda允许用户创建和管理多个独立的Python环境。每个环境可以有不同版本的Python和不同的软件包集合,这样可以避免版本冲突和环境污染。

3、跨平台

Anaconda可以在Windows、macOS和Linux上运行,使其成为开发人员和研究人员之间共享和复制数据分析项目的理想工具。

4、集成开发环境(IDE)

Anaconda还包含了Jupyter Notebook等强大的交互式开发工具,使用户能够在浏览器中创建和分享文档,结合代码、公式、可视化和解释性文本。

5、大数据支持

Anaconda 不仅适用于单机环境,还支持分布式计算平台,如Apache Spark,从而能够处理大规模数据和复杂的计算任务。

总之,Anaconda提供了一个全面的解决方案,使得科学计算和数据分析的开发和部署变得更加简单和高效。

1.1.2 Anaconda安装

我们提供的虚拟机系统内已预装了Python 3.10及RKNN-Toolkit 2.1.0,专为模型转换与量化打造。若使用其他版本Python或相关工具的需求,推荐在虚拟机中另行安装Anaconda,以此避免环境冲突实现环境的完全隔离。

虚拟机系统使用的是“ELF 2开发板资料包”中提供的开发环境(路径:ELF 2开发板资料包\08-开发环境)您可以选择从网络上下载Linux版本的Miniconda,推荐访问清华大学的镜像库进行下载。

具体网址为:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

另外,您也可以在“ELF 2开发板资料包”的“06-常用工具\06-2 环境搭建工具\AI安装脚本”路径下找到名为“Miniconda3-4.7.12.1-Linux-x86_64.sh”的执行脚本。您只需将该脚本上传至虚拟机中,并执行它即可完成Miniconda的安装。

首先对执行脚本赋予执行权限并执行脚本:

elf@ubuntu:~$ chmod +x Miniconda3-4.7.12.1-Linux-x86_64.sh elf@ubuntu:~$ ./Miniconda3-4.7.12.1-Linux-x86_64.sh

按enter按键,之后输入yes,然后再设置安装路径,进行安装。

wKgZPGgmoFOATXhfAA_XMUnavOY368.png

安装完之后如下图所示:

wKgZO2gmoSiAfJvPAADkWF_EH-w647.png

重新打开终端。命令行之前出现(base)代表安装成功。

wKgZO2gmoTeACihHAAAqwc9Ai3A028.png

1.1.3 Anaconda基本使用

以下是关于conda操作指令的跨平台说明及在虚拟机上的示范:conda的操作指令是跨平台的,这意味着它们既可以在Linux系统上运行,也可以在Windows系统上执行。接下来将在虚拟机环境中进行示范。

1、查看虚拟环境列表:

conda env list

wKgZPGgmoWaAVA8aAAA54TOG6J8074.png

2、创建新的虚拟环境:

conda create --name <虚拟环境名称> python=<版本号>

例如:conda create --name myenv python=3.9

说明:此命令会创建一个名为<虚拟环境名称>的新虚拟环境,并安装指定版本的Python。如果不指定Python版本,则会安装Anaconda发行版中附带的Python版本。

wKgZPGgmoYyAZRUcAADSpxsHd5g699.png

3、激活虚拟环境:

conda activate <虚拟环境名称>

例如:conda activate myenv

说明:激活虚拟环境后,在该环境下安装的包将仅在该环境中可用,从而避免了不同项目之间的依赖冲突。

wKgZO2gmo72AN_88AAAu6QfKoEU021.png

4、退出虚拟环境:

conda deactivate

说明:此命令用于退出当前激活的虚拟环境,返回到基础环境(base环境),如再次执行命令。

wKgZO2gmo-GACk81AAApEOj-weY053.png

5、给虚拟环境安装库:

pip install <包名> conda install <包名>

例如:conda install numpy 或 pip install numpy

说明:通常推荐使用conda安装库,因为它会自动处理依赖关系。但在某些情况下,如果conda中没有可用的包版本,也可以使用pip进行安装。

wKgZO2gmpBOAKgCXAACMOW54uFI697.png

6、 删除虚拟环境:

conda env remove --name <虚拟环境名称>

例如:conda env remove --name myenv

说明:此命令会删除指定的虚拟环境及其下安装的所有包。

wKgZPGgmpDqAGsrAAABZNQplWis313.png

1.1.4 创建用于部署的虚拟环境

查看虚拟环境列表:

elf@ubuntu:~$ conda env list

wKgZPGgmoWaAVA8aAAA54TOG6J8074.png

创建新的虚拟环境:

elf@ubuntu:~$ conda create --name RKLLM-Toolkit-pyth3.10 python=3.10

conda create --name <虚拟环境名称> python=<版本号>

说明:此命令会创建一个名为<虚拟环境名称>的新虚拟环境,并安装指定版本的Python。如果不指定Python版本,则会安装Anaconda发行版中附带的Python版本。

wKgZPGgmpImATqo0AADRskO2Yho118.png

激活虚拟环境:

elf@ubuntu:~$ conda activate RKLLM-Toolkit-pyth3.10

说明:激活虚拟环境后,在该环境下安装的包将仅在该环境中可用,从而避免了不同项目之间的依赖冲突。

wKgZO2gmp4eAGvt6AAAuC0sg9T0830.png

1.2 RKLLM-Toolkit安装及使用

1.2.1 RKLLM-Toolkit介绍

RKLLM-Toolkit 提供模型的转换、量化功能。作为RKLLM-Toolkit的核心功能之一,它允许用户将Hugging Face或GGUF格式的大语言模型转换为RKLLM模型,从而将RKLLM模型在Rockchip NPU上加载运行。

1.2.1 RKLLM-Toolkit 安装

在虚拟环境安装RKLLM-Toolkit,以便将DeepSeek R1 大语言模型转换为RKLLM模型格式和编译板端推理的可执行程序。在发布的RKLLM工具链压缩文件中,包含了 RKLLM-Toolkit的whl安装包。

链接:GitHub - airockchip/rknn-llm

也可以在ELF 2开发板资料包\03-例程源码\03-4 AI例程源码\路径下找到rknn-llm-main.zip。

将下载成功的rknn-llm-main.zip 压缩包放到/home/elf/work/deepseek目录下,并解压。

(RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/deepseek$ unzip rknn-llm-main.zip

进入到rknn-llm-main/rkllm-toolkit/目录下,进行安装RKLLM-Toolkit工具

(RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/deepseek$ cd rknn-llm-main/rkllm-toolkit/ (RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/deepseek/rknn-llm-main/rkllm-toolkit$ pip install rkllm_toolkit-1.1.4-cp310-cp310-linux_x86_64.whl -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple some-package

注意:如果出现库版本冲突问题,再次执行

pip install rkllm_toolkit-1.1.4-cp310-cp310-linux_x86_64.whl-i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple some-package命令重新安装RKLLM工具会解决库版本冲突的报错问题。

安装完成如下图所示:

wKgZPGgmqNyAcAjHAAG6NrMe_mo301.png

1.3 交叉编译工具安装

推荐使用交叉编译工具 gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu;交叉编译工具往往向下兼容而无法向上兼容,因此不要使用 10.2 以下的版本。

链接:Downloads | 10.2-2020.11 – Arm Developer

也可以在ELF 2开发板资料包\03-例程源码\03-4 AI例程源码\路径下找到gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz。

移植过程

2.1 模型转换

1、下载DeepSeek-R1源码

在ubuntu虚拟机上从DeepSeek-R1官网地址下载DeepSeek-R1-Distill-Qwen-1.5B权重文件。

链接:deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B at main (huggingface.co)

也可以在ELF 2开发板资料包\03-例程源码\03-4 AI例程源码\路径下找到DeepSeek-R1-Distill-Qwen-1.5B.zip。

2、模型转换

使用RKLLM-Toolkit对模型进行转换,RKLLM-Toolkit提供模型的转换、量化功能。作为RKLLM-Toolkit的核心功能之一,它允许用户将Hugging Face或GGUF格式的大语言模型转换为RKLLM模型,从而将RKLLM模型在Rockchip NPU 上加载运行。

进入到rknn-llm-main/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/export目录下,生成data_quant.json,data_quant.json文件以对rkllm模型进行量化处理,我们将fp16模型生成结果用作量化校准数据。目录下默认已存在data_quant.json文件。

(RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/deepseek$ cd rknn-llm-main/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/export (RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/deepseek/rknn-llm-main/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/export$ python generate_data_quant.py -m /home/elf/work/deepseek/DeepSeek-R1-Distill-Qwen-1.5B

/home/elf/work/deepseek/DeepSeek-R1-Distill-Qwen-1.5B为权重文件所在的路径。

在export_rkllm.py中指定权重文件所在路径:

(RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/deepseek/rknn-llm-main/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/export$ vi export_rkllm.py

wKgZPGgmqTSAdzsPAADLyhKXI98743.png

导出RKLLM模型:

(RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/deepseek/rknn-llm-main/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/export$ python export_rkllm.py

转换成功的模型:rknn-llm-main/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/export/DeepSeek-R1-Distill-Qwen-1.5B_W8A8_RK3588.rkllm。

2.2 交叉编译

进入到rknn-llm-main/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/deploy目录下,在build-linux.sh文件指定交叉编译工具。

注意:改为实际安装的路径

(RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/deepseek/rknn-llm-main/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/deploy$ vi build-linux.sh

wKgZPGgmqp2AINbFAAErgeS15Aw143.png

修改完成,进行编译:

(RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/deepseek/rknn-llm-main/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/deploy$ ./build-linux.sh

wKgZPGgmrDKAAR6WAAD0wekBJMc744.png

编译生成的库文件:rknn-llm-main/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/deploy/install/demo_Linux_aarch64/lib/librkllmrt.so。

可执行文件:rknn-llm-main/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/deploy/install/demo_Linux_aarch64/llm_demo。

2.3 模型本地部署

将编译好的rkllm模型、可执行文件以及库文件上传至板端即可执行,这样我们在本地就可和DeepSeek-R1对话了,而且无需联网。

elf@elf2-desktop:~$ ./llm_demo DeepSeek-R1-Distill-Qwen-1.5B_W8A8_RK3588.rkllm 10000 10000

执行应用后效果如下图所示:

wKgZO2gmrLCAUGF0AACr5tjOLU0580.png

注意:本次测试使用的desktop系统NPU驱动为0.9.6,更新驱动请参考《Rockchip_RKLLM_SDK_CN_1.1.4.pdf》文件。

通过上述标准化部署流程,即可在ELF 2开发板上实现DeepSeek大数据模型的高效本地化运行。期待本文所分享的技术实践,能为从事嵌入式AI开发的工程师与高校师生提供有价值的参考,助力各位在边缘计算与人工智能交叉领域的技术探索与项目落地。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6068

    文章

    45032

    浏览量

    652239
  • 嵌入式
    +关注

    关注

    5158

    文章

    19731

    浏览量

    318655
  • 人工智能
    +关注

    关注

    1809

    文章

    49152

    浏览量

    250666
  • DeepSeek
    +关注

    关注

    2

    文章

    804

    浏览量

    1836
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    分享 |迅为基于RK3588开发板部署测试DeepSeek模型

    分享 |迅为基于RK3588开发板部署测试DeepSeek模型
    的头像 发表于 02-18 14:26 ?1664次阅读
    分享 |迅为基于RK3588<b class='flag-5'>开发板</b><b class='flag-5'>部署</b>测试<b class='flag-5'>DeepSeek</b><b class='flag-5'>模型</b>

    DeepSeek到Qwen,AI大模型的移植与交互实战指南-飞凌嵌入式

    在不久前发布的《技术实战|OK3588-C开发板部署DeepSeek-R1大模型
    的头像 发表于 03-28 08:06 ?1725次阅读
    从<b class='flag-5'>DeepSeek</b>到Qwen,AI大<b class='flag-5'>模型</b>的移植与交互<b class='flag-5'>实战</b><b class='flag-5'>指南</b>-飞凌嵌入式

    ElfBoard技术贴|如何在ELF 2开发板部署v4l2loopback

    传输及AI视觉处理等场景展现出显著应用价值。本文将以ELF2开发板为载体,系统阐述v4l2loopback模块的工程化部署全流程。一、设置环境首先需配置交叉编译工
    的头像 发表于 06-05 14:24 ?1359次阅读
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技术</b>贴|如何在<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>开发板</b>上<b class='flag-5'>部署</b>v4l<b class='flag-5'>2</b>loopback

    ElfBoard技术贴|如何在【RK3588】ELF 2开发板上进行根系统的定制

    ELF 2开发板已经适配了Linux 5.10及Elf2 Desktop 22.04操作系统,其中Elf2 Desktop 22.04系统是
    的头像 发表于 07-02 16:33 ?2341次阅读
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技术</b>贴|如何在【RK3588】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>开发板</b>上进行根系统的定制

    ATK-DLRK3588开发板deepseek-r1-1.5b/7b部署指南

    本帖最后由 jf_85110202 于 2025-2-14 16:41 编辑 ATK-DLRK3588开发板deepseek-r1-1.5b/7b部署
    发表于 02-14 16:33

    添越智创基于 RK3588 开发板部署测试 DeepSeek 模型全攻略

    DeepSeek 模型部署与测试,开启这场充满挑战与惊喜的技术探索之旅。 RK3588 开发板:AI 性能担当 RK3588
    发表于 02-14 17:42

    RK3588开发板部署DeepSeek-R1大模型完整指南

    -R1与OK3588-C开发板的深度融合,标志着国产AI大模型从云端向边缘端的延伸。这种“先进算法+定制化芯片”的协同模式,不仅解决了边缘侧实时性、隐私保护等关键需求,更构建起从技术研发到产业赋能的
    发表于 02-27 16:45

    聆思CSK6大模型语音开发板接入DeepSeek资料汇总(包含深度求索/火山引擎/硅基流动华为昇腾满血版)

    , ● 链路1: 可通过注入节点调用DeepSeek节点,并将结果输出到debug1。 ● 链路2: 可通过web对话页调用DeepSeek节点,最终将大模型结果输出到对话页面上。 ●
    发表于 03-06 17:02

    【幸狐Omni3576边缘计算套件试用体验】DeepSeek 部署及测试

    方式。 RKLLM 部署 RKLLM-Toolkit 是一个开发套件,旨在帮助用户在计算机上进行大语言模型的量化和转换。 其功能类似于图像识别篇介绍的 RKNN-Toolkit2,都是
    发表于 03-21 19:31

    模型实战(SC171开发套件V3)

    模型实战(SC171开发套件V3) 序列 课程名称 视频课程时长 视频课程链接 课件链接 工程源码 1 火山引擎豆包大模型调试指南 3分3
    发表于 04-16 18:52

    《电子发烧友电子设计周报》聚焦硬科技领域核心价值 第11期:2025.05.12--2025.05.16

    的门控时钟转换 8、DC/DC电源转换器的设计要点 开源项目与实战干货 : ElfBoard技术实战|ELF
    发表于 05-16 19:47

    DeepSeek-R1本地部署指南,开启你的AI探索之旅

    春节期间突然被DeepSeek刷屏了,这热度是真大,到处都是新闻和本地部署的教程,等热度过了过,简单记录下自己本地部署及相关的内容,就当电子
    的头像 发表于 02-08 10:30 ?5698次阅读
    <b class='flag-5'>DeepSeek</b>-R1<b class='flag-5'>本地</b><b class='flag-5'>部署</b><b class='flag-5'>指南</b>,开启你的AI探索之旅

    华为云发布DeepSeek本地部署方案

    华为云正式推出基于华为云Stack混合云的DeepSeek本地部署方案。
    的头像 发表于 02-18 10:05 ?1119次阅读

    行芯完成DeepSeek-R1大模型本地部署

    近日,行芯正式宣布完成 DeepSeek-R1 大模型本地部署,实现在多场景、多产品中应用。解锁“芯”玩法,开启“芯”未来!
    的头像 发表于 02-24 15:17 ?933次阅读

    香橙派发布OrangePi RV2本地部署Deepseek-R1蒸馏模型指南

    继香橙派昇腾系列产品、OrangePi5系列产品完成与DeepSeek模型的深度适配之后,香橙派日前官方发布OrangePiRV2运行Deepseek-R1蒸馏
    的头像 发表于 03-28 11:55 ?706次阅读
    香橙派发布OrangePi RV<b class='flag-5'>2</b><b class='flag-5'>本地</b><b class='flag-5'>部署</b><b class='flag-5'>Deepseek</b>-R1蒸馏<b class='flag-5'>模型</b><b class='flag-5'>指南</b>