热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

1.3飞桨开源深度学习平台介绍

介绍飞桨在行业内的应用情况、产品全景、技术优势,以及飞桨的安装方法和联系方式。深度学习框架近年来深度学习在很多机器学习领域都有着非常出色表现,在图像识别、语音识别、自然语言处理、机

介绍飞桨在行业内的应用情况、产品全景、技术优势,以及飞桨的安装方法和联系方式。


深度学习框架

近年来深度学习在很多机器学习领域都有着非常出色表现,在图像识别、语音识别、自然语言处理、机器人、网络广告投放、医学自动诊断和金融等领域有着广泛应用。面对繁多的应用场景,深度学习框架有助于建模者节省大量而繁琐的外围工作,更聚焦业务场景和模型设计本身。


深度学习框架优势

使用深度学习框架完成模型构建有如下两个优势:




  1. 节省编写大量底层代码的精力:屏蔽底层实现,用户只需关注模型的逻辑结构。同时,深度学习工具简化了计算,降低了深度学习入门门槛


  2. 省去了部署和适配环境的烦恼:具备灵活的移植性,可将代码部署到CPU/GPU/移动端上,选择具有分布式性能的深度学习工具会使模型训练更高效。


深度学习框架设计思路

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

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



  • 个性化部分:往往是指定模型由哪些逻辑元素组合,由建模者完成。

  • 通用部分:聚焦这些元素的算法实现,由深度学习框架完成。

     


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


 

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


飞桨开源深度学习平台

百度出品的深度学习平台飞桨(PaddlePaddle)是主流深度学习框架中唯一一款完全国产化的产品,与Google TensorFlow、Facebook Pytorch齐名。2016 年飞桨正式开源,是全面开源开放、技术领先、功能完备的产业级深度学习平台。

飞桨源于产业实践,始终致力于与产业深入融合,与合作伙伴一起帮助越来越多的行业完成AI赋能。目前飞桨已广泛应用于医疗、金融、工业、农业、服务业等领域,如 图1 所示。此外在新冠疫情期间,飞桨积极投入各类疫情防护模型的开发,开源了业界首个口罩人脸检测及分类模型,辅助各部门进行疫情防护,通过科技让工作变得更加高效。



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


 


飞桨开源深度学习平台全景

飞桨以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心框架、基础模型库、端到端开发套件、工具组件和服务平台于一体,为用户提供了多样化的配套服务产品,助力深度学习技术的应用落地,如 图2 所示。飞桨支持本地和云端两种开发和部署模式,用户可以根据业务需求灵活选择。



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


 


本地模型开发和部署:数据保存在本地服务器,模型选择灵活度高



  • 框架和工具:见图2的上半部分,飞桨在基础框架外,推出了一系列的工具组件来支持深度学习模型训练和部署的全流程。如在训练层面,除了提供了分布式训练API Fleet之外,还支持多任务学习和联邦学习。



    • PALM:灵活易用的多任务学习框架,框架中内置了丰富的模型和数据集读取与处理工具。对于典型的任务场景,用户几乎无需书写代码便可完成新任务的添加;对于特殊的任务场景,用户可通过预置接口来完成对新任务的支持。

    • PaddleFL:开源联邦学习框架。研究人员可以很轻松地用PaddleFL复制和比较不同的联邦学习算法,并且提供很多联邦学习策略及其在计算机视觉、自然语言处理、推荐算法等领域的应用。

    此外,飞桨在工业部署方面有着完整的支持。



    • Paddle Inference:使用 Python、C/ C++等语言部署模型,可以将模型写入各种语言编写的业务系统。

    • Paddle Lite:在 移动端/嵌入式 部署,面向手机APP和各种设备芯片(如摄像头)中的模型。

    • Paddle JS:使用 Javascript(Web)语言部署模型,在网页和小程序中便捷的使用模型。

    • 部署辅助工具1 - Paddle Slim:模型压缩,在保证模型精度的基础上减少模型尺寸,以得到更好的性能或便于放入存储较小的嵌入式芯片。

    • 部署辅助工具2 - X2 Paddle:其他框架模型转换成Paddle模型,一样可以利用飞桨的部署工具。



  • 模型资源:见图2的下半部分,飞桨提供丰富的端到端的开发套件、预训练模型和模型库。其中,开发套件则针对具体的应用场景提供了周边的配套工具,如图像检测场景的数据增强工具等。所以在使用时,可以参考“开发套件->Paddle Hub->Models”的顺序寻找需求的模型资源,在此基础上根据业务需求进行定制,即可达到事半功倍的效果。对其中几个著名的模型资源介绍如下:



    • PaddleHub:PaddleHub是预训练模型管理和迁移学习组件,提供40+预训练模型,覆盖自然语言处理、计算机视觉、语音、推荐四大领域。模型即软件,通过Python API或者命令行工具,一行代码完成预训练模型的预测。结合Fine-tune API,10行代码完成迁移学习。

    • ERNIE:ERNIE开发套件支持各类训练任务的Fine-tuning,保证极速推理的Fast-Inference API,兼具灵活部署的ERNIE Service和具备轻量方案的ERNIE Tiny系列工具集。

    • PaddleSeg:PaddleSeg是产业级图像分割库,覆盖了DeepLabv3+、PSPNet、U-Net、ICNet四大主流的分割模型。通过统一的配置,帮助用户更便捷地完成从训练到部署的全流程图像分割应用。PaddleSeg具备丰富的数据增强、主流模型覆盖、高性能和工业级部署等特点。

    • PaddleDetection:PaddleDetection是目标检测库,目的是为工业界和学术界提供易用的目标检测模型。PaddleDetection具备高性能、模型丰富和工业级部署等特点。 - ElasticCTR:ElasticCTR可以实现分布式训练CTR预估任务和Serving流程一键部署,提供了端到端的CTR训练和二次开发的解决方案。ElasticCTR具备产业实践基础、弹性调度能力、高性能和工业级部署等特点。




云端模型开发和部署:数据保存在云端,提供可视化GUI界面,安全高效

模型开发

飞桨EasyDL定制化训练和服务平台内嵌Paddle框架,提供可视化的在线操作界面,为零算法基础或者专业AI工程师提供高精度AI模型训练服务。目前已在零售、工业、安防、医疗、互联网、物流等20多个行业中应用。如果用户暂时不想自己购买服务器或更经济的使用服务器,亦或者期望降低研发深度学习模型的门槛,可以优先选择EasyDL。

预测部署

飞桨支持EasyDL的服务端部署和EasyEdge的端侧部署,两种部署方式都可以通过网页界面实现整个部署流程。


在线教育平台AI Studio

AI Studio一站式深度学习开发平台,集开放数据、开源算法、免费算力三位一体,为开发者提供高效易用的学习开发环境、高价值高奖金的算法大赛、高质量的案例和进阶课程,支撑高校老师轻松实现AI教学,并助力企业加速落地 AI 业务场景。


飞桨技术优势

与其他深度学习框架相比,飞桨具有如下五大领先优势,如 图3 所示。



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


 



  • 两种业界主流的编程方案:支持更容易调试的命令式编程(动态图)和训练速度更快的声明式编程(静态图)。

  • 产业级的官方开源模型库:多数任务可以基于官方模型的基础上自定义,根据业务需求进行少量修改,即可上线应用。

  • 超大规模的分布式模型训练:基于百度每日上亿用户使用的应用场景打磨,天然具备大规模工业实践能力。

  • 多端多平台的部署:支持速度全面领先的推理引擎,适配多种类型硬件芯片,尤其是国产芯片。

  • 系统化的深度学习技术服务的平台:为企业和用户提供7*24小时在线服务,高效解决各种使用难题。


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

大量工业实践任务的模型并不需要从头编写,而是在相对标准化的模型基础上进行参数调整和优化。飞桨支持的多领域产业级模型开源开放,且多数模型的效果达到业界领先水平,在国际竞赛中夺得20多项第一,如 图4 所示。

 



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


 


支持多端多平台的部署,适配多种类型硬件芯片

随着深度学习技术在行业的广泛应用,对不同类型硬件设备、不同部署模型、不同操作系统、不同深度框架的适配需求涌现,飞桨的适配情况如 图5 所示。



图5:飞桨对周边产品的适配情况


 

训练好的模型需要无缝集成到各种类型的硬件芯片中,如机房服务器、摄像头芯片等。在中美贸易战时日趋紧张的情况下,训练框架对国产芯片的支持显得尤其重要。飞桨走在了业界前列,提供了专门的预测端部署工具Paddle lite。Paddle lite适配的硬件芯片以及由Paddle lite转换的模型与其它主流框架在性能上的优势对比如 图6 所示。



图6:飞桨对众多类型计算资源的支持,并在运算性能上优于其他的主流框架


 


飞桨在各行业的应用案例

飞桨在各行业的广泛应用,不但让人们的日常生活变得更加简单和便捷,对企业而言,飞桨还助力产品研发过程更加科学,极大提升了产品性能,节约了大量的人工耗时成本。


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

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

 



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


 


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

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

 



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


 



说明:

数据为内部测试结果,实际结果可能受环境影响而在一定范围内变化,仅供参考。




飞桨快速安装

进入实践之前,请先安装飞桨。飞桨提供了图形化的安装指导,操作简单,详细步骤请参考 飞桨官网 -> 快速安装。

进入页面后,可按照提示进行安装,如 图9 所示。举例来说,笔者选择在笔记本电脑上安装飞桨,那么选择(windows系统+pip+Python3+CPU版本)的配置组合。其中windows系统和CPU版本是个人笔记本的软硬件配置;Python3是需要事先安装好的Python版本(Python有2和3两个主流版本,两者的API接口不兼容);pip是命令行安装的指令。

 



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



  • 飞桨GitHub: https://github.com/paddlepaddle


作业1-5



  1. 在AI studio上注册用户,查阅本课程的案例库,找到房价预测的案例。

  2. 在飞桨官网上查看安装手册,在本机或服务器上安装PaddlePaddle库,并在github上将本课程的案例库下载到本地PC或服务器。



运行环境要求:

本地已经安装python、paddlepaddle、jupyter。

 



推荐阅读
author-avatar
波波微博1987_704
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有