AI 在家(第一部分):一箱零碎

Hacker News Top 新闻

摘要

作者分享了一个 DIY 项目,利用廉价的二手服务器 GPU 和旧 PC 零件搭建一个经济实惠的家庭 AI 设备,以避免使用云服务。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/08/13 18:21

# 在家搭建AI 第一部分:一箱废品 来源:https://jdagostino.github.io/ai-pt1-box-o-scraps/index.html ## 不,我们在家就有AI ### 第一章:一箱废品 ##### 2026年8月13日 --- 作为一名软件开发者,我们正处在一个有趣的时期;在我看来,Transformer大语言模型是这个领域长期以来第一个真正新颖有趣的技术发展。基于此构建的AI编码智能体已经迅速成为这一职业的核心工具,这种感觉有点像从手工木工工具升级到电动工具——无论是好是坏。 至于我,我向来只信任能拆开再在车库里重新组装起来的技术。那种连接云端服务、使用别人掌控下的编码智能体的方式让我很不舒服;出问题的可能性太多了。你一旦开始依赖它,它就会被夺走。这项技术整体上令人兴奋,但我不想连到某个大型AI数据中心;我想在每个家庭里都有一个小型AI数据中心!而且我们现在正处于计算机零件短缺时期(或者说,也许2010年代后期反而是零件过剩?),所以为了保持价格实惠,我打算用垃圾来搭建。 我们要在每个家庭里放一个AI数据中心 我在这里的主要需求是一堆GPU。我需要快速内存配合大规模并行矩阵运算,而GPU正是干这个的。不过正如我之前所说:任何为AI工作负载设计的、或者众所周知的在这方面表现出色的东西,现在都贵得离谱。 在2022年,许多公司试图让“云游戏”这个概念起飞——你知道的,把你的电子游戏放到某个数据中心运行,这样你就不用买昂贵的游戏PC或主机了。AMD拿了一款工作站GPU,给它加了些显存,去掉了所有视频输出。他们把最终产品命名为“V620”。它从未面向公众销售,所以你可能没听说过。AMD严重过量生产了这些东西,然后整个云游戏事业因为(事后看显而易见的)延迟问题而失败了。 这些卡并非真正为AI工作负载设计,而且AMD的软件支持臭名昭著地糟糕,所以这些卡在eBay的“二手服务器硬件”电子垃圾转售商那里相对便宜。我觉得我收到的这些卡其实从未被实际使用过,它们看起来几乎是全新的。每张卡有32GB相当快的显存。当然,它们名声在外,不擅长我要它们做的事,但真要让这东西跑起来,能有多难呢? 哦,顺便说一下,它们没有风扇。它们是服务器卡,期望服务器用极其吵闹的鼓风机来散热。这一点我们稍后会谈到。 没有风扇和电源线的试装 我们现在处于零件短缺中,所以我还买了些其他电子垃圾来把GPU阵列拼在一起。主板来自2017年的X299平台,是从某人的旧游戏机上拆下来的,年头够久所以eBay上很便宜。它有四个PCIe x16插槽,间距正好让我能把四张GPU并排插上——这是我在意的一切。里面的CPU是Intel Core i9 10900X,这是Intel在过去二十年里生产的最差劲的CPU;2019年发布时,它是Skylake芯片的第N次刷新版本,既贵又耗电,因为Intel当时在处理器架构和制程工艺节点上都追不上AMD的Ryzen芯片。对我来说无所谓,这意味着它现在很便宜,而且能胜任工作! 内存和固态硬盘是从家里其他电脑上拆下来的。这当然是作弊;如果我现在得买,它们会贵得令人恼火。不过需求没有你想的那么严苛;所有工作都在GPU的显存上完成;模型从磁盘加载后,这些部件大部分时间闲置。如果我没有现成的拆机零件,这里可以买很便宜的东西。 我要给四个GPU和Intel效率最低的处理器供电,所以买了个大电源。出于某种原因,在eBay上买1600W的反而比1200W的便宜。我并不指望持续消耗那么多电量,但启动时所有东西同时上电需要它能撑住。 在机箱和风扇上奢侈了一把。哦,对了,风扇!那些数据中心GPU没有散热风扇,它们期望来自一整排服务器风扇的气流。网上有很多3D打印的风扇导流罩模型,可以给这些卡散热,但如果你把四张卡并排叠放,这些方案似乎都不理想;它们要么在末端用一个小小的、超响的40mm风扇,要么向侧面突出很多,导致没法把多张卡紧挨着放。四张双槽卡并排宽度约160mm,所以我真正想要的是两个80mm服务器风扇,正好装在上面,对着卡的散热片吹。 我最近一直在用OnShape做这类东西,挺好用的 于是我给两张卡建模并打印了一个导流罩,把一个80mm风扇固定在两张卡上面。[1](https://jdagostino.github.io/ai-pt1-box-o-scraps/index.html#fn1)卡的背面有一种金属线缆导向鳍片,用小螺丝固定;我利用那些螺丝孔来固定导流罩。导流罩上有电气连接器的开槽和四个安装孔,用于把风扇装到背面。我用碳纤维ASA打印了这东西,但可能普通的PLA也完全够用。 我买了这些10,000 RPM的风扇,因为我想确保有足够的气流,而且它们和更慢的风扇价格一样。它们非常吵!我想让主板根据GPU温度控制风扇速度,但一开始不奏效,所以初始设置期间我全程戴着听力保护设备。 严丝合缝 这台机器一开始无法启动。我大概花了整整一个小时,戴着耳罩站在车库里摆弄BIOS设置,直到弄明白需要设置哪些PCIe选项才能让主板在连接四张卡的情况下正常启动。(你得开启Resizable BAR和MMIO High Size,而且在高级选项设置里两个不同的深层菜单中,因为2017年没人想到你会往这块板上插这么多显存。)差不多同一时间,我也意识到车库里没有网线,所以我在晚上11点开始在石膏板上打洞。 这完全是正常行为 不管怎样!在最初几次失败的尝试之后,我终于让这台机器启动了,并开始在上面安装Ubuntu 24.04。戴着耳塞,而且仍然没有风扇控制,我编译了一版我最喜欢的推理服务器——优秀的*[llama.cpp](https://github.com/ggml-org/llama.cpp)*——然后测试了Gemma4模型,它轻松放进一张卡里。这是我在单GPU工作站上玩耍时最喜欢的本地模型,测试结果相当不错;虽然没有我以前的RTX 3090上那么快,但一点也不差。然后我启动了Deepseek V4 Flash,这才是这台机器真正的目标。它很慢!此时我对如何让它变快毫无头绪(下一章再详细说),我只是想看看它能不能装下,结果是可以。 回到风扇!我再次强调它们有多吵。全速运转时,穿透房子的墙壁都能听到,而这东西根本不需要全速运转。最初的计划是用主板内置的风扇控制来控制风扇,但这块板拒绝以不同速度控制不同风扇。显然这对于Supermicro的主板来说很常见。所以我改为自制了一个风扇控制器;我有整盒在关税时代之前从Aliexpress买的杂牌Arduino Nano克隆板;我翻出十多年前大学微控制器课上写的驱动PWM电机的代码,然后清理了一下。 风扇控制器只是从服务器获取一个百分比数值;我需要在服务器上运行一个脚本来读取温度并相应调整风扇速度。而这是一台AI服务器,所以我让它自己写风扇控制脚本;这似乎很应景。Deepseek V4 Flash完全有能力胜任,当然需要适量的指导和人工交互——这是从轻量级AI模型获得可用软件所必需的。[2](https://jdagostino.github.io/ai-pt1-box-o-scraps/index.html#fn2)中间有个有趣的小插曲:我让它想点办法让GPU发热,以便测试脚本,然后它开始写一个做矩阵乘法的PyTorch脚本,我告诉它:“不,你正运行在这些卡上,你存在于这台电脑上的llama.cpp实例中,随便说点什么都会让卡负载起来”,它经历了一场短暂的存在主义危机。太可爱了! 控制器放在一块原型面包板上,我直接把它塞进了服务器机箱里。我在上面缠了点电工胶带,防止它跟机箱短路。 应该没事的!别担心。 至此这台机器已经很稳定了,我测试了这些GPU,准备真正深入研究如何让它跑得快,这将在下一章讨论。 ---

相似文章

AI在家第二部分:多GPU技术

Lobsters Hottest

本文探讨了在使用电子废弃GPU搭建的家庭服务器上优化AI语言模型性能,并解释了Transformer模型和多GPU技术。

用闲置零件自定义的家庭服务器

Hacker News Top

一位用户利用闲置零件自定义了一台家庭NAS服务器,包括改装的Zotac迷你PC和多个硬盘,以避免云存储成本和隐私问题,同时注意到受AI需求影响的硬件市场趋势。