當(dāng)Alpha Go點(diǎn)燃人類對(duì)深度學(xué)習(xí)的好奇心后,近年深度學(xué)習(xí)在市場上的討論度達(dá)到一個(gè)高峰。我們很容易從網(wǎng)絡(luò)資源上取得關(guān)于深度學(xué)習(xí)的開發(fā)步驟,若歸結(jié)到最根本的問題,究竟深度學(xué)習(xí)需要先準(zhǔn)備哪里些東西?
淺談深度學(xué)習(xí)的架構(gòu),主要可分為訓(xùn)練(Training)與推論(Inference)兩個(gè)階段。簡單來說,就是訓(xùn)練機(jī)器學(xué)習(xí),以及讓機(jī)器展現(xiàn)學(xué)習(xí)成果。再進(jìn)一步談深度學(xué)習(xí)的運(yùn)算架構(gòu),NVIDIA解決方案架構(gòu)經(jīng)理康勝閔簡單統(tǒng)整,定義出幾個(gè)步驟:
例如,必須收集學(xué)習(xí)所需的大數(shù)據(jù),包含大量的圖片、影片、文字或語言;接著建置運(yùn)算環(huán)境,例如設(shè)計(jì)類神經(jīng)網(wǎng)絡(luò)算法、選擇合適的運(yùn)算平臺(tái)軟件、運(yùn)算環(huán)境中軟硬件資源的配置等;經(jīng)過反復(fù)學(xué)習(xí)、驗(yàn)證與調(diào)整后得出最佳化模型,也就是學(xué)習(xí)成果,最后將模型導(dǎo)入產(chǎn)業(yè)環(huán)境中使用。
因此,深度學(xué)習(xí)的第一件事,必須先建立訓(xùn)練的環(huán)境。而建立訓(xùn)練環(huán)境的過程,單單幾個(gè)步驟看似簡單,實(shí)則復(fù)雜,主要是因?yàn)檎麄€(gè)訓(xùn)練環(huán)境橫跨多個(gè)領(lǐng)域,包括半導(dǎo)體芯片設(shè)計(jì)、IT領(lǐng)域的技術(shù)、計(jì)算機(jī)科學(xué)、資料科學(xué)、數(shù)學(xué)等,若涵蓋應(yīng)用端則又更廣。
由于深度學(xué)習(xí)所涉及的領(lǐng)域相當(dāng)廣泛,對(duì)非具備相關(guān)知識(shí)的人來說,看著深度學(xué)習(xí)就像一個(gè)魔法,就算是涉獵其中一項(xiàng)技術(shù)的人,也不一定能融會(huì)貫通。但事實(shí)上,要實(shí)現(xiàn)深度學(xué)習(xí)并不難,尤其現(xiàn)今的開發(fā)環(huán)境中,在市場上都具備許多相當(dāng)完整且成熟的產(chǎn)品可提供開發(fā)者使用,甚至簡化訓(xùn)練過程。
象是芯片大廠NVIDIA、英特爾(Intel)紛紛在市場上推出集成軟硬件的深度學(xué)習(xí)解決方案,或是各種軟件開發(fā)工具加速深度學(xué)習(xí)。臺(tái)廠方面,掌握眾多產(chǎn)業(yè)Know-how的IPC大廠研華也投入市場開發(fā),以產(chǎn)業(yè)需求為核心提出深度學(xué)習(xí)解決方案。
隨著深度學(xué)習(xí)的前景與商機(jī)爆發(fā),投入市場的人勢必越來越多,但這些人在深度學(xué)習(xí)領(lǐng)域中所扮演的角色與功能不盡相同。雖然深度學(xué)習(xí)在媒體上的討論度非常高,網(wǎng)絡(luò)上針對(duì)每個(gè)層面的技術(shù)都有相關(guān)文章為讀者抽絲剝繭,不過,礙于龐大的生態(tài)系,碎片化的信息仍舊難以將整個(gè)生態(tài)系串聯(lián)起來。
換一個(gè)角度來看,從產(chǎn)業(yè)鏈來定義深度學(xué)習(xí)的開發(fā)環(huán)境,暫且把它稱之為深度學(xué)習(xí)的生態(tài)系。為簡化深度學(xué)習(xí)的生態(tài)系,研華智能系統(tǒng)事業(yè)群協(xié)理鮑志偉提出一個(gè)五層金字塔的概念,將深度學(xué)習(xí)的開發(fā)環(huán)境與過程透過五個(gè)層級(jí),分別定義出每一層在深度學(xué)習(xí)系統(tǒng)中所扮演的角色,以及對(duì)應(yīng)的產(chǎn)業(yè)結(jié)構(gòu)。
要想明白深度學(xué)習(xí)需要怎樣的軟硬件,必須了解深度學(xué)習(xí)的工作原理。試想象一個(gè)五層金字塔,從最底層往上堆疊,第一層是深度學(xué)習(xí)在訓(xùn)練過程中的「引擎」,也就是硬件基礎(chǔ)。深度學(xué)習(xí)之所以能夠加速發(fā)展,主要的原因是因?yàn)槭袌霭l(fā)現(xiàn)GPU所提供的強(qiáng)大平行運(yùn)算架構(gòu)能大舉提升比CPU更快的運(yùn)算速度,這也讓GPU成為深度學(xué)習(xí)的代名詞。
雖然GPU在深度學(xué)習(xí)運(yùn)算中占有絕對(duì)重要的地位,但市場上仍有部份業(yè)者投入開發(fā)不同于GPU架構(gòu)的芯片。相較于GPU本來專為游戲開發(fā)卻無心插柳到AI領(lǐng)域,ASIC是一種專為特定目的而設(shè)計(jì)的集成電路,在效能與功耗上都要優(yōu)于GPU,但因其技術(shù)門檻高,目前大多由具備AI算法又擅長芯片研發(fā)的大廠參與,包括英特爾與Google都相繼投入開發(fā)。
而在金字塔的第二層中,則為專門提供開發(fā)者建立一個(gè)讓深度學(xué)習(xí)在運(yùn)算時(shí),可供擴(kuò)展且易于部署的基礎(chǔ)設(shè)施環(huán)境,當(dāng)中包括一些基于硬件優(yōu)化的開源軟件工具,讓開發(fā)者能夠彈性調(diào)配服務(wù)器里的GPU資源。
若是以傳統(tǒng)實(shí)體機(jī)建構(gòu)的運(yùn)算環(huán)境,一方面因成本太高,另一方面也因?yàn)閷C(jī)專用導(dǎo)致使用率偏低。所幸隨著虛擬化技術(shù)的進(jìn)步,現(xiàn)在連GPU也可以透過虛擬化達(dá)到運(yùn)算資源分享,開發(fā)者可以透過云端服務(wù)商所提供的基礎(chǔ)設(shè)施建立起深度學(xué)習(xí)運(yùn)算環(huán)境。
不過,即便部署虛擬化的運(yùn)算環(huán)境,在系統(tǒng)建置上仍會(huì)遇到開發(fā)環(huán)境不兼容等的問題。對(duì)此,具有隔離性和可移植性的容器技術(shù)正因此而變得盛行。容器可將軟件與其周圍的環(huán)境隔離開來,此有助于減少在同一基礎(chǔ)架構(gòu)上,運(yùn)行不同軟件之間的沖突。而像Docker這樣的容器格式,以及由Google所設(shè)計(jì)的容器管理平臺(tái)Kubernete也正受到市場廣泛地支持。
當(dāng)?shù)讓拥倪\(yùn)算環(huán)境建置起來后,在第三層的架構(gòu)中則是建立訓(xùn)練模型。在建立模型的過程中,開發(fā)者需要一個(gè)提供訓(xùn)練空間的運(yùn)算平臺(tái)軟件,也就是市場上耳熟能詳?shù)纳疃葘W(xué)習(xí)框架?,F(xiàn)在有許多框架都能為開發(fā)者提供各種工具去設(shè)計(jì)、建構(gòu)和訓(xùn)練自己的模型,并在訓(xùn)練過程中不斷進(jìn)行測試與調(diào)整算法的參數(shù)以得出最佳化的模型。
自2016年開始,不少科技巨頭便紛紛投入開發(fā)高效快速的架構(gòu),市場上比較知名的三巨頭有Google的TensorFlow、Facebook的Caffe以及微軟的CNTK。大廠釋出開源框架,也大大降低開發(fā)者訓(xùn)練模型的入門門檻,開發(fā)者可自己選擇從復(fù)雜的神經(jīng)網(wǎng)絡(luò)中編寫程序,或是調(diào)整框架中的模型來訓(xùn)練與設(shè)計(jì)算法。
另一方面,數(shù)據(jù)的準(zhǔn)備工作則是訓(xùn)練模型前的必要工作,對(duì)于大數(shù)據(jù)的搜集、整理和分析歸納是一門學(xué)問,在第四層架構(gòu)中,資料科學(xué)是其核心,透過分析資料的關(guān)聯(lián)性,可以額外獲得新的信息。
但分析數(shù)據(jù)非常耗時(shí)耗力,所幸在入門階段的開發(fā)者可以使用現(xiàn)有的開源圖象資料庫快速完成前期工作。許多現(xiàn)有的開源圖象資料庫大多由大學(xué)或?qū)嶒?yàn)室研究開發(fā),象是常見的人臉資料庫VGG-Face Dataset由牛津大學(xué)(University of Oxford)研究與整理,而全世界最大的圖象識(shí)別資料庫ImageNet也是由史丹佛大學(xué)(Stanford University)所建立。
從金字塔的一到四層建構(gòu)起一個(gè)深度學(xué)習(xí)訓(xùn)練系統(tǒng)后,最終開發(fā)者將訓(xùn)練出最佳化的深度學(xué)習(xí)模型,而此模型便可實(shí)際導(dǎo)入應(yīng)用端,讓機(jī)器在未來新的環(huán)境里吸收新的資料加以消化,實(shí)現(xiàn)各種智能化的應(yīng)用,這便是深度學(xué)習(xí)的最終目的。
市場在討論深度學(xué)習(xí)時(shí),從應(yīng)用層切入是最易于引起廣泛的討論,但事實(shí)上,從訓(xùn)練到推論的過程中卻牽涉很多領(lǐng)域的技術(shù),且所涵蓋的知識(shí)背景也大有不同。
就像一開始所提,并非每個(gè)投入深度學(xué)習(xí)開發(fā)的人在各個(gè)領(lǐng)域都能專精,甚至為了加速深度學(xué)習(xí)的開發(fā),因此,盡可能向市場獲取簡便、快速的開發(fā)工具與資源,便成為現(xiàn)今投入深度學(xué)習(xí)市場中重要的課題。
評(píng)論
查看更多