《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 人工智能 > 業(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
來源:機(jī)器之心
關(guān)鍵詞: 天元1.0 AI

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

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

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

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

  2020 年 3 月,曠視正式將天元開源,提供給全球開發(fā)者使用。開源以來,天元從 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。天元通過重寫動(dòng)態(tài)執(zhí)行引擎,打破過去幾個(gè)版本中動(dòng)態(tài)圖的限制,解決了一系列資源釋放的問題,并大幅提升了動(dòng)態(tài)自由度,讓使用 GPU 計(jì)算像 NumPy 一樣方便自如。

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

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

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

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

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

  從開源到現(xiàn)在經(jīng)過半年的技術(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í)模型開發(fā)流程中,從訓(xùn)練到推理,開發(fā)者需要經(jīng)過一系列格式轉(zhuǎn)換。但隨之而來的也會(huì)有種種復(fù)雜難題,比如推理框架對(duì)算子不支持、作為中間轉(zhuǎn)換格式的 ONNX 版本不一致,轉(zhuǎn)換成 Caffe 過程中存在一些層的中間形狀變化導(dǎo)致無法轉(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í)模型開發(fā)環(huán)境下,在不斷地對(duì)分配、適配和微調(diào)的過程中,一個(gè)模型的落地工作往往需要數(shù)天到數(shù)周時(shí)間。如果還涉及到多平臺(tái)的部署,則以上問題復(fù)雜度和難度會(huì)成倍增加,讓模型交付變得非常困難。

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

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

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

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

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

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

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

  天元支持的設(shè)備包括 NVIDIA GPU、ARM、X86 和 AMD GPU 平臺(tái)以及各類國產(chǎn) NPU 芯片。同時(shí),測試表明,相比其他一些框架,天元在 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),框架無需針對(duì)網(wǎng)絡(luò)結(jié)構(gòu)特殊優(yōu)化。這保證了天元可以在開發(fā)者自己的模型結(jié)構(gòu)也保持較低的內(nèi)存占用,讓天元可以幫助各個(gè)領(lǐng)域的開發(fā)者降低內(nèi)存占用量,提高競爭力。

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

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

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

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

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

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

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

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

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

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

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

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

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

  AI 產(chǎn)業(yè)落地浪潮中,開發(fā)者只有在友好、開放、創(chuàng)新的開發(fā)環(huán)境中,才能更好地進(jìn)行 AI 的價(jià)值設(shè)計(jì)與開發(fā),為全球輸送 AI 動(dòng)能。歡迎全球開發(fā)者,加入天元社區(qū),一起讓深度學(xué)習(xí)也可以簡單開發(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)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。