随着人工智能的火热,目前开源出来的深度学习框架非常多,如Caffe、、MXNet、Torch等等。框架众多,如何选择?选择一种框架还是多种组合?针对不同的场景或者模型需要选择什么样的框架?面对多大数据量需要选择多机并行的框架?这些我们针对深度学习框架所面临的挑战,难免会让很多人犯难。
近期,浪潮与美国某知名的互联网公司开展联合测试,对主流的深度学习框架做了一个测评。把三个主流的框架Caffe、和MXNet部署到浪潮SR-AI整机柜服务器平台上(配置16块GPU卡),采用数据集,测试和两种典型网络。
图:浪潮联合美国某知名的互联网公司对主流深度学习框架的测试结果
从测试结果来看,当运行网络时,Caffe性能最好,每秒可以训练图片张数达到4675张,16个GPU比单个GPU的加速比达到14倍。其次是MXNet,最后是。
当运行时,MXNet性能最好,每秒可以训练的图片张数达到2462张,16个GPU比单个GPU的加速比达到12.7倍。其次是Caffe,最后是。
从这个评测来看,基于不同的网络,所选择最优的框架是不一样的。
基本上可以有大致的一个原则来选择:我们会根据不同的场景和模型来选择至少一种深度学习框架,目前很难说一种框架能在所有的应用场景中表现最优。
如果是图像方面的应用,主要采用Caffe、和MXNET这三种框架;如果是语音的话,可以选择CNTK;自然语言处理的话可以采用。
针对大数据量的训练,采用单机训练的话时间会很长,有可能是几周或几个月训练出一个模型,需要采用分布式框架。浪潮自研的深度学习框架Caffe-MPI,就实现了多机多GPU卡的并行训练。通过实际测试,Caffe-MPI采用16个GPU卡同时训练时,每秒处理效率达到3061张,较单卡性能提升13倍,扩展效率达到81%,性能将近是的2倍。
目前,浪潮Caffe-MPI框架目前已在开源,提供免费下载使用。与此同时,浪潮还推出AI管理软件,可以提供从数据准备到分析训练结果的完整深度学习业务流程,支持Caffe、、CNTK等多种计算框架和、VGG、等多种模型。支持对训练过程实时监控并可视化训练过程,支持打印每一步的损失函数值的日志、训练误差或测试误差等;支持动态分配GPU资源实现资源合理共享,实现了“一键式”部署深度学习计算环境、快速启动训练任务;还可以实时监控集群的使用情况,合理安排训练任务,可及时发现运行中的问题,提高集群的可靠性。
图:浪潮AI管理软件
除此以外,浪潮还可提供天眼高性能应用特征监控分析系统,量化超算软件特征,提取和记录应用软件在高性能计算机运行过程中实时产生的CPU、内存、磁盘、网络等系统信息和微架构信息,及时帮助使用者找到系统瓶颈,并能准确地分析出程序开发者的应用软件特征,帮助用户合理的划分集群使用资源、提高使用效率。
有了强劲的AI计算平台、适合的开发框架、高效的AI管理监控软件,一个AI基础平台就基本构建完成,剩下的就是靠优化的算法把你所拥有的数据,转化成更有价值的资源。