阿里云 ACK 云原生 AI 套件中的分布式弹性训练实践

如题所述

第1个回答  2024-04-24


在AI的演进历程中,算力的威力不容忽视。阿里云的ACK云原生AI套件中,分布式弹性训练实践是一大亮点,旨在解决大规模训练中的挑战并提升效率。</

分布式训练策略,分为数据并行和模型并行,各有其优势:数据并行针对海量数据瓶颈,模型并行则适用于处理大型模型。Parameter Server架构以异步处理闻名,常用于搜索推广中的高效搜索;而AllReduce架构的同步特性,为计算机视觉(CV)和自然语言处理(NLP)任务提供了稳定的支持。弹性分布式训练(Elastic Training)的核心在于其灵活性,它强调训练规模的可扩展性、过程的容错能力和资源的动态调整,从而提高成功率,优化资源使用,降低成本。


蚂蚁AI团队的开源工具DLRover,如磁针般精准地管理弹性训练。它通过将数据集按Batch Size切割,由Task Data和Dataset Shard Service负责细致的分发和处理。Worker通过这两个服务的待处理队列(TODO和DOING)有序地执行任务。当训练过程中遇到异常,数据会自动回流至待处理队列,等待重新调度。


DLRover在Kubernetes平台上构建了ElasticJob,巧妙地设计了Master创建Parameter Server和Worker Pod的流程,确保弹性训练的无缝进行。AllReduce模式确保了训练的同步性,即使Worker节点故障,也能通过重新建立通信继续任务。Elastic Pytorch和Elastic Horovod则作为Pytorch和Horovod的弹性版,通过monitor实时监控,动态调整Worker数量以适应训练需求。


ACK的云原生AI套件更进一步,提供了Elastic Training Operator,用户只需通过TrainingJob、ScaleIn和ScaleOut简单操作,即可实现Horovod弹性训练的高效管理。他们提出了一种基于Spot实例的弹性训练策略,旨在利用价格优势,降低成本,同时保持训练精度和任务连续性。</

主要目标聚焦于四点:在抢占式实例上实现AI训练的弹性运行,动态调整资源以提升利用率,保持训练结果的稳定,避免任务中断带来的影响。例如,在ResNet和BERT模型的测试中,ACK的弹性训练方案已实现高达92%和81%的成本节省。


在探索的前沿领域,ACK团队正研究DeepSpeed等LLM训练框架下的弹性训练,以期在降低成本的同时,进一步提升训练成功率和资源利用率。这一系列创新实践,使得ACK的云原生AI套件成为AI训练领域的实力派选手。</

相似回答