人工智能模型训练中的加速芯片调度效果优化实践

2020-07-06 03:39张致江吴婷于振华潘青华
中国新通信 2020年3期
关键词:人工智能

张致江 吴婷 于振华 潘青华

摘要:针对研究和生产中模型训练集群中异构、同构的NPU调度效率问题,提出4种调度策略;经过在科大讯飞实际生产实践,可以有效提高调度效果,提升NPU资源的利用率。

关键词:人工智能;NPU;并行策略

引言

自 1956 年人工智能概念被提出之后,人工智能技术因算法收敛、计算机计算力的问题,经历几次波峰波谷式迭代发展。近几年经过不同领域科学家的坚持研究,如 BP 算法提出、高性能计算芯片的研发成功,促进了人工智能技术飞速发展。现在,人工智能技术在语音语言、图像视频、自然语言理解等方向上有重大突破,并在医疗、教育、工业制造等领域取得了显著的成绩。

人工智能技术是模型驱动型技术,利用模型和输入的参数进行计算从而实现语音语言、图像视频、自然语言理解的任务。在研究和生产实践过程中,有两个重要的过程;其一、进行人工智能模型的训练,其二、使用模型进行生产实践。训练过程需要很大的计算量,常规的CPU难以高效率的完成训练任务,例如1万小时的语音数据训练如果使用一颗常规的CPU需要1个月时间;为此,学术界和工业界都是使用专门的加速芯片(统称NPU)进行模型的计算训练;1万小时的语音数据训练,使用专用的GPU进行计算,只需要半天时间。所以,使用NPU进行模型训练是必须的选择。在大规模的研究和生产实践中,提升加速芯片调度效率非常重要。

一、同构加速芯片调度优化

(一)同构芯片

如图中所示,模型训练程序面向加速芯片的运行时驱动进行编程;运行时驱动调用物理芯片进行实际计算。随着物理芯片工艺制程提升以及芯片微架构的演进,芯片厂商在不同阶段会生产出使用方式不同的物理芯片。运行时驱动可以屏蔽不同时期的芯片的使用方式的差异。使用统一运行时API的不同物理芯片称为同构芯片,如Nvidia公司的Tesla K40、Tesla M40、Tesla P40、Tesla V100等;对于同构芯片,可以使用同一套代码编译的程序。

(二)调度策略

策略一,按照任务需要芯片数量分组。因服务器制造工艺的水平,现在一台服务器有支持4颗NPU、8颗NPU两种规格;考虑到计算与传输平衡的问题,训练有使用1颗NPU进行计算的单芯片程序,有使用4颗、8颗、16颗NPU进行计算的多芯片程序。本文提出按照单芯片程序和多芯片程序的应用场景,将NPU集群中的服务器分成两个组即单芯片程序运行组和多芯片程序运行组。同时,规范单芯片程序只能运行在单芯片程序运行组中。

策略二,常规和预留分组策略。在实际研究和生产过程中,研究和生产活动有轻重缓急;人工智能训练任务是数据密集型任务,一次训练需要很长的时间进行训练。如果不能处理好紧急任务和常规任务,那么紧急任务的需求很难满足。在这种情况下,设置常规运行组和预留应急运行组,以满足不同紧急度的任务需求。

二、异构加速芯片联合调度优化

(一)并行计算

着研究和生产推进,人工智能模型训练的数据越来越多、模型结构越来越复杂,导致计算量越来越大,单芯片很难满足研究和生产的需要。为了加快计算时间,提升研究和生产的效率,采用并行计算策略非常重要。并行计算策略有2种具体的方案,即数据并行和模型并行。数据并行即将训练数据分布在不同的NPU上计算,最后汇总不同NPU上的模型计算结果;模型并行即将模型计算的不同部分分布在不同的NPU上进行计算,最后直接输出计算好的模型。

(二)调度优化

其一,异构芯片各自计算不同数据。训练服务器集群在建设的过程中,会存在不同厂商的NPU芯片的情况。如图1所示,训练程序针对不同厂商的运行时驱动进行适配编译,即可运行在不同的厂商的硬件芯片上。这种情况下,可以采用数据并行的策略。需要注意两点:第一,不同芯片运行的程序的二进制文件不同,注意做好调度;其二,不同芯片计算性能不同,注意针对不同的芯片分配不同的计算数据。

其二,异构芯片分别计算模型不同部分。随着研究的深入,人工智能模型结构越来越复杂、模型的规模越来越大;NPU芯片因“加速性能-存储性能”的平衡考虑,NPU集成存储的可用空间有时不能满足实际研究和生产的需要。这种情况下,可以将模型的不同计算部分拆分成不同的计算程序运行在不同的计算部件上。如,在自然语言理解的模型上,大部分情况下模型最后一层参数非常庞大,这一层存储在内存中,使用CPU进行计算;即,使用CPU和NPU协同进行模型的计算。

三、结语

人工智能實际应用给社会带了翻天覆地的变化;可被采集的大规模有效数据和高性能的计算芯片出现,推动了人工智能技术的演进。与此同时,带了实际研究和生产中计算资源调度复杂度的挑战。本文阐述了在同构、异构的NPU场景下,不同复杂度的模型训练任务的调度优化策略;经过在科大讯飞公司的实际实践,能提升实际研究和生产的计算资源的综合使用效率。

猜你喜欢
人工智能
人工智能AI
人工智能
人工智能之父
2019:人工智能
人工智能
人工智能与就业
China’s Artificial Intelligence Revolution
数读人工智能
人工智能时代,就业何去何从
下一幕,人工智能!