资源描述
深度学习技术选型白皮书 (2018年) 中国人工智能产业发展联盟 2018年10月 1 版权声明 本白皮书版权属于中国人工智能产业发展联盟,并受法律保护。转载、摘编或利用其它方式使用本白皮书文字或者观点的,应注明“来源:中国人工智能产业发展联盟”。违反上述声明者,编者将追究其相关法律责任。 2 前 言 人工智能是一种引发诸多领域产生颠覆性变革的前沿技术,当前以机器学习,特别是深度学习为核心,在视觉、语音、自然语言等应用领域迅速发展,已经开始像水电煤一样赋能于各个行业。 深度学习软件框架及相关工具集是人工智能应用落地的重要抓手,是人工智能相关服务及产品的核心。本白皮书专注于以深度学习为核心的软件框架及工具,以实际需求为指引,提出深度学习技术选型考虑及指标,旨在为企业应用深度学习技术开展业务提供参考,同时为以开源框架为技术核心的服务及产品选型评测提供依据。 深度学习技术选型白皮书是中国人工智能产业发展联盟开源开放推进组的研究成果。本白皮书从深度学习训练框架、推断框架及技术生态工具集三个维度系统梳理总结了基于开源的深度学习技术体系,结合企业自身业务开展需求,分析了技术选型因素,提出了选型指标体系,并就软件框架目前存在的问题及技术发展趋势进行了研判。中国人工智能产业发展联盟后续将在此研究基础上继续深入开展相关研究及评估标准制定工作,并继续发布相关研究成果。1 目 录 目 录 . 1 一、 深度学习软件框架发展概述 . 3 (一) 深度学习框架是人工智能产业化落地的核心 . 3 (二) 深度学习框架的分类 . 4 二、 深度学习训练框架技术选型 . 5 (一) 深度学习训练框架应用现状 . 5 1. 深度学习训练框架使用趋同 . 5 2. 产业对训练框架提出新需求 . 9 (二) 训练框架选型考虑 . 10 (三) 产业优秀使用案例 . 14 1. 基于TensorFlow构建大规模应用系统 . 14 2. 基于Keras简洁高效实现智能化运维 . 17 3. 基于PaddlePaddle实现多种业务部署 . 17 4. 基于Caffe满足目标检测实际业务需求 . 18 三、 深度学习推断框架技术选型 . 19 (一) 深度学习推断框架应用现状 . 19 1. 推断框架体系呈现碎片化 . 19 2. 推断框架滞后于实际需求 . 21 (二) 推断框架选型考虑 . 22 (三) 产业优秀使用案例 . 24 1. 面向移动终端的HiAI计算平台 . 25 2. 面向工业的轴承故障推断应用 . 25 3. 企业研发助力推断框架性能显著提升 . 26 四、 深度学习技术生态工具集 . 26 1. 深度学习编译中间件 . 27 2. 数据及模型表示格式 . 28 3. 深度学习可视化工具 . 28 4. 标准模型算法资源库 . 29 2 5. 模型压缩优化工具集 . 29 五、 趋势展望 . 29 六、 合作机构 . 32 中国人工智能产业发展联盟 深度学习技术选型白皮书(2018年) 3 一、 深度学习软件框架发展概述 (一) 深度学习框架是人工智能产业化落地的核心 当前,基于深度学习的人工智能算法主要依托计算机技术体系架构实现,深度学习算法通过封装至软件框架1的方式供开发者使用。软件框架是整个人工智能技术体系的核心,实现对人工智能算法的封装,数据的调用以及计算资源的使用,起到承上启下的重要作用。深度学习软件框架在人工智能技术产业化实现详见图1所示。 图 1基于深度学习的人工智能技术应用架构图21软件框架(software framework),通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。 2该图摘自中国信息通信研究院、中国人工智能产业发展联盟于2018年9月6日联合发布的人工智能发展白皮书-技术架构篇(2018年) 中国人工智能产业发展联盟 深度学习技术选型白皮书(2018年) 4 人工智能基础性算法理论研究已经较为成熟,各大厂商纷纷发力建设算法模型工具库,并将其封装为软件框架供开发者使用。软件框架是算法的工程实现。企业的软件框架实现有闭源和开源两种形式:少数企业选择闭源方式开发软件框架,目的是打造技术壁垒;目前业内主流软件框架基本都是开源化运营。本白皮书主要关注开源软件框架的技术及应用特点,对闭源软件框架不做过多讨论。 (二) 深度学习框架的分类 基于深度学习技术的服务及产品主要涉及到三类软件框架,按照应用场景分为云端训练、云端推断以及端侧推断。不同应用场景任务不同,所需承载的计算及限制条件也存在差异,因此针对各场景计算工具的功能及性能要求均有不同。 云端训练框架主要完成面向海量数据的模型训练任务,对算力要求最高,实际应用中需要采用分布式计算等技术,同时对于工业级模型及稳定性也有特殊要求;云端推断框架主要完成训练模型的优化、云端部署及推断计算等工作,对于效率及并发性等具有特殊要求;终端推断框架主要完成训练模型在终端的部署及计算,由于终端功耗、功能、芯片等众多限制,终端推断框架的性能、能耗及自身优化需满足多种限制性要求。 本白皮书第二章重点对云端训练软件框架技术选型进行分析阐述,第三章重点对基于云端及终端的推断框架技术选型进行对比分析,并分别研提了选型考虑及评价指标体系。 中国人工智能产业发展联盟 深度学习技术选型白皮书(2018年) 5 二、 深度学习训练框架技术选型 (一) 深度学习训练框架应用现状 1. 深度学习训练框架使用趋同 由于深度学习训练框架技术及生态已经趋于成熟,从目前产业界实际使用情况来看,以TensorFlow及Caffe/Caffe2为引领的深度学习训练框架占据了相对主导地位,PaddlePaddle,MXNet,PyTorch,Keras等主流训练框架由于其各自特性也在业务部属中得到了充分使用。 TensorFlow已在各行各业的生产场景中得到了充分的应用,企业选择TensorFlow训练框架主要有以下原因: 一是该框架生态成熟,功能完备。得益于其成熟的生态建设,基于该框架已有众多实用网络结构模型开源可供使用,其模型库(Model Zoo)及开源社区涵盖了几乎所有深度学习算法模型,同时也支持包括概率编程、强化学习在内的多种先进算法,在如目标识别、图像处理、视频分析、自然语言处理、各类数据分析等领域得到广泛应用。同时其基于计算图和低层次OP描述计算,提供了最大程度的灵活度,非常适合作为 “底层”框架使用,在其基础上通过高层封装来支持不同种类的学习算法,如深度学习(Keras)、深度强化学习(Dopamine)、深度概率图模型(Edward)等,并且都具备GPU加速能力,这一点对于希望通过单一框架支持其各类复杂应用的企业来说具备很大的吸引力。 二是该框架容易上手,相对易用。得益于其良好的生态及丰富的社区资源,该框架使用文档及相关教程相对完善,开发人员丰富,已中国人工智能产业发展联盟 深度学习技术选型白皮书(2018年) 6 成为算法工程师主流技能。企业选用该训练框架能够良好匹配开发人员使用习惯,降低业务开发门槛,提升业务开发效率。 三是该框架性能稳定,功能成熟。得益于谷歌公司为主导的技术支持,该框架在处理大规模数据训练时表现稳定,性能优良,具备端到端训练、推理能力。TensorFlow 训练完成后的模型,可以由TensorFlow Lite加载并运行于Android平台之上,对于手机厂商开发端侧智能应用非常方便。同时由于采用该框架底层技术架构的推断芯片市面占比也相对较高,因此从模型训练、模型优化到模型部署的产品线功能相对成熟且完善,能够有效提升企业相关业务的开发及实际部署效率。 四是该框架灵活性高,改进方便。该框架提供的API接口丰富,灵活性高,在算法改进上较为方便,非常适合于企业算法预研及快速实现验证等工作。同时其兼容开源接口,能够以丰富、便捷、高效的品质帮助用户轻松使用深度学习技术,通过灵活调度按需服务化方式提供模型训练、评估与预测。 Caffe/Caffe2 凭借其在计算机视觉领域成熟的生态及技术深耕,成为了企业在计算机视觉领域开展相关业务的首选框架,企业主要考虑如下: 一是训练速度快,性能优异。该框架在图像处理、3D卷积计算等领域性能突出,在计算机视觉领域训练速度相对较快,广泛应用于包括人脸识别、目标跟踪、图像视频内容识别、视频图像分析等领域。 二是支持算法多,生态成熟。该框架在计算机视觉领域拥有深厚中国人工智能产业发展联盟 深度学习技术选型白皮书(2018年) 7 的技术积累,包括企业及学术界在内的基础受众多,同时版本相对稳定,基于Caffe开发的计算机视觉领域模型众多,降低了企业开展业务的门槛,同时该框架能够有效匹配计算机视觉领域专家及工程师使用习惯,相关文档及教程丰富,使用门槛低,能够有效提升企业业务开展效率。 三是扩展功能丰富,使用灵活。基于该框架的开源扩展功能众多,可以支持多机多GPU分布式训练,同时在模型移植方面也有较为成熟的开源模型转换工具,企业在算法研究、算法调参、算法快速产品化等研发阶段可快速进行验证,能够有效满足实际业务的定制化需求。 PaddlePaddle作为我国自主研发并开源的深度学习训练框架,在支撑百度公司内部业务及工业级应用场景中得到了广泛应用,企业选择PaddlePaddle训练框架主要有以下原因: 第一是工业性能优异。在面向海量数据处理的应用场景下,模型参数及特征达到上万亿级别,其工业性能及分布式计算支持为此类业务提供了强有力的支撑,企业在信息流广告点击率预估、粗排模型及大规模稀疏矩阵模型计算等场景方便易用,高效快速,修改少量参数即可运行大规模 embedding模型。 第二是中文支持优异。该框架中文技术文档齐全,对于中文支持较好,内置对应的初步模型,可以直接使用推断函数,提供少量的样本就可以定制化模型。同时框架对于中文问答系统及其文本语义相关模型支持较好,也可以同其他自然语言处理的开源工具配套使用。 第三是易用性优良。依托于百度公司技术研发力量,该框架生态
展开阅读全文