Bloom 大语言模型
功能介绍
本章节介如何在 RDK 平台体验端侧 Large Language Model (LLM)。
代码仓库: (https://github.com/D-Robotics/hobot_llm.git)
支持平台
| 平台 | 运行方式 | 示例功能 |
|---|---|---|
| RDK X3, RDK X3 Module (4GB 内存) | Ubuntu 20.04 (Foxy), Ubuntu 22.04 (Humble) | 端侧大语言模型体验 |
注意:仅支持 RDK X3,RDK X3 Module 4GB 内存版本。
算法信息
| 模型 | 参数量 | 平台 | prefill eval time(ms/token) | eval time(ms/token) |
|---|---|---|---|---|
| Bloom | 1.4B | X3 | 305.34 | 364.78 |
准备工作
RDK 平台
- RDK 为 4GB 内存版本
- RDK 已烧录好 Ubuntu 系统镜像。
- RDK 已成功安装 TogetheROS.Bot。
- 安装 transformers,命令为
pip3 install transformers -i https://pypi.tuna.tsinghua.edu.cn/simple。
使用方式
RDK 平台
运行程序前,需要下载模型文件并解压,命令如下:
- Foxy
- Humble
# 配置tros.b环境
source /opt/tros/setup.bash
# 配置tros.b环境
source /opt/tros/humble/setup.bash
# 下载模型文件
wget http://archive.d-robotics.cc/llm-model/llm_model.tar.gz
# 解压
sudo tar -xf llm_model.tar.gz -C /opt/tros/${TROS_DISTRO}/lib/hobot_llm/
使用命令 srpi-config 修改 ION memory 大小为 1.9GB,设置方法参考 RDK 用户手册配置工具 srpi-config 使用指南Performance Options章节。
重启后设置 CPU 最高频率为 1.5GHz,以及调度模式为 performance ,命令如下:
sudo bash -c 'echo 1 > /sys/devices/system/cpu/cpufreq/boost'
sudo bash -c 'echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor'
目前提供两种体验方式,一种直接终端输入文本聊天体验,一种订阅文本消息,然后将结果以文本方式发布出去。
终端交互体验
- Foxy
- Humble
# 配置tros.b环境
source /opt/tros/setup.bash
# 配置tros.b环境
source /opt/tros/humble/setup.bash
ros2 run hobot_llm hobot_llm_chat
程序启动后,可直接在当前终端和机器人聊天。
订阅发布体验
-
启动 hobot_llm
- Foxy
- Humble
# 配置tros.b环境
source /opt/tros/setup.bash# 配置tros.b环境
source /opt/tros/humble/setup.bashros2 run hobot_llm hobot_llm -
新开一个终端订阅输出结果 topic
- Foxy
- Humble
# 配置tros.b环境
source /opt/tros/setup.bash# 配置tros.b环境
source /opt/tros/humble/setup.bashros2 topic echo /text_result -
新开一个终端发布消息
- Foxy
- Humble
# 配置tros.b环境
source /opt/tros/setup.bash# 配置tros.b环境
source /opt/tros/humble/setup.bashros2 topic pub --once /text_query std_msgs/msg/String "{data: ""中国的首都是哪里""}"
消息发送后,可以在订阅输出结果终端查看输出结果。
注意事项
确认开发板内存为 4GB,同时修改 ION memory 大小为 1.9GB,否则会导致模型加载失败。