【资料图】
微软研究人员推出了名为ZeRO++的新系统,用于优化训练大型AI模型,以应对高数据传输开销和有限带宽的难题。
ZeRO++ 建立在现有的 ZeRO 优化的基础上,并提供增强的通信策略,以提高训练效率,减少训练时间和成本。
像Turing-NLG、ChatGPT和GPT-4这样的大型模型的训练需要跨多个GPU设备占用大量内存和计算资源。DeepSpeed开发的ZeRO++引入了通信优化策略,以克服在每个GPU上批量大小较小时或在低带宽集群上进行训练时ZeRO的限制。
ZeRO优化系列包括ZeRO-Inference,它使用GPU的集体内存和计算能力,将模型状态分割在多个GPU之间。然而,在训练过程中,ZeRO可能会产生较高的通信开销。ZeRO++通过整合三组通信优化来解决这个问题:量化权重通信(qwZ)、分层权重分割(hpZ)和量化梯度通信(qgZ)。
为了减少参数通信量,ZeRO++对权重进行量化,利用基于块的量化方法来保持训练精度。这种优化的量化过程比基本量化更快更准确。为了在反向传播过程中尽量减少通信开销,ZeRO++通过在每台机器上保持完整的模型副本,以 GPU 内存换取通信。梯度通信方面,ZeRO++引入了一种新的量化梯度通信范式 qgZ,可以减少跨节点的流量和延迟。
这些通信优化大大减少了通信量。与ZeRO相比,ZeRO++实现了减少高达4倍的通信量,提高了训练吞吐量和效率。当在每个GPU上使用小批量大小时,在高带宽集群中,ZeRO++相比ZeRO-3的吞吐量提高了28%至36%。在低带宽集群中,与ZeRO-3相比,ZeRO++实现了平均2倍的加速,使得大模型训练在更多种类的集群上更为可行。
ZeRO++不仅限于训练场景,还可应用于对话模型中使用的人类反馈强化学习(RLHF)训练。通过将ZeRO++与DeepSpeed-Chat集成,RLHF训练可以获得更好的生成和训练吞吐量,生成吞吐量提高了高达2.25倍,训练吞吐量提高了1.26倍,超过了ZeRO。
DeepSpeed已经发布了ZeRO++,以使大型模型的训练在AI社区更加高效和可访问。该系统旨在加快训练速度,减少通信开销,并实现更大的批量大小,从而节省时间和资源。研究人员和实践者可以利用ZeRO++更有效地训练像ChatGPT这样的模型,并在AI领域探索新的可能性。
来源:站长之家
关键词: