Yandex 推出 YaFSDP:

 




以下内容来自原文翻译:

一款开源 AI 工具,有望通过将 GPU 使用率降低 20% 来彻底改变 LLM 训练
开发大型语言模型需要大量时间和 GPU 资源投资,这直接转化为高昂的成本。模型越大,这些挑战就越明显。

最近,Yandex 推出了一种新的解决方案:YaFSDP,这是一种开源工具,有望通过显着减少 GPU 资源消耗和训练时间来彻底改变 LLM 训练。在700亿参数模型的预训练场景中,使用YaFSDP可以节省约150个GPU的资源。这意味着每月可能节省大约 0.5 至 150 万美元,具体取决于虚拟 GPU 提供商或平台。

Yandex 已在 GitHub 上公开提供 YaFSDP。机器学习工程师可以利用此工具来提高LLM训练过程的效率。通过开源 YaFSDP,Yandex 旨在促进人工智能社区的创新和协作,使开发人员能够更快、更经济高效地训练模型。

分布式LLM训练的挑战

跨多个 GPU 的训练LLMs涉及复杂的操作,导致效率低下和内存消耗高。主要问题之一是需要在 GPU 之间发送和接收大量数据。例如,在典型的 all_reduce 操作中,必须传递两倍于网络参数的梯度数据量。对于 Llama 70B 模型,这意味着每次迭代传输 280 GB 的数据。

此外,权重、梯度和优化器状态在 GPU 之间重复,导致巨大的内存负载。 Llama 70B 模型和 Adam 优化器需要超过 1 TB 的内存,远远超过大多数 GPU 的典型 80 GB 内存容量。这种冗余严重减慢了训练过程,并且通常使得将中等大小的模型放入 GPU 内存中变得不切实际。

YaFSDP 简介

Yandex 的 YaFSDP 为这些挑战提供了高效的解决方案。 YaFSDP通过专注于优化内存消耗和消除通信瓶颈,提高了LLM训练的效率。它的工作原理是分片层而不是单个参数,保持高效的通信并避免冗余操作。此外,YaFSDP 为所有所需数据预分配缓冲区,确保 Torch 分配器不会导致效率低下。

YaFSDP 通过利用两个缓冲区来实现中间权重和梯度,奇数层使用一个缓冲区,偶数层使用另一个缓冲区。

如果想详细了解,可以点开视频下方的原文链接。
谢谢观看本视频。要是喜欢,请订阅、点赞。谢谢

全文: https://marktechpost.com/2024/06/14/yandex-introduces-yafsdp-an-open-source-ai-tool-that-promises-to-revolutionize-llm-training-by-cutting-gpu-usage-by-20/
GitHub 页面: https://github.com/yandex/YaFSDP?tab=readme-ov-file

油管:https://youtu.be/MAynfguNqq0

留言