近年来,深度学习在很多机器学习任务中都有着非常出色的表现,在图像识别、语音识别、自然语言处理、机器人、网络广告投放、医学自动诊断和金融等领域都有着广泛应用。面对繁多的应用场景,深度学习框架有助于建模者聚焦业务场景和模型设计本身,省去大量而繁琐的代码编写工作,其优势主要表现在如下两个方面:
写到这里,作为一名在人工智能领域深耕多年的从业者,笔者不禁要感叹深度学习框架的出现对AI行业的影响。深度学习框架的出现,加速了AI产业应用的步伐,但同时研发工程师的“好日子”也一去不复返了!10年前,研发一个解决业务问题的神经网络模型,需要使用C++语言逐行代码完整的实现从前向计算到梯度下降的计算逻辑,一个深层神经网络模型往往需要几百到上千行的代码。但为什么说是“好日子”呢?因为研发模型的项目是按照季度排期,工程师至少需要12周的时间完成模型的研发。但今天,基于飞桨深度学习框架和产业级模型库,模型应用的研发周期被缩短到3~5天,即当周确定需求,当周完成模型的研发和上线。效率的巨大提升也带来了工作节奏的加快,可以说是工具带给人类美好生活之外的一种无奈吧!
深度学习框架的本质是自动实现建模过程中相对通用的模块,建模者只实现模型中个性化的部分,这样可以在“节省投入”和“产出强大”之间达到一个平衡。想象一下:假设你是一个深度学习框架的创造者,你期望让框架实现哪些功能呢?
相信对神经网络模型有所了解的读者都会得出如表1的设计思路,在构建模型的过程中,每一步所需要完成的任务均可以拆分成个性化和通用化两个部分。
表1:深度学习框架设计示意图
无论是计算机视觉任务还是自然语言处理任务,使用的深度学习模型代码结构是类似的,只是在每个环节指定的计算单元不同。因此,多数情况下,计算单元只是相对有限的一些选择,如常见的损失函数不超过10种、常用的网络配置也就十几种、常用优化算法不超过五种等等,这些特性使得基于框架建模更像一个编写“模型配置”的过程。
飞桨(PaddlePaddle)是百度自主研发的中国首个开源开放、功能丰富的产业级深度学习平台,以百度多年的深度学习技术研究和业务应用为基础。飞桨深度学习平台集核心框架、基础模型库、端到端开发套件、丰富的工具组件于一体,于2016年正式开源,是主流深度学习框架中一款完全国产化的产品。相比国内其他产品,飞桨是一个功能完整的深度学习平台,也是唯一成熟稳定、具备大规模推广条件的深度学习开源开放平台。根据国际权威调查机构IDC报告显示,2021年飞桨已位居中国深度学习平台市场综合份额第一。
目前,飞桨已凝聚535万开发者,基于飞桨创建67万个模型,服务20万家企事业单位。飞桨助力开发者快速实现AI想法,创新AI应用,作为基础平台支撑越来越多行业实现产业智能化升级,并已广泛应用于智慧城市、智能制造、智慧金融、泛交通、泛互联网、智慧农业等领域,如图1所示。
图1:飞桨在各领域的应用
飞桨产业级深度学习开源开放平台包含核心框架、基础模型库、端到端开发套件与工具组件几个部分,各组件使用场景如图图2所示。
图2:飞桨开源组件使用场景概览
概览图上半部分是从开发、训练到部署的全流程工具;下半部分是预训练模型、封装工具、各领域的开发套件和模型库等模型资源,支持深度学习模型从训练到部署的全流程。
飞桨核心框架支持用户完成基础的模型编写和单机训练功能。除核心框架之外,飞桨还提供了分布式训练框架FleetAPI、云上任务提交工具PaddleCloud和多任务学习框架PALM。
针对不同硬件环境,飞桨提供了丰富的支持方案:
(1)FastDeploy:AI推理部署套件,面向AI模型产业落地,支持40多个主流的AI模型在8大类常见硬件上的部署能力,帮助开发者简单几步即可完成AI模型在对应硬件上的部署。
(2)Paddle Inference:飞桨原生推理库,用于服务器端模型部署,支持Python、C、C++、Go等语言,可将模型融入业务系统。
(3)Paddle Lite:飞桨轻量化推理引擎,用于Mobile、IoT等场景的部署,有着广泛的硬件支持。
(4)Paddle.js:使用JavaScript(Web)语言部署模型,用于在浏览器、小程序等环境快速部署模型。
(5)PaddleSlim:模型压缩工具,获得更小体积的模型和更快的执行性能,通常在模型部署前使用。
(6)X2Paddle:飞桨模型转换工具,将其他框架模型转换成飞桨模型,转换格式后可以方便的使用第(1)~第(5)个工具。
通过低代码形式,支持企业POC快速验证、快速实现深度学习算法开发及产业部署。
人工智能产业应用时常面临四大难点:1)很难找到合适的开源模型;2)模型不适用产业场景;3)模型优化成本高;4)部署时问题频发。
针对工程师在AI产业落地时面临的四大难题,飞桨提出了产业级开源模型库方案:支持500+个精选算法和预训练模型,全面覆盖深度学习主流应用领域,如计算机视觉、语音、自然语言处理、大模型、推荐、强化学习等;支持23个特色的PP系列模型,满足对模型精度和推理速度都有较高要求的产业应用场景;支持端到端的AI开发套件,开发者只需要修改配置文件,而不需要修改代码,即可实现各种优化策略;提供训推一体的全链条功能支持,保障飞桨模型在多种多样的应用场景中可以高效、稳定、可靠的训练和部署。
比较如上飞桨提供的工具和开发套件,PaddleHub的使用最为简易,二次研发模型源代码的灵活性最好。读者可以参考“使用PaddleHub->基于配置文件使用各领域的开发套件->二次研发原始模型代码”的顺序来使用飞桨,并在此基础上根据业务需求进行优化,即可达到事半功倍的效果。
更多【paddlepaddle-《零基础实践深度学习》1.4.1飞桨产业级深度学习开源开放平台介绍】相关视频教程:www.yxfzedu.com