天天看點

曠視開源深度學習架構天元!動靜合一,訓推一體,落地邊緣裝置

疫情中的深度學習領域又有大動作。

3月25日下午,曠視科技舉辦線上釋出會,宣布其自主研發、全員使用的AI生産力套件Brain++的核心深度學習架構——天元(MegEngine)開源。

回溯2017年,AlphaGo與柯潔的圍棋大戰讓人歎為觀止,也點燃了不少科研人員對AI的研發熱情,其中,支撐AlphaGo運轉的底層技術架構是谷歌的TensorFlow。但其實,早在2014年,曠視就已經着手開始研發其深度學習架構MegEngine,在過去5年内,這套深度學習架構被曠視全員使用,也支撐起了整個曠視的科研及産品化程序。

現在,這套深度學習架構終于開源啦!這也是本月繼清華Jittor之後,又一個開源的國産深度學習架構。

作為曠視絕對招牌之一,MegEngine是什麼,有何特點?在曠視的發展曆程中,它做出了哪些貢獻,文摘菌在這裡為你一網打盡~

AI時代的三位一體生産力平台

開源釋出會上,曠視聯合創始人、首席技術官唐文斌用廚房來做比喻,解釋曠視的三位一體生産力平台——Brain++。

唐文斌介紹道,AI系統存在兩大基礎設施,晶片平台和AI生産力平台,後者涉及到資料、算法、算力等多方面問題。

什麼是AI生産力平台,它就像是一道美食,需要原材料、一口好鍋和一竈猛火共同烹饪炒出,以Brain++為例,資料、算法、算力分别就代表了材料、鍋和猛火,今天就是這口“鍋”亮相的時候。

天元MegEngine深度學習架構官方網站:

https://megengine.org.cn/

簡單回想一下人工智能發展初期,想要訓練出一個AI模型,至少需要一兩個月,而且開發者要通過手敲代碼完成計算過程,深度學習社群基本上被TensorFlow和PyTorch壟斷。是以為了快速進行算法實驗,落地實際工業場景,我們需要的是一個具有高性能、可複用和能靈活疊代的AI算法平台,要打造這個平台,就必須從計算性能,平台易用性,滿足真實業務場景需求等各個方面進行考量。

曠視Brain++就是這樣的一個系統,天元就是其中核心子產品,唐文斌說,“天元”取圍棋盤上的中心點之意,就是要做到訓練推理一體化、相容并包、靈活高效。

自2014年研發,2015年正式投入使用,如今曠視所有産品都使用了天元架構,整個過程可謂是來之不易。

今天天元開源代碼共35萬行,包括78%C++,17%CUDA,5%Python。唐文斌大方地承認道,今天釋出的是Alpha版本,6月份會釋出Beta版本,9月份釋出正式版本。

他也很誠懇地表示,“所有程式員都知道,一個代碼自己用和拿出來和别人分享的差距有多大。”是以希望有更多人對這一釋出版本給出批評建議,共建更好的産品。九月份推出正式版本,即日起向企業開發。

釋出會上也公布了代碼的托管位址,感興趣的同學不妨一試。

GitHub位址:

https://github.com/MegEngine/MegEngine

訓練和推理一體化,适配不同架構接口

據介紹,天元系統共分為五個層次:計算接口,圖表示、優化與翻譯、運作時管理、計算核心。

可以從圖中看到,天元支援Python和C++接口,支援靜态圖和動态圖表達,也支援自動求導器、圖優化、圖編譯。

傳統的訓練架構和推理架構是分開進行的,也就是說,系統要先經過訓練再接受新的格式,在推理架構上适配不同的場景,但是在兩者轉化過程中會遇到算子無法支援、手工無法優化、大量備援算子等多種問題。

天元系統的訓練和推理是一體的,是以無需進行模型轉換,同時,系統内部内置有模型優化,可以有效降低手工優化的誤差,精度和速度都能得到保證

靜态圖和動态圖之争也就是TensorFlow和PyTotch之争,但是兩種架構真的不得兼得嗎?天元給出的答案是,可以。動靜合一就是天元的做法,從結果上看,使用靜态圖提速約5%-20%。

在學術界和工業界都會遇到架構接口不同引起的各種适配問題,天元在此也提出了解決方案,那就是相容并包。天元采用了Pythonic風格API,可以很自然地被使用者接受,函數的命名也尊重了以往的傳統,可以直接導入PyTotch Module,友善模型複現和實驗。

在生産環境上,天元也做到了“靈活高效”,不僅在許多算法上都取得了領先的性能,在與其他架構進行對比時速度也完全不輸,同時,天元還關注到了顯存和片上記憶體的節省,天元系統在保證不影響速度的前提下實作了20倍以上的記憶體減少。

三大特點:“訓得好”、“訓得快”、“訓得動”

在釋出會上,曠視首席科學家孫劍表示,“天元就像我們的孩子”,他也就其三大特點進行了介紹,包括架構與算法協同、高效訓練系統、大規模能力,用大白話來說就是“訓得好”、“訓得快”、“訓得動”。

孫劍表示,由于目前計算平台的特性差異比較大,無法用一種網絡滿足所有需求。

天元通過快速的算子算法開發,靈活高效的算子支援,Jit自動算子融合三方面,實作了端上的高性能,在自測和第三方測試中都取得了不錯的成績。目前也已經配備至國産智能手機中,加速手機的智能化。

在介紹第二個優點之前,孫劍提到,在計算機視覺挑戰賽COCO中,曠視已經實作了三連冠,能取得這樣的成績,除了優秀的研究員、對比賽的了解,曠視天元系統功不可沒。

曠視天元系統能夠通過多機訓練提速16倍,加速了創新周期,并且精度更高,而且也是第一次實作了從架構上支援超大mini-Batch訓練,種種優點集中後,研究人員就可以在相同的比賽時間内測試更多的想法

在Object365之後,孫劍表示,Object365 V2也在今天開放給大家,Object365 V2可以說是世界上最大的物體檢測資料集,配備了365種常見物體,2百萬張圖像,2.8千萬個人工标注,是COCO比賽資料集的16倍大。

面對如此龐大的資料集,孫劍表示,曠視天元完全“訓得動”,高校加速比的多機訓練、底顯存消耗、亞線性顯存節省技術、MegRay通訊架構、高效資料編碼傳輸,這些特點都使得天元系統能夠訓練出一個精度更高速度更快的模型。

除了上述三個特點,孫劍讓大家試想,1400多名研發人員共享高效計算資源是怎樣的場景。

他說,共享時每個研發人員都有一份獨有的互動式訓練模式,能夠讓每個人随時停下來調試,不僅如此,系統還支援多人同時線上訓練、資料自動預加載,自動閑置資源利用、計算配額管理,這些功能的實作,也都是要得益于曠視Brain++。

對于Brain++,用此前曠視聯合創始人唐文斌的話說就是,Brain++的“目标是讓研發人員獲得從資料到算法産業化的綜合技術能力,不用重複造輪子也可以推進AI快速落地。Brain++還引入了AutoML技術,可以讓算法來訓練算法,讓AI來創造AI”。

釋出會上,曠視雲服務業務副總裁趙立威就曠視Brain++進行了更深層的介紹。

具體來說,Brain++的架構分為三部分,核心子產品就是最新開源的深度學習算法開發架構天元(MegEngine),其次是提供算力排程支援的深度學習雲計算平台MegCompute,以及用于提供資料服務和管理的資料管理平台MegData。

他說道,AI加速着各行各業的創新程序,但是在AI具體落地過程中馬太效應還是比較明顯的。其中,以企業為例,企業在應用AI時遇到了不少共性問題,比如對資料的利用、資料隐私、模型效果、難以保證使用方法在生産過程中的精度和性能需求等等。

曠視Brain++也正是基于解決這些問題提出,趙立威介紹道,在架構基礎上,曠視研究院提出“三位一體”概念,融合資料和算力平台,建構出集“算法、資料和算力”于一體的AI生産力套件Brain++,自動化、規模化、集約化生産算法,在Brain++的驅動下一一成為現實。

要讓AI真正助力到具體行業種,去賦能傳統行業,達到商業創新的目标,趙立威在最後也向大家分享了三個通過使用曠視Brain++成功的案例,并表示,“你也可以擁有專屬的Brain++平台”。

在這裡,文摘菌也為大家簡單總結一下,Brain++的核心子產品MegEngine,也就是天元系統,是以C++為基礎,和其他架構使用異構架構的架構不同,MegEngine使用了計算圖方式,進行分布式計算更為便捷。同時,MegEngine引入了曠視獨家AutoML技術,訓練一次,就能得到整個模型空間的刻畫,降低了人力成本,也大幅提高開發效率。

天元系統可實作訓練、部署一體化,能夠支撐大規模視覺方向的算法研發,具體又分為計算引擎、運作時管理、編譯和優化以及程式設計和表示四個方面。

本次釋出會上,衆多AI界大咖也紛紛送上祝福,中國工程院院士高文表示,深度學習是目前AI能夠掀起全球科研熱潮的重要原因之一,而另一個則是采取了開源開放的措施,曠視這次的開源是“一件值得祝賀的事”,也是“一件重要的事”。

中國科學院院士姚期智也表示,AI現在的地位就和過去數學和實體的地位很像,如何發展AI,這需要從兩個角度考慮,一個是人才培養,一個是研究創新,其中,前者呼籲具有豐富交叉學科背景的人才,清華也在重點培養,包括開設智班和姚班,以及編纂AI教材,後者則需要産學研的結合,曠視Brain++正是工程化的代表。

國産深度學習架構百花齊放!清華開源首個國内高校自研的深度學習架構Jittor

先于曠視,3月20日,清華大學開發了名為Jittor的深度學習架構,這是首個國内高校自研的深度學習架構,這一架構的開源有望為深度學習社群提供新方案,推動深度學習架構國産化。

根據官網介紹,Jittor是一個用元算子表達神經網絡計算單元,并且完全基于動态編譯的深度學習架構。根據官網的定義,“研究團隊将神經網絡所需的基本算子定義為元算子”,而Jittor的主要特性正是元算子和統一計算圖。

元算子非常底層,通過互相融合可以完成複雜的深度學習計算,展現出了易于使用的特點。研發團隊表示,采用元算子的Jittor目前已經超越了Numpy,可以完成更複雜高效的操作。

在統一計算圖方面,Jittor融合了靜态計算圖和動态計算圖的優點,在易于使用的同時,提供了高性能的優化。基于元算子開發的深度學習模型,可以被Jittor實時自動優化,并且運作在指定如CPU、GPU的硬體上。

Jittor官網:

https://cg.cs.tsinghua.edu.cn/jittor/ https://github.com/Jittor/jittor 在設計理念上,Jittor保持着易用、靈活和及時的特點:

  • 易用且可定制:使用者隻需要數行代碼,就可定義新的算子和模型,在易用的同時,不喪失任何可定制性;
  • 實作與優化分離:使用者可以通過前端接口專注于實作,而實作自動被後端優化,進而提升前端代碼的可讀性,以及後端優化的魯棒性和可重用性;
  • 所有都是即時的:Jittor的所有代碼都是即時編譯并且運作的,包括Jittor本身。使用者可以随時對Jittor的所有代碼進行修改,并且動态運作。

具體來說,Jittor的7大新特點值得關注:

最近清華、曠視相繼開源深度學習架構,再加上更早的開源百度PaddlePaddle,而據了解,華為也即将開源自己的深度學習架構,國産深度學習架構正在迎來發展高速期,希望借着這股東風,能夠激發更多的人對AI領域的興趣,參與到國産AI的建設中。