近年来深度学习在很多机器学习领域都有着非常出色的表现,在图像识别、语音识别、自然语言处理、机器人、网络广告投放、医学自动诊断和金融等领域有着广泛应用。面对繁多的应用场景,深度学习框架有助于建模者节省大量而繁琐的外围工作,更聚焦业务场景和模型设计本身。
使用深度学习框架完成模型构建有如下两个优势:
深度学习框架的本质是框架自动实现建模过程中相对通用的模块,建模者只实现模型个性化的部分,这样可以在“节省投入”和“产出强大”之间达到一个平衡。我们想象一下:假设你是一个深度学习框架的创造者,你期望让框架实现哪些功能呢?
相信对神经网络模型有所了解的读者都会得出如 表1 所示的设计思路。在构建模型的过程中,每一步所需要完成的任务均可以拆分成个性化和通用化两个部分。
表1:深度学习框架设计示意图
无论是计算机视觉任务还是自然语言处理任务,使用的深度学习模型结构都是类似的,只是在每个环节指定的实现算法不同。因此,多数情况下,算法实现只是相对有限的一些选择,如常见的Loss函数不超过十种、常用的网络配置也就十几种、常用优化算法不超过五种等等。这些特性使得基于框架建模更像一个编写“模型配置”的过程。
百度出品的深度学习平台飞桨(PaddlePaddle)是主流深度学习框架中一款完全国产化的产品,与Google TensorFlow、Facebook Pytorch齐名。2016 年飞桨正式开源,是国内首个全面开源开放、技术领先、功能完备的产业级深度学习平台。相比国内其他平台,飞桨是一个功能完整的深度学习平台,也是唯一成熟稳定、具备大规模推广条件的深度学习平台。
飞桨源于产业实践,始终致力于与产业深入融合,与合作伙伴一起帮助越来越多的行业完成AI赋能。目前飞桨已广泛应用于医疗、金融、工业、农业、服务业等领域,如 图1 所示。此外在新冠疫情期间,飞桨积极投入各类疫情防护模型的开发,开源了业界首个口罩人脸检测及分类模型,辅助各部门进行疫情防护,通过科技让工作变得更加高效。
图1:飞桨在各领域的应用
飞桨以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心框架、基础模型库、端到端开发套件、工具组件和服务平台于一体,为用户提供了多样化的配套服务产品,助力深度学习技术的应用落地,如 图2 所示。飞桨支持本地和云端两种开发和部署模式,用户可以根据业务需求灵活选择。
图2:飞桨PaddlePaddle组件使用场景 概览
概览图上半部分是从开发、训练到部署的全流程工具,下半部分是预训练模型、各领域的开发套件和模型库等模型资源。
飞桨在提供用于模型研发的基础框架外,还推出了一系列的工具组件,来支持深度学习模型从训练到部署的全流程。
1. 模型训练组件
飞桨提供了分布式训练框架FleetAPI,还提供了开启云上分布式训练的便捷工具PPoC。同时,飞桨也支持多任务训练,可使用多任务学习框架PALM。
2. 模型部署组件
飞桨针对不同硬件环境,提供了丰富的支持方案:
3. 其他全研发流程的辅助工具
飞桨提供了丰富的端到端开发套件、预训练模型和模型库。
PaddleHub:预训练模型管理和迁移学习组件,提供100+预训练模型,覆盖自然语言处理、计算机视觉、语音、推荐四大领域。模型即软件,通过Python API或者命令行工具,一行代码完成预训练模型的预测。结合Fine-tune API,10行代码完成迁移学习,是进行原型验证(POC)的首选工具。
开发套件:针对具体的应用场景提供了全套的研发工具,例如在图像检测场景不仅提供了预训练模型,还提供了数据增强等工具。开发套件也覆盖计算机视觉、自然语言处理、语音、推荐这些主流领域,甚至还包括图神经网络和增强学习。与PaddleHub不同,开发套件可以提供一个领域极致优化(State Of The Art)的实现方案,曾有国内团队使用飞桨的开发套件拿下了国际建模竞赛的大奖。一些典型的开发套件包括:
模型库:包含了各领域丰富的开源模型代码,不仅可以直接运行模型,还可以根据应用场景的需要修改原始模型代码,得到全新的模型实现。
比较三种类型的模型资源,PaddleHub的使用最为简易,模型库的可定制性最强且覆盖领域最广泛。读者可以参考“Paddle Hub->各领域的开发套件->模型库”的顺序寻找需要的模型资源,在此基础上根据业务需求进行优化,即可达到事半功倍的效果。
在上述概览图之外,飞桨还提供云端模型开发和部署的平台,可实现数据保存在云端,提供可视化GUI界面,安全高效。
与其他深度学习框架相比,飞桨具有如下四大领先优势,如 图3 所示。
图3:飞桨领先的四大技术优势
大量工业实践任务的模型并不需要从头编写,而是在相对标准化的模型基础上进行参数调整和优化。飞桨支持的多领域产业级模型开源开放,且多数模型的效果达到业界领先水平,在国际竞赛中夺得20多项第一,如 图4 所示。
图4:飞桨各领域模型在国际竞赛中荣获多个第一
随着深度学习技术在行业的广泛应用,对不同类型硬件设备、不同部署模型、不同操作系统、不同深度学习框架的适配需求涌现,飞桨的适配情况如 图5 所示。
图5:飞桨对周边产品的适配情况
训练好的模型需要无缝集成到各种类型的硬件芯片中,如机房服务器、摄像头芯片等。在中美贸易战时日趋紧张的情况下,训练框架对国产芯片的支持显得尤其重要。飞桨走在了业界前列,提供了专门的端侧模型部署工具Paddle Lite。Paddle Lite适配的硬件芯片,以及由Paddle Lite转换的模型与其它主流框架在性能上的优势对比如 图6 所示。
图6:飞桨对众多类型计算资源的支持,并在运算性能上优于其他的主流框架
飞桨在各行业的广泛应用,不但让人们的日常生活变得更加简单和便捷,对企业而言,飞桨还助力产品研发过程更加科学,极大提升了产品性能,节约了大量的人工耗时成本。
在百度,搜索、信息流、输入法、地图等移动互联网产品中大量使用飞桨做深度学习任务。在百度地图,应用飞桨后提升了产品的部署和预测性能,支撑天级别的百亿次调用。完成了天级别的百亿级数据训练,用户出行时间预估的准确率从81%提升到86%,如 图7 所示。
图7:百度地图出行时间智能预估应用
飞桨与南方电网合作,采用机器人代替人工进行变电站仪表的巡检任务,如 图8 所示。由于南方电网的变电站数量众多,日常巡检常态化,而人工巡检工作内容单调,人力投入大,巡检效率低。集成了基于飞桨研发的视觉识别能力的机器人,识别表数值的准确率高达99.01%。在本次合作中,飞桨提供了端到端的开发套件支撑需求的快速实现,降低了企业对人工智能领域人才的依赖。
图8:南方电网电力智能巡检应用