劉京運
在圍棋中,天元代表著棋盤正中央的星位。如今,在人工智能領(lǐng)域,天元有了新的含義,它代表了曠視深度學(xué)習(xí)框架MegEngine。從命名可以看出,這一深度學(xué)習(xí)框架對于曠視而言尤為重要。然而,正是這樣一個歷經(jīng)6年不斷打磨完善的智慧結(jié)晶,在今年3月選擇了開源。
3月25日,曠視以線上發(fā)布會的形式宣布開源深度學(xué)習(xí)框架MegEngine,并正式將其中文名定為“天元”。曠視聯(lián)合創(chuàng)始人兼CTO唐文斌表示,此次開源的代碼約有35萬行,會在OpenI和GitHub中同步發(fā)布。
“在算法優(yōu)先、數(shù)據(jù)驅(qū)動的人工智能時代,人們期待著有一個可以為社會大眾、不同行業(yè)開發(fā)建立自己的人工智能系統(tǒng)的操作系統(tǒng)。也正是在這樣的一個時代,曠視向社會發(fā)布了天元深度學(xué)習(xí)框架開源系統(tǒng),我向你們表示祝賀?!卑l(fā)布會上,中國科學(xué)技術(shù)協(xié)會黨組書記、中國科學(xué)院院士懷進鵬通過視頻表達了對曠視開源天元的關(guān)注和期待。不僅如此,姚期智、高文、沈向洋等人工智能領(lǐng)域的知名學(xué)者和專家也紛紛通過視頻表達了自己的良好祝愿。
天元究竟是什么?為何會受到行業(yè)大咖的關(guān)注?天元的研發(fā)始于2014年,誕生以來為曠視的算法突破提供了強有力的支撐?!皶缫暷壳八械乃惴ǘ际腔谔煸狹egEngine這個框架來訓(xùn)練和推理的,”唐文斌說道。曠視首席科學(xué)家、曠視研究院院長孫劍更是將天元比作曠視的孩子,“它今年6歲了,我們非常喜歡它”。然而,對于這樣一個耗時6年不斷打磨完善的核心技術(shù)產(chǎn)品,曠視為何會選擇開源?
眾所周知,人工智能已在諸多場景中實現(xiàn)了落地應(yīng)用。曠視發(fā)現(xiàn),不同場景對于算法有著不同的需求,而場景具有無限性,這就導(dǎo)致對算法的需求量十分龐大,僅憑單一企業(yè)根本無法填補需求空缺,這時就需要借助AI基礎(chǔ)設(shè)施創(chuàng)造出更多的算法。
什么是AI基礎(chǔ)設(shè)施?唐文斌給出的答案是芯片平臺和AI生產(chǎn)力平臺。其中,芯片平臺能夠承載AI的計算,而AI生產(chǎn)力平臺可以釋放生產(chǎn)算法的效能。曠視將AI生產(chǎn)力平臺Brain++的深度學(xué)習(xí)框架天元全面開源,可以讓Brain++的能力服務(wù)于更廣大的開發(fā)者,從而降低算法的創(chuàng)造門檻,產(chǎn)生更大社會價值。
四大特性解決實際痛點
曠視研究院高級技術(shù)總監(jiān)田忠博介紹,天元的整體架構(gòu)可分為五個層次,自上而下依次是計算接口、圖表示、優(yōu)化與編譯、運行時管理、計算內(nèi)核。結(jié)合這種架構(gòu)設(shè)計,田忠博為天元總結(jié)了四大特性:訓(xùn)練推理一體、動靜合一、兼容并包、靈活高效。憑借這些特性,天元可以在實際操作中幫助開發(fā)者解決痛點問題。
在傳統(tǒng)的深度學(xué)習(xí)研發(fā)流程中,訓(xùn)練框架和推理框架往往分別設(shè)計、分別實現(xiàn),其中涉及到模型轉(zhuǎn)換。在轉(zhuǎn)換過程中常常會遇到一些問題,需要人工進行優(yōu)化,有時會引入大量冗余算子,致使模型的性能和精度不盡如人意。天元訓(xùn)練推理一體的特性,可直接使用訓(xùn)練得到的模型進行推理;能夠保障訓(xùn)練實現(xiàn)的速度和精度在推理時保持一致;訓(xùn)練結(jié)束后,模型在跨設(shè)備推理和使用時,能夠保證精度對齊;內(nèi)置的自動模型優(yōu)化模塊可以簡化研發(fā)流程。
靜態(tài)圖好部署,動態(tài)圖易調(diào)試,二者的優(yōu)點能否合為一體?曠視在設(shè)計天元時一直在思考這個問題。借助動靜合一的特性,天元可以幫助開發(fā)者實現(xiàn)動靜態(tài)切換,采用動態(tài)圖開展原型的研發(fā)和調(diào)試,借助靜態(tài)圖完成部署。
目前,深度學(xué)習(xí)框架眾多,不同框架的接口有所差異,開發(fā)者在進行學(xué)術(shù)交流時需要了解不同的框架知識。如果要在不同框架中復(fù)現(xiàn)模型,更是需要投入較大的學(xué)習(xí)成本。為了簡化這一問題,曠視在設(shè)計天元時就致力于將其打造成為一個兼容并包的體系。天元采用Pythonic風(fēng)格的API,可以讓Python的使用者自然地接受。此外,函數(shù)的命名風(fēng)格和參數(shù)設(shè)計細節(jié),也會尊重Python社區(qū)的原有傳統(tǒng)。曠視在計算機視覺領(lǐng)域擁有獨特的積累,因此天元還融入了曠視專為計算機視覺特別優(yōu)化的算子,可以為開發(fā)者進行計算機視覺相關(guān)研發(fā)提供更多便利。
對于人工智能公司而言,有些時候會面臨眾多計算設(shè)備和場景,如何才能在每種設(shè)備上打造極致性能,從而輸出優(yōu)質(zhì)的產(chǎn)品和服務(wù)?天元秉持靈活高效的原則,借助高性能算子庫,充分釋放不同設(shè)備的算力。通過與參考框架的訓(xùn)練性能展開橫向?qū)Ρ?,天元在主流模型上展示了出色的速度表現(xiàn)。同時,在CPU的推理場景下,天元也表現(xiàn)出了良好的性能。曠視發(fā)現(xiàn),如果要將算法更好地部署在各種設(shè)備中,或者利用現(xiàn)有設(shè)備訓(xùn)練更大模型、支撐更多種類的算法,需要采取高效的內(nèi)存優(yōu)化策略。因此,天元內(nèi)置了高效的內(nèi)存優(yōu)化策略,可以降低訓(xùn)練時的顯存占用。此外,通過采用亞線性內(nèi)存優(yōu)化技術(shù),天元還可以在保證計算速度幾乎不變的前提下大幅提升訓(xùn)練能力。“我們在內(nèi)部的一些評測中,可以實現(xiàn)某些大模型20倍以上的內(nèi)存節(jié)省,速度幾乎不變?!碧镏也┱f道。
訓(xùn)得好、訓(xùn)得快、訓(xùn)得動
天元可以實現(xiàn)框架與算法的協(xié)同,做到訓(xùn)得好。孫劍表示,計算平臺之間存在很大的差異,基于這些差異,開發(fā)者無法設(shè)計一種網(wǎng)絡(luò)滿足全部需求。天元可以根據(jù)不同設(shè)備的計算特性,協(xié)同設(shè)計網(wǎng)絡(luò)結(jié)構(gòu)、開發(fā)新算子,ShuffleNet就是協(xié)同設(shè)計的成果。如今,ShuffleNet在智能手機人臉識別方面實現(xiàn)了出色的應(yīng)用。
天元是一個高效的訓(xùn)練系統(tǒng)。MS COCO挑戰(zhàn)賽中,曠視在2017年、2018年、2019年連續(xù)奪冠。孫劍指出,這其中非常關(guān)鍵的優(yōu)勢在于曠視擁有天元這樣訓(xùn)得快的系統(tǒng)。天元極大地減少了創(chuàng)新時間,可以在單位時間內(nèi)完成更多測試,快速推進研發(fā)人員對困難問題的認知。
天元具備大規(guī)模能力。曠視與北京智源人工智能研究院發(fā)布了Objects365,目前已推出Objects365 V2版本。該數(shù)據(jù)集中有365種常見物體、超過200萬張圖像、超過2800萬個人工標(biāo)注框。面對大規(guī)模數(shù)據(jù)或大模型,天元可以實現(xiàn)訓(xùn)得動,能夠在較短時間內(nèi)完成訓(xùn)練。
曠視此次發(fā)布的是天元Alpha版本,預(yù)計6月會發(fā)布Beta版本,9月發(fā)布正式的1.0版本。“希望更多人能夠?qū)ξ覀兊漠a(chǎn)品提出批評、給出建議,一起來貢獻Code,”唐文斌表示。
“如果把天元比作一個小孩,今天可能是他走出房間去迎接陽光,想為這個社會去做更多事情的時候。”在發(fā)布會的最后,唐文斌說道,“同時,也希望社會各界的朋友對他有更多的呵護,對他有更多的幫助,我們一起來幫助他真正地成長?!?/p>
圍棋中,天元代表棋盤正中央的星位,而曠視能否在人工智能這盤棋局中占據(jù)C位,我們拭目以待!