BpFile(id=255, bpId=53, name=弹性裸金属AI训练, author=null, keyword=容器服务Kubernetes版,裸金属服务器,RDMA,CPFS,Perseus,图片训练, description=使用弹性裸金属GPU服务器、CPFS和ACK服务,搭建高性能的AI训练架构, position=null, ossUrl=bp-09R6KA6E86EEO7B0.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=0, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
场景描述
本方案适用于AI图片训练场景,尤其是对性能
要求苛刻,业务交付紧迫的场景。例如自动驾
驶的模型训练(图片)等AI模型训练的场景。
本方案使用了SCC超级计算集群,采用弹性
裸金属GPU服务器+并行文件系统CPFS+
RDMA网络+阿里云容器服务Kubernetes版+
飞天AI加速训练工具,提供极致性能稳定的训
练环境,保障业务能力。
解决问题
1.搭建AI图片训练基础环境。
2.使用CPFS存储训练数据
3.使用飞天AI加速训练工具加
速训练
4.使用Arena一键提交作业
产品列表
容器服务Kubernetes版
CPFS
SCC超级计算集群
神龙GPU服务器
, templateId=null, freetry=null, visitTime=null, visitCount=null, video_url=null, buttonName=null, buttonUrl=null, targetId=null, partner=null, partnerUrl=null, partnerLogo=null, cooperation=, cooperationList=null)
1
弹性裸金属 AI训练 最佳实践
部署架构图
场景描述
本方案适用于 AI图片训练场景,尤其是对性能
要求苛刻,业务交付紧迫的场景。例如自动驾
驶的模型训练(图片)等 AI模型训练的场景。
本方案使用了 SCC超级计算集群,采用弹性
裸金属 GPU服务器+并行文件系统 CPFS+
RDMA网络+阿里云容器服务 Kubernetes版+
飞天 AI加速训练工具,提供极致性能稳定的训
练环境,保障业务能力。
解决问题
1. 搭建 AI图片训练基础环境。
2. 使用 CPFS存储训练数据
3. 使用飞天 AI加速训练工具加
速训练
4. 使用 Arena一键提交作业
产品列表
容器服务 Kubernetes版
CPFS
SCC超级计算集群
神龙 GPU服务器
2文档模板(手册名称)/Error! Use the Home tab to apply
云服务器 ECS(产品名称) 标题 to the text that you want to appear here.
阿里云
企业上云实践
弹性裸金属 AI训练
最佳实践
2
3企业上云实践 弹性裸金属 AI训练最佳实践
文档版本信息
文本信息
属性 内容
文档名称 弹性裸金属 AI训练最佳实践
053
文档编号
V1.6
文档版本
2019-12-09
版本日期
文档状态 发布
制作人 敬海
审阅人 行夜
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2019-5-21 -
敬海 创建
V1.1 2019-7-2 -
筱晖 文档优化
V1.2 2019-7-21
敬海 修改细节
V1.3 2019-08-07
敬海 增加场景描述
V1.4 2019-08-14
敬海 更新 link和最佳实践概述
V1.5 2019-10-29
敬海 增加首页
V1.6 2019-12-09
敬海 内容更新
I
4企业上云实践 弹性裸金属 AI训练最佳实践
前言
概述
本文介绍了使用阿里云 SCC超级计算集群(弹性裸金属神龙服务器+RDMA网络)
结合阿里云 Kubernetes容器服务搭建 AI训练环境,并采用阿里云 CPFS存储,运
行 AI训练作业的操作步骤。
应用范围
适合对性能要求较高的 AI训练场景,由弹性裸金属服务器+阿里云容器服务
Kubernetes版+RMDA网络+阿里云并行文件系统 CPFS提供极致性能。
名词解释
弹性裸金属服务器(神龙):弹性裸金属服务器(ECS Bare Metal Instance)
是一款兼具虚拟机弹性和物理机性能及特性的新型计算类产品,是基于阿里云
完全自主研发的下一代虚拟化技术而打造的新型计算类服务器产品。与上一代
虚拟化技术相比,下一代虚拟化技术的主要创新在于,不仅支持普通虚拟云服
务器,而且全面支持嵌套虚拟化技术,保留了普通云服务器的资源弹性,并借
助嵌套虚拟化技术保留了物理机的体验。更多信息,请参见弹性裸金属服务器
介绍(https://help.aliyun.com/document_detail/60576.html)。
超级计算集群:超级计算集群(Super Computing Cluster,简称 SCC)在弹性
裸金属服务器基础上,加入高速 RDMA(Remote Direct Memory Access)互
联支持,大幅提升网络性能,提高大规模集群加速比。SCC在提供高带宽、低
延迟优质网络的同时,还具备弹性裸金属服务器的所有优点。SCC主要用于高
性能计算和人工智能/机器学习、科学/工程计算、数据分析、音视频处理等应用
场景。更多信息,请参见超级计算集群介绍
(https://help.aliyun.com/document_detail/108505.html)。
容器服务 Kubernetes版:容器服务 Kubernetes版提供高性能可伸缩的容器应
用管理服务,支持企业级 Kubernetes(容器服务 ACK)容器化应用的生命周期
管理。容器服务 Kubernetes版简化集群的搭建和扩容等运维工作,整合阿里云
虚拟化、存储、网络和安全能力,打造云端最佳的 Kubernetes容器化应用运行
环境。阿里云容器服务是全球首批通过 Kubernetes一致性认证的云平台服务,
也是 Kubernetes认证服务供应商,可以为您提供专业的容器支持和服务。更多
II
5企业上云实践 弹性裸金属 AI训练最佳实践
信息,请参见容器服务 Kubernetes版介绍
(https://help.aliyun.com/document_detail/86737.html)。
阿里云 CPFS:CPFS(Cloud Paralleled File System)是一种并行文件系统。
CPFS的数据存储在集群中的多个数据节点,多个客户端可以同时访问,为大
型高性能计算机集群提供高 IOPS、高吞吐、低时延的数据存储服务。随着高性
能并行计算的大规模商业化,传统并行文件系统正面临诸多挑战,如存储资源
急剧增长、成本高、运维管理复杂度大、大规模存储系统的稳定性以及性能无
法随规模进行线性扩展等。阿里云 CPFS应运而生。更多信息,请参见阿里云
CPFS介绍(https://help.aliyun.com/document_detail/111755.html)。
飞天 AI加速训练工具是阿里云推出的统一分布式加速框架,支持主流的四种训
练框架,分别是 Tensorflow、Pytorch、MXNet、Caffe。提供 Perseus
Horovod的接口,分别支持 Tensorflow和 Pytorch。提供 dist_sync_perseus
的基于 allreduce的 kvstore module,支持 MXNet。提供 BVLC Caffe的支持。
飞天 AI加速训练工具针对阿里云环境进行了深度优化,核心代码是多框架共享
的,各框架的支持均包含以下功能:梯度融合通信的自适应多流,自适应梯度
融合,对带宽密集的网络模型,性能提升显著(提升 50%至 300%)。高度优
化的梯度协商机制,将大规模节点下梯度协商的开销降低一到两个数量级。分
级的 Allreduce,同时支持 FP16的梯度压缩,以及混合精度压缩。训练过程中
开启 NaN检查,报告 NaN来自于哪个梯度的计算(SM60及更新平台支
持)。
Arena是阿里云容器服务团队为 AI任务运行在 Kubernetes集群中提供的效率工
具,大大简化机器学习技术栈的部署、使用中的复杂性,把异构计算和云原生技
术的最佳实践通过友好的用户体验交付出来。Arena通过命令行工具,支持深度
学习工作流中模型开发,训练,推理服务等,并提供了 Kubernetes GPU集群管
理运维能力。Kubernetes生态中关注机器学习的重要项目 Kubeflow社区已接受
Arena项目。 详见 https://github.com/kubeflow/arena
III
6企业上云实践 弹性裸金属 AI训练最佳实践
目录
文档版本信息 .................................................................... I
法律声明 ........................................................................ I
前言 ........................................................................... II
目录 ............................................................................ 4
最佳实践概述 .................................................................... 1
前置条件 ........................................................................ 4
资源规划 ........................................................................ 6
1. 创建专有网络 ............................................................. 7
2. 准备训练数据 ............................................................ 10
2.1. 创建下载数据用 ECS实例 .............................................. 10
2.2. 下载训练数据 ........................................................ 15
查看训练数据信息 ................................................ 15
下载数据 ........................................................ 17
2.3. 转换数据格式 ........................................................ 19
安装转换工具和脚本 .............................................. 19
预处理 ILSVRC2012_img_val数据 ................................... 20
预处理 ILSVRC2012 bouding box数据 ............................... 22
转换 ILSVRC2012_img_train和val数据集为tfrecord格式 ............ 22
3. 部署容器服务 ACK集群 .................................................... 25
3.1. 创建Kubernetes集群 ................................................. 25
3.2. 创建一台 SCCGN6型神龙服务器 ......................................... 31
3.3. 添加神龙服务器到容器服务 ACK集群 .................................... 37
3.4. 扩容一台神龙服务器到容器服务 ACK集群 ................................ 41
3.5. 测试神龙服务器的 RDMA协议 ........................................... 46
验证 RDMA协议可以跑通 ........................................... 46
监控 RDMA协议的流量 ............................................. 48
4. 部署CPFS文件系统 ....................................................... 50
4.1. 创建CPFS文件系统 ................................................... 50
4.2. 在容器服务 ACK集群挂载 CPFS .......................................... 53
开启 CPFS客户端支持 ............................................. 53
在 Master上挂载 CPFS ............................................ 53
4.3. 拷贝/下载数据到 CPFS ................................................. 55
拷贝数据到 CPFS ................................................. 55
下载数据到 CPFS ................................................. 56
4.4. 创建CPFS PV和PVC ................................................... 57
创建 CPFS的 PV配置文件 .......................................... 57
创建 CPFS的 PVC配置文件 ......................................... 58
检查 PV和PVC ................................................... 59
5. 训练测试 ................................................................ 62
5.1. 部署Arena工具 ...................................................... 62
5.2. 拷贝Demo脚本到 master节点 .......................................... 68
4
7企业上云实践 弹性裸金属 AI训练最佳实践
5.3. 单机跑训练作业 ...................................................... 69
Perseus-TF测试 ................................................. 69
5.4. 多机测试 ............................................................ 78
采用 TCP协议测试脚本 ............................................ 78
查看 TCP网络测试结果 ............................................ 82
在 RDMA协议上跑训练作业 ......................................... 85
附录:在 windows环境使用Putty登录Linux主机的方法 ............................. 98
下载 putty并安装 ........................................................... 98
连接主机: ................................................................. 98
拷贝文件到远程 linux主机 .................................................. 101
5
8
最佳实践概述
AI数据处理流程
AI数据处理一般分为三个步骤,数据采集,清洗标注,模型训练。本方案属于模型
训练阶段。
方案场景描述
本方案适用于 AI训练场景,尤其是对性能要求苛刻,业务交付紧迫的场景。例如自
动驾驶的模型训练(图片),自然语言处理的模型训练(语音)等各种 AI模型训练
的场景。本方案使用了 SCC超级计算集群,采用 RDMA网络+弹性裸金属服务器+
并行文件系统 CPFS+阿里云容器服务 Kubernetes版+飞天 AI加速训练工具,提供
极致性能稳定的训练环境,保障业务能力。
方案架构
本方案使用了 sccgn6机型的 GPU云服务器,是一种弹性裸金属的神龙服务器,
每台配置 8个 V100的 GPU,并配置 50Gb/s的 RDMA网络。
并行文件系统 CPFS作为共享存储,提供高带宽低延迟的数据访问服务。
飞天 AI加速训练工具框架加速分布式训练,提升训练速度。
系统架构图如下: