LC3-阿里云弹性人工智能 v1.2

We will introduce the recommended technical architecture for content recommendation scenario on Alibaba Cloud and we will introduce the performance optimization work and the results for this scenario on large-scale distributed GPU VM nodes in Alibaba Cloud. We need to train about 20 billion samples within an hour. The model has high communication-computing ratio and is implemented with Tensorflow, which has very bad scalability for large-scale distributed nodes and especially bad on the Cloud Computing virtual network. What’s more, We optimized the performance both on communication and IO aspects and get over 14x speedup on 64 GPU VMs than the original implementation and finally trained over 20 billion samples within an hour on the 64 GPU VMs in Alibaba Cloud.
展开查看详情

1.阿里云弹性人工智能 阿里云平台上深度优化分布式训练性能 游亮(昀龙)

2.弹性 AI 服务 – Elastic AI Service 基于 阿里云弹性基础资源,为用户提供深度性能优化的、一站式的、开源开放的人工智能 解决方案 E-HPC Slurm /PBS Docker Swam/ Kebernetes 弹性计算 异构计算服务 + 超级计算集群 计算 CPU GPU 网络 VPC RDMA 共享存储 文件 存储 NAS/CPFS 对象存储 OSS EMR Hadoop HDFS/D1 高性能 AI 引擎 开源 AI 解决方案 图像 / 视频识别 弹性 AI 服务( EAIS ) CTR 预估 语音识别

3.阿里云弹性异构计算服务 EGS: Elastic GPU Service FaaS: FPGA as a Service 异构计算 CPU + GPU/FPGA 优势互补 云上大规模 GPU/FPGA 池 短时间能够获取大量 GPU/FPGA 资源 有效解决业务波峰、波谷的问题 大大降低训练时间,提高模型迭代速度 享受硬件升级的红利 和其他云产品深度整合

4.阿里云超级计算集群 SCC 神龙 云服务器 节点 神龙 云服务器 节点 神龙 云服务器 节点 神龙 云服务器 节点 神龙 云服务器 节点 …… 2x25G VPC 虚拟网络 云盘存储网络 2x25Gb(100Gb ) RDMA 低延迟网络 虚机的弹性 + 物理机的性能 支持 2x25Gb(100Gb) RoCE RDMA 网络 支持 GPU Direct RDMA 适合大规模深度学习训练

5.推荐算法 I 逻辑回归算法 浅层模型 需要大量特征工程 Sigmoid 作为激活函数 Sigmoid 交叉熵作为损失函数 梯度下降作为优化器

6.推荐算法 II Deep Auto Encoder[ Hinton, 2011 ] 把请求 Q 和文档 D 映射到语义空间 用 Cosine 计算请求和文档的相关度 缺点:真实生产中模型大小扩展很快 (2.5 亿参数 )

7.推荐算法 III Deep Structured Semantic Model [ Microsoft, 2013 ] 输入层:将 输入向量进行单词哈希 使用多个非线性隐藏层抽取高级语义表达( DNN 模型) 使用点击信号来指导学习 用 Softmax 最大化请求和点击过的文档的 cosine 相似度

8.推荐算法 IV Wide and Deep [ Google, 2016 ] Wide 输入层 : 原始输入特征 + 交叉特征;模型: FTRL Deep 模型的输入层 : 将稀疏特征转换成了稠密的 embedding 层;模型: DNN 在线效果提升 3.9%

9.阿里云上推荐场景 – 技术架构 训练任务 每天需要训练上千亿样本 行为预估 根据用户的行为预估和推荐 算法 原来使用逻辑回归和 GBDT 算法 现在使用 LR + DNN 算法 配置 双 M 4 0 GPU 卡, 56vcpu , 96GB 内存 1 0Gb 网络 预处理、存储 : EMR Hadoop 做预处理 HDFS 基于 D1 实例构建 分布式训练: K8S 多 GPU 卡的分布式调度 Tensorflow PS 模式调度 Tensorflow MPI 模式调度 Docker ( K8S) Worker0 EGS/SCC Worker1 EGS/SCC Worker2 EGS/SCC Worker 3 EGS/SCC Tensorflow Parameter Server EGS Gradients EMR(HDFS) Store0 D1 Store1 D1 Store2 D1 Store3 D1 Reading Data

10.阿里云上推荐场景 – 性能优化 I 定位性能瓶颈 Tensorflow profiler 瓶颈 1: 文件读取和解析 瓶颈 2: 分布式多机通信

11.阿里云上推荐场景 – 性能优化 II 优化 IO 性能 多进程同时从 HDFS 文件系统里读取大量文件 多缓存队列 : 让文件读取和计算重叠 64 节点比原始性能提升 2 .1 倍 Buffer0 Buffer1 Buffer2 Buffer3 HDFS Multiprocessing reading Queue Producer Training Consumer

12.阿里云上推荐场景 – 性能优化 III 优化通信性能 使用 MPI 通信代替了 gRPC 通信 使用 allreduce 环形通信 64 节点比原始性能提升 2.7 倍,累计提升 5.7 倍 GPU0 GPU5 GPU4 GPU3 GPU 2 GPU1 send receive send send send send receive receive receive send receive receive

13.阿里云上推荐场景 – 性能优化 IV 优化通信性能 使用 FP16 通信 , 带宽压力降低一倍,使用 FP32 做计算 选择合适的 scaling 值避免下溢 64 节点比原始性能提升 2.5 倍,累计提升 1 4 倍 Gradient FP16 Gradient FP16 Forward FP32 Gradient Cal FP32 Backward FP32 Cast Forward FP32 Gradient Cal FP32 Backward FP32 Cast fp16 communication

14.阿里云上图像识别场景 – 技术架构 训练任务 一小时内需要训练 128 万 *90epoch=1.15 亿张图片 算法模型 ResNet-50 配置 8 xP100 GPU 卡, 56vcpu , 480 GB 内存 25Gb 网络 分布式调度: K8S 多 GPU 卡的分布式调度 Tensorflow PS 模式调度 Tensorflow MPI 模式调度 存储 : CPFS(Lustre on 阿里云 ) Docker ( K8S) Rank0 EGS/SCC Rank1 EGS/SCC Rank2 EGS/SCC Rank 3 EGS / SCC CPFS Batch0 Batch1 Batch2 Batch3 Reading Data Tensorflow MPI version

15.阿里云上图像识别场景 – 性能优化 MPI + ring allreduce 性能优化 移除多对 1 的通信瓶颈 分散带宽压力 计算和通信重叠优化 多层 权值 融合成一个 block 自动调节 block 大小达到最佳性能 性能提升 ResNet-50 1 28 卡性能提升 6 3% 精度调节 0.1;5;3.2;30;0.32;60;0.032;80;0.0032 训练 Top-1 精度为 75% , Top5 为 92.4%

16.阿里云上图像识别场景 – 更多模型性能提升 ResNet-101 128 卡性能提升 70% VGG16 128 卡性能提升 8 0% Inception-v3 128 卡性能提升 50 %

17.欢迎加入阿里云弹性人工智能团队 愿景 : 加速阿里云上人工智能企业的发展 当人工智能遇上云计算,一切皆有可能

18.