树莓派外接GPU实现机器学习架构

之前购买的 Nvidia Tesla P10 GPU运算卡 安装在二手 HPE ProLiant DL380 Gen9服务器 上使用,用于 DeepSeek 推理。这种IDE数据中心的服务器有一个很大的缺点就是耗电和噪音,对于家用环境非常不友好,所以我不得不每天晚上关机,白天使用时再开机。

然而我想到之前构思的 Raspberry Pi Cluster ,期望在低功耗情况下运行模拟集群,有没有可能结合树莓派来使用 NVIDIA GPU ,这样可以7x24小时开机,随时可用的机器学习环境。

我在淘宝上看到过 QCULink 设备外接eGPU(另一种是用于苹果的 Thunderbolt (雷雳) eGPU),发现这种外接方案其实也可以用于 树莓派Raspberry Pi 5 ,因为唯一的要求是具备 PCIeM.2接口 ,这个条件 树莓派Raspberry Pi 5 是满足的。

我考虑过低功耗的 eGPU(外置GPU)使用Tesla P4 和,但是利旧自己的 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

../../../_images/pi_egpu_power_jump.webp
../../../_images/mainboard_power_connect.webp

备注

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

参考