背景:楼主团队最近在尝试边缘场景下的LLM推理卸载,需要看看树莓派的disk read bandwidth。
众所周知,树莓派的存储一般使用sd卡,因此LLM将放在sd卡中。
由于树莓派本身硬件限制,sd卡速度等级有限,官方推荐使用 Class 10 A1 级别的 SD 卡,具备至少 10MB/s 的写入速度,并支持每秒至少 1500 次读取操作和 500 次写入操作。
楼主使用机器:树莓派4b 8G版本,搭载sd卡为sandisk的红灰卡,速度等级为A1,宣称最大支持140MB/s
方法1:使用 hdparm 命令
- 安装hdparm
sudo apt-get update
sudo apt-get install hdparm
- 开始测试
sudo hdparm -Tt /dev/mmcblk0
#/dev/mmcblk0代表sd卡存储设备,如果不确定,可以先使用lsblk命令查看sd卡位置
#T代表从cacche读取速度
#t代表从目标位置的读取速度
- 测试结果
可见,读取速度仅为32MB/s,是一个非常慢的速度。
方法2:使用dd命令
- 输入命令
sudo dd if=/dev/mmcblk0 of=/dev/null bs=1M count=1024 status=progress
各参数分别代表:
- if=/dev/mmcblk0:指定输入文件为 SD 卡设备。
- of=/dev/null:将读取的数据丢弃,不写入任何文件。
- bs=1M:设置块大小为 1MB。
- count=1024:读取 1024 个块,总计 1GB 数据。
- status=progress:显示进度信息。
- 查看结果
可见,读取速度为42MB/s,速度依然很慢
为什么会出现速度提升?楼主认为是我进行了缓存清理命令,导致读取时更快
方法3:使用kdiskmark图形化测试工具
kdiskmark是一个开源磁盘测试工具,支持多种linux系统,raspi也不例外
根据readme.md文档可以看出有多种安装方法,此处选取Flathub进行安装
Snap Store也进行了尝试,但遇到报错太多,直接换了,可能是架构不支持
- 参考Flathub官方文档完成配置
安装Flathub步骤 - 安装kdiskmark
flatpak install flathub io.github.jonmagon.kdiskmark
安装过程中会遇到多次签名认证工作,输入raspi用户的密码即可
如果安装过程中因网络问题失败,建议更换网络进行,找到最快的网络
- 启动kdiskmark并进行测试
flatpak run io.github.jonmagon.kdiskmark
由于接下来的步骤都是图形化界面,不过多阐述了
希望大家顺利完成,有问题可以评论区交流!
楼主正在完成LLM分布式推理优化,有相同方向的朋友可以一起交流!