在第二周的Re: Invent大会上,AWS宣布机器学习开发及部署平台SageMaker运用新技术提升平行运算速度,可加速以EC2执行实例(instance)对大型资料集训练模型。
随着机器学习的资料集和模型越来越大、愈来复杂,也让机器学习的训练项目花的时间越来越长,即使以Amazon EC2 p3或p4这类GPU执行实例服务,用公开资料集COCO(Common Objects in Context)来训练高端对象侦测模型,像是Mask RCNN和Faster RCNN也要花上超过6小时。训练自然语言处理模型BERT更得耗时超过100小时。而像一间全球汽车大厂甚至得在EC2 GPU集群上,花好几天来进行更大型的训练项目。
为解决这个问题,Amazon SageMaker现在支持一种资料平行运算函数库,名为SageMaker Data Parallelism(SDP)以缩短分布式训练的时间,并降低成本。目前支持TensorFlow和PyTorch两种框架。
简单而言,资料平行运算,将训练资料集切分成较小的批次,平均分散到所有GPU上处理,每个GPU只训练一小部分资料集,再通过网络连接来协同所有GPU将训练成果集结起来。但是过去的算法在资料集愈大时就会产生网络频颈。SageMaker Data Parallelism实例了改良的分布式运算AllReduce算法,并优化网络通信,也完全利用EC2 p3及p4 GPU执行实例服务的速度。
在re:Invent 2020大会上,AWS机器学习主管Swami Sivasubramanian示范以最新服务来训练T5-3B及Mask-RCNN的效果。T5-3B为一高精确性的自然语言处理模型,有30亿个参数,AWS宣称以256个P4执行实例,使训练时间由好几星期缩短为6天。至于Mask-RCNN,AWS去年在PyTorch和TensorFlow上各花了26及27分钟来训练,而今年则只花了6:45及6:12分钟。
SageMaker Data Parallelism现在已经在各个AWS SageMaker区域上线,现有客户无需付费即可激活。