《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 人工智能 > 業(yè)界動(dòng)態(tài) > 8次迭代5大升級(jí),3大核心優(yōu)勢(shì),,曠視深度學(xué)習(xí)框架天元1.0預(yù)覽版正式發(fā)布

8次迭代5大升級(jí),,3大核心優(yōu)勢(shì),曠視深度學(xué)習(xí)框架天元1.0預(yù)覽版正式發(fā)布

2020-09-21
來(lái)源:機(jī)器之心
關(guān)鍵詞: 天元1.0 AI

  AI 技術(shù)需要開(kāi)源,、開(kāi)放,。就在剛剛結(jié)束的中關(guān)村論壇曠視平行論壇中,曠視正式發(fā)布了天元 1.0 預(yù)覽版,。

  9 月 18 日,,中關(guān)村論壇曠視平行論壇中,曠視研究院院長(zhǎng)、首席科學(xué)家孫劍正式發(fā)布了開(kāi)源深度學(xué)習(xí)框架天元 1.0 預(yù)覽版,,并對(duì)天元的技術(shù)特性與發(fā)展方向進(jìn)行了深入解讀,。

  曠視 2014 年開(kāi)始研發(fā)深度學(xué)習(xí)框架天元。目前,,曠視 1400 多名研發(fā)人員全員使用天元 MegEngine,,曠視所有算法均通過(guò)天元 MegEngine 進(jìn)行訓(xùn)練和推理。

  曠視天元 1.0 預(yù)覽版,,歷經(jīng) 8 次迭代 5 大升級(jí)

  2020 年 3 月,,曠視正式將天元開(kāi)源,提供給全球開(kāi)發(fā)者使用,。開(kāi)源以來(lái),,天元從 3 月的 Alpha 版本升級(jí)到 6 月的 Beta 版本、到 9 月的 1.0 版本,,期間實(shí)現(xiàn)了 8 次迭代,。

  此次天元 1.0 預(yù)覽版,相比之前的版本,,實(shí)現(xiàn)了 5 項(xiàng)重要的技術(shù)升級(jí),。

  首先,天元 1.0 預(yù)覽版提供了全新的 Imperative Runtime,。天元通過(guò)重寫(xiě)動(dòng)態(tài)執(zhí)行引擎,打破過(guò)去幾個(gè)版本中動(dòng)態(tài)圖的限制,,解決了一系列資源釋放的問(wèn)題,,并大幅提升了動(dòng)態(tài)自由度,讓使用 GPU 計(jì)算像 NumPy 一樣方便自如,。

  其次,,天元 1.0 預(yù)覽版新增自動(dòng)代碼裁剪功能。在實(shí)際的 AI 應(yīng)用開(kāi)發(fā)中,,用戶(hù)經(jīng)常面臨模型大小的問(wèn)題,。自動(dòng)代碼裁剪功能讓用戶(hù)可以全自動(dòng)的針對(duì)自己網(wǎng)絡(luò)使用的算子進(jìn)行代碼裁剪,不用手工配置就能最小化推理時(shí)的代碼體積,,極大提升端側(cè)推理的競(jìng)爭(zhēng)力,。

  此外,天元 1.0 預(yù)覽版進(jìn)行了 10 余項(xiàng)推理側(cè)性能優(yōu)化,,進(jìn)一步提升了端側(cè)推理性能,。同時(shí),天元支持了更多的國(guó)產(chǎn)硬件,。天元對(duì)于主流的一些國(guó)產(chǎn)硬件進(jìn)行了接入,,方便在國(guó)產(chǎn) NPU 芯片上進(jìn)行推理工作。

  最后,天元實(shí)驗(yàn)性的開(kāi)發(fā)了一套基于 MLIR 的 JIT 引擎,,嘗試?yán)?MLIR 這一項(xiàng)非常有前景的方案進(jìn)行計(jì)算圖的進(jìn)一步融合,、優(yōu)化來(lái)整體提升深度學(xué)習(xí)訓(xùn)練和推理的速度。

  經(jīng)過(guò)了半年的開(kāi)源工作,,現(xiàn)在天元擁有了完整的功能體系,。天元希望能依靠訓(xùn)推一體這一特性,讓產(chǎn)業(yè)應(yīng)用可以更快,、更高效的落地,。讓深度學(xué)習(xí)也可以簡(jiǎn)單開(kāi)發(fā)。

  天元三大核心優(yōu)勢(shì),,實(shí)現(xiàn)簡(jiǎn)單開(kāi)發(fā)

  從開(kāi)源到現(xiàn)在經(jīng)過(guò)半年的技術(shù)迭代,,天元擁有了三大核心優(yōu)勢(shì):訓(xùn)練推理一體、全平臺(tái)高效支持,、動(dòng)靜結(jié)合的訓(xùn)練能力,。

  核心優(yōu)勢(shì) 1:訓(xùn)練推理一體

  所謂訓(xùn)練推理一體,就是讓訓(xùn)練與推理不再是完全孤立的兩個(gè)步驟,。為什么訓(xùn)推一體如此重要,?在傳統(tǒng)深度學(xué)習(xí)模型開(kāi)發(fā)流程中,從訓(xùn)練到推理,,開(kāi)發(fā)者需要經(jīng)過(guò)一系列格式轉(zhuǎn)換,。但隨之而來(lái)的也會(huì)有種種復(fù)雜難題,比如推理框架對(duì)算子不支持,、作為中間轉(zhuǎn)換格式的 ONNX 版本不一致,,轉(zhuǎn)換成 Caffe 過(guò)程中存在一些層的中間形狀變化導(dǎo)致無(wú)法轉(zhuǎn)換,涉及到量化模型時(shí)量化參數(shù)的定義不一致等,,都會(huì)增大轉(zhuǎn)換的難度,。

  除了轉(zhuǎn)換難外,由于各個(gè)平臺(tái)的差異性和預(yù)處理邏輯的復(fù)雜性,,訓(xùn)練側(cè)提供的預(yù)處理邏輯很有可能與推理側(cè)實(shí)現(xiàn)的結(jié)果不一致,,推理和訓(xùn)練的精度對(duì)齊變得非常困難。

  傳統(tǒng)深度學(xué)習(xí)模型開(kāi)發(fā)環(huán)境下,,在不斷地對(duì)分配,、適配和微調(diào)的過(guò)程中,一個(gè)模型的落地工作往往需要數(shù)天到數(shù)周時(shí)間,。如果還涉及到多平臺(tái)的部署,,則以上問(wèn)題復(fù)雜度和難度會(huì)成倍增加,讓模型交付變得非常困難,。

  為了解決傳統(tǒng)模型開(kāi)發(fā)的一系列痛點(diǎn),,天元在訓(xùn)練和推理側(cè)均是一套底層框架提供支持,,對(duì)算子的支持、量化參數(shù)的理解均高度一致,。同時(shí),,天元支持各類(lèi)常用的 CV 算子操作,便于開(kāi)發(fā)者將預(yù)處理的代碼邏輯直接寫(xiě)入模型結(jié)構(gòu)當(dāng)中,,從而讓訓(xùn)練和推理間的差距大幅度縮小,,開(kāi)發(fā)者不再需要為了模型轉(zhuǎn)換而頭疼。

  經(jīng)過(guò)各方用戶(hù)一段時(shí)間的實(shí)際驗(yàn)證,,使用天元整個(gè)模型,,可以將從訓(xùn)練到推理的交付時(shí)長(zhǎng)縮短至傳統(tǒng)方案的十分之一以下,真正做到天級(jí)交付,。

  另外,,由于訓(xùn)推一體化,模型在訓(xùn)練階段與推理階段可以高度對(duì)齊,,這使得量化感知訓(xùn)練產(chǎn)生的模型可以無(wú)風(fēng)險(xiǎn)的在端側(cè)應(yīng)用,。同時(shí)天元擁有精心設(shè)計(jì)的量化訓(xùn)練模塊,大大降低了量化感知訓(xùn)練模型的使用門(mén)檻,。

  以上表格中,,在各類(lèi)模型上,通過(guò)應(yīng)用量化感知訓(xùn)練,,可以在極小的精度下降前提下,,使用 int8 推理。量化感知訓(xùn)練產(chǎn)生的高精度模型,,配合上天元經(jīng)過(guò)高度優(yōu)化的 int8 算子,,可以將各個(gè)常見(jiàn)網(wǎng)絡(luò)的推理耗時(shí)降至浮點(diǎn)模型的 30%~50% 以?xún)?nèi),有效帶來(lái)性能加速,。

  核心優(yōu)勢(shì) 2:全平臺(tái)高效支持

  廣泛而高效的平臺(tái)支持,是實(shí)現(xiàn)訓(xùn)推一體的前提,。只有在各個(gè)平臺(tái)上都提供足夠高效便捷的推理能力,,才能真正的免除模型轉(zhuǎn)換工作。

  對(duì)于開(kāi)發(fā)者常用的各類(lèi) CPU,、GPU 和 NPU,,天元均提供了全面而高效的支持,讓用戶(hù)無(wú)需為每個(gè)平臺(tái)重新學(xué)習(xí)重新開(kāi)發(fā),,可以讓用戶(hù)一套模型,、一套代碼走天下。

  天元支持的設(shè)備包括 NVIDIA GPU,、ARM,、X86 和 AMD GPU 平臺(tái)以及各類(lèi)國(guó)產(chǎn) NPU 芯片,。同時(shí),測(cè)試表明,,相比其他一些框架,,天元在 CUDA、ARM,、X86 平臺(tái)上都具備性能優(yōu)勢(shì),。

  深度學(xué)習(xí)應(yīng)用中,運(yùn)行時(shí)的內(nèi)存占用是一個(gè)重要的指標(biāo),。由于天元的自動(dòng)內(nèi)存優(yōu)化策略在訓(xùn)練側(cè)得到了充分的打磨,,天元可以在內(nèi)存占用和推理性能之間取得良好的平衡。

  僅依靠通用的優(yōu)化策略,,天元對(duì)于任意的模型結(jié)構(gòu)都有足夠良好的優(yōu)化表現(xiàn),,框架無(wú)需針對(duì)網(wǎng)絡(luò)結(jié)構(gòu)特殊優(yōu)化。這保證了天元可以在開(kāi)發(fā)者自己的模型結(jié)構(gòu)也保持較低的內(nèi)存占用,,讓天元可以幫助各個(gè)領(lǐng)域的開(kāi)發(fā)者降低內(nèi)存占用量,,提高競(jìng)爭(zhēng)力。

  端側(cè)推理時(shí),,推理程序的二進(jìn)制體積同樣是一項(xiàng)非常重要的指標(biāo),,對(duì)于端側(cè)的 SDK 競(jìng)爭(zhēng)力非常重要。

  對(duì)此,,天元提供了自動(dòng)代碼裁剪機(jī)制,,根據(jù)模型的結(jié)構(gòu),將不需要的 kernel 實(shí)現(xiàn)和代碼片段裁減掉的過(guò)程全自動(dòng),,從而將代碼體積大幅度縮小,,大幅度提升端側(cè) SDK 的競(jìng)爭(zhēng)力。

  核心優(yōu)勢(shì) 3:動(dòng)靜結(jié)合的訓(xùn)練能力

  動(dòng)態(tài)圖訓(xùn)練對(duì)程序員友好,,可以隨時(shí)停下來(lái) Debug,;而靜態(tài)圖的訓(xùn)練好處是可以讓訓(xùn)練的精度、內(nèi)存消耗和訓(xùn)練速度達(dá)到最優(yōu),。如何兼得動(dòng)態(tài)圖訓(xùn)練和靜態(tài)圖訓(xùn)練的好處,?天元通過(guò)動(dòng)靜結(jié)合支持快速模型設(shè)計(jì)。動(dòng)態(tài)模式下,,天元可以方便的排查模型問(wèn)題,,在遇到錯(cuò)誤后及時(shí)停下,便于分析模型結(jié)構(gòu)上的異常問(wèn)題,。通過(guò)添加一行 trace,,模型可以被直接轉(zhuǎn)換為靜態(tài)圖模式,獲得靜態(tài)圖所獨(dú)有的圖優(yōu)化,,一方面可以更好的對(duì)顯存進(jìn)行復(fù)用,,提高顯存利用率,,另一方面可以?xún)?yōu)化計(jì)算順序,提升模型的訓(xùn)練性能,。

  在 Beta 版天元推出了亞線性?xún)?nèi)存優(yōu)化技術(shù),。目前天元是唯一一個(gè)支持全自動(dòng)亞線性?xún)?nèi)存優(yōu)化技術(shù)的框架。靜態(tài)模式下,,在靜態(tài)圖的基礎(chǔ)上,,額外添加一個(gè)配置項(xiàng),則可以便捷的啟用亞線性?xún)?nèi)存優(yōu)化,。天元內(nèi)置的 Sublinear 亞線性?xún)?nèi)存優(yōu)化功能,,可以對(duì)任意的模型結(jié)構(gòu)進(jìn)行內(nèi)存優(yōu)化,在相同的顯卡下,,可以訓(xùn)練出更大更準(zhǔn)確的模型,。

  亞線性?xún)?nèi)存優(yōu)化的特點(diǎn)是參數(shù)量越大,從而節(jié)省下的顯存量越多,。因此越龐大的模型,,從中獲得的收益就越大。由于算法的普適性,,無(wú)論是任何的模型結(jié)構(gòu),,都可以全自動(dòng)的被亞線性?xún)?nèi)存優(yōu)化機(jī)制處理。

  共同推進(jìn)開(kāi)源生態(tài)建設(shè)

  在使用上,,天元模型中心 Model Hub 提供了豐富的預(yù)訓(xùn)練模型,,包括圖像分類(lèi)、目標(biāo)檢測(cè),、圖像分割等模型,,并且每個(gè)模型都提供了 SOTA 級(jí)別準(zhǔn)確率,讓使用者可以便捷的上手天元,,站在巨人的肩膀上開(kāi)始自己的科研工作,。

  此外,天元已經(jīng)與小米 MACE,、OpenAI Lab Tengine 進(jìn)行了深度的集成,,用戶(hù)可以將 MegEngine 的模型直接轉(zhuǎn)換到 MACE 或 Tengine 中執(zhí)行,從而獲取在各類(lèi)異構(gòu)設(shè)備上執(zhí)行深度學(xué)習(xí)模型的能力,。

  深度學(xué)習(xí)框架的未來(lái)路線

  天元 1.0 預(yù)覽版的發(fā)布意味著天元已經(jīng)迭代成為一個(gè)完備的深度學(xué)習(xí)框架,。未來(lái)天元將如何迭代發(fā)展,?曠視天元技術(shù)團(tuán)隊(duì)認(rèn)為深度學(xué)習(xí)未來(lái)會(huì)繼續(xù)蓬勃發(fā)展,,在不斷涌現(xiàn)新技術(shù)新方案的同時(shí),現(xiàn)有的方案和技術(shù)會(huì)進(jìn)一步的范式化,,簡(jiǎn)化整個(gè)流程,,像傳統(tǒng)軟件開(kāi)發(fā)一樣精確分工,、快速迭代。因此天元會(huì)持續(xù)在易用性和整個(gè)深度學(xué)習(xí)落地的流程化上努力,,讓深度學(xué)習(xí)應(yīng)用的流程更加清晰易懂,,從而大幅提高 AI 的生產(chǎn)力。

  此外,,在過(guò)去的一段時(shí)間中,,深度學(xué)習(xí)框架從編譯器中借鑒了相當(dāng)一部分的內(nèi)容,曠視天元技術(shù)團(tuán)隊(duì)認(rèn)為隨著 MLIR 等新興技術(shù)的產(chǎn)生,,框架將會(huì)進(jìn)一步向編譯器化發(fā)展,,從而獲得更大幅度的性能提升。

  最后,,隨著大量云,、端上的 AI 芯片的衍生以及各類(lèi)神經(jīng)網(wǎng)絡(luò)加速器應(yīng)用的愈加廣泛,每家芯片自身的推理框架越來(lái)越強(qiáng)大,。訓(xùn)推一體的核心是在訓(xùn)練階段對(duì)芯片的充分了解和兼容,,因此如何讓用戶(hù)能從一開(kāi)始就訓(xùn)練出一個(gè)適用于最終要用到的芯片的模型,才是讓整個(gè)落地流程最高效的重點(diǎn),。天元希望能夠與芯片協(xié)同演進(jìn),,協(xié)同發(fā)展,讓整個(gè)生態(tài)能夠更加健康蓬勃的發(fā)展,。

  AI 產(chǎn)業(yè)落地浪潮中,,開(kāi)發(fā)者只有在友好、開(kāi)放,、創(chuàng)新的開(kāi)發(fā)環(huán)境中,,才能更好地進(jìn)行 AI 的價(jià)值設(shè)計(jì)與開(kāi)發(fā),為全球輸送 AI 動(dòng)能,。歡迎全球開(kāi)發(fā)者,,加入天元社區(qū),一起讓深度學(xué)習(xí)也可以簡(jiǎn)單開(kāi)發(fā),。

 

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。