GPU 经济学:如何在“不破产”的情况下训练 AI 模型
SinoDAO
2024-08-20 15:53
订阅此专栏
收藏此文章

  //  

使用激活检查点和多 GPU 训练等技术,小型企业同样能够有效地训练大型语言模型。

许多公司寄希望于人工智能(AI)能够彻底革新他们的业务,但这些希望往往会因为训练复杂 AI 系统的高昂成本而迅速破灭。
埃隆·马斯克(Elon Musk)曾指出,工程问题通常是进展停滞的原因。这一点在优化硬件(如 GPU)以高效处理训练和微调大型语言模型所需的巨大计算量时尤为明显。

虽然大型科技巨头可以承受数百万甚至数十亿美元的培训和优化成本,但对于那些资金有限、发展时间紧迫的小型和中型企业以及初创公司来说,往往只能望而却步。
在本文中,我们将探讨一些策略,帮助那些资源有限的开发者在不破产的情况下完成 AI 模型的训练。

1


一不做,二不休

正如你所了解的那样,创建和推出一款人工智能产品,无论是基础模型 / 大型语言模型(LLM)还是经过微调的下游应用程序,都严重依赖于专门的 AI 芯片,尤其是 GPU。
这些 GPU 不仅价格昂贵,而且难以获得,以至于 SemiAnalysis 在机器学习(ML)社区中创造了“GPU 富裕”和“GPU 贫困”这两个术语。
训练大型语言模型的高昂成本主要来自硬件的费用,包括购买和维护,而不是机器学习算法或专家知识。
训练这些模型需要在强大的计算集群上进行大量运算,且模型越大,训练时间越长。
例如,训练 LLaMA 2 70B 模型涉及将 700 亿个参数暴露于 2 万亿个标记上,需要至少 10 的 24 次方浮点运算。如果你属于“GPU 贫困”群体,是否就该放弃呢?答案是否定的。

2


替代策略

如今,许多科技公司正在寻找替代方案,以减少对昂贵硬件的依赖,从而节省成本。
其中一种策略是调整和优化训练硬件。虽然这一途径仍然处于实验阶段,并且需要大量投资,但它在未来优化大型语言模型训练方面展现出了潜力。
这类硬件相关的解决方案包括微软和 Meta 推出的定制 AI 芯片,Nvidia 和 OpenAI 的新半导体项目,百度的单一计算集群,Vast 提供的 GPU 租赁服务,以及 Etched 公司推出的 Sohu 芯片等。
尽管这是推动进步的重要一步,但这种方法更适合那些能够在现在投入大量资金,以期未来降低成本的大型公司。对于那些希望在当下创建 AI 产品,却财力有限的新兴公司来说,这并不是一个可行的选择。

3


应对之策:创新软件

在预算有限的情况下,还有另一种优化大型语言模型训练并降低成本的方法通过创新软件。
这种方法更经济,并且对于大多数机器学习工程师来说更加容易上手,无论他们是经验丰富的专业人士,还是希望进入这一领域的 AI 爱好者和软件开发人员。让我们来详细探讨一些基于代码的优化工具。

4


混合精度训练

什么是混合精度训练:想象一下,你的公司有 20 名员工,却租用了足够容纳 200 人的办公空间,显然这是一种资源浪费。在模型训练过程中也会发生类似的低效情况,机器学习框架往往分配了比实际需要更多的内存。混合精度训练通过优化这一过程,提高了速度和内存使用效率。
工作原理:混合精度训练结合了较低精度的 b/float16 操作和标准的 float32 操作,从而减少了任意时刻的计算量。对于非工程师来说,这听起来可能有些复杂,但它的核心意义在于:AI 模型可以在不降低精度的前提下,更快地处理数据并减少内存需求。
改进效果:这种技术可以使 GPU 的运行速度提高多达 6 倍,TPU(谷歌的张量处理单元)的速度提高 2-3 倍。像 Nvidia 的 APEX 和 Meta AI 的 PyTorch 这样的开源框架支持混合精度训练,使得这种技术易于集成到现有的流程中。通过实施这种方法,企业可以在保持模型性能的同时,大幅减少 GPU 成本。
激活检查点
什么是激活检查点:如果你受到内存限制的困扰,但同时愿意多花点时间,激活检查点可能是你需要的技术。简而言之,它通过将计算保持在最低限度,大幅降低内存消耗,从而使得在不升级硬件的情况下进行大型语言模型训练成为可能。
工作原理:激活检查点的核心思想是在模型训练过程中,仅存储一部分必要的值,其他部分仅在需要时才重新计算。这意味着系统不会将所有中间数据保存在内存中,而是只保留至关重要的部分,从而释放内存空间。这类似于“到桥头自然直”的原则,意思是在问题迫在眉睫之前不去过度关心。
改进效果:在大多数情况下,激活检查点可以减少多达 70% 的内存使用,尽管它也会将训练时间延长大约 15-25%。这种公平的权衡意味着企业可以在现有硬件上训练大型 AI 模型,而无需额外投入资金到基础设施中。PyTorch 库支持检查点功能,使得该技术更易于实施。
多 GPU 训练
什么是多 GPU 训练:想象一下,一个小面包店需要快速制作大量法棍。如果一个面包师独自工作,可能需要很长时间。加上第二个面包师,速度会加快。再加上第三个面包师,进度会更快。多 GPU 训练的工作原理与此类似。
工作原理:多 GPU 训练不再只使用一块 GPU,而是同时利用多块 GPU。这意味着 AI 模型训练分布在这些 GPU 上,让它们协同工作。从逻辑上讲,这与前面提到的检查点方法正好相反,后者是以延长运行时间为代价,减少硬件购置成本。这里,我们通过使用更多硬件来最大化效率,从而缩短运行时间并降低运营成本。
改进效果:以下是用于多 GPU 训练大型语言模型的三个强大工具,按照实验结果的效率递增排序:
DeepSpeed:这是一个专门为多 GPU 训练 AI 模型设计的库,能够实现比传统训练方法快多达 10 倍的速度。
FSDP:PyTorch 中最受欢迎的框架之一,解决了 DeepSpeed 的一些固有限制,将计算效率进一步提高了 15-20%。
YaFSDP:最近发布的 FSDP 增强版本,在模型训练中提供了比原版 FSDP 方法高出 10-25% 的速度提升。

5


结论

通过采用混合精度训练、激活检查点和多 GPU 使用等技术,即使是中小型企业也能在 AI 模型的微调和创建方面取得显著进展。这些工具不仅提高了计算效率,缩短了运行时间,还降低了整体成本。
此外,它们还允许在现有硬件上训练更大的模型,减少了对昂贵硬件升级的需求。通过使更多企业能够获取先进的 AI 能力,这些方法推动了技术的普及,帮助更多的科技公司在这个快速发展的领域中创新和竞争。
正如那句俗话所说:“人工智能不会取代你,但使用人工智能的人会。” 是时候拥抱 AI 了,而且通过上述策略,即使在预算有限的情况下,这也是完全可行的。(VentureBeat)







【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

SinoDAO
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开