16张游戏显卡攒出百万上下文服务器成本仅专业卡六成
有人用16块RTX 5060 Ti 16GB攒了一台AI服务器。整套配置的支出是RTX 6000 Pro价格的60%。跑大模型,上下文能到100万token。
16张卡分成两组,每组8张。两组各接一块Broadcom/PLX PEX88096交换机,再上联到CPU。主板是ASRock Rack SPC621D8U-2T/OVH,CPU是Xeon Gold 6330。系统装Ubuntu 22.04.5 LTS,内核6.8.0-106-generic。驱动用Aikitoria修补过的开源版,版本号610.43.02-p2p。
部件装到一起,机器还不能跑。Linux要认全16张卡的显存,先过BIOS这关。启动模式必须用UEFI,CSM关掉,安全启动也关。本地编译的EFI程序和打过补丁的NVIDIA模块都没签名。安全启动开着会直接拦下。
内存映射要手动排。Above 4G Decoding打开,MMIO High Granularity设1024G,MMIO High Base放56T附近。SR-IOV保持禁用。
GRUB的内核参数加一行:intel_iommu=off pci=realloc=on,hpmmioprefsize=512G。NVIDIA模块的参数是NVreg_EnableResizableBar=1。
每张GPU需要16384 MiB的BAR1空间。BAR1是PCIe设备暴露给CPU的地址窗口,显存靠它映射给系统。把大小代码设为14,每张卡拿到16 GiB的BAR1。操作时要临时禁用PCI内存解码,清掉旧BAR1地址,让Linux重新分配。
对每个PLX/PEX桥,往ECAP_ACS+0x6写入0000,改ACS控制寄存器。这串设置就位后,16张卡的地址空间才按预期排列。
硬件调通,软件还差一块。作者用"vibe coding"的思路写代码:顺着感觉让AI写,自己把握方向。他实现了自定义的all-reduce,让每个PLX集群内的8张卡同步数据。DSpark也改了,支持流水线并行。
跑起来之后,作者给了两组实测数据。张量并行8、流水线并行2时,上下文上限50万token。这个范围内预填充约4000 token每秒。生成速度100到150 token每秒。DeepSeek Harness里平均140。
张量并行4、流水线并行4时,上下文能到完整的100万token。预填充约7000 token每秒。这个数字同样只测到50万token。生成速度降到80 token每秒。
预填充是模型消化提示词的阶段,生成是逐字往外吐答案的阶段。张量并行和流水线并行是两种拆法。张量并行把一层拆到多张卡上同时算,流水线并行把不同层分给不同卡,串起来处理。把两组数字放一起,比例一换,上下文长了,生成就慢了。
帖子发出去,评论区追问最多的是实物照片。高票评论说,要一张这套配置的照片,不在乎数字,把机器晒出来。另一个人问总成本,说这价格听起来又贵又便宜。技术问题也有:PCIe跑的是Gen4还是Gen3,每张卡跟CPU共享多少条链路。有评论说,这些数字是单请求的结果,追问4个、8个、16个并发时表现会怎么变。还有一条顺着行情问:5060 Ti从500涨到700,是不是就因为这个。
大部分问题作者没答,只给了一个总价参照。整套配置付了0.6倍RTX 6000 Pro的价格。功耗、散热、长期稳定性、能不能跑别的模型和框架,也没细说。复现这套配置不容易。BIOS层面要改多项设置,驱动补丁没有签名,通信代码得自己写。