盖世汽车讯 据外媒报道,沙特阿拉伯阿卜杜拉国王科技大学(KAUST)的研究人员发现了一种能够显著提升训练速度的方法。通过观察采用大型训练数据库的分布式机器学习中产生结果零的频率,可以显著加快大型机器学习模型的训练速度。
计算机的1和0(图片来源:techxplore.com)
AI模型通过在数据库上进行训练来开发“智能”,而此类数据库都被事先标记好,以告知模型如何区分不同输入信息,然后再做出相应的反应。输入的已标记数据越多,该模型就越擅长完成分配给它的任务。对于自动驾驶汽车等复杂深度学习应用而言,它们需要大量输入的数据库以及很长的训练时间,即使采用了强大且昂贵的高度并行超级计算平台也是如此。
在训练期间,小型的学习任务被分配给数十或数百个计算节点,然后在运行下一个任务之前,这些计算节点会通过通信网络分享结果。在此种并行计算任务中,计算量消耗最大的来源之一是每个模型步骤中计算节点之间的通信。
KAUST的研究人员表示:“在分布式深度学习中,通信是主要的性能瓶颈。随着模型规模的迅速增长,我们还看到在学习过程中产生零值的比例在增加,称为稀疏性。我们的想法是利用此种稀疏性,通过只发送非零数据块来尽可能提高有效带宽的使用效率。”
基于KAUST早期研发的SwitchML方法,即通过在处理数据传输的网络交换机上运行高效的聚合代码来优化节点间的通信,研究人员希望能够通过识别结果零,并研发一种方法,以在不中断并行计算过程中,同步减少传输,而进一步优化该方法。
研究人员表示:“确切地说,如何利用稀疏性来加速分布式训练是一个具有挑战性的问题。所有的节点需要在同一时间内处理同一个位置的数据块,因此我们必须协调节点,以确保只聚合同一个位置的数据块。为了克服这个问题,我们打造了一个聚合程序以协调此类工作者,指导它们接下来发送哪个数据块。”
该团队在一个由一组图形处理单元(GPU)构成的测试台上展示了其OmniReduce方法,并且在典型深度学习任务中速度加快了7倍。