0


百度PaddlePaddle深度学习平台如何在国产海光DCU AI并行计算集群上部署使用?

一、软件简介

飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心训练和推理框架、基础模型库、端到端开发套件、丰富的工具组件于一体。是中国首个自主研发、功能完备、开源开放的产业级深度学习平台。

1.1、四大领先技术

  • 开发便捷的深度学习框架

飞桨深度学习框架基于编程一致的深度学习计算抽象以及对应的前后端设计,拥有易学易用的前端编程界面和统一高效的内部核心架构,对普通开发者而言更容易上手并具备领先的训练性能。飞桨自然完备兼容命令式和声明式两种编程范式,默认采用命令式编程范式,并实现了动静统一,开发者使用飞桨可以实现动态图编程调试,一行代码转静态图训练部署。飞桨框架还提供了低代码开发的高层API,并且高层API和基础API采用了一体化设计,两者可以互相配合使用,做到高低融合,确保用户可以同时享受开发的便捷性和灵活性。

  • 超大规模深度学习模型训练技术

飞桨突破了超大规模深度学习模型训练技术,领先其它框架实现了千亿稀疏特征、万亿参数、数百节点并行训练的能力,解决了超大规模深度学习模型的在线学习和部署难题。此外,飞桨还覆盖支持包括模型并行、流水线并行在内的广泛并行模式和加速策略,率先推出业内首个通用异构参数服务器架构和4D混合并行策略,引领大规模分布式训练技术的发展趋势。

  • 多端多平台部署的高性能推理引擎

飞桨对推理部署提供全方位支持,可以将模型便捷地部署到云端服务器、移动端以及边缘端等不同平台设备上,并拥有全面领先的推理速度,同时兼容其它开源框架训练的模型。飞桨推理引擎支持广泛的AI芯片,特别是对国产硬件做到了全面的适配。

  • 产业级开源模型库

飞桨建设了大规模的官方模型库,算法总数达到270多个,包含经过产业实践长期打磨的主流模型以及在国际竞赛中的夺冠模型;提供面向语义理解、图像分类、目标检测、图像分割、文字识别(OCR)、语音合成等场景的多个端到端开发套件,满足企业低成本开发和快速集成的需求。飞桨的模型库是围绕国内企业实际研发流程量身定制打造的产业级模型库,服务企业遍布能源、金融、工业、农业等多个领域。

1.2、硬件生态

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

1.3、端到端开发套件

1)ERNIE

飞桨语义理解套件, 基于持续学习语义理解预训练框架,使用多任务学习增量式构建预训练任务,支持各类训练任务的Fine-tuning,保证极速推理的Fast-Inference API,兼具灵活部署的ERNIE Service和具备轻量方案的ERNIE Tiny系列工具集。

2)PaddleClas

飞桨图像分类套件PaddleClas,目的是为工业界和学术界提供便捷易用的图像分类任务预训练模型和工具集,打通模型开发、训练、压缩、部署全流程,辅助其它高层视觉任务组网并提升模型效果,助力开发者训练更好的图像分类模型和应用落地。

3)PaddleDetection

飞桨目标检测开发套件PaddleDetection,旨在帮助开发者更快更好地完成检测模型的训练、精度速度优化到部署全流程。PaddleDetection以模块化的设计实现了多种主流目标检测算法,并且提供了丰富的数据增强、网络组件、损失函数等模块,集成了模型压缩和跨平台高性能部署能力。目前基于PaddleDetection已经完成落地的项目涉及工业质检、遥感图像检测、无人巡检等多个领域。

4)PaddleSeg

飞桨图像分割套件PaddleSeg,覆盖了DeepLabv3+、OCRNet、BiseNetv2、Fast-SCNN等高精度和轻量级等不同方向的大量高质量分割模型。通过模块化的设计,提供了配置化驱动和API调用等两种应用方式,帮助开发者更便捷地完成从训练到部署的全流程图像分割应用。

5)PaddleOCR

飞桨文字识别开发套件PaddleOCR,旨在打造一套丰富、领先且实用的OCR工具库,开源了基于PP-OCR实用的超轻量中英文OCR模型、通用中英文OCR模型,以及德法日韩等多语言OCR模型。并提供上述模型训练方法和多种预测部署方式。同时开源文本风格数据合成工具Style-Text和半自动文本图像标注工具PPOCRLable。

6)PaddleGAN

飞桨生成对抗网络开发套件PaddleGAN,集成风格迁移、超分辨率、动漫画生成、图片上色、人脸属性编辑、妆容迁移等SOTA算法,以及预训练模型。并且模块化设计,以便开发者进行二次研发,或是直接使用预训练模型做应用。

7)PLSC

飞桨海量类别分类套件PLSC,为用户提供了大规模分类任务从训练到部署的全流程解决方案。提供简洁易用的高层API,通过数行代码即可实现千万类别分类神经网络的训练,并提供快速部署模型的能力。

8)ElasticCTR

飞桨个性化推荐开发套件ElasticCTR,可以实现分布式训练CTR预估任务和基于Paddle Serving的在线个性化推荐服务。Paddle Serving服务化部署框架具有良好的易用性、灵活性和高性能,可以提供端到端的CTR训练和部署解决方案。ElasticCTR具备产业实践基础、弹性调度能力、高性能和工业级部署等特点。

9)Parakeet

飞桨语音合成套件,提供了灵活、高效、先进的文本到语音合成工具,帮助开发者更便捷高效地完成语音合成模型的开发和应用。

1.4、丰富的工具组件

1)AutoDL

飞桨自动化深度学习工具,旨在自动网络结构设计,开源的AutoDL设计的图像分类网络在CIFAR10数据集正确率达到 98%,效果优于目前已公开的10类人类专家设计的网络,居于业内领先位置。(数据来源:内部测试10种网络分别为:vgg_15_BN_64、vgg_16、resnet_32、resnet_56、resnet_110、resnet_v2_bottleneck_164、wide_resnet、densenet_BC_100_12、resnet_29_8x64d、shake_shake_64d_cutout,实际结果可能受测试环境影响而在一定范围内变化,仅供参考)

2)PARL

飞桨深度强化学习框架PARL,在2018、2019、2020夺得强化学习挑战赛三连冠。具有高灵活性、可扩展性和高性能的特点。实现了十余种主流强化学习算法的示例,覆盖了从单智能体到多智能体,离散决策到连续控制不同领域的强化学习算法支持。基于GRPC机制实现数千台CPU和GPU的高性能并行。

3)PALM

飞桨多任务学习框架PALM,一个灵活、通用且易于使用的NLP大规模预训练和多任务学习框架,旨在快速开发高性能NLP模型的上层框架。使用PALM可以非常轻松灵活的探索具有多种任务辅助训练的“高鲁棒性”阅读理解模型,基于PALM训练的模型D-Net在EMNLP2019国际阅读理解评测中夺得冠军。

4)PaddleFL

飞桨联邦学习框架PaddleFL,研究人员可以很轻松地用PaddleFL复制和比较不同的联邦学习算法,便捷地实现大规模分布式集群部署,并且提供丰富的横向和纵向联邦学习策略及其在计算机视觉、自然语言处理、推荐算法等领域的应用。此外,依靠着飞桨的大规模分布 式训练和Kubernetes对训练任务的弹性调度能力,PaddleFL可以基于全栈开源软件轻松部署。

5)PGL

飞桨图学习框架PGL,业界首个提出通用消息并行传递机制,支持百亿规模巨图的工业级图学习框架。PGL基于飞桨动态图全新升级,极大提升了易用性,原生支持异构图,支持分布式图存储及分布式学习算法,覆盖30+图学习模型,包括图语义理解模型ERNIESage等。历经大量真实工业应用验证,能够灵活、高效地搭建前沿的大规模图学习算法。

6)Paddle Quantum

量桨Paddle Quantum,飞桨量子机器学习框架,提供量子优化、量子化学等前沿应用工具集,常用量子电路模型,以及丰富的量子机器学习案例,帮助开发者便捷地搭建量子神经网络,开发量子人工智能应用。

7)PaddleHelix

飞桨螺旋桨生物计算框架PaddleHelix,开放了赋能疫苗设计,新药研发,精准医疗的AI能力。在疫苗设计上,PaddleHelix的LinearRNA系列算法相比传统方法在RNA折叠上提升了几百上千倍的效率;在新药研发上,PaddleHelix提供了基于大规模数据预训练的分子表示,助力分子性质预测,药物筛选,药物设计等领域;在精准医疗上,PaddleHelix提供了利用组学信息精准定位药物,提升治愈率的高性能模型。

8)PaddleHub

飞桨预训练模型应用工具PaddleHub,覆盖文本、图像、视频、语音四大领域超过200个高质量预训练模型。开发者可以轻松结合实际业务场景,选用高质量预训练模型并配合Fine-tune API快速完成模型验证与应用部署工作。适用于个人开发者学习、企业POC快速验证、参加AI竞赛以及教学科研等多种业务场景。

9)PaddleX

飞桨全流程开发工具PaddleX,以低代码的形式支持开发者快速实现深度学习算法开发及产业部署。提供极简Python API和可视化界面Demo两种开发模式,可一键安装。针对CPU(OpenVINO)、GPU、树莓派等通用硬件提供完善的部署方案,并可通过RESTful API快速完成集成、再开发,开发者无需分别使用不同套件即可完成全流程模型生产部署。可视化推理界面及丰富的产业案例更为开发者提供飞桨全流程开发的最佳实践。

10)VisualDL

飞桨可视化分析工具VisualDL,以丰富的图表呈现训练参数变化趋势、模型结构、数据样本、高维数据分布、精度召回曲线等模型关键信息。帮助用户清晰直观地理解深度学习模型训练过程及模型结构,进而实现高效的模型调优、并将算法训练过程及结果分享。

11)PaddleCloud

飞桨云上任务提交工具,能够帮助您一键发起深度学习任务,为您提供快速打通云上计算资源通道,支持您快速发起单机/分布式飞桨核心框架训练任务,致力于推动AI应用更广泛地落地。

二、安装部署

2.1 源码编译

以rocm3.9 paddle1.8为例

docker pull rocm/dev-centos-7:3.9

git clone ssh://[email protected]:10022/AI-Frameworks/paddle-rocm.git

yum install -y epel-release openssl-devel openssl bzip2 make wget vim git

gcc 4.8.5 #系统默认版本,也可升级至7.3.1

cmake 3.14

Python 3.6.8 #安装sqlite3

pip3 install {numpy/wheel/protobuf/opencv-python}

cd paddle-rocm

cmake3 .. -DPYTHON_EXECUTABLE=/data/xuan/PaddlePaddle/build/build-python3.6.8/bin/python3 -DPYTHON_INCLUDE_DIR=/data/xuan/PaddlePaddle/build/build-python3.6.8/include 
-DPYTHON_LIBRARY=/data/xuan/PaddlePaddle/build/build-python3.6.8/lib/libpython3.so
-DCMAKE_BUILD_TYPE=Release -DWITH_GPU=OFF -DWITH_GLOO=OFF -DWITH_TP_CACHE=ON 
-DWITH_TESTING=ON -DWITH_MKL=OFF -DWITH_NCCL=OFF -DWITH_AMD_GPU=ON -DWITH_DISTRIBUTE=ON 
-DWITH_RCCL=ON

make -j16

2.2 pip安装

pip3 install paddle*.whl

2.3 conda安装

conda install paddle*.whl

说明

rocm生态下上述深度学习计算框架,在编译和使用时,需要保证基础库环境一致。

附录

Paddle镜像工具下载

paddle-2.0.2-post-rocm4.0-miopen2.11.tar ----> paddle 2.0.2框架镜像,适配miopen2.11加速,10.86GB

paddle-dev-rocm4.0-miopen2.11.tar ---->paddle开发镜像,适配miopen2.11加速,9.82GB

paddle-dev-rocm4.0-miopen2.9.tar ---->paddle开发镜像,适配miopen2.9加速,9.10GB


本文转载自: https://blog.csdn.net/qq_27815483/article/details/140085116
版权归原作者 技术瘾君子1573 所有, 如有侵权,请联系我们删除。

“百度PaddlePaddle深度学习平台如何在国产海光DCU AI并行计算集群上部署使用?”的评论:

还没有评论