要说谁是近几年人工智能这条街上最靓的仔,那莫过于深度学习,特别是“大数据”、“大模型”、“大算力”不绝于耳。随着产业应用对AI模型效果的要求越来越高,数据和参数规模不断增长,分布式训练即使用多台机器共同完成大数据大模型的训练任务,已经成为开发者们必须关注的技术。
各大深度学习框架也都在分布式训练上频频发力,秀肌肉显成效。作为我国首个开源开放、自主研发、功能完备的产业级深度学习平台,飞桨在分布式训练上保持强势输出,不仅具备业内最早支持万亿级稀疏参数模型训练的能力,近期又创新性的提出了4D混合并行策略,以训练千亿级稠密参数模型。
那么,飞桨的分布式训练技术到底有多强呢?
(百度丰富的业务场景)
飞桨的分布式训练技术在对外提供之前就已经在百度内部业务广泛应用,早在2018年飞桨的纯CPU参数服务器模式,就可以支持万亿参数规模模型的训练,来解决搜索推荐场景面临的数据量大、特征维度高且稀疏化的问题。
随着模型网络越来越复杂,对算力要求越来越高,在数据量不变的情况下,CPU计算性能差的弱势便暴露无遗。面对这一问题,飞桨引入了纯GPU参数服务器来提升计算性能,把100台CPU机器才能训练的模型只用1台多卡GPU设备即可完成训练,不仅节约了成本,还保障了集群的稳定性和扩展性。
此次技术升级之后,飞桨“越战越勇”。考虑到在纯GPU的参数服务器下,当模型网络层比较复杂时,GPU 利用率很难被打满,飞桨框架2.0版又创新性地推出了业内首个通用异构参数服务器功能,可以同时使用不同的硬件进行混合异构训练,兼容了多款CPU、AI专用芯片(如百度昆仑XPU)、GPU(如V100、P40、K40),让用户可以在硬件异构集群中部署分布式训练任务,实现对不同算力芯片高效利用,为用户提供更高吞吐、更低资源消耗的训练能力。
(飞桨全景图)
飞桨分布式训练不仅支持参数服务器模式训练万亿级稀疏参数模型,对于NLP 和 CV 这类拥有复杂网络、稠密参数特点的模型训练,也同样得心应手。其优势在百度“语义理解技术与平台文心ERNIE”上大有体现,文心ERNIE采用了分布式训练中的集合通信模式,通过较少节点间的通信轮数完成全局节点的模型参数传输,大大提升通信效率,让同步并行训练的多GPU扩展能力得到极大突破。当前飞桨集合通信模式已经可以支持文心ERNIE 2300亿参数规模的训练,其提出的Sharding-DP策略更是助力文心ERNIE的多项任务分数刷新GLUE榜单。
(飞桨助力文心ERNIE刷新GLUE榜单)
文心ERNIE作为百度在各大榜单刷分霸榜,抢占高地的“利器”,其在性能上的优势得益于飞桨的给力支持。文心ERNIE的千亿级模型计算复杂,训练需占用T级显存资源,想用更少的机器高效训练,必须采取一系列优化措施。飞桨对此创新性地提出了4D混合并行策略,进一步优化训练性能和显存占比,再次走到了技术的前沿。
4D混合并行策略能够结合多种并行策略的优点,将分布式训练技术与业务紧密结合。飞桨研发人员正是通过模型并行策略、分组参数切片组合、流水线并行策略和数据并行策略的多层叠加,发挥合力作用,诞生了业内第一个4D混合并行策略。通过测试验证,如此创新性提出的4D混合并行策略的训练速度的确高于3D混合并行策略,效果也十分明显。
自飞桨设计之初就开始潜心研究分布式训练技术以应对大规模参数模型的训练任务。如今飞桨已经开始研究下一代分布式技术,来同时兼容超大规模稠密参数和稀疏参数模型的训练。
随着产业智能化基础技术底座飞桨输出应用到各行各业的实际业务场景中,在城市、工业、能源、通信等领域发挥了重要价值。相信百度还将在技术上不断创新进步,探索分布式训练技术等的边界,扩展AI赋能的领域,为智能化时代的发展做出贡献。