深度學(xué)習(xí)框架簡(jiǎn)史 (A Brief History of Deep Learning Frameworks)
點(diǎn)擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)
過去?年,機(jī)器學(xué)習(xí)(尤其是深度學(xué)習(xí)領(lǐng)域)涌現(xiàn)了?量算法和應(yīng)?。在這些深度學(xué)習(xí)算法和應(yīng)?涌現(xiàn)的背后,是各種各樣的深度學(xué)習(xí)?具和框架。它們是機(jī)器學(xué)習(xí)?命的腳?架:TensorFlow和PyTorch等深度學(xué)習(xí)框架的?泛使?,使許多機(jī)器學(xué)習(xí)從業(yè)者能夠使?適合領(lǐng)域的特定編程語?和豐富的構(gòu)建模塊更容易地組裝模型。





展望未來,有?個(gè)技術(shù)趨勢(shì)有望成為下?代深度學(xué)習(xí)框架的主流:
基于編譯器的算?(operator)優(yōu)化。如今,許多操作符內(nèi)核都是通過?動(dòng)或第三?庫實(shí)現(xiàn)的,?如BLAS、CuDNN、OneDNN等,這些庫針對(duì)特定的硬件平臺(tái)。當(dāng)模型被訓(xùn)練或部署在不同的硬件平臺(tái)上時(shí),這會(huì)造成很?的開銷。此外,新的深度學(xué)習(xí)算法的增?速度往往?這些庫的迭代速度快得多,這使得這些庫常常不?持新的算?。深度學(xué)習(xí)編譯器,如Apache TVM, MLIR, Facebook Glow等,已經(jīng)提出了在任何硬件后端上有效優(yōu)化和運(yùn)?計(jì)算的建議。它們可以作為深度學(xué)習(xí)框架的整個(gè)后端。
統(tǒng)?的API標(biāo)準(zhǔn)。許多深度學(xué)習(xí)框架共享類似但略有不同的?戶API。這給?戶從?個(gè)框架切換到另?個(gè)框架帶來了困難和不必要的學(xué)習(xí)曲線。雖然?多數(shù)機(jī)器學(xué)習(xí)從業(yè)者和數(shù)據(jù)科學(xué)家都熟悉NumPy庫,但在新的深度學(xué)習(xí)框架中,NumPy API?然會(huì)成為tenor操作API的標(biāo)準(zhǔn)。我們已經(jīng)看到快速發(fā)展的框架JAX受到了?戶的熱烈歡迎,它的API完全與NumPy兼容。
數(shù)據(jù)搬運(yùn)作為?等公?。多節(jié)點(diǎn)或多設(shè)備訓(xùn)練正在成為深度神經(jīng)?絡(luò)訓(xùn)練的規(guī)范。最近開發(fā)的深度學(xué)習(xí)框架,如OneFlow,從設(shè)計(jì)的第?天起就將這?觀點(diǎn)納?設(shè)計(jì)考慮,并將數(shù)據(jù)通信視為模型訓(xùn)練的整體計(jì)算圖的?部分。這為性能優(yōu)化打開了更多的機(jī)會(huì),?且由于它不需要像以前的深度學(xué)習(xí)框架那樣維護(hù)多種訓(xùn)練策略(單設(shè)備vs分布式訓(xùn)練),因此除了提供更好的性能之外,它還可以提供更簡(jiǎn)單的?戶界?。
我們正處于?場(chǎng)??智能?命的黎明。??智能領(lǐng)域的新研究和新應(yīng)?正在以前所未有的速度涌現(xiàn)。?年前,AlexNet?絡(luò)包含6000萬個(gè)參數(shù);最新的GPT-3?絡(luò)包含1750億參數(shù),?絡(luò)規(guī)模在8年內(nèi)增加了3000倍!另???,?類的?腦包含?約100萬億個(gè)參數(shù)(即突觸)。這表明,如果有可能的話,神經(jīng)?絡(luò)要達(dá)到?類的智能?平還有很?的差距。
這種難以接受的?絡(luò)規(guī)模對(duì)模型訓(xùn)練和推理的硬件和軟件計(jì)算效率都提出了很?的挑戰(zhàn)。未來的深度學(xué)習(xí)框架很可能是算法、?性能計(jì)算、硬件加速器和分布式系統(tǒng)的跨學(xué)科成果。
作者簡(jiǎn)介

Lin Yuan是Waymo的一名資深軟件工程師。他為自動(dòng)駕駛汽車的感知和規(guī)劃任務(wù)開發(fā)了機(jī)器學(xué)習(xí)平臺(tái)。在加入Waymo之前,他曾在Amazon AI從事大規(guī)模分布式學(xué)習(xí)。他是Apache深度學(xué)習(xí)框架MXNet和LFAI分布式學(xué)習(xí)庫Horovod的代碼提交者和主要貢獻(xiàn)者。
在從事AI領(lǐng)域的工作之前,他在VLSI設(shè)計(jì)和自動(dòng)化方面積累了豐富的經(jīng)驗(yàn)。他曾擔(dān)任半導(dǎo)體設(shè)計(jì)自動(dòng)化會(huì)議ICCAD和DAC的技術(shù)程序委員會(huì)(Technical Program Committee)委員。他獲得了馬里蘭大學(xué)帕克分校的計(jì)算機(jī)工程博士學(xué)位。
注釋
[1] Alex Krizhevsky et al., ImageNet Classification with Deep Convolutional Neural Networks(2012), NeurIPS 2012
[2] Kaiming He et al., Deep Residual Learning for Image Recognition (2016), CVPR 2016
[3] Jacob Devlin et al., BERT: Pre-training of Deep Bidirectional Transformers for Language?Understanding (2018)
[4] Tom B. Brown et al., Language Models are Few-Shot Learners (2020), NeurIPS 2020
[5] Announcing the Consortium for Python Data API Standards (2020)
交流群
歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請(qǐng)按照格式備注,否則不予通過。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~

