上云无忧 > 文档中心 > 第一章:零基础入门深度学习(下) - 飞桨产业级深度学习开源开放平台介绍
飞桨PaddlePaddle开源深度学习平台
第一章:零基础入门深度学习(下) - 飞桨产业级深度学习开源开放平台介绍

文档简介:
1. 深度学习框架: 近年来,深度学习在很多机器学习任务中都有着非常出色的表现,在图像识别、语音识别、自然语言处理、机器人、网络广告投放、医学自动诊断和金融等领域都有着广泛应用。面对繁多的应用场景,深度学习框架有助于建模者聚焦业务场景和模型设计本身,省去大量而繁琐的代码编写工作,其优势主要表现在如下两个方面:
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

1. 深度学习框架

近年来,深度学习在很多机器学习任务中都有着非常出色的表现,在图像识别、语音识别、自然语言处理、机器人、网络广告投放、医学自动诊断和金融等领域都有着广泛应用。面对繁多的应用场景,深度学习框架有助于建模者聚焦业务场景和模型设计本身,省去大量而繁琐的代码编写工作,其优势主要表现在如下两个方面:

  • 节省编写大量底层代码的精力:深度学习框架屏蔽了底层实现,用户只需关注模型的逻辑结构,同时简化了计算逻辑,降低了深度学习入门门槛;
  • 省去了部署和适配环境的烦恼:深度学习框架具备灵活的移植性,可将代码部署到CPU、GPU或移动端上,选择具有分布式性能的深度学习框架会使模型训练更高效。

2. 深度学习框架设计思想

深度学习框架的本质是自动实现建模过程中相对通用的模块,建模者只实现模型中个性化的部分,这样可以在“节省投入”和“产出强大”之间达到一个平衡。想象一下:假设你是一个深度学习框架的创造者,你期望让框架实现哪些功能呢?

相信对神经网络模型有所了解的读者都会得出如 表1 的设计思路,在构建模型的过程中,每一步所需要完成的任务均可以拆分成个性化和通用化两个部分。

  • 个性化部分:往往是指定模型由哪些逻辑元素组合,由建模者完成;
  • 通用部分:聚焦这些元素的算法实现,由深度学习框架完成。

表1:深度学习框架设计示意图


无论是计算机视觉任务还是自然语言处理任务,使用的深度学习模型结构都是类似的,只是在每个环节指定的实现算法不同。因此,多数情况下,算法实现只是相对有限的一些选择,如常见的Loss函数不超过十种、常用的网络配置也就十几种、常用优化算法不超过五种等等,这些特性使得基于框架建模更像一个编写“模型配置”的过程。

3. 飞桨产业级深度学习开源开放平台

飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心训练和推理框架、基础模型库、端到端开发套件、丰富的工具组件于一体,是中国首个自主研发、功能丰富、开源开放的产业级深度学习平台。飞桨于2016 年正式开源,是主流深度学习框架中一款完全国产化的产品。相比国内其他产品,飞桨是一个功能完整的深度学习平台,也是唯一成熟稳定、具备大规模推广条件的深度学习开源开放平台。根据国际权威调查机构IDC报告显示,2021年飞桨已位居中国深度学习平台市场综合份额第一。

目前,飞桨已凝聚477万开发者,基于飞桨开源深度学习平台创建56万个模型,服务了18万家企事业单位。飞桨助力开发者快速实现AI想法,创新AI应用,作为基础平台支撑越来越多行业实现产业智能化升级,并已广泛应用于智慧城市、智能制造、智慧金融、泛交通、泛互联网、智慧农业等领域,如 图1 所示。


图1:飞桨在各领域的应用


飞桨产业级深度学习开源开放平台包含核心框架、基础模型库、端到端开发套件与工具组件几个部分,各组件使用场景如 图2 所示。


图2:飞桨开源组件使用场景概览


概览图上半部分是从开发、训练到部署的全流程工具;下半部分是预训练模型、封装工具、各领域的开发套件和模型库等模型资源,支持深度学习模型从训练到部署的全流程。

  • 模型开发和训练组件

飞桨核心框架Paddle支持用户完成基础的模型编写和单机训练功能。除核心框架之外,飞桨还提供了分布式训练框架FleetAPI云上任务提交工具PaddleCloud多任务学习框架PALM

  • 模型部署组件

针对不同硬件环境,飞桨提供了丰富的支持方案:

  • FastDeploy:FastDeploy面向AI模型产业落地,帮助开发者简单几步即可完成AI模型在对应硬件上的部署,降低部署难度、压缩部署时间成本。支持40多个主流的AI模型在8大类常见硬件上的部署能力。

  • Paddle Inference:飞桨原生推理库,用于服务器端模型部署,支持Python、C、C++、Go等语言,可将模型融入业务系统。

  • Paddle Serving:飞桨服务化部署框架,用于云端服务化部署,可将模型作为单独的Web服务。

  • Paddle Lite:飞桨轻量化推理引擎,用于Mobile、IoT等场景的部署,有着广泛的硬件支持。

  • Paddle.js:使用JavaScript(Web)语言部署模型,用于在浏览器、小程序等环境快速部署模型。

  • PaddleSlim:模型压缩工具,获得更小体积的模型和更快的执行性能,通常在模型部署前使用。

  • X2Paddle:飞桨模型转换工具,将其他框架模型转换成Paddle模型,转换格式后可以方便的使用上述5个工具。

  • 其他全研发流程的辅助工具组件

  • AutoDL:飞桨自动化深度学习工具,自动搜索最优的网络结构与超参数,实现网络结构设计。免去用户在诸多网络结构中选择困难的烦恼和人工调参的繁琐工作。

  • VisualDL:飞桨可视化分析工具,以丰富的图表呈现训练参数变化趋势、模型结构、数据样本、高维数据分布、精度召回曲线等模型关键信息,帮助用户清晰直观地理解深度学习模型训练过程及模型结构,启发优化思路。

  • PaddleFL:飞桨联邦学习框架,通过PaddleFL复制和比较不同的联邦学习算法,实现大规模分布式集群部署,并且提供丰富的横向和纵向联邦学习策略及其在计算机视觉、自然语言处理、推荐算法等领域的应用。

  • 产业级开源模型库

飞桨提供了产业级开源模型库,覆盖计算机视觉(PaddleCV)、自然语言处理(PaddleNLP)、推荐(PaddleRec)、语音(PaddleSpeech)四大应用领域,包含经过产业实践长期打磨的主流模型以及在国际竞赛中的夺冠模型。同时,飞桨将主流模型按照领域组织成端到端开发套件,助力快速的产业应用。

1)预训练模型和封装工具:通过低代码形式,支持企业POC快速验证、快速实现深度学习算法开发及产业部署。

  • PaddleHub:飞桨预训练模型应用工具,提供超过350个预训练模型,覆盖文本、图像、视频、语音四大领域。模型即软件,通过Python API或者命令行工具,一行代码完成预训练模型的预测。结合Fine-tune API,10行代码完成迁移学习,是进行原型验证(POC)的首选。

  • PaddleX:飞桨全流程开发工具,以低代码的形式支持开发者快速实现深度学习算法开发及产业部署。提供极简Python API和可视化界面Demo两种开发模式,可一键安装。提供CPU、GPU、树莓派等通用硬件高性能部署方案,并通过Maufacture SDK支持用户流程化串联部署任务,极大降低部署成本。

2)开发套件:针对具体的应用场景提供了全套的研发工具,例如:在图像检测场景不仅提供了预训练模型,还提供了数据增强等工具。开发套件覆盖计算机视觉、自然语言处理、语音、推荐四大主流领域,甚至还包括图神经网络和增强学习。开发套件可以提供一个领域极致优化(State Of The Art)的实现方案,曾有国内团队使用飞桨的开发套件获得了国际建模竞赛的大奖。

  • PaddleClas:飞桨图像分类开发套件,提供通用图像识别系统PP-ShiTu,可高效实现高精度车辆、商品等多种识别任务;同时提供37个系列213个高性能图像分类预训练模型,其中包括10万分类预训练模型、PP-LCNet等明星模型;以及SSLD知识蒸馏等先进算法优化策略,可被广泛应用于高阶视觉任务,辅助产业及科研领域快速解决多类别、高相似度、小样本等业界难点。
  • PaddleDetection:飞桨目标检测开发套件,内置190个主流目标检测、实例分割、跟踪、关键点检测算法,其中包括服务器端和移动端产业级SOTA模型、冠军方案和学术前沿算法,并提供配置化的网络模块组件、十余种数据增强策略和损失函数等高阶优化支持和多种部署方案,在打通数据处理、模型开发、训练、压缩、部署全流程的基础上,提供丰富的案例及教程,加速算法产业落地应用。
  • PaddleSeg:飞桨图像分割套件PaddleSeg,提供语义分割、交互式分割、全景分割、Matting四大图像分割能力,涵盖30+主流分割网络,80+高质量预训练模型。通过模块化的设计,提供了配置化驱动和API调用等两种应用方式,帮助开发者更便捷地完成从训练到部署的全流程图像分割应用,被广泛应用在自动驾驶、遥感、医疗、质检、巡检、互联网娱乐等行业。
  • PaddleOCR: 飞桨文字识别开发套件,旨在打造一套丰富、领先且实用的OCR工具库,开源了基于PP-OCRv2的实用超轻量中英文OCR模型、通用中英文OCR模型,以及德法日韩等80多种多语言OCR模型,并提供上述模型训练方法和多种预测部署方式。同时开源文本风格数据合成工具Style-Text和半自动文本图像标注工具PPOCRLabel,目前已经成为全球知名的OCR开源项目。
  • PaddleGAN:飞桨生成对抗网络开发套件,提供图像生成、风格迁移、超分辨率、影像上色、人脸属性编辑、人脸融合、动作迁移等前沿算法,其模块化设计,便于开发者进行二次研发,同时提供30+预训练模型,助力开发者快速开发丰富的应用。
  • PaddleVideo:飞桨视频模型开发套件,具有高指标的模型算法、全流程可部署、更快训练速度和丰富的应用案例、保姆级教程并在体育、安防、互联网、媒体等行业有广泛应用,如:足球/蓝球动作检测、乒乓球动作识别、花样滑冰动作识别、知识增强的大规模视频分类打标签、智慧安防、内容分析等产业实践案例。
  • ERNIEKit:飞桨语义理解套件,基于持续学习的知识增强语义理解框架实现,内置业界领先的系列ERNE预训练模型,该套件全面升级飞桨框架v2.2,同时支持动态图和静态图,兼顾了开发的便利性与部署的高性能需求。同时还能够支持各类NLP算法任务Fine-tuning,包含保证极速推理的Fast-inference API,灵活部署的ERNIE Service和轻量化解决方案ERNIE Slim,训练过程所见即所得,支持动态debug同时方便二次开发。
  • PLSC:飞桨海量类别分类套件,为用户提供了大规模分类任务从训练到部署的全流程解决方案。提供简洁易用的高层API,通过数行代码即可实现千万类别分类模型的训练,并提供快速部署模型的能力。
  • ElasticCTR:飞桨个性化推荐开发套件,可以实现分布式训练CTR预估任务和基于PaddleServing的在线个性化推荐服务。PaddleServing服务化部署框架具有良好的易用性、灵活性和高性能,可以提供端到端的CTR训练和部署解决方案。ElasticCTR具备产业实践基础、弹性调度能力、高性能和工业级部署等特点。
  • Parakeet:飞桨语音合成套件,提供了灵活、高效、先进的文本到语音合成工具,帮助开发者更便捷高效地完成语音合成模型的开发和应用。
  • PGL:飞桨图学习框架,业界首个提出通用消息并行传递机制,支持万亿级巨图的工业级图学习框架。PGL 原生支持异构图,支持分布式图存储及分布式学习算法,支持 GNNAutoScale实现单卡深度图卷积,覆盖 30+ 图学习模型,并内置 KDDCup 2021 PGL 冠军算法。内置图推荐算法套件 Graph4Rec 以及高效知识表示套件 Graph4KG。历经大量真实工业应用验证,能够灵活、高效地搭建前沿的大规模图学习算法。
  • PARL:飞桨深度强化学习框架,夺得NeurIPS强化学习挑战赛三连冠。具有高灵活性、可扩展性和高性能的特点,可支持实现数千台CPU和GPU的高性能并行,实现了数十种主流强化学习算法的示例,覆盖了从单智能体到多智能体,离散决策到连续控制,离线学习到在线学习等多样化的强化学习支持。此外,飞桨还发布了业界首个通用元智能体训练环境MetaGym,提升算法在不同配置智能体和多种环境中的适应能力,目前包含四轴飞行器、电梯调度、四足机器狗、3D迷宫等多个仿真训练环境。
  • Paddle Quantum:量桨,基于飞桨的量子机器学习工具集,提供组合优化、量子化学等前沿功能,常用量子电路模型,以及丰富的量子机器学习案例,帮助开发者便捷地搭建量子神经网络,开发量子人工智能应用。
  • PaddleHelix:飞桨螺旋桨生物计算平台,面向新药研发、疫苗设计、精准医疗等场景提供AI能力。在新药研发上,提供基于大规模数据预训练的分子表征和蛋白表征模型,助力分子生成、药物筛选、化合物合成等任务,同时提供从分子生成到药物筛选到全流程pipeline。在疫苗设计上,Linear系列算法相比传统方法在RNA折叠上提升了几百上干倍的效率,在mRNA序列设计上其结构紧密性、稳定性、细胞内蛋白表达水平以及动物免疫原性方面超过标准算法设计的基准序列。在精准医疗上,PaddleHelix提供了利用组学信息精准定位药物,进行双药联用提升治愈率的高性能模型。

开发套件中的大量模型,既可以通过调整配置文件直接使用的模式,也可以定位到模型的源代码文件进行二次研发。

比较几种模型工具,PaddleHub的使用最为简易,二次研发模型源代码的灵活性最好。读者可以参考“使用PaddleHub->基于配置文件使用各领域的开发套件->二次研发原始模型代码”的顺序来使用飞桨产业级模型库,在此基础上根据业务需求进行优化,即可达到事半功倍的效果。

4. 飞桨的四大领先技术

飞桨四大领先技术如 图3 所示。


图3:飞桨领先的四大技术优势


  • 开发便捷的深度学习框架:飞桨深度学习框架基于编程一致的深度学习计算抽象以及对应的前后端设计,拥有易学易用的前 端编程界面和统一高效的内部核心架构,对普通开发者而言更容易上手并具备领先的训练性能。 飞桨自然完备兼容命令式和声明式两种编程范式,默认采用命令式编程范式,并完美地实现了动静统一,开发者使用飞桨可以实现动态图编程调试,一行代码转静态图训练部署。飞桨框架还提供了低代码开发的高层API,并且高层API和基础API采用了一体化设计,两者可以互相配合使用,做到高低融合,确保用户可以同时享受开发的便捷性和灵活性。
  • 超大规模的深度学习模型训练技术:飞桨突破了超大规模深度学习模型训练技术,领先其它框架实现了千亿稀疏特征、万亿参数、数百节点并行训练的能力,解决了超大规模深度学习模型的在线学习和部署难题。此外,飞桨还覆盖支持包括模型并行、流水线并行在内的广泛并行模式和加速策略,率先推出业内首个通用异构参数服务器架构、4D混合并行策略和自适应大规模分布式训练技术,引领大规模分布式训练技术的发展趋势。
  • 多端多平台部署的高性能推理引擎:飞桨对推理部署提供全方位支持,可以将模型便捷地部署到云端服务器、移动端以及边缘端等不同平台设备上,并拥有全面领先的推理速度,同时兼容其它开源框架训练的模型。飞桨推理引擎支持广泛的AI芯片,特别是对国产硬件做到了全面的适配。
  • 产业级开源模型库:飞桨建设了大规模的官方模型库,算法总数达到500多个,包含经过产业实践长期打磨的PP特色模型、业界主流模型以及在国际竞赛中的夺冠模型;提供面向语义理解、图像分类、目标检测、图像分割、文字识别(OCR)、语音合成等场景的多个端到端开发套件,满足企业低成本开发和快速集成的需求。飞桨的模型库是围绕国内企业实际研发流程量身定制打造的产业级模型库,服务企业遍布能源、金融、工业、农业等多个领域。

    以其中两项为例,展开说明。

多领域产业级开源模型达到业界领先水平

大量工业实践任务的模型并不需要从头编写,而是在相对标准化的模型基础上进行参数调整和优化。飞桨支持的多领域产业级模型开源开放,且多数模型的效果达到业界领先水平,在国际竞赛中夺得20多项第一,如 图4 所示。 之所以叫产业级模型库,是因为这些模型根据产业应用的需要进行精度和性能的调优,并且组织成了可以高效使用的产品形态。关于产业级模型库的使用,笔者会在本教程的最后一章做更详细的介绍,在读者已经学完基础内容后,相信可以对这些“先进武器”有更深刻的理解和运用。


图4:飞桨各领域模型在国际竞赛中荣获多个第一


飞桨硬件生态持续繁荣

飞桨硬件生态持续繁荣,包括英特尔、英伟达、ARM等诸多芯片厂商纷纷开展对飞桨的支持,并主动在开源社区为飞桨贡献代码。飞桨还跟飞腾、海光、鲲鹏、龙芯、申威等CPU进行深入融合适配,并结合麒麟、统信、普华操作系统,以及百度昆仑、海光DCU、寒武纪、比特大陆、瑞芯微、高通、英伟达等AI芯片深度融合,与浪潮、中科曙光等服务器厂商合作形成软硬一体的全栈AI基础设施。当前飞桨已经适配和正在适配的芯片或IP达到30种,国产芯片适配第一。

5. 飞桨在各行业的应用案例

飞桨联手百度地图,出行时间智能预估准确率从81%提升到86%

在百度,搜索、信息流、输入法、地图等移动互联网产品中大量使用飞桨做深度学习任务。在百度地图,应用飞桨后提升了产品的部署和预测性能,支撑天级别的百亿次调用。完成了天级别的百亿级数据训练,用户出行时间预估的准确率从81%提升到86%,如 图5 所示。


图5:百度地图出行时间智能预估应用


飞桨联手南方电网,电力巡检迈向“无人时代”

飞桨与南方电网合作,采用机器人代替人工进行变电站仪表的巡检任务,如 图6 所示。由于南方电网的变电站数量众多,日常巡检常态化,而人工巡检工作内容单调,人力投入大,巡检效率低。集成了基于飞桨研发的视觉识别能力的机器人,识别表数值的准确率高达99.01%。在本次合作中,飞桨提供了端到端的开发套件支撑需求的快速实现,降低了企业对人工智能领域人才的依赖。


图6:南方电网电力智能巡检应用


飞桨助力产业智能化升级进入深水区:智能制造

经过飞桨与产业伙伴多年的协同探索,实现各行各业的产业智能化升级,目前在很多行业的AI落地已经逐渐进入到深水区。在工业场景,大量中国领先的制造企业正在应用AI技术进行无人化厂房的改造,图7 展示了手机、笔记本和汽车不同体积的工业制品的智能质检系统,“工业摄像头+人工智能模型+自动化机械臂”已经成为无人化升级的标配方案,中国制造企业的AI升级速度超乎想象。


图7:智能工业


飞桨助力产业智能化升级进入深水区:智慧农业

在农业场景,AI应用也是遍地开花。如:图8 第二个案例展示的智能化养猪场,对猪活动状态的自动监控已经成为常规应用。飞桨的合作伙伴甚至脑洞大开,开始研究“猪脸识别”和“牛脸识别”。初闻这个诉求时,笔者还十分惊讶,人类刚刚攻克人脸识别,为什么要研究猪脸识别呢?这来源于企业对牲畜科学化、精细化饲养的需求。目前畜牧业对畜群多数是放养的状态,但又需要精准投喂,很多猪在怀孕期和患病期需要投喂专门的饲料。但猪群中往往有一些“霸猪”,无论投喂什么饲料,它们都会把其他猪挤开先吃个饱。企业希望在养猪场的特殊食槽上方加入“猪脸识别”的系统,只有特殊时期的猪到达食槽前,食槽才会自动投放特殊食物。 如果不深入产业,这些AI应用场景真是难以想象。



图8:智能农业



说明:

以上数据为内部测试结果,实际结果可能受环境影响而在一定范围内变化,仅供参考。如果您想了解更多、更新的飞桨工业实践案例、开发者案例或产研合作案例,可以登录飞桨官网。此外,飞桨于2021年底开源了飞桨产业实践范例库,覆盖智慧城市、智能制造、智慧金融、泛交通、泛互联网、智慧农业等多个领域AI典型产业应用案例投射,每个范例都包含完整的AI落地全流程指导,包括:数据处理、模型选择、模型优化、模型部署的完整代码和和图形化的部署demo,指导企业快速产业应用。


6. 飞桨快速安装

进入实践之前,请先安装飞桨。飞桨提供了图形化的安装指导,操作简单,详细步骤请参考 飞桨官网 -> 快速安装。进入页面后,可按照提示进行安装,如 图9 所示。举例来说,笔者选择在笔记本电脑上安装飞桨,那么选择(Windows+pip+CPU)的配置组合。其中Windows和CPU是个人笔记本的软硬件配置,pip是命令行安装的指令,Python需要提前安装好。


图9:飞桨的安装页面示意图


7. 联系我们

  • 飞桨官方网站: https://www.paddlepaddle.org.cn/
  • 飞桨GitHub: https://github.com/paddlepaddle
  • 飞桨微信公众号: 飞桨PaddlePaddle

作业1-5

  1. 在AI Studio上注册用户,查阅本课程的案例库,找到房价预测的案例。
  2. 加入飞桨官方QQ群(441226485),将安装和运行案例时的问题反馈到群中,获得答案。
相似文档
  • 1. 飞桨设计之“道”: 当读者使用飞桨框架编写多个深度学习模型后,会发现程序呈现出“八股文”的形态。即不同的程序员、使用不同模型、解决不同任务的时候,他们编写的建模程序是极其相似的。虽然这些设计在某些“极客”的眼里缺乏精彩,但从实用性的角度,我们更期望建模者聚焦需要解决的任务,而不是将精力投入在框架的学习上。因此使用飞桨编写模型是有标准的套路设计的,只要通过一个示例程序掌握使用飞桨的方法,编写不同任务的多种建模程序将变得十分容易。
  • NumPy(Numerical Python的简称)是高性能科学计算和数据分析的基础包。使用飞桨构建神经网络模型时,通常会使用NumPy实现数据预处理和一些模型指标的计算,飞桨中的Tensor数据可以很方便的和ndarray数组进行相互转换。
  • 手写数字识别任务: 数字识别是计算机从纸质文档、照片或其他来源接收、理解并识别可读的数字的能力,目前比较受关注的是手写数字识别。手写数字识别是一个典型的图像分类问题,已经被广泛应用于汇款单号识别、手写邮政编码识别等领域,大大缩短了业务处理时间,提升了工作效率和质量。
  • 上一节介绍了创新性的“横纵式”教学法,有助于深度学习初学者快速掌握深度学习理论知识,并在过程中让读者获得真实建模的实战体验。在“横纵式”教学法中,纵向概要介绍模型的基本代码结构和极简实现方案,如 图1 所示。本节将使用这种极简实现方案快速完成手写数字识别的建模。
  • 概述: 上一节我们使用“横纵式”教学法中的纵向极简方案快速完成手写数字识别任务的建模,但模型测试效果并未达成预期。我们换个思路,从横向展开,如 图1 所示,逐个环节优化,以达到最优训练效果。本节主要介绍手写数字识别模型中,数据处理的优化方法。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部