【2024-11-25 21:35:00AI Siri网最新消息】
一组M4 Mac mini – 图片来源:Alex Ziskind/YouTube
借助一组M4 Mac mini构建集群是可行的,但只有在使用高端Mac时,这种好处才会显现。
人们通常认为,拥有更强大的计算机意味着购买一台昂贵的设备,但实际上,还有其他方式可以进行大规模的数据处理。这一概念已经存在了几十年,利用多台计算机处理一个项目是完全可行的。
集群计算的核心在于将大量计算的任务分配给两个或更多的处理单元。通过协同工作并行完成任务,最终可以显著缩短处理时间。
在周日发布的一段YouTube视频中,Alex Ziskind展示了使用M4 Mac mini的集群计算设置。他将五台Mac mini堆叠在一个塑料框架中,设定任务并将其分配给各个设备进行处理。
通常,家庭集群计算依赖以太网进行节点间的通信,而Ziskind则利用Thunderbolt的速度,通过Thunderbolt Bridge实现连接。这大大加快了节点之间的通信,同时允许发送更大的数据包,从而节省了处理性能。
以太网通常运行在1Gb/s,若购买了某些Mac型号的以太网升级可达到10Gb/s。而Thunderbolt Bridge则可以在Thunderbolt 4端口下以40Gb/s的速度运行,或在M4 Pro和M4 Max型号下以80Gb/s的双向速度运行。
优于GPU处理
Ziskind指出,使用Apple Silicon进行集群计算相较于依赖强大显卡的PC有其优势。
首先,使用GPU进行处理必须依赖大量视频内存。例如,显卡上可能会有8GB的内存。而Apple Silicon采用统一内存,CPU和GPU共享Mac的内存。因此,Apple Silicon GPU可以访问更多的内存,尤其是在配置32GB或更多的情况下。
其次,显卡的功耗通常比较高,这会导致更高的运营成本。
相比之下,Mac mini的功耗非常低,五台满负荷运行的Mac mini的总功耗甚至低于一张高性能显卡。
MLX,而非Xgrid
为了让集群运行,Ziskind利用了我们之前提到的一个项目。该项目是MLX,一个被描述为“为Apple Silicon设计的高效灵活的机器学习研究数组框架”的开源项目。
这让我想起了Xgrid,苹果早已停用的分布式计算解决方案,可以控制多台Mac进行集群计算。该系统允许Mac OS X Server利用网络中的工作组Mac进行处理,特别是当这些Mac没有其他任务时。
然而,与专为大型企业和政府设计且资金充足的Xgrid不同,Xgrid的表现对小型项目并不理想。在完美的特定条件下它能很好地工作,但自制集群的表现往往不佳,有时甚至不如一台单独的计算机。
MLX在这方面有所改进,采用了标准的MPI分布式计算方法。它也可以在几台不同性能的Mac上运行,而不必花费数百或数千美元去购买大量设备。
与Xgrid不同,MLX似乎更适合小型集群,这正是许多希望使用Xgrid却遇到困难的用户所需的。
为正确的原因构建有用的集群
尽管将多台Mac mini的性能相加组建集群看起来很有吸引力,但并非所有人都能从中受益。
首先,对于典型的Mac使用场景,比如运行应用或玩游戏,不会看到明显的好处。集群计算更适合处理大规模数据集或高强度的并行处理任务。
这使得它非常适合机器学习研究中的大规模语言模型(LLMs)的创建等用途。
但对于普通的Mac用户来说,使用起来并不简单。
此外,性能提升通常对于普通Mac用户并不明显。Ziskind在测试中发现,购买一款M4 Pro模型的性能比两台M4单元合作使用时的性能要好,尤其是在使用LLMs时。
集群的优势在于当你需要的性能超过单台强大Mac所能提供的能力。如果某个模型过于庞大无法在单一Mac上处理,比如内存限制,集群可以为该模型提供更多可用内存。
Ziskind认为,目前高端的M4 Max Mac由于内存充足,性能优于低性能机器的集群。但如果需求超出了单台Mac的最高配置,集群仍然可以提供帮助。
然而,仍然存在一些限制需要考虑。尽管Thunderbolt速度很快,Ziskind需要使用Thunderbolt集线器将节点连接到主Mac,这会减少可用带宽。
直接将Mac连接在一起解决了这个问题,但也会碰到可用Thunderbolt端口数量等限制。这可能使得扩展集群变得困难。
他还遇到了温度问题,主Mac mini运行特别热,而节点则保持在更合理的水平。
最终,Ziskind发现这次Mac mini集群塔实验很有趣,但他并不打算长期使用。不过,对于使用多台高规格Mac运行复杂模型的情况,这项技术还有很大的潜力。