TensorLayer框架開(kāi)源開(kāi)發(fā)者董豪老師解密人工智能開(kāi)發(fā)工具的過(guò)去與未來(lái)

人工智能的發(fā)展是目前科技研究中最熱門(mén)的方向之一,也是越來(lái)越多的開(kāi)發(fā)者和技術(shù)團(tuán)隊(duì)非常關(guān)心的重點(diǎn),而高效的開(kāi)發(fā)工具能夠讓開(kāi)發(fā)這件事情變得事半功倍。斯坦福的專家就曾在人工智能報(bào)告中提到,“越來(lái)越強(qiáng)大的人工智能應(yīng)用,可能會(huì)對(duì)我們的社會(huì)和經(jīng)濟(jì)產(chǎn)生深遠(yuǎn)的積極影響,這將出現(xiàn)在從現(xiàn)在到 2030 年的時(shí)間段里。

因此,繼上期由OpenI啟智社區(qū)運(yùn)營(yíng)中心主任余躍老師用“AI開(kāi)源創(chuàng)新的發(fā)展與探索”揭開(kāi)《人工智能開(kāi)源錄|對(duì)話OpenI啟智社區(qū)》直播欄目的序幕后,順著人工智能的藤蔓,OpenI啟智社區(qū)特邀了年輕有為的鵬城實(shí)驗(yàn)室雙聘成員、北京大學(xué)計(jì)算機(jī)學(xué)院助理教授、AI開(kāi)源框架TensorLayer的開(kāi)源開(kāi)發(fā)者董豪老師做客本期的直播欄目。

董豪老師目前的研究方向主要在于人工智能,以及圍繞泛化性與高層級(jí)的決策研究機(jī)器人,他在欄目中為大家揭秘了人工智能開(kāi)源工具的過(guò)去、現(xiàn)在與未來(lái),也首次對(duì)外公開(kāi)TensorLayer的升級(jí)版本TensorLayer X即將帶著更強(qiáng)的兼容性與中立性問(wèn)世

人工智能開(kāi)發(fā)工具的過(guò)去與現(xiàn)在

董老師回顧深度學(xué)習(xí)并未開(kāi)始盛行的十多年以前,那時(shí)的開(kāi)發(fā)者們普遍在使用機(jī)器學(xué)習(xí)方面一款叫做scikit-learn的工具,以及SVM、KNN等普通的算法。

從2012年開(kāi)始,深度學(xué)習(xí)有了一些顯著的發(fā)展,如加拿大的Mila研究所開(kāi)發(fā)了專門(mén)針對(duì)深度學(xué)習(xí)的框架Theano。之后的一兩年,在加州大學(xué)伯克利讀博的賈揚(yáng)清博士創(chuàng)建了針對(duì)視覺(jué)的深度模型框架Caffe。隨著深度學(xué)習(xí)在業(yè)界越來(lái)越重要,谷歌開(kāi)發(fā)的TensorFlow,臉書(shū)開(kāi)發(fā)的PyTorch也相繼問(wèn)世并成為主流。

近幾年,國(guó)內(nèi)不少大型科技公司基于自身某些戰(zhàn)略需求也開(kāi)發(fā)了針對(duì)深度學(xué)習(xí)的人工智能開(kāi)發(fā)框架。開(kāi)發(fā)工具的整體發(fā)展歷程從普通的機(jī)器學(xué)習(xí)開(kāi)始,到近十年來(lái),從以高校為主導(dǎo)到后來(lái)由大企業(yè)進(jìn)行主導(dǎo)開(kāi)發(fā)的框架中,很多都是圍繞深度學(xué)習(xí)。

而各行各業(yè)的工具之所以持續(xù)不斷的發(fā)展,基本都是因?yàn)樾枨蠖苿?dòng)的。Mila實(shí)驗(yàn)室當(dāng)時(shí)的主要負(fù)責(zé)人Bengio是一位深度學(xué)習(xí)的圖靈獎(jiǎng)獲得者,他們之所以開(kāi)發(fā)Theano是因?yàn)楫?dāng)時(shí)并沒(méi)有一款理想的工具能很好的用GPU來(lái)加速深度學(xué)習(xí)的訓(xùn)練,如果使用CPU進(jìn)行訓(xùn)練將耗費(fèi)大量時(shí)間,這個(gè)研究需求推動(dòng)了他們開(kāi)發(fā)Theano。

后來(lái),由國(guó)內(nèi)外的大公司主導(dǎo)的一些開(kāi)發(fā)框架,很大程度是基于公司內(nèi)部的研發(fā)需求或是躋身AI領(lǐng)域的發(fā)展戰(zhàn)略而開(kāi)發(fā)。而近幾年,國(guó)內(nèi)也涌現(xiàn)一部分公司,為了打破英偉達(dá)GPU的壟斷與建設(shè)自己的生態(tài),不得不開(kāi)發(fā)了自己的框架。總體來(lái)說(shuō),這些工具都是通過(guò)需求而推動(dòng)產(chǎn)生的。

TensorLayer和X版本的過(guò)去與現(xiàn)在

提起TensorLayer這個(gè)很多開(kāi)發(fā)者使用過(guò)且被認(rèn)為是比較好用的開(kāi)發(fā)框架,作為開(kāi)源開(kāi)發(fā)者的董老師回顧,那是自己在2015年讀博期間,盡管當(dāng)時(shí)有Theano,TensorFlow,以及后來(lái)被TensorFlow收編的Keras等主流框架,但都無(wú)法滿足自己的算法研究。為了科研與發(fā)論文,董老師開(kāi)始嘗試去開(kāi)發(fā)一套基于TensorFlow的工具,后來(lái)不斷有同學(xué)和朋友們加入一起完善,最終誕生了最初版本的TensorLayer。

盡管當(dāng)初在做同樣事情的人也不少,但TensorLayer從一開(kāi)始被開(kāi)發(fā)的時(shí)候,就已經(jīng)被賦予了更高的使命,那便是在未來(lái)要讓更多的開(kāi)發(fā)者去使用。因此,團(tuán)隊(duì)在最初的代碼質(zhì)量和開(kāi)發(fā)文檔上都投入了不少精力。

董老師從技術(shù)層面揭露,其實(shí)TensorLayer最初的版本和Keras很相似,但Keras當(dāng)時(shí)兼容多框架,而TensorLayer當(dāng)初只支持TensorFlow一個(gè)框架。但隨著近幾年國(guó)內(nèi)的開(kāi)發(fā)框架和AI芯片廠商的發(fā)展,不論從軟件層還從芯片層的生態(tài)圈,都出現(xiàn)了割裂分散的形勢(shì)。基于這個(gè)背景,團(tuán)隊(duì)希望打造一套通用的與平臺(tái)無(wú)關(guān)的一種開(kāi)發(fā)框架,即正在開(kāi)發(fā)中的TensorLayer升級(jí)版本TensorLayer X

· TensorLayer X的技術(shù)亮點(diǎn)和難點(diǎn)

TensorLayer X的定位是以一種中立包容的形式,來(lái)實(shí)現(xiàn)國(guó)內(nèi)外不同開(kāi)發(fā)方向的主流框架的兼容,如國(guó)外的TensorFlow,PyTorch,國(guó)內(nèi)的MindSpore,PaddlePaddle,Jittor以及OneFlow等這些框架都可以兼容。

這種兼容的好處也顯而易見(jiàn),無(wú)論開(kāi)發(fā)者是使用國(guó)外還是國(guó)內(nèi)的設(shè)備,它都可以成功且較好地運(yùn)行。為了能兼容不同的框架且保證效率不受損,同時(shí)兼顧代碼的整潔性,方便使用者可以很容易地來(lái)進(jìn)行二次開(kāi)發(fā)的代碼貢獻(xiàn),TensorLayer X已經(jīng)經(jīng)歷了一年多的研發(fā)與打磨。雖然版本還未正式發(fā)布,但實(shí)驗(yàn)已經(jīng)證明了它在兼容國(guó)內(nèi)外一些開(kāi)發(fā)框架時(shí),并未損失簡(jiǎn)潔性。開(kāi)發(fā)者在使用TensorLayer和X版本時(shí)不會(huì)感覺(jué)到在簡(jiǎn)潔方面的差異,但能感受到X版本在兼容性上的提升。

對(duì)于難點(diǎn),董老師表示主要在于兼容這部分,由鵬城實(shí)驗(yàn)室的團(tuán)隊(duì)北京大學(xué)的部分學(xué)生參與這塊的工作,已經(jīng)開(kāi)發(fā)完了各種各樣的神經(jīng)網(wǎng)絡(luò)的layers,難點(diǎn)已被攻克,后續(xù)將更多的圍繞常用算法庫(kù)進(jìn)行一些開(kāi)發(fā)工作。

TensorLayer及X版本的未來(lái)設(shè)想

董老師希望面向一些中小企業(yè),或個(gè)人技術(shù)開(kāi)發(fā)者,以及職業(yè)技術(shù)學(xué)院的用戶,為他們提供諸如開(kāi)箱即用之類的一系列的應(yīng)用庫(kù),并通過(guò)建立一些微信群、討論區(qū)等社群,普及使用方法來(lái)相互幫助、共同發(fā)展。

此外,董老師也提出,他們計(jì)劃把這個(gè)中立的X框架推廣到海外,尤其是一帶一路的國(guó)家,比如阿拉伯的21個(gè)國(guó)家,現(xiàn)在處于一個(gè)用能源換科技的發(fā)展階段,也包括俄羅斯等希望發(fā)展自己的技術(shù)而不被歐美卡脖子的國(guó)家。

中立的框架優(yōu)勢(shì)在于它不屬于任何一家公司,只要開(kāi)發(fā)者用了這個(gè)框架,不論他用美國(guó)的還是國(guó)產(chǎn)的操作系統(tǒng)、芯片,都可以運(yùn)行任務(wù)。而這種中立工具的開(kāi)發(fā)維護(hù)難度,其實(shí)比從頭搭建整套框架還要更容易,所以,董老師也希望能吸引更多的開(kāi)發(fā)者參與它的開(kāi)源

· 如何選擇合適的開(kāi)發(fā)工具

董老師建議開(kāi)發(fā)者根據(jù)自己的條件和目的、以節(jié)約自己時(shí)間為一個(gè)核心目標(biāo)來(lái)選擇合適的開(kāi)發(fā)工具。

但就TensorLayer X框架本身來(lái)說(shuō),短期來(lái)看,它更加適合工業(yè)界中小企業(yè)的一些工程師去用。預(yù)計(jì)兩個(gè)月后,他們將推出大量覆蓋計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理、強(qiáng)化學(xué)習(xí)等方向的開(kāi)箱即用相關(guān)的例子,同時(shí)也會(huì)出版相關(guān)的配套書(shū)籍和電子教程。這也是響應(yīng)不少企業(yè)工程師朋友們對(duì)于輕量級(jí)的識(shí)別算法、人體姿態(tài)估計(jì)算法需求而去開(kāi)發(fā)的應(yīng)用例子。對(duì)于算法任務(wù)可能達(dá)上萬(wàn)種的學(xué)術(shù)界而言,還是推薦使用生態(tài)上較強(qiáng)的PyTorch。

但由于目前正處于國(guó)產(chǎn)硬件替換國(guó)外硬件的時(shí)期,國(guó)內(nèi)一些國(guó)家實(shí)驗(yàn)室、軍工科研等單位,目前已經(jīng)在用國(guó)產(chǎn)芯片、操作系統(tǒng)在替換原來(lái)進(jìn)口操作系統(tǒng)、進(jìn)口芯片。而TensorLayer X兼容了國(guó)內(nèi)外的主流開(kāi)發(fā)框架后,它也自然而然支持了國(guó)內(nèi)外所有的芯片和操作系統(tǒng)。因此從長(zhǎng)期來(lái)看,TensorLayer X就非常適合這部分單位的用戶。

人工智能開(kāi)發(fā)工具的未來(lái)與生態(tài)

隨著時(shí)間的進(jìn)行,國(guó)內(nèi)外關(guān)于人工智能開(kāi)發(fā)工具與框架的使用方法慢慢收斂到一種大家都覺(jué)得比較好的方式。類似今天的智能手機(jī),無(wú)論是哪個(gè)操作系統(tǒng),都不會(huì)影響到用戶已經(jīng)形成的使用習(xí)慣。如今的開(kāi)發(fā)框架雖然很多,但使用起來(lái)對(duì)用戶來(lái)說(shuō)也是朝著一個(gè)統(tǒng)一的方向。

而未來(lái),將會(huì)出現(xiàn)越來(lái)越多針對(duì)特定任務(wù)的工具,比如針對(duì)圖神經(jīng)網(wǎng)絡(luò)的的訓(xùn)練框架,或者針對(duì)目標(biāo)識(shí)別來(lái)開(kāi)發(fā)的框架。

至于生態(tài),董老師認(rèn)為需要自己要先做一個(gè)閉環(huán)。比如TensorLayer,雖然并非大公司、大團(tuán)隊(duì)開(kāi)發(fā)的,但團(tuán)隊(duì)認(rèn)定盡自己最大能力盡可能形成一個(gè)閉環(huán),比如出版相關(guān)的書(shū)籍,以及開(kāi)發(fā)部署層面的相關(guān)工具與應(yīng)用案例,搭建自己的生態(tài)圈,幫助大家節(jié)約更多的開(kāi)發(fā)時(shí)間

· 值得關(guān)注的方向與開(kāi)源工具

從算法層面來(lái)說(shuō),過(guò)去的十多年讓深度學(xué)習(xí)在感知層面有了較大突破,解決了人臉識(shí)別、目標(biāo)識(shí)別等很多問(wèn)題。未來(lái)十年,AI的技術(shù)發(fā)展會(huì)逐漸從感知層面往決策層面上去發(fā)展,而強(qiáng)化學(xué)習(xí)、機(jī)器人這些方面將會(huì)有很大的突破,這可能會(huì)產(chǎn)生非常大的影響。這個(gè)影響可能比之前人臉識(shí)別、目標(biāo)識(shí)別它們的影響更大,因?yàn)樗鼞?yīng)用的場(chǎng)景和種類更多。

因此,對(duì)于算法研究的人,需要在感知層面研究泛化性問(wèn)題,比如降低特斯拉在自動(dòng)駕駛時(shí)的誤判。同時(shí),在決策層面要研究自主性問(wèn)題,比如讓機(jī)器人能產(chǎn)生智能決策。

對(duì)于研究系統(tǒng)的的研究者,除了研究數(shù)據(jù)并行、模型并行這些問(wèn)題外,下一步可能還要研究結(jié)合虛擬環(huán)境進(jìn)行的訓(xùn)練,而這需要整套可以對(duì)數(shù)據(jù)進(jìn)行高效處理的系統(tǒng)。

董老師的心得分享

無(wú)論是做科研,還是做開(kāi)源,首先自己需要感興趣,更重要的是找更多志趣相投的人一起去完成某些事情。對(duì)于具體選擇什么事情,建議找到一些行業(yè)的痛點(diǎn),然后根據(jù)自己的實(shí)際情況,盡可能選擇相對(duì)具有挑戰(zhàn)性的課題去做,然后不畏困難,迎難而上,然后找到自己的興趣所在,持之以恒,最終自己總會(huì)有所收獲。

Share this article:

Facebook
Twitter
LinkedIn
WhatsApp

More articles