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

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

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

Page 1: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

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

耿金坤

Page 2: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

大数据驱动的AI/ML时代

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

1. 数据的爆炸式增长

Page 3: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

大数据驱动的AI/ML时代

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

1. 数据的爆炸式增长

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

ImageNet Competition:

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

Page 4: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

大数据驱动的AI/ML时代

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

Page 5: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

基本问题

DML架构和参数同步算法

参数同步模式

数据/模型并行模式

新型加速技术的应用

Page 6: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

基本问题

DML架构和参数同步算法

参数同步模式

数据/模型并行模式

新型加速技术的应用

Page 7: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

基础架构与同步算法

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

基于Mesh的架构

基于Ring的架构

Page 8: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

基础架构与同步算法

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

Push Pull

Page 9: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

基础架构与同步算法

基于Mesh的架构

Diffuse Collect

Page 10: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

基础架构与同步算法

基于Ring的架构

Scatter-1 Scatter-2

Page 11: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

基础架构与同步算法

基于Ring的架构

Gather-1 Gather-2

Page 12: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

对比

6

架构 典型系统 优势 劣势

基于PS Tensorflow,MXNet

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

容易产生中心化瓶颈

基于Mesh Malt, AKO,Poseidon

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

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

Page 13: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

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

Page 14: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

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

00 01 02 10 11 12 20 21 22

Page 15: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

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

Page 16: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

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

00 01 02 10 11 12 20 21 22

Page 17: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

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

Page 18: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

基本问题

DML架构和参数同步算法

参数同步模式

数据/模型并行模式

新型加速技术的应用

Page 19: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

参数同步模式

BSP (Bulk Synchronous Parallel)同步

ASP (Asynchronous Parallel)同步

SSP (Stale Synchronous Parallel)同步

Page 20: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

参数同步模式

BSP (Bulk Synchronous Parallel)同步

Page 21: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

参数同步模式

ASP (Asynchronous Parallel)同步

Page 22: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

参数同步模式

SSP (Stale Synchronous Parallel)同步

Page 23: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

对比

同步模式 优势 劣势

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

Straggler问题

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

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

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

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

Page 24: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

基本问题

DML架构和参数同步算法

参数同步模式

数据/模型并行模式

新型加速技术的应用

Page 25: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据并行 (垂直训练)

参数同步

模型实例

Page 26: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

模型并行(水平训练)

Page 27: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

6

数据并行 模型并行

同步开销

GPU利用率

负载均衡

Straggler问题

I/O 扩展性

Page 28: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

6

数据并行 模型并行

同步开销

GPU利用率

负载均衡

Straggler问题

I/O 扩展性

Page 29: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

6

数据并行 模型并行

同步开销

GPU利用率

负载均衡

Straggler问题

I/O 扩展性

Page 30: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

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

Page 31: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

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)

Page 32: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

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

Page 33: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

平均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)

Page 34: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

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

Page 35: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

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

Page 36: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

GPU memory constraints!

Page 37: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

6

数据并行 模型并行

同步开销

GPU利用率

负载均衡

Straggler问题

I/O 扩展性

Page 38: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

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

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

Page 39: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

6

数据并行 模型并行

同步开销

GPU利用率

负载均衡

Straggler问题

I/O 扩展性

Page 40: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

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

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

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

Page 41: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

Page 42: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

6

数据并行 模型并行

同步开销

GPU利用率

负载均衡

Straggler问题

I/O 扩展性

Page 43: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

数据/模型并行模式

High-Parallel CONV FCLow-Parallel CONV

FP BP

Page 44: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

基本问题

DML架构和参数同步算法

参数同步模式

数据/模型并行模式

新型加速技术的应用

Page 45: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

新型加速技术的应用

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

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

Page 46: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

新型加速技术的应用

Linux Kernel Stack

High Performance

Bottleneck!

Page 47: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

新型加速技术的应用

Linux Kernel Stack Bottleneck!

Page 48: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

新型加速技术的应用

Linux Kernel Stack Bottleneck!

Page 49: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

新型加速技术的应用

Intel DPDK

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

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

RDMA

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

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

Page 50: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

基本问题

DML架构和参数同步算法

参数同步模式

数据/模型并行模式

新型加速技术的应用

Page 51: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

未来发展

Page 52: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

未来发展

DML架构和参数同步算法:

1. 层次化的架构设计 ?

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

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

Page 53: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

未来发展

参数同步模式

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

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

3. Federated Learning

Page 54: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

未来发展

数据/模型并行模式

1. 混合并行

2. 模块化

3. 灵活并行度

Page 55: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

模块化

Parameter Synchronization

Page 56: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

灵活并行度

High-Parallel CONV FCLow-Parallel CONV

FP BP

Page 57: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

未来发展

新型加速技术的应用

1. 技术本身的革新

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

Page 58: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

参考文献

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]

Page 59: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

MAXP-2019 参赛体会

Page 60: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

主要感受

创新性与包容性兼顾

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

2. 诸多跨学科作品涌现

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

4. 资源支持充分

Page 61: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

主要感受

MAXP = Max Performance

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

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

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

Page 62: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

愿景

希望 MAXP-202X:

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

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

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

Page 63: 大规模分布式机器学习未来发展之我见 · 大规模分布式机器学习未来发展之我见 耿金坤. 大数据驱动的AI/ML时代 大规模分布式机器学习

Thanks!

https://www.gengjinkun.com/