baidu kunlun an ai processor for diversified workloads...baidu kunlun an ai processor for...

18
Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( [email protected] ) Mijung Noh 2 , Yong Wang 1 , Wei Qi 1 , Yin Ma 1 , Canghai Gu 1 , SoonGon Kim 2 , Ki-il Hong 2 , Wang-Keun Bae 2 , Zhibiao Zhao 1 , Jing Wang 1 , Peng Wu 1 , Xiaozhang Gong 1 , Jiaxin Shi 1 , Hefei Zhu 1 , Xueliang Du 1 1 Baidu, Inc. 2 Foundry Business, Samsung Electronics

Upload: others

Post on 07-Mar-2021

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

Baidu Kunlun An AI processor for diversified workloads

Jian Ouyang, 1 ( [email protected] ) Mijung Noh2, Yong Wang 1, Wei Qi 1, Yin Ma 1, Canghai Gu 1, SoonGon Kim2,

Ki-il Hong2, Wang-Keun Bae2, Zhibiao Zhao 1, Jing Wang 1, Peng Wu 1, Xiaozhang Gong 1, Jiaxin Shi 1, Hefei Zhu 1, Xueliang Du 1

1Baidu, Inc. 2Foundry Business, Samsung Electronics

Page 2: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

The diversified AI applications

SpeechRecognition, generation..

VisionClassification, detection,

Segmentation..

NLPQnA, recommend..

1

Page 3: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

The diversified AI scenarios

Cloud Data Center HPC Smart Industry Smart City

2

Page 4: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

Design AI chip products from industry perspectives

• Target at mainstream market

• Try to explore market volume as much as possible

• Need to support AI applications and scenarios as many as possible

3

Page 5: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

But, the challenge

• Large variety of computing and memory accessing patterns – Up to thousand operators in mainstream frameworks – Mix of tensor, vector and scalar operations – With sequential and random memory access

• Rapid change in algorithm and applications

• Developers have high threshold to new hardware

4

Page 6: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

Baidu Kunlun’s product vision

• Large variety of computing and memory accessing patterns

• Rapid change in algorithm and applications

• The high threshold of developers to new hardware

• Generic

• Flexibility

• Usability and programmability

• High performance

5

Page 7: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

The history of Baidu Kunlun

2010

Kickoff SDAProject

2014

Hotchips 2014SDA

2016

Hotchips 2016SDA-II

2017

Hotchips 2017XPU

2019

Baidu Kunlun Tapeout

2020

Deployment

300Gflops 1Tops2Tops

4Tops

256Tops

• Move from FPGA to ASIC• Evolve from full customization to full programmability

6

• SDA : software-define Accelerator• XPU: the X processor unit for diversified workloads• Baidu Kunlun: the name of Baidu first AI chip, Kunlun is the famous mountain in China

Page 8: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

The overview of Baidu Kunlun

• Samsung Foundry 14nm , 2.5D PKG• 2 x HBM , 512GB/s• PCIE 4.0 x 8• 150W , 256Tops

7

Page 9: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

The overview of Baidu Kunlun board

Model Baidu Kunlun K200

Architecture XPUPrecision INT4/8

FP32INT/FP16

Computing capability INT8: 256TOPSINT/FP16: 64TOPSINT/FP32: 16TOPS

HBM Memory Size 16GB HBM Bandwidth 512GB/sHost IF PCIE Gen4.0 * 8

Processing 14nmThermal Cooling PassivePackage 2.5DTDP 150W

8

Page 10: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

The overview of Baidu Kunlun architecture

Xpu-cluster

On-chip Shared memoryHBM0

HBM1

PCIEGen4(x8)

Compute unit0

XPU-SDNN

Xpu-cluster

Xpu-cluster

Xpu-cluster

XPU-SDNN

XPU-SDNN

XPU-SDNN

Xpu-cluster

On-chip Shared memory

XPU-SDNN

Xpu-cluster

Xpu-cluster

Xpu-cluster

XPU-SDNN

XPU-SDNN

XPU-SDNN

HBMI/F

HBMI/F

Compute unit1

Multi-port MC

Many tiny cores

Customized logic

DMA

DDR4

DDR4

DDR4

• XPU v1, FPGA based : Hotchips 2017• Customized logic for tensor and vector• Tiny cores for scalar

• XPU v2• With the same design methodology • More powerful than FPGA version

9 SDNN - software-defined Neural Network engine

Page 11: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

The overview of Baidu Kunlun architecture

Xpu-cluster

On-chip Shared memoryHBM0

HBM1

PCIEGen4(x8)

Compute unit0

XPU-SDNN

Xpu-cluster

Xpu-cluster

Xpu-cluster

XPU-SDNN

XPU-SDNN

XPU-SDNN

Xpu-cluster

On-chip Shared memory

XPU-SDNN

Xpu-cluster

Xpu-cluster

Xpu-cluster

XPU-SDNN

XPU-SDNN

XPU-SDNN

HBMI/F

HBMI/F

Compute unit1

• Two units, each unit has• 8GB HBM, 256GB/s• 16MB on-chip memory• 4 XPU-SDNN and 4 XPU-Cluster

• XPU-SDNN• Software-defined Neural Network

engine • Aims at tensor and vector

• XPU-Cluster • Aims at scalar and vector• With SIMD Instructions• 16 tiny core in one cluster

10

Page 12: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

The overview of Baidu Kunlun software stack

• Support multiple frameworks with graph compiler– Paddle Paddle, Tensorflow, Pytorch

• Support new operators by user-written kernels– XPU C/C++ programming language

• Deep learning library– APIs for common operators used in

deep learning network

Kunlun driver

Kunlun Runtime / Compiler

Libraries User-written

kernelGraph

compiler

Application / developer / framework

11

Page 13: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

Inference performance – micro benchmark

kunlun T4 P40

50

100

150

200

250

Gemm-int8

Tops

M,N,K = 4096

12

Tops

Page 14: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

Inference performance – YoloV3

QPS0

20

40

60

80

100

120

140

160

昆仑 T4

• YoloV3 darknet53, 608• Baidu Kunlun: int16; T4 : TensorRT-FP16. Both accuracy are the same as FP32• The accuracy of tensorRT-int8 is 5% ~8% less than FP32. so we use FP16/int16 as

benchmark

QPS0

20

40

60

80

100

120

140

昆仑 T4

Batch=4 Batch=1

13

QPS: queries per second

QPS: queries per second

Page 15: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

Inference performance – BERT

QPS0

200

400

600

800

1000

1200

1400

昆仑 T4

• Bert_Base_Uncased: 12 layer, heads_num = 12, hidden_size = 768, sequence length = 128• GPU : TensorRT-FP16; Kunlun : Int16

QPS0

200

400

600

800

1000

1200

1400

昆仑 T4

Batch=12 Batch=16

14

QPS: queries per second QPS: queries per second

Page 16: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

Inference performance – real models in search engine

QPS Kunlun/T40

0.5

1

1.5

2

2.5

3

QPS : Kunlun/T4

model1 model2 model3

Notes: model1 and model3 are NLP models. Model2 is vision model

15

Page 17: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

Inference performance – customized MaskRCNN

QPS0

2

4

6

8

10

12

14

16

18

20

昆仑 T4• CUDA Capability: 75, Driver API Version:

10.1, Runtime API Version: 10.0 cuDNN Version: 7.5

• Input size : 920x1120

• K200 was used in a customized machine for smart industry

• Running a series of models including MaskRCNN

16

QPS: queries per second

Page 18: Baidu Kunlun An AI processor for diversified workloads...Baidu Kunlun An AI processor for diversified workloads Jian Ouyang, 1 ( ouyangjian@baidu.com ) Mijung Noh2, Yong Wang 1, Wei

Conclusion

• Baidu Kunlun is an AI processor for diversified workloads– 256Tops int8 and 64Tops int16/fp16– 512GB/s memory bandwidth – Samsung Foundry 14nm processing, TDP 150W

• Proven in real applications– Large collection of models: NLP, vision, speech and etc. – Wide ranging scenarios from data center to big edge

• It is available now!– Can be accessed via Baidu Cloud

17