丨目录:
· 搜推广增量迭代挑战
· GBA的诞生
· GBA的收敛性分析
· GBA工程实现
· GBA实验效果
· 未来展望
近日,阿里巴巴在国际顶级机器学习会议NeurIPS 2022上发表了新的自研训练模式Gloabl Batch gradients Aggregation GBA(论文链接:https://arxiv.org/abs/2205.11048),由阿里妈妈事业部搜索广告团队和智能引擎事业部XDL训练引擎团队联合探索和研发。GBA的提出对阿里巴巴搜推广稀疏模型的训练范式带来了架构性的跨越式升级。本文将从GBA的设计思路、收敛性分析及工程实现等方面展开介绍,欢迎阅读交流。
在过去一段时间内,高性能同步训练架构在阿里巴巴稀疏场景的全面落地,解决了稀疏场景无法充分利用GPU,以及缺乏高效的同步训练方案两个“硬骨头”。从资源性能角度,使得不同场景的深度学习任务训练加速比(每天训练样本日期数量)提高5~10倍,并利用GPU带来3~5倍的成本优势,节省训练开销可达每年千万量级;从业务效果角度,同步训练模式优化给部分广告业务带来了CTR指标百分位的提升。在这个时间点,GBA通过对同步和异步训练自由切换的技术突破,使得低配集群的资源也充分利用起来。GBA算法使得高性能资源和普通资源具有通用性,使业务在高性能资源紧张的环境下,也可以不断享受GPU算力提升的红利,是深度学习帮助业务持续发展的重要基石。更进一步,GBA基于阿里巴巴统一资源池资源混部的环境,为所有推荐系统业务用好云打下基础。目前,GBA/同步切换这种新的训练范式已经普遍应用到阿里妈妈广告模型的迭代中,并开始在全集团推广。
▐ 搜推广增量迭代挑战
搜推广模型既需要高训练加速比回追数据的能力,也需要高并行的定性实验和日常增量训练的能力。主流搜推广稀疏大模型通常采用异步或同步的训练模式。在异步训练中,训练通常采用PS(Parameter server)架构并以高并发的方式执行,每个计算节点所需的资源量不大,可以利用阿里巴巴内部混部策略下的海量资源,适合定性实验和日常增量训练。同步训练一般采用AllReduce架构,参数直接放置在计算节点上并在节点间通过集合通讯方式进行交换。在高性能集群中,同步模式能够充分用满计算、通信硬件资源,进而获得更高的训练性能表现,理论上可以远高于同等成本下的异步训练任务。
在过去两年间,XDL训练引擎推出的HPC(High-performance computing)同步训练已经在阿里巴巴内部搜索、推荐、广告业务上得到了大量的推广,相关开源训练框架HybridBackend也受到了业界广泛的关注。但是基于搜推广模型迭代特点,以及当前资源现状,既要有HPC模式的高训练加速比,也需要有日常实验迭代的高并发实验能力。如何实现同步和异步训练的自由切换,可以充分利用HPC高性能资源以及海量混部资源,成为提高迭代效率的重要问题。并且为了避免模型迭代过程中浪费时间和浪费资源的调参,以及保证模型效果稳定,对于训练模式的切换需要做到以下几点:
【效果】同步模式切换异步模式后效果不变,获得同步训练的效果;
【性能】在混部的不稳定的资源环境下,同步模式切换异步模式后,获得异步训练资源利用效率;
【鲁棒性】无需切换优化器,无需调节优化器等一系列超参;