今天记录一下我在家里安装服务器的一些经验。有计划购买服务器在家跑AI实验或者其他有这方面需求的可以参考一下。以下仅为个人的一些记录以及经验,不一定适合所有人,也并不是所有的经验都是最优解,具体大家还需要结合自身经历去实践。
背景
有一些跑AI模型,小模型,大模型,SD的需求都有,所以需要一个相对来说全能一点的服务器。这个服务器需要有超过家用机的cpu的核心数,也需要一些大一点的显存来做大模型微调。所以专门购买一个用于家里的服务器来完成这些任务。
与租用服务器的对比
在购买服务器之间我用了相当长的时间去租服务器。现在的云服务器其实很便宜, autodl他家3090,1.66元/小时,是很够用的。但是后来发现其实这个并不是一个很好的选择。
- 如果长时间租用,一天3090就是50块钱 ,如果包月当然是便宜的。但是这样算下来时间长了成本也很高,只是小时单价看起来低,我要做的事情并不是一两个月就搞定了然后再也不会做了的事情,所以会有长期租服务器的打算,那在这方面还是买一个更便宜。
- 云服务器很灵活,但是切换成本会很高的, 我都是在工作之余去做搞这些研究,所以每周的时间只有工作日的晚上和周末,虽然云服务器很灵活,我的时间也需要灵活一些。但是服务器每次启动,还是会花上一些时间, 另外有的时候某台机器显卡不足,数据就得重新导入,还是和占用时间的,这些时间会导致工作日的效率极大的下降。所以还是不太值的。
- 数据传输,以及网速这些问题其实相比家用机还是要慢很多的。所以对于一些大的数据尤其是私有数据其实传输还是会占用很多时间,另外如果服务器有点卡会很影响体验,但是家用机因为直接通过交换机解决,所以完全没有网速的问题。
- 当然并不是说租用服务器我一点也不用,对于72b或者其他大小的模型我肯定还是需要租用的, 毕竟这已经远远超过了家用服务器的性能上限很多倍。这个时候还是需要租n台来解决我的需求。不过租之间肯定也会选用小模型来做调试,这方面家用服务器还是能帮我完成很多任务的。
家里已有的资源
- 一个500左右买的蜗牛星际的NAS配了4块16T的硬盘
- 一个2.5G的交换机(其中还有一个万兆)
- 千兆光纤并且有ipv6
- mac mini / 台机
- macbook pro
我的方案是建立在所有已有的资源基础之上才做出的如此决策。
购买方案
服务器准系统: 浪潮7048GR(配了四个PCIE可以跑4卡) CPU: e5 2673(貌似) x2 总共40核80线程 显卡:2080Ti 22G x2 + 200G NvLink 内存: 128G(32Gx4) 电源: 2000w x2 机箱: 机柜式,但是好像也能立起来。 硬盘: 480G SSD x1 总共价格: 不到10000 服务器的选型是因为e5的cpu足够便宜, 我需要的是多核性能,看了e5之后的intel cpu都很贵,性能虽然有提升,但是不需要那么大的计算速度(因为我在家的时间比较短,大部分时间是在工作,所以慢慢跑其实是ok的) 一个e5其实核心数量不够,所以需要两个,根据cpu以及gpu数量确定了主板就是7048了。 内存是考虑到后面训练大模型的时候可能还需要一些offload所以稍微多来了一点,但是我感觉暂时也够了,就选了128G的。 显卡,最开始本来计划是P40 x4或者P100 x4,但是看了下芯片架构太老了, 不仅不支持fp16 也不支持 flash-attention. 所以放弃了, 这个时候发现了v100 sxm版其实是需要1000块钱, 跟p100其实价格是一样的,但是性能比P100已经翻倍了。查了一下网上的资料,sxm只需要再买一个aom-sxmv的扩展板就可以支持4卡,这个卡看其他博主说的时候只需要一千多,但是我查的时候因为没有货,得等船的原因目前就价格非常高大概6000+,所以暂时就能考虑sxm方案了, 按理来说我觉得这个是最好的,因为配齐了大概五六千的价格能拿到64G显存 4个V100 + 配到nvlink四卡互联,理论上跑大模型非常合适。但是就是价格因素暂时考虑不行。后来又查了一下v100对flash-attention的支持也不理想,所以又搜了搜,发现2080ti 魔改22g, 2500左右一张两张5000块钱,性能大概3块p100. 44g显存,还配一个nvlink。感觉两张卡也够了,主要是架构比较新,所以速度也还行。最红就先买2080ti来止渴。
安装记录
第一次启动
cpu 服务器这边都是配好。买来之后直接平躺着放地上,插两个电源线就点亮了,点亮之后发现能在局域网里搜到,但是无直接连接。原因是商家没有预装ssh-server所以没法直接不接显示器进行操作。但是这个服务器主板只有vga口,所以需要专门买个vga转hdmi的线。买完了之后插上vga+鼠标键盘就能进入系统了, 第一件事是装好ssh,剩下的就通过ssh解决就好了。
第二次启动 安装显卡
- 确定好服务器没问题之后去下单了显卡,安装了之后发现所有风扇除了电源风扇其他全不转,排查了线没插牢和内存问题之后,发现是需要放电,把主板的纽扣电池扣了之后插上电源线不通电,放了15分钟之后就好了(我花了5个小时才排查出来这个问题,之前家用电脑没遇到过这个情况)。
- 仅cpu状态恢复了之后又发现进不去系统,重新改了bios启动顺序才好。
- 之后又发现风扇一直狂转 100%转速,我脑瓜子嗡嗡的,都是带上降噪耳机操作的。后来重启了之后就好了。
- 因为第一次安装gpu失败了,所以这次一块一块的装。第一块没问题,但是发现没有nvidia-smi.
- 然后装了驱动,我试了ubuntu官网的nvidia-smi,发现驱动有点老,只能搜到535,后来通过nvidia官方的方法装好的, 随后自然的装了cuda12.6
- 确认没问题之后安装了第二块卡并且安装了nvlink,确认传输速度之后就暂时大功告成了。
- 这时候发现htop只有40线程了也就是只有一块cpu。今天解决不了了,就留着以后解决,可能是改bios的时候的问题。
外网链接测试
- 以为北京的移动的ipv6是公网,后来发现不是,但是可以通过中国移动的手机网络通过ipv6的地址直接连接到服务器。这样不在家里也能访问了。
经验总结
- 服务器比你们想的要大,所以买之前最好限量好尺寸,另外噪音也很大,所以一切操作可以考虑先带上降噪耳机。后续一定要考虑好机柜的方案。
- 买服务器的时候最好让商家预装好想要的系统并且安装好ssh-server以及设置开机自启动,不然就要做好购买vga转接线的准备。
- 如果非常确定显卡的话可以购买好了显卡让商家帮你调试好再送到。
- 记得确认好显卡的pin口数量,目前商家是给了我4个(6+2)+上4个6pin 但是每一个2080ti都需要2个8pin,所以我暂时装不了更多的显卡了,这个后续会处理。
未来规划
- 买个机柜并且安装静音海绵
- link 家里的nas挂载到服务器硬盘上。
- 扩展更多的服务器。
- 把cpu的数量问题修复
