新加坡国立大学、浙江大学、网易联合研发分布式大规模深度学习云

2019-05-22 10:35:28

深度学习在过去十年中在各个领域接连取得了令人瞩目的成绩。深度学习的再度兴起主要是由大规模(标记)训练数据,强大的计算能力,新的训练算法和新模型所推动的。现代深度学习模型与30年前的模型之间最显着的区别在于模型的复杂程度。此外,通过运用大数据可以减少模型的过拟合问题;然而,大数据和复杂模型带来了巨大的计算成本,这就需要功能更加强大的计算单元,例如图形处理单元(GPU)。

总结来说,当前的深度学习面临以下四大挑战:

1.超大规模模型训练

作为神经网络中最为重要的参数,每个节点的权重用于计算节点输入值的权重之和。权重的值是神经网络通过梯度下降在训练数据上训练得到的。由于每个权重值需要被训练多次并且神经网络中存在大量需要被训练的权重值,所以整个过程的计算开销是非常大的。有时,深度学习模型的训练可能需要数天才能完成。例如,在Nvidia P100 GPU上用ImageNet数据集训练ResNet-50要花费大约6天的时间。

2.高效智能化推理

经过训练,深度学习模型被部署在各种设备上进行推理。从计算机中心的工作站到移动电话等边缘设备,无论是什么设备,都必须提供高效的推理以达到服务延迟级别目标(SLO)并降低资源消耗,例如电力。复杂的模型通常能够取得更高的准确性,但是计算成本也更高。最先进的计算机视觉和自然语言过程模型都非常庞大。例如,用于图像分类的NasNet模型需要超过20 GFLOP来推断单个图像。用于自然语言处理的BERT模型具有大约1.1亿个权重。如何在不降低精度的情况下,最大限度地提高效率是一个具有挑战性的问题。

3.模型的调优适配问题

包括深度学习在内的机器学习的研究工作通常假设数训练数据与测试数据集分布相同。但是,在实际部署中,新数据的分布和训练数据分布往往不同。因此,模型精度可能会显着下降,这种问题称为数据集偏移。对数据集偏移的简单解决方案是对模型进行微调,即在新数据上训练模型,这称为模型的自适应。大型模型的微调成本对于在线部署来说是不可忽视的,如何有效地调整模型是一个具有挑战性的问题。

4.模型的易用性和通用性

开发深度学习应用程序的生命周期包括多个阶段:数据准备,模型构建,训练,推理和自适应。深度学习模型的实现和调试非常复杂,模型构建和配置需要丰富的深度学习经验。实现分布式训练具有很高的难度,因为需要管理复杂的集群资源,如机器,网络和存储。推理和训练虽然共享模型,但具有不同的工作流程和优化目标。多个模型可以单独训练并将它们一起部署为集合建模,以提高推理准确性。这些问题中的每一个都在使用深度学习方面增加了一定程度的困难,共同构成了大规模采用深度学习的障碍。如何让深度学习易于使用是一个具有挑战性的问题。

针对以上挑战,新加坡国立大学黄铭钧教授团队、浙江大学团队和网易云合作,基于Apache SINGA深度学习框架(Apache SINGA深度学习框架是新加坡国立大学和浙大联合研发的开源项目,成为唯一的Apache基金会资助的深度学习框架,和Tensorflow、 Caffe、Torch等一起评为10个最佳深度学习框架)提供大规模深度学习云服务,着力解决以上四大挑战。

该深度学习云提供了一个简单直观的编程模型,可以让普通用户快速上手。深度学习云的易用性得益于对深度学习模型的抽象,即神经层的堆叠。在云中,用户通过定义和连接不同的神经层形成了神经网络模型之后,特别是当模型的层可以表示成不同节点组成的数据流计算图时,云系统可以自动接管剩余的其他工作,例如模型分割、消息传递和同步。在分布式训练阶段,不同的子图可以在不同的CPU或者GPU上分别训练。在分布式训练和学习中,深度学习云在性能方面比Google的Tensorflow更有优势.

卷积层和全连接层是在深度神经网络模型中最为耗时的操作。因此,深度学习云提出了模型分割技术来降低这两种操作的开销以提升模型的推理性能。除模型分割外,深度学习云还提出了一种自适应模型来降低推理时的开销。该模型会根据不同的输入自适应的调节它自身的模型结构,该模型假设当模型进行推理时,不同的输入具有不同的复杂性。拿图像分类问题为例,一些输入,比如关于球的图片,很容易识别出来;但是,诸如类似食物的图片则会变稍显复杂进而难以识别。所以,需要一个更复杂的模型来处理复杂的输入,一个简单的模型来处理简单的输入。该模型通过添加一个轻量级的副网络扩展了NAS算法,该副网络针对输入来评估(完整的)神经网络中每一层的权重。如果某层的权重很低,这些层可以被忽略。因此,神经网络模型的结构得以自适应输入并且推理效率得到提高。

为了解决标签偏移问题,深度学习云将先前的分类模型进行直接转换,不用重新训练并且自适应测试数据。首先,利用训练和测试数据集的比例向量来评估权重向量。其次,对于来自测试集的每一个实例输入到先前的分类模型中得到预测结果,即一个概率分布向量。最后,对预测结果进行调整,在理论上有最优效果保证并且不会引发额外的计算和存储开销。

深度学习云开发了Rafiki系统来实现机器学习自动化(AutoML)Rafiki已经作为SINGA2.0发布,Rafiki为用户提供模型构建、参数调优、模型训练、推理等服务。用户只需上传他们的数据,配置训练模型即可,最终还可以轻松实现模型部署。作为一个云服务系统,Rafiki将硬件资源管理,故障恢复等功能集于一身,实现度底层存储、通信协议以及计算资源的高效利用。例如,Rafiki可以利用分布式调优技术大幅度提升参数调优性能且性能呈线性增长。

目前,深度学习云在如智慧医疗、智能印花、智慧教育和城市大脑四个典型应用中取得了突出的成果。其用户包括:新加坡国立大学医院、浙江大学邵逸夫医院、宏华数码、网易云、网易考拉、城云科技等公司。

(责任编辑:陈美琪_H8808)