2020 年 3 月 25 日,人工智能企業(yè)曠視科技舉辦線上發(fā)布會(huì),曠視聯(lián)合創(chuàng)始人兼 CTO 唐文斌宣布正式開源其 AI 生產(chǎn)力平臺(tái) Brain++ 的核心組件——天元(MegEngine)。本次發(fā)布為 Alpha 版本,基于 Apache License 2.0,向外界共開源約 35 萬(wàn)行代碼,包括 C++、CUDA 和 Python代碼,在GitHub 上進(jìn)行發(fā)布。
【導(dǎo)讀】2020 年 3 月 25 日,人工智能企業(yè)曠視科技舉辦線上發(fā)布會(huì),曠視聯(lián)合創(chuàng)始人兼 CTO 唐文斌宣布正式開源其 AI 生產(chǎn)力平臺(tái) Brain++ 的核心組件——天元(MegEngine)。本次發(fā)布為 Alpha 版本,基于 Apache License 2.0,向外界共開源約 35 萬(wàn)行代碼,包括 C++、CUDA 和 Python代碼,在GitHub 上進(jìn)行發(fā)布。 發(fā)布會(huì)上,曠視研究院高級(jí)技術(shù)總監(jiān)田忠博詳細(xì)介紹了這款剛剛正式對(duì)外開源的深度學(xué)習(xí)框架。
全球AI 開發(fā)框架又添一員,曠視開源“天元” 曠視天元開源之時(shí),正值深度學(xué)習(xí)框架百花齊放的時(shí)代。 自 2007 年 Theano 誕生以來(lái),經(jīng)過(guò)十余年發(fā)展,深度學(xué)習(xí)技術(shù)與應(yīng)用突飛猛進(jìn),深度學(xué)習(xí)框架也處在不斷迭代與進(jìn)化的過(guò)程;另一方面,開源的概念在全球范圍內(nèi)越來(lái)越深入人心,這使得人工智能 開發(fā)依賴的環(huán)境安裝、部署、測(cè)試,以及不斷迭代改進(jìn)準(zhǔn)確性和性能調(diào)優(yōu)的工作變得更加簡(jiǎn)單,在人工智能 領(lǐng)域,開源深度學(xué)習(xí)框架已經(jīng)成為開發(fā)者離不開的平臺(tái)和工具。 學(xué)界和業(yè)界的共同努力下,誕生了早期從學(xué)術(shù)界走出的 Caffe、 Torch 和 Theano,現(xiàn)如今引領(lǐng)著產(chǎn)業(yè)界的 TensorFlow,Amazon 押注的 MXNet,F(xiàn)acebook 傾力打造的 PyTorch,Microsoft 內(nèi)部開源的 CNTK,以及相對(duì)小眾的深度學(xué)習(xí)引擎 DSSTNE 等深度學(xué)習(xí)框架。 簡(jiǎn)單梳理一下這些主流深度學(xué)習(xí)框架發(fā)展的歷程,我們會(huì)發(fā)現(xiàn)它們各有各的特性:
TensorFlow 由 Google 于 2015 年 11 月正式開源,很快就成為深度學(xué)習(xí)領(lǐng)域占據(jù)絕對(duì)統(tǒng)治地位的深度學(xué)習(xí)框架,很多企業(yè)的產(chǎn)品都基于這一框架開發(fā),如小米、京東、Airbnb 等。TensorFlow 全面的開發(fā)語(yǔ)言和模型訓(xùn)練服務(wù)器、移動(dòng)設(shè)備支持,使得其成為產(chǎn)業(yè)界采用最多的深度學(xué)習(xí)框架。 MXNet 項(xiàng)目誕生于 2015 年 9 月,當(dāng)時(shí)在卡耐基梅隆大學(xué) CMU 讀博的李沐創(chuàng)造了這個(gè)輕量級(jí)、可移植、靈活的分布式的開源深度學(xué)習(xí)框架,后成為 Amazon 官方主推的深度學(xué)習(xí)框架,支持 CNN、RNN、LTSM,為圖像、手寫文字和語(yǔ)音的識(shí)別和預(yù)測(cè)以及自然語(yǔ)言處理提供了出色的工具。 Keras 的創(chuàng)造者是谷歌 AI 研究員 Francois Chollet,自 2015 年 11 月開源以來(lái),已發(fā)展成為第二大流行深度學(xué)習(xí)框架。這個(gè)由 Python 編寫的開源人工神經(jīng)網(wǎng)絡(luò)庫(kù)可以作為 Tensorflow 、CNTK 和 Theano 的高階應(yīng)用程序接口,進(jìn)行深度學(xué)習(xí)模型的設(shè)計(jì)、調(diào)試、評(píng)估、應(yīng)用和可視化,目標(biāo)是只需幾行代碼就能讓你構(gòu)建一個(gè)神經(jīng)網(wǎng)絡(luò)。 2016 年,微軟開發(fā)的認(rèn)知工具包 CNTK 問(wèn)世,支持 RNN 和 CNN 類型的神經(jīng)模型,成為處理圖像,手寫和語(yǔ)音識(shí)別問(wèn)題的最佳候選者。雖然 CNTK 的分布式計(jì)算性能較高,但缺乏對(duì) ARM 架構(gòu)的支持限制了其在移動(dòng)設(shè)備上的功能。 2017 年,F(xiàn)acebook 開源了用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練的 Python 包 PyTorch,它改編自基于 Lua 的深度學(xué)習(xí)庫(kù) Torch,類似于 Numpy,非常 Python 化,很容易就能和 Python 生態(tài)系統(tǒng)的其他部分集成。由于對(duì)動(dòng)態(tài)圖的支持, PyTorch 的靈活性相比 TensorFlow 大大提升,特別是用于快速驗(yàn)證和算法復(fù)現(xiàn),因此備受學(xué)術(shù)界的青睞。 有了這些功能強(qiáng)大的開發(fā)框架,AI 開發(fā)者基本上也都會(huì)用之進(jìn)行科研或業(yè)務(wù)落地。但是在人工智能 領(lǐng)域,大家使用比較多的還是 Google、Facebook、微軟、亞馬遜的開源框架,國(guó)內(nèi)雖然有很多互聯(lián)網(wǎng)巨頭都在開始這方面的工作,但目前還沒有形成風(fēng)潮。 2016 年,互聯(lián)網(wǎng)巨頭百度開源了飛槳(PaddlePaddle),可能是國(guó)內(nèi)目前最有影響力的 AI 框架;2019 年,通訊行業(yè)巨頭華為宣布即將在 2020 年一季度開源 MindSpore,但目前仍無(wú)進(jìn)一步消息;3 月 25日,曠視研發(fā)的深度學(xué)習(xí)框架天元(MegEngine)正式開源。
與主流深度學(xué)習(xí)框架相比,曠視的 MegEngine 有哪些特點(diǎn)呢?
開源 35 萬(wàn)行代碼,天元技術(shù)架構(gòu)理念新穎 唐文斌介紹,本次曠視天元共開源約 35 萬(wàn)行代碼,包括 C++、CUDA 和 Python 的代碼。
曠視聯(lián)合創(chuàng)始人兼 CTO 唐文斌 天元是一套伴隨曠視自身 AI 產(chǎn)業(yè)實(shí)戰(zhàn)經(jīng)驗(yàn)的框架,是曠視 Brain++ 的核心組件之一。為了這次開源,曠視為天元做了一次全面的升級(jí)。 從 2014 年開始研發(fā),2015 年全員使用,到今年 3 月開源,曠視目前所有的算法都是基于天元 MegEngine 這個(gè)框架訓(xùn)練和推理的。它不僅能夠在 AI競(jìng)賽擂臺(tái)上為曠視打怪升級(jí)加 Buff,更撐起了曠視工程化、產(chǎn)品化的半邊天。 發(fā)布會(huì)上,天元項(xiàng)目的負(fù)責(zé)人,也是曠視研究院高級(jí)技術(shù)總監(jiān)田忠博指出,天元是一套訓(xùn)練推理一體化、動(dòng)靜態(tài)合一的工業(yè)級(jí)深度學(xué)習(xí)框架。
從上到下,天元可以分為五個(gè)層次,最上面是計(jì)算接口層,向外連接了 Python 和 C++ 接口,開發(fā)者可以通過(guò) Python 和 C++ 兩種語(yǔ)言對(duì)整個(gè)框架進(jìn)行使用和編程,以及系統(tǒng)的設(shè)計(jì)和研發(fā)、訓(xùn)練和推理。 接著是圖表示層,包含了動(dòng)態(tài)圖和靜態(tài)圖的表示功能。 再往下是一個(gè)完整的一體化核心計(jì)算引擎,具有自動(dòng)求導(dǎo)機(jī)制,圖優(yōu)化和圖編譯功能,有了這個(gè)層次就可以支撐起動(dòng)態(tài)、靜態(tài)和接口完整的功能。 在這個(gè)層次之下的運(yùn)行時(shí)管理層由兩個(gè)主要部分組成,一部分是計(jì)算調(diào)度,可以將計(jì)算設(shè)備抽象為執(zhí)行流,由調(diào)度器對(duì)這些執(zhí)行流進(jìn)行合理的調(diào)度;另一部分是一整套內(nèi)存管理機(jī)制,包括靜態(tài)內(nèi)存和動(dòng)態(tài)內(nèi)存管理。此外,這個(gè)模塊里還內(nèi)置了許多關(guān)于內(nèi)存的高級(jí)優(yōu)化,其中值得一提的是,在其中實(shí)現(xiàn)了靜態(tài)的亞線性內(nèi)存的優(yōu)化器,使得內(nèi)存管理效率得到大幅提升。 最底層是支撐整個(gè)系統(tǒng)的核心計(jì)算內(nèi)核層,其中包含一個(gè)高性能算子庫(kù),它支持常見的計(jì)算設(shè)備,包括 X86、CUDA、ARM 和專業(yè)計(jì)算芯片等。同時(shí),這個(gè)層還包含一個(gè)高性能異構(gòu)通信庫(kù),能夠使得整個(gè)計(jì)算框架可以在分布式多結(jié)點(diǎn)上進(jìn)行大規(guī)模使用,來(lái)支撐更大規(guī)模的訓(xùn)練。
四大特性剖析天元如何實(shí)現(xiàn)簡(jiǎn)單開發(fā)
曠視研究院高級(jí)技術(shù)總監(jiān) 田忠博
在過(guò)去幾年,曠視在研發(fā)過(guò)程中遇到了很多行業(yè)共通的痛點(diǎn),而天元的核心特色就是緊緊圍繞著這些痛點(diǎn)的。 具有來(lái)說(shuō),天元四大核心特性:訓(xùn)練推理一體化、動(dòng)靜合一、兼容并包和靈活高效。
比如其中的一個(gè)痛點(diǎn),是深度學(xué)習(xí)從研究到生產(chǎn)的流程非常復(fù)雜,各個(gè)階段模型精度往往很難對(duì)齊。 田忠博指出,在傳統(tǒng)深度學(xué)習(xí)研發(fā)流程中,訓(xùn)練框架和推理框架往往會(huì)分別設(shè)計(jì)和實(shí)現(xiàn),訓(xùn)練框架和推理框架是兩個(gè)階段,當(dāng)進(jìn)行算法設(shè)計(jì)時(shí),這個(gè)算法要首先經(jīng)過(guò)訓(xùn)練框架的支持,變成一個(gè)可訓(xùn)練的模型,還要再把它轉(zhuǎn)換到一個(gè)推理框架上可以接受新的表示,再由推理框架在不同的計(jì)算設(shè)備上進(jìn)行計(jì)算。 在這里會(huì)有一個(gè)訓(xùn)練和推理的轉(zhuǎn)換過(guò)程,這一過(guò)程中會(huì)產(chǎn)生很多問(wèn)題,比如因?yàn)橛?xùn)練框架和推理框架是分別設(shè)計(jì)的,所以其中有些算力可能不被支持,導(dǎo)致無(wú)法自動(dòng)完成轉(zhuǎn)換,需要手工進(jìn)行優(yōu)化,轉(zhuǎn)換過(guò)程中也可能引入了大量冗余的算子,致使最后的模型性能和精度并不理想。當(dāng)最后把推理框架投放在芯片上進(jìn)行計(jì)算時(shí)問(wèn)題暴露,但因?yàn)檎麄€(gè)流程復(fù)雜,我們無(wú)法精準(zhǔn)地找到問(wèn)題所在。 因此,天元框架的設(shè)計(jì)理念,就是希望訓(xùn)練和推理一體,即讓它能夠同時(shí)進(jìn)行訓(xùn)練,也能夠進(jìn)行推理。
針對(duì)這個(gè)痛點(diǎn),天元的訓(xùn)練推理一體化可以很好地解決。 (1)它無(wú)需進(jìn)行模型的轉(zhuǎn)換,可以直接使用訓(xùn)練后得到的模型進(jìn)行推理; (2)可以通過(guò)這一機(jī)制,保證訓(xùn)練的速度和精度與推理保持一致; (3)模型訓(xùn)練結(jié)束后,需要在不同的設(shè)備上進(jìn)行推理、使用,該框架也能夠保證跨設(shè)備的模型精度實(shí)現(xiàn)對(duì)齊(最小化精度差別); (4)通過(guò)簡(jiǎn)化流程,天元框架能夠內(nèi)置一個(gè)自動(dòng)模型優(yōu)化過(guò)程,減少手工模型遇錯(cuò)處理,可以直接自動(dòng)使用內(nèi)置流程,簡(jiǎn)化流程,形成高效的研發(fā)體系。 這樣一來(lái),AI 真正落地要考慮的多端部署和在線服務(wù)的問(wèn)題就得以解決,大大減少了訓(xùn)練成本的問(wèn)題。
痛點(diǎn)二,靜態(tài)圖好部署,動(dòng)態(tài)圖易調(diào)試,但二者難以兼得。田忠博介紹道,深度學(xué)習(xí)框架大致分為兩類,一類是以 TensorFlow 1.0 為代表的靜態(tài)深度學(xué)習(xí)框架,它非常容易部署,能夠很快地產(chǎn)出產(chǎn)品,是現(xiàn)在工業(yè)界非常喜歡的部署方式,它的性能高,占用資源少,但是難以調(diào)試。在學(xué)界,大家更喜歡以 PyTorch 為代表的動(dòng)態(tài)計(jì)算框架,因?yàn)樗谘芯侩A段調(diào)試更方便,使用更靈活,但是動(dòng)態(tài)圖也有缺陷,比如內(nèi)存占用嚴(yán)重,很難做優(yōu)化等。 面對(duì)這個(gè)魚與熊掌不可兼得的問(wèn)題,曠視嘗試把兩種框架的優(yōu)點(diǎn)集成在一起,在設(shè)計(jì)天元時(shí)希望能夠達(dá)到動(dòng)靜合一的效果。
上圖展示的是天元框架代碼中從動(dòng)態(tài)到靜態(tài)切換的情況??梢钥吹剑ㄟ^(guò)使用一個(gè) @trace 的 Python 裝飾器來(lái)裝飾其中一段函數(shù),實(shí)現(xiàn)了這段函數(shù)具備既可在動(dòng)態(tài)下正確運(yùn)行,也可以轉(zhuǎn)換到靜態(tài)形態(tài)運(yùn)行的狀態(tài)。只需把「Enabled」開關(guān)設(shè)為True或者False,用戶就可以自由選擇動(dòng)態(tài)或靜態(tài)計(jì)算。 這樣,開發(fā)者就可以在動(dòng)態(tài)的過(guò)程中,非常方便地進(jìn)行原型的研發(fā)和調(diào)試,同時(shí)當(dāng)希望在生產(chǎn)環(huán)節(jié)使用,或希望借助更好的靜態(tài)優(yōu)化器、靜態(tài)編譯機(jī)制進(jìn)行提速時(shí),可借助靜態(tài)圖進(jìn)行提速。 田忠博表示,在測(cè)試中,靜態(tài)提速往往可以達(dá)到 5% 到 20% 的加速效果,節(jié)省時(shí)間,提高效率。
第三個(gè)痛點(diǎn),是市面上有很多框架,但每種框架使用的接口都不一樣,這導(dǎo)致大家在進(jìn)行學(xué)術(shù)交流時(shí),首先要了解它是用什么框架實(shí)現(xiàn)的,在使用中還需要在常用的環(huán)境和框架中再重新進(jìn)行模型實(shí)現(xiàn),這對(duì)于一般的開發(fā)者來(lái)講是一件高成本的事。 因此,為了簡(jiǎn)化這個(gè)問(wèn)題,天元在設(shè)計(jì)時(shí)還希望它是一個(gè)兼容并包的體系。
上圖為使用天元框架進(jìn)行深度學(xué)習(xí)的代碼,它的風(fēng)格與Numpy 和 PyTorch 的寫法非常相似,Pythonic 風(fēng)格的簡(jiǎn)化 API 讓 Python 使用者可以自然地接受,所以在函數(shù)的命名風(fēng)格和參數(shù)的設(shè)計(jì)細(xì)節(jié)中尊重原有 Python 社區(qū)的傳統(tǒng)。 值得一提的是,天元還提供一個(gè)實(shí)驗(yàn)性的功能,讓開發(fā)者可以便利地將以往寫過(guò)的模塊,如 將PyTorch Module 直接導(dǎo)入到框架中,和其他天元組件一起使用,以更好地進(jìn)行模型復(fù)現(xiàn)。 另外,田忠博提到,曠視在計(jì)算機(jī)視覺領(lǐng)域有一些獨(dú)特的積累,因此也把其在這方面的成果融入到天元系統(tǒng)中,集成了很多為計(jì)算機(jī)視覺特別優(yōu)化的算子,讓計(jì)算機(jī)視覺研發(fā)更加簡(jiǎn)便。
痛點(diǎn)四,對(duì)于一家進(jìn) AI 生產(chǎn)公司來(lái)說(shuō),可能會(huì)面臨很多設(shè)備和場(chǎng)景,需要在每一種設(shè)備上實(shí)現(xiàn)極致的性能。 在框架設(shè)計(jì)時(shí),天元秉持要靈活高效的原則,在許多的設(shè)備、算法上,都能得到領(lǐng)先的性能。接下來(lái),田忠博放出了訓(xùn)練性能對(duì)比圖,與若干擅長(zhǎng)推理的框架進(jìn)行橫向?qū)Ρ取?/section>
結(jié)果顯示,在 CPU 推理場(chǎng)景下,天元在訓(xùn)練性能上有顯著的提升和優(yōu)勢(shì),即可以同時(shí)在訓(xùn)練和推理過(guò)程中保持高性能。另外,如果要把算法更好地部署在各種設(shè)備中,或者在訓(xùn)練時(shí)能夠利用現(xiàn)有的設(shè)備訓(xùn)練更大的模型,支持更多的算法種類,顯存或設(shè)備的片上內(nèi)存使用是一個(gè)非常關(guān)鍵的因素。所以,節(jié)省內(nèi)存也是天元所關(guān)注的。 天元內(nèi)置了一個(gè)高效的內(nèi)存優(yōu)化策略,它能夠顯著減少訓(xùn)練時(shí)的顯存占用,實(shí)現(xiàn)在同樣的設(shè)備上可以訓(xùn)練更大的模型,支持更多算法。 此外,天元還有很多內(nèi)存和速度的優(yōu)化機(jī)制,比如亞線性內(nèi)存優(yōu)化??梢园l(fā)現(xiàn),在使用天元?jiǎng)討B(tài)圖能力時(shí),可以支持 32 Batch 左右的計(jì)算;如果轉(zhuǎn)換到靜態(tài)圖下,就可以支持 64 Batch 的計(jì)算。那么,如果希望在這種情況下,訓(xùn)練更大的 Batch 和模型,則完全可以在這里采用亞線性自動(dòng)內(nèi)存優(yōu)化技術(shù),在幾乎不降低計(jì)算速度前提下,達(dá)到 256 Batch 的訓(xùn)練能力,而且模型越大、越深,它的效果越好。 田忠博表示,在內(nèi)部評(píng)測(cè)中,天元可以實(shí)現(xiàn)某些大模型訓(xùn)練時(shí)內(nèi)存節(jié)省 20 倍以上,而速度幾乎不變。 這些特性,使得天元能夠?qū)崿F(xiàn)產(chǎn)品從實(shí)驗(yàn)室原型到工業(yè)上能夠部署的小時(shí)級(jí)轉(zhuǎn)化能力,以及大規(guī)模的、彈性的訓(xùn)練,并支撐頂級(jí)研究團(tuán)隊(duì)進(jìn)行最前沿的學(xué)術(shù)開發(fā)。 這樣,天元可以做到“簡(jiǎn)單開發(fā)”,讓開發(fā)者真正體驗(yàn)到“訓(xùn)得好”、“訓(xùn)得動(dòng)”、“訓(xùn)得快”。
從 Theano 為源頭,到不斷迭代到今天發(fā)布的MegEngine Alpha 版本,天元的誕生來(lái)之不易,背后是曠視研究院團(tuán)隊(duì)從 0 到 1 的打磨過(guò)程。 曠視成立初衷是希望把計(jì)算機(jī)視覺應(yīng)用于傳統(tǒng)產(chǎn)業(yè),用技術(shù)改變世界。當(dāng) 2013 年中深度學(xué)習(xí)剛剛興起之時(shí),清華宿舍中一名實(shí)習(xí)生埋首兩周,研發(fā)出一套人臉識(shí)別檢測(cè)算法,算法性能技驚四座,于是曠視正式走上用神經(jīng)網(wǎng)絡(luò)解決一切問(wèn)題的道路。 起初,曠視用 Theano 框架寫模型代碼,訓(xùn)練神經(jīng)網(wǎng)絡(luò),但隨著網(wǎng)絡(luò)越訓(xùn)越大,越來(lái)越復(fù)雜,低效耗時(shí)的框架令人崩潰,公司中的一些大牛開始琢磨其他的辦法。 2013 年底,曠視當(dāng)時(shí)的研發(fā)負(fù)責(zé)人曹志敏提出打造一套能夠打通數(shù)據(jù)、訓(xùn)練和業(yè)務(wù)的自動(dòng)化算法研發(fā)系統(tǒng) Cycle++,不需要投入過(guò)多人力和時(shí)間就可以實(shí)現(xiàn)算法從研發(fā)到應(yīng)用的自循環(huán)體系(曠視 Brain++的早期設(shè)想)。于是,2014 年初,曠視自研的初版深度學(xué)習(xí)框架誕生了。 經(jīng)過(guò)磨合,曠視在 2015 年年中完成了自研框架與公司內(nèi)部所有業(yè)務(wù)的接軌,公司業(yè)務(wù)線上的模型全部換成了自研框架訓(xùn)練出來(lái)的版本。 2015 年 11 月 9 日,Google 正式發(fā)布并開源 TensorFlow,曠視發(fā)現(xiàn)原來(lái)他們是殊途同歸,都是基于計(jì)算圖的方式來(lái)做框架,但這也給曠視的自研框架造成很大沖擊,公司內(nèi)部在是否要繼續(xù)堅(jiān)持自研框架上發(fā)生分歧。經(jīng)過(guò)激烈的討論和詳細(xì)的評(píng)測(cè)后,曠視發(fā)現(xiàn)當(dāng)時(shí)的TensorFlow 的性能并不理想,竟比自研框架要慢若干倍。最終曠視選擇了堅(jiān)持自研的道路。 此后,經(jīng)過(guò)不斷迭代,同時(shí)在工業(yè)實(shí)踐的鍛煉中,除了最底層的框架,曠視也在同時(shí)進(jìn)行數(shù)據(jù)和算力基礎(chǔ)設(shè)施的變革。2013 年,曠視研究院成立了自己的數(shù)據(jù)團(tuán)隊(duì),隨著業(yè)務(wù)數(shù)據(jù)的暴增,數(shù)據(jù)管理不斷出現(xiàn)問(wèn)題,曠視又開始建立自己的數(shù)據(jù)管理系統(tǒng) MegData。 2015 年底,天元MegEngine 已經(jīng)進(jìn)入了穩(wěn)步發(fā)展期,但公司“小作坊”模式開始扛不住業(yè)務(wù)需求,計(jì)算資源成為瓶頸問(wèn)題,于是曠視建設(shè)了“正經(jīng)的機(jī)房”,研發(fā)出深度學(xué)習(xí)云計(jì)算平臺(tái) MegCompute,并僅用一個(gè)季度的時(shí)間完成了業(yè)務(wù)從單機(jī)到集群的徹底遷移。 曠視從研發(fā)到業(yè)務(wù)全面向自有深度學(xué)習(xí)框架和自有計(jì)算集群的遷移,標(biāo)志著曠視數(shù)據(jù)、算法和算力三個(gè)核心組件正式完成“大一統(tǒng)”,自此曠視 AI 生產(chǎn)力平臺(tái) Brain++ 雛形初現(xiàn)。
2016 年,曠視開始組建大規(guī)模的團(tuán)隊(duì)持續(xù)優(yōu)化 Brain++ 的整個(gè)套件開發(fā)流程,2019 年開始籌備將 Brain++ 最核心的深度學(xué)習(xí)框架開源,并為 MegEngine 起了一個(gè)中文名字——天元。這期間框架研發(fā)團(tuán)隊(duì)可以說(shuō)是經(jīng)歷了一場(chǎng)浴火重生,把原來(lái)封裝好的代碼分解再重組,讓開發(fā)者上手更快。 經(jīng)過(guò)一年的籌備,天元今天終于如期開源,賦能開發(fā)者。未來(lái),天元還有更多計(jì)劃,發(fā)布會(huì)現(xiàn)場(chǎng)曠視就首次曝光了天元的開發(fā)路線圖。
田忠博表示,本次曠視開源的天元是 Alpha 版本,未來(lái)的開發(fā)計(jì)劃是在今年 6 月份發(fā)布 Beta 版本,屆時(shí)天元將提供ARM 系列 CPU 支持,更多的加速設(shè)備支持,以及量化和低比特計(jì)算支持;到 9 月 份發(fā)布正式 1.0 版本時(shí),天元支持的主流計(jì)算設(shè)備將更全面,動(dòng)態(tài)能力升級(jí),并優(yōu)化訓(xùn)練推理全流程使用體驗(yàn)。 他說(shuō),在 Beta 版本和正式版本之間,希望更多人能夠參與并貢獻(xiàn) code,“也許下一代天元并不是由曠視的研發(fā)團(tuán)隊(duì)做出來(lái)的,而是與你一起共創(chuàng)出來(lái)的 Beta 和正式版本,所以我們也希望跟大家一起來(lái)共建更好的深度學(xué)習(xí)框架?!?/section>
了解萬(wàn)天元的架構(gòu)、技術(shù)細(xì)節(jié)和曲折的研發(fā)背景及研發(fā)全景圖,下面該進(jìn)入“靈魂提問(wèn)”環(huán)節(jié)了:曠視這個(gè)深度學(xué)習(xí)開源框架到底好不好用?為什么我要從已經(jīng)熟悉的 NumPy、TensorFlow、PyTorch 、Keras 或其他框架轉(zhuǎn)而學(xué)習(xí)天元?這個(gè)學(xué)習(xí)過(guò)程難嗎? 對(duì)此,田忠博打消了大家的疑慮,他表示,在整個(gè)框架接口設(shè)計(jì)和使用習(xí)慣上,天元尊重以往大家在傳統(tǒng)的 PyTorch 機(jī)器學(xué)習(xí)和數(shù)學(xué)計(jì)算使用方面的習(xí)慣,在整體設(shè)計(jì)和框架完善過(guò)程中盡量減少阻力,讓大家更容易上手。 值得注意的是,此次發(fā)布的內(nèi)容里已經(jīng)包含了一些工具,如開箱即用的在線深度學(xué)習(xí)工具 MegStudio,它能夠讓開發(fā)者便捷、快速地體驗(yàn)天元框架,進(jìn)行深度學(xué)習(xí)訓(xùn)練。 <iframe frameborder="0" allow="autoplay; fullscreen" allowfullscreen="true" src="https://v.qq.com/txp/iframe/player.html?origin=https%3A%2F%2Fmp.weixin.qq.com&chid=17&vid=t0938jmaela&autoplay=false&full=true&show1080p=false&isDebugIframe=false"></iframe> 而壓縮和部署工具等周圍支持模塊的量化工具還在繼續(xù)整理中,預(yù)計(jì)在年中會(huì)和大家見面,系統(tǒng)的可視化工具和可視化系統(tǒng)的集成則會(huì)更晚一些。 在開源文檔維護(hù)方面,田忠博表示基礎(chǔ)能力手冊(cè)和代碼是同步進(jìn)行研發(fā)的,曠視會(huì)有內(nèi)部流程確保文檔維護(hù)并保證文檔質(zhì)量,希望有更多志愿者加入,共同維護(hù)修正。 同時(shí),天元還提供一個(gè)模型中心 ModelHub,匯聚頂尖算法的預(yù)訓(xùn)練模型,并把曠視研究院的最新技術(shù)和研發(fā)成果發(fā)布到該平臺(tái)。曠視表示,更多 SOTA 的模型正在增加中。 從無(wú)到有,從“授人以魚”到“授人以漁”,曠視滿懷誠(chéng)意,正在通過(guò)開放 Brain++,嘗試為 AI 打造一套 Visual Studio,將 AI 能力帶給更多開發(fā)者,在算法研究的“煉丹”過(guò)程中,提供一套設(shè)備完善的“煉丹房”,至于煉丹的原材料和柴火,那就需要用戶按需自取了。 在發(fā)布會(huì)上,曠視公布了天元在 GitHub 的代碼托管地址,想了解體驗(yàn)如何不如直接試試吧! GitHub:https://github.com/MegEngine/MegEngine
生成海報(bào)
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。