深度学习编译器综述The Deep Learning Compiler
深度學(xué)習(xí)編譯器綜述The Deep Learning Compiler
The Deep Learning Compiler: A Comprehensive Survey
參考文獻(xiàn):
https://arxiv.org/pdf/2002.03794v4.pdf
在不同的DL硬件上部署各種深度學(xué)習(xí)(DL)模型的困難,推動(dòng)了社區(qū)DL編譯器的研究和開(kāi)發(fā)。DL編譯器已經(jīng)從工業(yè)和學(xué)術(shù)界提出,如TysFraceXLA和TVM。類似地,DL編譯器將不同DL框架中描述的DL模型作為輸入,然后為不同的DL硬件生成優(yōu)化代碼作為輸出。然而,現(xiàn)有的探索都沒(méi)有全面分析DL編譯器的獨(dú)特設(shè)計(jì)架構(gòu)。在本文中,通過(guò)詳細(xì)剖析常用的設(shè)計(jì),對(duì)現(xiàn)有的DL編譯器進(jìn)行了全面的探索,重點(diǎn)是面向DL的多級(jí)IRs和前端/后端優(yōu)化。詳細(xì)分析了多級(jí)IRs的設(shè)計(jì),舉例說(shuō)明了常用的優(yōu)化技術(shù)。最后,強(qiáng)調(diào)了一些見(jiàn)解作為潛在的研究方向
DL編譯器的設(shè)計(jì)。這是第一篇關(guān)于DL編譯器設(shè)計(jì)體系結(jié)構(gòu)的調(diào)查論文,希望能為DL編譯器的未來(lái)研究鋪平道路。
TensorFlow,Keras,PyTorch,Caffe/Caffe2,MXNet,CNTK,PaddlePaddle,ONNX。
本文主要貢獻(xiàn)
?剖析了現(xiàn)有DL編譯器普遍采用的設(shè)計(jì)架構(gòu),對(duì)關(guān)鍵設(shè)計(jì)組件(如多級(jí)IRs、前端優(yōu)化)進(jìn)行了詳細(xì)分析(包括節(jié)點(diǎn)級(jí)、塊級(jí)和數(shù)據(jù)流級(jí)優(yōu)化)和后端優(yōu)化(包括特定于硬件的優(yōu)化、自動(dòng)調(diào)優(yōu)和優(yōu)化的內(nèi)核庫(kù))。
?從各個(gè)方面提供了現(xiàn)有DL編譯器的綜合分類法,這與本文中描述的關(guān)鍵組件相對(duì)應(yīng)。該分類法的目標(biāo)是為從業(yè)人員提供關(guān)于選擇DL編譯器的指南,需求,并為研究人員提供DL編譯器的全面總結(jié)。提供了CNN模型上DL編譯器的定量性能比較,包括成熟模型和輕量級(jí)模型。比較了端到端和每層(卷積層,因?yàn)榭刂仆评頃r(shí)間)的性能,顯示優(yōu)化的有效性。評(píng)估腳本和結(jié)果都是開(kāi)源的,僅供參考。
?重點(diǎn)介紹了DL編譯器未來(lái)發(fā)展的一些見(jiàn)解,包括動(dòng)態(tài)形狀和前后處理、高級(jí)自動(dòng)調(diào)整、多面體模型、子圖分區(qū)、量化、統(tǒng)一優(yōu)化、可微編程和隱私保護(hù),希望這些能夠推動(dòng)DL編譯器界的研究。
Fig. 1. DL framework landscape: 1) Currently popular DL frameworks; 2) Historical DL frameworks; 3) ONNX supported frameworks.
Fig. 2. The overview of commonly adopted design architecture of DL compilers.
Fig. 3. Example of computation graph optimizations, taken from the HLO graph of Alexnet on Volta GPU using Tensorflow XLA.
Fig. 4. Overview of hardware-specific optimizations applied in DL compilers.
Table 1. The comparison of DL compilers, including TVM, nGraph, TC, Glow, and XLA.
Table 2. The hardware configuration.
Fig. 5. The performance comparison of end-to-end inference across TVM, nGraph, Glow and XLA on CPU and GPU.
Fig. 6. The performance comparison of convolution layers in MobileNetV2_1.0 across TVM, TC, Glow and XLA on V100 GPU.
Fig. 7. The performance comparison of convolution layers in MobileNetV2_1.0 across TVM, nGraph and Glow on Broadwell CPU.
Fig. 8. The performance comparison of convolution layers in ResNet50 across TVM, TC and Glow on V100 GPU.
Fig. 9. The performance comparison of convolution layers in ResNet50 across TVM, nGraph and Glow on Broadwell CPU.
Table 3. The number of the clustered and non-clustered convolutions of XLA on V100 GPU and Broadwell CPU.
參考文獻(xiàn)
https://arxiv.org/pdf/2002.03794v4.pdf
總結(jié)
以上是生活随笔為你收集整理的深度学习编译器综述The Deep Learning Compiler的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 华为八爪鱼自动驾驶云
- 下一篇: 深度学习编译器Data Flow和Con