树莓派外接GPU实现机器学习架构
之前购买的 Nvidia Tesla P10 GPU运算卡 安装在二手 HPE ProLiant DL380 Gen9服务器 上使用,用于 DeepSeek 推理。这种IDE数据中心的服务器有一个很大的缺点就是耗电和噪音,对于家用环境非常不友好,所以我不得不每天晚上关机,白天使用时再开机。
然而我想到之前构思的 Raspberry Pi Cluster ,期望在低功耗情况下运行模拟集群,有没有可能结合树莓派来使用 NVIDIA GPU ,这样可以7x24小时开机,随时可用的机器学习环境。
我在淘宝上看到过 QCULink
设备外接eGPU(另一种是用于苹果的 Thunderbolt (雷雳) eGPU),发现这种外接方案其实也可以用于 树莓派Raspberry Pi 5 ,因为唯一的要求是具备 PCIe 的 M.2接口 ,这个条件 树莓派Raspberry Pi 5 是满足的。
我考虑过低功耗的 eGPU(外置GPU)使用Tesla P4 和,但是利旧自己的 Nvidia Tesla P10 GPU运算卡 最终采用了缓和模式:
Raspberry Pi Cluster 使用 树莓派5 PCIe转M.2 NVMe "PCIe gen4" SSD存储报错记录 转接卡可以使用
QCULink
购买了一个mini的ITX机箱进行改造,容纳下:
3个
树莓派Raspberry Pi 5 +3个
树莓派Raspberry Pi 4 +3个
树莓派Raspberry Pi 3 构建的 Raspberry Pi Cluster通过
QCULink
将 树莓派Raspberry Pi 5 的一个m.2
接口转接PCIe连接外挂的 Nvidia Tesla P4 GPU运算卡ITX主板安装一个低功耗 x86 主机(通过软PCIe连接线外挂 Nvidia Tesla P10 GPU运算卡 )
也就是说,最终我的运行架构会具备两个 NVIDIA GPU 分别用于训练( Nvidia Tesla P10 GPU运算卡 )和推理( Nvidia Tesla P4 GPU运算卡 )
电源
考虑到稳定性和功耗,我最终大出血购买了一个750W金牌PC机电源:
需要注意,如果不使用主板直接连接PC机电源和外接eGPU卡,则电源的主板连线需要跳线(相当于开关)才能输出电能:
将24-pin电源电缆的第4和第5pin连接,就能直接驱动PC电源输出电能
先开启PC电源(PSU),等到电源和GPU都开始加电运行之后,再开启树莓派电源,这样树莓派启动后才能识别出外接eGPU


备注
Run LLM on Pi5: Connecting an NVIDIA GPU to Raspberry Pi 5 via PCIe x4 提到了使用一个 egpu-switcher 来切换eGPU,待实践