谷歌DeepMind研究员介绍DiLoCo:一种新颖的分布式,低通信的机器学习算法,用于有效和强韧的大型语言模型训练

谷歌DeepMind研究员介绍 DiLoCo:一种创新的、低通信的分布式机器学习算法,用于高效和稳健的大型语言模型训练

语言模型在现实应用中的能力往往受到使用常规方法(如标准反向传播)进行大规模训练的复杂挑战的限制。Google DeepMind最新的突破性成果DiLoCo(分布式低通信)为语言模型的优化设立了新的先例。在论文“DiLoCo: Distributed Low-Communication Training of Language Models”中,研究团队介绍了一种创新的分布式优化算法,通过在松散连接的设备群集上运行,实现了显著的性能提升,并将通信减少了500倍。

受联合学习原理的启发,研究人员设计了一种变体的广泛认可的联合平均(FedAvg)算法,将其融入了类似于FedOpt算法的元素。DiLoCo巧妙地将AdamW作为内部优化器,并利用Nesterov动量作为外部优化器,构建了一种巧妙的组合,解决了常规训练范式中存在的挑战。

DiLoCo的卓越之处在于其三个基本支柱:

1. 有限的共同位置要求:每个工作者需要共处设备,但所需总数明显较小,从而简化了物流复杂性。

2. 降低通信频率:工作者不再需要在每个步骤上进行通信,而只需在𝐻个步骤的间隔下进行同步,大大降低了通信开销,甚至到几百甚至几千次。

3. 设备异构性:尽管集群内的设备必须是同构的,但DiLoCo允许使用不同类型的设备进行操作,提供了无与伦比的灵活性。

DiLoCo训练过程涉及多次复制预训练模型𝜃(0)。每个工作者独立地在其个体数据分片上训练模型副本,进行𝐻个步骤。随后,工作者平均其外部梯度,并由外部优化器更新全局参数副本𝜃(1),该副本分发回工作者。这个循环过程重复𝑇次,使得每个副本在不同的全局位置上使用各种加速器进行训练。

在对C4数据集进行实际实验时,使用八个工作者的DiLoCo在与完全同步优化相当的性能的同时,将通信减少了惊人的500倍。此外,DiLoCo表现出对工作者之间数据分布变化的异常韧性,并在训练过程中无缝适应资源可用性的变化。

总之,DiLoCo成为一个在多台互相连接较差的机器上分布训练Transformer语言模型的强大而具有变革性的解决方案。这一开创性的方法不仅克服了基础设施挑战,还展示了卓越的性能和适应性,为语言模型优化迈出了重要的一步。

文章来源:Google DeepMind研究人员介绍DiLoCo:一种新型的分布式低通信机器学习算法,用于高效和弹性的大型语言模型训练

发表于:MarkTechPost