LLMs 最被低估的用途
reddit上的一个讨论,什么是LLMs一些最被低估的用途? 来源:https://weibo.com/2194035935/ODa6MhSSn?pagetype=profilefeed ——蚁工厂,互联网科技博主
编者按: 怎样在 10,000 个 H100 GPU 上训练大模型?如何充分利用每一块 GPU 的算力?如何在这个复杂的 GPU 网络中高效传递数据?当不可避免的硬件故障发生时,又该如何快速恢复训练进度?我们今天为大家带来的文章中,作者为我们揭示了应对这些挑战的关键策略。
作者 | Soumith Chintala
编译 | 岳扬
我的好友 Francois Fleuret 提出了上述问题。我迅速总结了一些在大规模训练领域中相当普遍的知识,内容分为三部分。
持续优化并行策略,直到所有 GPU 都能被高效利用,达到最高利用率。
在需要 GPU 间通信时,应尽可能早地启动通信过程:
在多个计算节点间传递大量模型状态信息(如梯度、优化器状态信息)是一项复杂的任务。在使用 Sync SGD 时,需要尽可能快地集中传输这些状态信息。
网络中可能包含多层交换机,并具备 RDMA 能力(可以直接将 GPU 内存中的数据复制到网卡,完全绕过 CPU 内存),同时拥有前端和后端网卡(前端网卡连接到如 NFS 之类的存储系统,后端网卡则将 GPU 连接到集群中的其他 GPU)。
因此,在执行 all-reduce 或 scatter/gather 等通信操作时,充分利用这些网络信息至关重要。例如,通过树形归约算法(tree-reduce),all-reduce 操作的时间复杂度可以降低到O(log(n));同时,网络光纤连接节点间的不同类型光纤对常数因子的影响,对于减少整体延迟时间也是非常重要的。
像 NCCL 这样的库能够智能地识别底层网络拓扑,并在执行 all-reduce 和其他通信操作时加以利用。
在这样的大规模计算中,我们还必须调整交换机和网卡中的数据包路由算法,以实现有效的负载均衡。交换机也需要大量的 HBM 内存(不仅仅是 GPU 需要),因为当数据包排队等待时,需要在某个地方排队而不会被丢弃------这就是交换机级别的 HBM 内存。
故障是不可避免的,涉及GPU、网卡、电缆等多种硬件。有些故障能够迅速被发现,而有些则可能因为某个节点没有按时响应(比如 NCCL 的 all-reduce 操作卡住了)才被察觉。我们开发了多种工具来监控机群的健康状况,并尽可能快地将故障节点从机群中移除。这可不是一件容易的事。
在这种规模下,内存位随机翻转导致的隐性数据损坏概率增加,可能导致训练 loss 值异常升高。虽然这种问题在小规模系统中很少见,但在大规模系统中则可能频繁发生。在软件层面提前检测这种问题非常困难。一些硬件设备配备了内置校验和的电路,可以在计算后进行校验 ------ 这样,一旦发生位翻转,硬件就能触发中断。但 H100 和之前的 NVIDIA GPU 都不具备这一功能。
为了应对这些故障,我们需要尽可能频繁且迅速地保存模型状态信息;一旦发生故障,我们也要能够迅速恢复并继续训练。通常,我们会迅速将模型状态信息另存到 CPU 内存的一个独立线程中,并在后台将数据从 CPU 内存写入到磁盘或远程存储系统。我们还以分片的形式保存模型状态信息(利用了 torch.distributed 的 checkpointing 功能),也就是说,不是每个 GPU 都需要保存完整的模型权重;每个 GPU 只需保存一部分权重 ------ 其余部分可以通过其他 GPU 的分片 checkpoints 来恢复。
Thanks for reading!
Hope you have enjoyed and learned new things from this blog!
About the authors
Soumith Chintala
Cofounded and lead @PyTorch at Meta. Also dabble in robotics at NYU. AI is delicious when it is accessible and open-source.
END
本期互动内容 🍻
❓还记得你第一次配置分布式训练环境时的经历吗?有什么想对新手说的建议?
原文链接:
https://soumith.ch/blog/2024-10-02-training-10k-scale.md.html
微信关注我们
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。
马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。
Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。