在人工智能时代,深度学习框架下接芯片,上承各种利用,是“智能时代的操作系统”。近期,我国首个自主研发、性能齐备、开源凋谢的产业级深度学习框架飞桨公布了2.0正式版,实现了一次跨时代的降级。
这次2.0版本的公布对于飞桨来说,能够说是一次“基础设施”的全面更新换代!生存中,咱们看到过很多基础设施建设工程,例如西电东送、南水北调、高铁建设等等,这些在保障生产生存设施失常运行、推动整个社会的经济倒退和人们生存程度改善的过程中,以一种 “润物细无声”的模式扮演着要害基础性角色!此次飞桨降级就是以这样形式悄悄为整个产业及生态的倒退凋敝奠定根底、积蓄能量、削减后劲!上面将为宽广开发者具体介绍飞桨都做了哪些“基础设施”级别的要害工程。
应用飞桨框架2.0更高效地开发AI模型
成熟齐备的动态图模式
此次降级,飞桨将默认的开发模式降级为命令式编程模式,即大家常说的动态图。飞桨框架2.0反对用户应用动态图实现深度学习相干畛域全类别的模型算法开发。动态图模式下能够让开发者随时查看变量的输出、输入,方便快捷的调试程序, 带来最佳的开发体验。为了解决动态图的部署问题,飞桨提供了全面齐备的动转静反对,在Python语法反对覆盖度上达到领先水平。开发者在动态图编程调试的过程中,仅需增加一个装璜器,即可无缝平滑地主动实现动态图训练或模型保留。同时飞桨框架2.0还做到了模型存储和加载的接口对立,保障动转静之后保留的模型文件可能被纯动态图加载和应用。
在飞桨框架2.0版本上,官网反对的动态图算法数量达到了200+,涵盖计算机视觉、自然语言解决、语音、举荐等多个畛域,并且在动态图的训练效率和部署效率方面都有所晋升。2.0版本的动态图反对了主动混合精度和量化训练性能,实现了比动态图更简洁灵便的混合精度训练接口,达到媲美动态图的混合精度和量化训练成果。无论从性能还是性能角度,飞桨的动态图在国产深度学习框架中都处于领先地位!
同时,为了推动各个支流场景的产业级利用,飞桨的系列开发套件也随飞桨框架2.0实现了降级,全面反对动态图开发模式。从开发、训练到预测部署提供优质体验。如视觉畛域的图像宰割套件PaddleSeg,随飞桨框架2.0降级后,涵盖了高精度和轻量级等不同特点的大量高质量宰割模型,采纳模块化的设计,提供了配置驱动和API调用两种利用形式,帮忙开发者更便捷地实现全流程图像宰割利用;又如自然语言解决畛域的PaddleNLP,与飞桨框架2.0深度适配,领有笼罩多场景的网络模型、简洁易用的全流程API,以及动静对立的高性能分布式训练能力,十分便于二次开发,大大晋升建模效率。具体能够参见上面链接中的我的项目示例。
飞桨框架2.0动态图模型:
https://github.com/PaddlePaddle/models/tree/develop/dygraph
全新PaddleSeg我的项目利用实例:
https://aistudio.baidu.com/aistudio/projectdetail/1339458
全新PaddleNLP我的项目利用示例:
https://aistudio.baidu.com/aistudio/projectdetail/1329361
API体系全新降级
API是用户应用深度学习框架的间接入口,对开发者应用体验起着至关重要的作用,飞桨始终以来对API设计以及整体API体系的欠缺给予高度重视。飞桨框架2.0对 API体系进行了全新降级,让开发者们在应用飞桨研发的过程中能够体验到得心应手、畅通无阻的愉悦感觉。
- 体系化: 基于长期的产业实际积攒与用户应用习惯的洞察,飞桨从新梳理和优化了API的体系结构,使其更加清晰、迷信,让宽广开发者能够更容易地依据开发应用场景找到想要的API。此外能够通过class和functional两种模式的API来模块化的组织代码和搭建网络,进步开发效率。同时,API的丰盛度有了极大的晋升,共计新增API 217个,优化批改API 195个。
- 简洁化:提供更适宜低代码编程的高层API。像数据加强、建设数据流水线、循环批量训练等能够标准化的工作流程,以及一些经典的网络模型构造,在飞桨框架2.0中,都被封装成了高层API。基于飞桨高层API,开发者只需10行左右代码就能够编写实现训练局部的程序。最为重要的是,高层API与根底API采纳一体化设计,即在编程过程中能够同时应用高层API与根底API,让用户在简捷开发与精细化调优之间自在定制。新API体系齐全兼容历史版本,同时飞桨提供了降级工具,帮忙开发者升高降级迁徙老本。
飞桨开源框架2.0 API参考文档:
https://www.paddlepaddle.org.cn/documentation/docs/zh/api/index_cn.html
应用飞桨框架2.0更高效地训练AI模型
训练更大规模的模型
家喻户晓,飞桨框架的英文名Paddle便是并行分布式训练学习的缩写,分布式能够说是飞桨与生俱来的个性。飞桨反对包含数据并行、模型并行、流水线并行在内的宽泛并行模式和多种减速策略。在飞桨框架2.0版本中,新增反对了混合并行模式,即数据并行、模型并行、流水线并行这三种并行模式能够互相组合应用,更高效地将模型的各网络层甚至某一层的参数切分到多张GPU卡上进行训练,从而实现反对训练千亿参数规模的模型。
业内首个通用异构参数服务器架构
飞桨框架2.0推出了业内首个通用异构参数服务器技术,解除了传统参数服务器模式必须严格应用同一种硬件型号Trainer节点的桎梏,使训练任务对硬件型号不敏感,即能够同时应用不同的硬件进行混合异构训练,如CPU、GPU(也包含例如V100、P40、K40的混合)、AI专用减速硬件如昆仑芯片等,同时解决了搜寻举荐畛域大规模稠密特色模型训练场景下,IO占比过高导致的计算资源利用率过低的问题。通过异构参数服务器架构,用户能够在硬件异构集群中部署分布式训练任务,实现对不同算力的芯片高效利用,为用户提供更高吞吐,更低资源耗费的训练能力。
图 异构参数服务器架构示意图
通用异构参数服务器架构之所以被称之为通用,次要在于其兼容反对三种训练模式:
- 可兼容全副由CPU机器组成的传统参数服务器架构所反对的训练任务。
- 可兼容全副由GPU或其余AI减速芯片对应机器组成的参数服务器,充分利用机器外部的异构设施。
- 反对通过CPU机器和GPU或其余AI减速芯片对应机器的混布,组成机器间异构参数服务器架构。
异构参数服务器领有十分高的性价比,如下图所示,仅用两个CPU机器加两个GPU机器就能够达到与4个GPU机器相仿的训练速度,而老本至多能够节约35%。
分布式训练教程:
https://fleet-x.readthedocs.io/en/latest/paddle_fleet_rst/distributed_introduction.html
应用飞桨框架2.0更宽泛地部署AI模型到各种硬件
全面深度适配各种人工智能硬件
AI产业的广泛应用离不开各种各样的人工智能硬件的凋敝,飞桨能够说深谙其道,继续致力打造凋敝的硬件生态。以后包含英特尔、英伟达、ARM等诸多芯片厂商纷纷发展对飞桨的反对。飞桨还跟飞腾、海光、鲲鹏、龙芯、申威等CPU进行深刻适配,并联合麒麟、统信、普华操作系统,以及百度昆仑、海光DCU、寒武纪、比特大陆、瑞芯微、高通、英伟达等AI芯片深度交融,与浪潮、中科曙光等服务器厂商单干造成软硬一体的全栈AI基础设施。以后飞桨曾经适配和正在适配的芯片或IP型号达到29种,处于业界领先地位。
图 飞桨硬件生态路线图
立刻体验飞桨开源框架2.0版本
飞桨框架2.0装置:
https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/2.0/install/pip/linux-pip.html
10分钟疾速上手飞桨框架2.0:
https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/02_paddle2.0_develop/01_quick_start_cn.html
飞桨框架2.0应用教程:
https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/index_cn.html
飞桨框架2.0利用实际:
https://www.paddlepaddle.org.cn/documentation/docs/zh/tutorial/index_cn.html
如果您想具体理解更多飞桨的相干内容,请参阅以下文档。
·飞桨官网地址·
https://www.paddlepaddle.org.cn/
·飞桨开源框架我的项目地址·
GitHub: https://github.com/PaddlePaddle/Paddle
Gitee: https://gitee.com/paddlepaddle/Paddle
想理解更多无关飞桨框架2.0的信息,记得关注百度深度学习趣味案例实战营,3月15日-19日晚19:00,每天一小时,手把手带你应用CV、NLP畛域最罕用模型及利用,即学即用,做我的项目还能获取积分兑换京东卡。