数码之家

 找回密码
 立即注册
搜索
查看: 491|回复: 1

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

[复制链接]
发表于 2025-2-19 14:05:29 | 显示全部楼层 |阅读模式
本帖最后由 正点原子官方 于 2025-2-19 14:26 编辑

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


5、编译deepseek部署程序
5.1、安装编译器

将r8的编译器拷贝到ubuntu中,编译器在资料盘开发板光盘A盘-基础资料\05、开发工具\03、交叉编译工具目录下的atk-dlrk3588-toolchain-aarch64-buildroot-linux-gnu-x86_64_5_10_r8_20250120-v1.1.run。

在当前目录打开终端,执行以下命令安装。

  1. chmod a+x atk-dlrk3588-toolchain-aarch64-buildroot-linux-gnu-x86_64_5_10_r8_20250120-v1.1.run
  2. ./atk-dlrk3588-toolchain-aarch64-buildroot-linux-gnu-x86_64_5_10_r8_20250120-v1.1.run
复制代码

当提示“Enter target directory for toolchain (default: /opt/atk-dlrk3588-toolchain):”时, 表示是否选择默认安装在/opt/atk-dlrk3588-toolchain 目录下,建议直接选择默认安装路径(注意!!!!这里会把原先安装的编译器给覆盖,所以原先的编译器还有用处请修改路径, 或者下次需要用到再重新安装原先的编译器),直接按下回车键即可。当提示“You are ab out to install the toolchain to "/opt/atk-dlrk3588-toolchain". Proceed[Y/n]?”时,直接按下 “Y”回车即可。输入 ubuntu 密码回车后,当弹出提示“$. source /opt/atk-dlrk3588-toolchain/environment-setup”时,表示已经安装完成。


5.2、编译部署程序

将提供的deepseek例程压缩包解压,位置在开发板光盘C盘-大模型资料\1、程序源码\2、板端部署程序里的atk_deepseek_demo.zip,解压后将资料盘中的rkllm文件或者转换好的文件拷贝到rkllm_model目录中,打开终端,执行以下命令执行编译部署程序的脚本。

./build-linux.sh


等待编译完成后,需要拷贝rkllm和libgomp库到开发板的usr/lib目录下,可通过adb或者scp工具传输到rk3588开发板上。

  1. #传输一些库到开发板中
  2. adb push lib/libgomp/libgomp.so /usr/lib/libgomp.so.1
  3. adb push lib/librkllm_api/librkllmrt /usr/lib
  4. #将编译好的可执行文件和模型传输到开发板中
  5. adb push install/atk_deepseek_rkllm_demo/ /
复制代码


6、运行测试
6.1、烧录R8版本镜像

正点原子ATK-DLRK3588开发板准备,请参考资料盘开发板光盘A盘-基础资料\10、用户手册\03、辅助文档\31【正点原子】ATK-DLRK3588出厂镜像烧录指导V1.1.pdf烧录r8系统镜像。


[backcolor=rgba(219, 241, 183, 0.5)]
6.2、运行测试
运行测试时建议连接网线,开发板使用ssh登录,否则会不断打印npu切换iommu信息

此处请注意,4+32g版本rk3588目前仅支持deepseek-R1-1.5b版本运行,7b版本在8+64g的rk3588需要创建swap分区才能运行,创建方法如下。
  1. 执行以下命令会比较慢
  2. dd if=/dev/zero of=/userdata/swapfile bs=1M count=10240
  3. 使用chmod权限
  4. chmod 0600 /userdata/swapfile
  5. 创建swap分区文件系统
  6. mkswap /userdata/swapfile
  7. 开启swap分区
  8. swapon /userdata/swapfile
  9. 查看分区情况
  10. free -mh
复制代码

所有内存版本rk3588均使用以下命令进行部署测试。

  1. 打开RK3588板端shell(建议ssh登录),执行以下命令进行测试。
  2. cd /atk_deepseek_rkllm_demo
  3. 运行deepseek-R1-1.5b程序
  4. ./atk_deepseek_demo rkllm_model/deepseek-1.5b-w8a8-rk3588.rkllm 5000 5000
  5. 运行deepseek-R1-7b程序
  6. ./atk_deepseek_demo rkllm_model/deepseek-7b-w8a8-rk3588.rkllm 5000 5000
复制代码

等待加载完毕后,可以在里面进行提问,或者输入预设序号进行提问,deepseek-r1-1.5b和deepseek-r1-7b测试结果分别如下。

  1. root@ATK-DLRK3588:/atk_deepseek_rkllm_demo# ./atk_deepseek_demo rkllm_model/deepseek-1.5b-w8a8-rk3588.rkllm 5000 5000
  2. rkllm init start
  3. W rkllm: Warning: Your rknpu driver version is too low, please upgrade to 0.9.7.

  4. I rkllm: rkllm-runtime version: 1.1.4, rknpu driver version: 0.9.6, platform: RK3588

  5. rkllm init success

  6. **********************可输入以下问题对应序号获取回答/或自定义输入********************

  7. [0] 现有一笼子,里面有鸡和兔子若干只,数一数,共有头14个,腿38条,求鸡和兔子各有多少只?
  8. [1] 有28位小朋友排成一行,从左边开始数第10位是学豆,从右边开始数他是第几位?

  9. *************************************************************************


  10. user: 请问你能做些什么
  11. robot: <think>

  12. </think>

  13. 您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。有关模型和产品的详细内容请参考官方文档。

  14. user: 能写一首关于春天的诗吗
  15. robot: <think>
  16. 嗯,用户想要一首关于春天的诗。首先,我得考虑春天的特点,比如花开、绿草、鸟鸣这些元素。然后,可能需要一些意象来表达春天的美好和变化。

  17. 也许可以从自然景象入手,比如柳树在春风中摇曳,这样的画面很生动。接着,可以加入一些动态的元素,比如蝴蝶在花间翩翩起舞,这样能增加诗的活力。

  18. 再想想季节的变化,春天来了,万物复苏,所以可以用“春”字来表达整体的主题。同时,要让诗句流畅自然,避免生硬的连接。

  19. 可能还需要一些比喻或者拟人化的手法,让文字更有画面感。比如把花朵比作小精灵,或者把蝴蝶比作舞者,这样能让读者更容易想象出春天的美好场景。

  20. 最后,确保整首诗有节奏感和韵律,这样读起来更顺口,也更有感染力。可能需要调整句子的长度和用词,让每一句都能传达出春天的不同方面。

  21. 总的来说,这首诗应该包含自然景象、动态元素以及季节的变化,通过生动的意象和比喻来展现春天的美好和生机。
  22. </think>

  23. ## 《春日》

  24. 柳絮飘飘
  25. 在春风中摇曳
  26. 蝴蝶翩翩
  27. 在花间起舞

  28. 花开得正盛
  29. 绿草如茵
  30. 小精灵们
  31. 正朝向春天奔走

  32. 我看见
  33. 春天的影子
  34. 正在阳光下
  35. 慢慢升起
复制代码
  1. root@ATK-DLRK3588:/atk_deepseek_rkllm_demo# ./atk_deepseek_demo rkllm_model/deepseek-7b-w8a8-rk3588.rkllm 5000 5000
  2. rkllm init start
  3. W rkllm: Warning: Your rknpu driver version is too low, please upgrade to 0.9.7.

  4. I rkllm: rkllm-runtime version: 1.1.4, rknpu driver version: 0.9.6, platform: RK3588

  5. rkllm init success

  6. **********************可输入以下问题对应序号获取回答/或自定义输入********************

  7. [0] 现有一笼子,里面有鸡和兔子若干只,数一数,共有头14个,腿38条,求鸡和兔子各有多少只?
  8. [1] 有28位小朋友排成一行,从左边开始数第10位是学豆,从右边开始数他是第几位?

  9. *************************************************************************


  10. user: 0
  11. 现有一笼子,里面有鸡和兔子若干只,数一数,共有头14个,腿38条,求鸡和兔子各有多少只?
  12. robot: <think>
  13. 设鸡的数量为x,兔子的数量为y。

  14. 根据题意,头的总数是14,可以得到方程:
  15. x + y = 14

  16. 腿的总数是38,鸡有2条腿,兔子有4条腿,因此可以得到第二个方程:
  17. 2x + 4y = 38

  18. 将第一个方程解为x = 14 - y,并代入第二个方程中:
  19. 2(14 - y) + 4y = 38
  20. 28 - 2y + 4y = 38
  21. 2y = 10
  22. y = 5

  23. 然后,将y的值代入x = 14 - y中:
  24. x = 14 - 5 = 9

  25. 因此,鸡有9只,兔子有5只。
  26. </think>

  27. 设鸡的数量为 \( x \),兔子的数量为 \( y \)。

  28. 根据题意,可以列出以下两个方程:

  29. \[
  30. \begin{cases}
  31. x + y = 14 \\
  32. 2x + 4y = 38
  33. \end{cases}
  34. \]

  35. **步骤如下:**

  36. 1. **解第一个方程求 \( x \):**
  37. \[
  38. x = 14 - y
  39. \]

  40. 2. **将 \( x = 14 - y \) 代入第二个方程:**
  41. \[
  42. 2(14 - y) + 4y = 38 \\
  43. 28 - 2y + 4y = 38 \\
  44. 2y = 10 \\
  45. y = 5
  46. \]

  47. 3. **将 \( y = 5 \) 代入 \( x = 14 - y \):**
  48. \[
  49. x = 14 - 5 = 9
  50. \]

  51. **最终答案:**

  52. 鸡有 \(\boxed{9}\) 只,兔子有 \(\boxed{5}\) 只。
复制代码
至此部署测试完毕
测试硬件为ATK-DLRK3588开发板16+128版本




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
发表于 2025-3-18 20:59:26 | 显示全部楼层
这也太慢了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-2 18:44 , Processed in 0.109200 second(s), 11 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表