大规模分布式机器学习未来发展之我见 ·...

Post on 08-Sep-2019

30 views 0 download

Transcript of 大规模分布式机器学习未来发展之我见 ·...

大规模分布式机器学习未来发展之我见

耿金坤

大数据驱动的AI/ML时代

大规模分布式机器学习成为业界常态。

1. 数据的爆炸式增长

大数据驱动的AI/ML时代

大规模分布式机器学习成为业界常态。

1. 数据的爆炸式增长

2. 模型复杂度不断增加 [ScienceCloud’19]

ImageNet Competition:

<10(Hinton, 2012),22 (Google, 2014), 152 (Microsoft, 2015), 1207 (SenseTime, 2016)

大数据驱动的AI/ML时代

单机节点训练不能满足实际业务需要,多机分布式的机器学习成为必须。

基本问题

DML架构和参数同步算法

参数同步模式

数据/模型并行模式

新型加速技术的应用

基本问题

DML架构和参数同步算法

参数同步模式

数据/模型并行模式

新型加速技术的应用

基础架构与同步算法

基于参数服务器(PS)的架构

基于Mesh的架构

基于Ring的架构

基础架构与同步算法

基于参数服务器(PS)的架构

Push Pull

基础架构与同步算法

基于Mesh的架构

Diffuse Collect

基础架构与同步算法

基于Ring的架构

Scatter-1 Scatter-2

基础架构与同步算法

基于Ring的架构

Gather-1 Gather-2

对比

6

架构 典型系统 优势 劣势

基于PS Tensorflow,MXNet

被多数主流框架支持;部署简单;弹性扩展好;鲁棒性强

容易产生中心化瓶颈

基于Mesh Malt, AKO,Poseidon

负载均衡;鲁棒性强 扩展性差

基于Ring Horovod 带宽最优;连接数目少 鲁棒性差

拓扑感知的层次化参数同步HiPS [NetAI’18]

拓扑感知的层次化参数同步HiPS

00 01 02 10 11 12 20 21 22

拓扑感知的层次化参数同步HiPS

拓扑感知的层次化参数同步HiPS

00 01 02 10 11 12 20 21 22

拓扑感知的层次化参数同步HiPS

基本问题

DML架构和参数同步算法

参数同步模式

数据/模型并行模式

新型加速技术的应用

参数同步模式

BSP (Bulk Synchronous Parallel)同步

ASP (Asynchronous Parallel)同步

SSP (Stale Synchronous Parallel)同步

参数同步模式

BSP (Bulk Synchronous Parallel)同步

参数同步模式

ASP (Asynchronous Parallel)同步

参数同步模式

SSP (Stale Synchronous Parallel)同步

对比

同步模式 优势 劣势

BSP 实现简单直观;迭代质量高;算法再现性(reproducibility)好

Straggler问题

ASP 迭代速度快,不存在Straggler问题

牺牲了迭代质量,可能造成不收敛

SSP 在BSP和ASP之间进行折中,一定程度上兼顾了迭代质量和迭代速度

需要对于Staleness Bound 进行精细调节,在一些情况下收敛速度甚至弱于BSP

基本问题

DML架构和参数同步算法

参数同步模式

数据/模型并行模式

新型加速技术的应用

数据并行 (垂直训练)

参数同步

模型实例

模型并行(水平训练)

数据/模型并行模式

6

数据并行 模型并行

同步开销

GPU利用率

负载均衡

Straggler问题

I/O 扩展性

数据/模型并行模式

6

数据并行 模型并行

同步开销

GPU利用率

负载均衡

Straggler问题

I/O 扩展性

数据/模型并行模式

6

数据并行 模型并行

同步开销

GPU利用率

负载均衡

Straggler问题

I/O 扩展性

数据/模型并行模式

Two key metrics defined by NVIDIA

Utilization: Percent of time over the past sample period during which one or more kernels was executing on the GPU

Occupancy: Ratio of active warps on an SM (Stream Multiprocessor) to the maximum number of active warps supported by the SM

数据/模型并行模式

0

10

20

30

40

50

60

70

80

90

100

0 10 20 30 40 50 60 70 80 90 100

GPU

Utiliz

atio

n(%

)

Time (s)

GPU Utilization(Baseline)

Base-0 Base-1 Base-2 Base-3

4节点下的数据并行方案(40Gbps)

数据/模型并行模式

4节点下的模型并行方案(40Gbps)

0

10

20

30

40

50

60

70

80

90

100

0 10 20 30 40 50 60 70 80 90 100

GPU

Utiliz

atio

n(%

)

Time (s)

GPU Utilization(Flex)

Flex-0 Flex-1 Flex-2 Flex-3

数据/模型并行模式

平均GPU利用率对比

0

10

20

30

40

50

60

70

80

90

100

0 10 20 30 40 50 60 70 80 90 100

GPU

Utiliz

atio

n(%

)

Time (s)

AverageGPU UtilizationComparison

Flex-Average Base-Average

46.0% vs 16.6% (1.77x)

数据/模型并行模式

GPU占用率累积分布(Batch Size:4*4)

数据/模型并行模式

6

We can use Large Batches to improve occupancy!

0.08%

18.54%

48.28%51.86%60.00%63.30%65.93%

92.68%95.30%100.00%

0%10%20%30%40%50%60%70%80%90%

100%

10%20%

30%40%

50%60%

70%80%

90%100%

Perc

enta

ge

GPU Occupancy

数据/模型并行模式

GPU memory constraints!

数据/模型并行模式

6

数据并行 模型并行

同步开销

GPU利用率

负载均衡

Straggler问题

I/O 扩展性

数据/模型并行模式

模型并行的负载均衡通过模型迁移实现

数据并行的负载均衡通过数据迁移实现

数据/模型并行模式

6

数据并行 模型并行

同步开销

GPU利用率

负载均衡

Straggler问题

I/O 扩展性

数据/模型并行模式

数据预处理开销不可忽略 [ICPP’19]

1. 为了充分利用GPU算力,需要足够多的CPU进行数据预处理并feed给GPU进行训练

2. 基于NVCaffee进行训练,训练AlexNet模型,打满一块Tesla P100 GPU需要消耗 ~12 CPU核,训练ResNet-18,打满P100需要消耗 ~7 CPU核。

数据/模型并行模式

数据/模型并行模式

6

数据并行 模型并行

同步开销

GPU利用率

负载均衡

Straggler问题

I/O 扩展性

数据/模型并行模式

High-Parallel CONV FCLow-Parallel CONV

FP BP

基本问题

DML架构和参数同步算法

参数同步模式

数据/模型并行模式

新型加速技术的应用

新型加速技术的应用

过去5年时间GPU算力增长35X [SoCC’18]

主流网卡配置仍然为1Gbps~10Gbps TCP

新型加速技术的应用

Linux Kernel Stack

High Performance

Bottleneck!

新型加速技术的应用

Linux Kernel Stack Bottleneck!

新型加速技术的应用

Linux Kernel Stack Bottleneck!

新型加速技术的应用

Intel DPDK

1. 优势:跨内核,用户态可以直接操作裸包

2. 问题:Polling开销,需要用户态实现拆包和封装逻辑 [APNet’17]

RDMA

1. 优势:零拷贝,硬件实现拆封包逻辑

2. 问题:编程复杂,PFC拥塞控制问题

基本问题

DML架构和参数同步算法

参数同步模式

数据/模型并行模式

新型加速技术的应用

未来发展

未来发展

DML架构和参数同步算法:

1. 层次化的架构设计 ?

2. 自适应的拓扑感知算法 ?

3. Serverless 架构下的安全性问题?

未来发展

参数同步模式

1. 迭代速度与迭代质量如何折中?BSP、ASP、SSP如何选型?

2. Geo-Distributed 场景下的参数同步?

3. Federated Learning

未来发展

数据/模型并行模式

1. 混合并行

2. 模块化

3. 灵活并行度

模块化

Parameter Synchronization

灵活并行度

High-Parallel CONV FCLow-Parallel CONV

FP BP

未来发展

新型加速技术的应用

1. 技术本身的革新

2. 算法应用适配技术 [ICDE’19]

参考文献

DML架构和参数同步算法: HiPS [NetAI’18];BML[NeurIPS’18] ; SmartPS [APNet’19] ;

参数同步模式: HiPS [NetAI’18]; SmartPS [APNet’19]

数据/模型并行模式: BML[NeurIPS’18] ; Rima [ICDE’19]; ElasticPipe [ScienceCloud’19] ; Hove[CCIW’19]

新型加速技术的应用:LOS [APNet’17]; HiPS [NetAI’18]; Rima [ICDE’19]; Topology [INFOCOM’19]; DLBooster [ICPP’19]

MAXP-2019 参赛体会

主要感受

创新性与包容性兼顾

1. 算法赛、FPGA赛、创新赛三个赛道并进

2. 诸多跨学科作品涌现

3. 节奏短平快、内容紧张充实

4. 资源支持充分

主要感受

MAXP = Max Performance

1. 应用类的作品仍然占主导地位

2. 系统性能层面的作品值得鼓励

基于记忆交互的循环卷积网络混合并行模式的分布式机器学习加速方案基于VGG16的大规模数据集快速并行训练方案

愿景

希望 MAXP-202X:

1. 吸引更多优秀的参赛队伍,迸发更多创意的作品

2. 连接更多优秀的企业,更好地践行产学研路线

3. 不断增强在学术圈和工业界的影响力,早日走向国际化

Thanks!

https://www.gengjinkun.com/