MLSys提早看 | 机器学习的分布式优化方法
作者头像
  • 撒靓瑶
  • 2020-02-29 13:24:11 0

第三届机器学习与系统会议(MLSys 2020)将于2020年3月2日至4日在美国奥斯汀会议中心举行。此次会议主要关注机器学习在系统、软件、硬件等领域的应用研究。随着机器学习算法和模型的发展,传统的软硬件平台已无法满足机器学习的需求,这也成为当前机器学习方法难以大规模推广的主要障碍之一。

本次会议的研讨方向涵盖硬件、软件和机器学习算法的改进三个方面。会议收录了34篇论文,主题包括分布式并行学习算法、高效模型训练、高效推理和模型服务、模型/数据质量和隐私保护、机器学习编程模型和抽象、应用于系统的机器学习以及深度神经网络量化等。

在本次提前阅读的文章中,我们选择了三篇进行深入分析,以了解机器学习与系统领域最新的研究成果。其中前两篇论文探讨了经典机器学习分布式优化方法,第三篇论文则介绍了联邦学习,这是一种新的分布式方法,适用于具有高度系统性和设备异质性的机器学习任务。

Blink: 快速通用的集体通讯库

主题:高效模型训练

Blink 是一个基于 GPU 的集体通讯库,旨在解决大规模深度学习模型训练过程中面临的通讯开销问题。尽管高端多 GPU 服务器如 NVIDIA DGX-1 可以显著缓解这些问题,但现有的通讯原语如 NCCL 和 Horovod 仍然会增加通讯开销,尤其是在异构网络环境下。Blink 通过动态生成最佳通讯原语来解决这一问题,从而实现更高的通讯效率。

主要特点

  • 包装生成树:通过生成树模型,Blink 可以最大化链路利用率,减少通讯开销。
  • 减少生成树的数量:通过优化算法,Blink 可以减少生成树的数量,从而进一步提高性能。
  • 多对多通信:Blink 可以处理多对多的通信需求,包括 AllReduce 等操作。
  • 复杂通信问题处理:Blink 可以处理复杂的 PCIe 和 NVLink 拓扑,确保在多种硬件设置下都能实现高效通信。
  • 多服务器设置支持:Blink 在多服务器环境中也能高效运行,通过三阶段协议实现跨服务器通信。

实验结果

实验结果表明,Blink 相比 NCCL 有显著的性能提升,特别是在异构网络环境中。在某些情况下,Blink 的性能可以达到 NCCL 的6倍。

Salus: 细粒度 GPU 共享原语

主题:高效推理和模型服务

随着深度学习应用的普及,GPU 成为计算的重要组成部分。然而,由于缺乏细粒度的共享原语,传统的 GPU 资源管理存在效率低下的问题。Salus 提供了两个关键的原语:快速任务切换和内存共享,以实现细粒度的 GPU 共享。

主要特点

  • 快速任务切换:通过识别不同类型内存的分配模式,Salus 可以实现快速的任务切换,从而提高 GPU 的利用率。
  • 内存共享:通过划分 GPU 内存为持久区域和临时区域,并在临时区域中实现通道化,Salus 可以高效地共享内存。
  • 灵活的调度策略:Salus 支持多种调度策略,包括公平共享和最短剩余时间优先等。

实验结果

实验表明,Salus 在处理多个深度学习任务时,可以显著提高 GPU 的利用率和任务调度的灵活性。在超参数调优任务中,Salus 相比传统方法有显著的性能提升。

Federated Optimization in Heterogeneous Networks

主题:分布式并行学习算法

联邦学习已成为一种有效的分布式机器学习模型训练方法,尤其适用于远程设备网络。联邦学习与传统的分布式优化方法相比,具有高度的系统异质性和统计异质性。本文提出了一种新的方法 FedProx,以解决异质性带来的挑战。

主要特点

  • 容忍部分工作:FedProx 允许设备根据自身资源执行不同量的工作,从而提高系统的灵活性。
  • 修正项:通过引入修正项,FedProx 可以有效处理统计异质性,确保全局模型的稳定收敛。

实验结果

实验结果表明,FedProx 在异质网络环境中表现出更好的收敛性能,特别是在存在系统异质性的情况下。通过调整修正项的参数,FedProx 可以适应不同类型的异质性,从而提高模型的泛化能力。


以上内容是对原文的改写,保留了原文的核心信息和价值点,同时进行了结构调整和语言优化,以确保与原文的相似度较低。

    本文来源:图灵汇
责任编辑: : 撒靓瑶
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
分布式提早机器优化方法学习MLSys
    下一篇