曠視開源深度學習框架「天元」:Brain++內核,研發和落地都在用

乾明 發自 凹非寺
量子位 報道 | 公眾號 QbitAI

耗費資源打造優化6年,迭代到8.0版本,曠視技術體系的關鍵支柱,現在正式對外開源。

剛剛,深度學習驅動之下最早創業的中國AI獨角獸曠視,宣佈開源自研深度學習框架MegEngine(Brain++核心組件之一),中文名天元——取自圍棋棋盤中心點的名稱。

曠視開源深度學習框架「天元」:Brain++內核,研發和落地都在用

在發佈會上,曠視聯合創始人、CTO唐文斌透露,這也是向AlphaGO致敬。

與之前開源的“前輩”框架們不同,曠視開源的AI框架,是其創業、壯大和屢屢刷新業內紀錄的核心驅動引擎。

所以曠視天元,因何開源?有啥目標?會給業界帶來什麼變化?

曠視開源深度學習框架「天元」:Brain++內核,研發和落地都在用

在介紹天元開源時,唐文斌介紹了“天元”的另一層含義:萬物的基礎。

他說:“我們希望能夠通過天元這樣一個深度學習框架,能夠作為中國人工智能的一個基石,能夠幫助中國人工智能做得更好。”

而聚焦到曠視本身,開源亦是其“基於算法向產業方向升級,打造AI基礎設施”戰略的延伸,近年一連串動作,都是該方向上的不斷落子。

智能化時代的生產力工具

2019年初,曠視發佈AIoT 操作系統“河圖”,應用於物流場景,讓更多硬件可以接入,並實現平臺統一控制、調度。

與此同時,這套系統還能讓更多的生態夥伴可以參與其中,開發屬於自己的智能物流解決方案,創造場景的價值。

“河圖”發佈之後,雖然平臺軟件的產生得以讓更多的硬件接入,讓 AI+ 場景越發豐富。但曠視發現,更大的需求出現了——場景具有無限性。

曠視開源深度學習框架「天元」:Brain++內核,研發和落地都在用

他們認為,這導致了場景對算法需求的無限性,但沒有任何一家企業可以創造所有算法。要解決這個矛盾,激發整個產業算法創新能力,就需要一套面向所有人開放的 AI 基礎設施。

那什麼是 AI 基礎設施?

唐文斌在發佈會上說,只有 AI 芯片平臺和 AI 生產力平臺能夠被稱為 AI 基礎設施。

其中,AI 的計算需要 AI 芯片平臺承載不容置疑,而 AI 生產力則需要來自於“框架”。

之前,在觀察評估AI框架時,我們也曾有過更宏觀的視角:

從人類社會生產大爆發的三大時代來審視,生產力的重點是規模化工具的重要性。農業文明時代的核心,是耕犁的使用,讓耕種有了規模化發展的可能。

工業革命的關鍵,是蒸汽機的啟用和推廣,讓機器真正可以規模化部署應用,替代手工作坊。而智能化時代中,如何實現數據規模化運用和處理,成為競爭力關鍵。

通常情況下,我們把技術作為第一生產力,但更多聚焦於技術,反而會忽略了規模化運用“技術”的工具。

如果回顧起來,就會發現這樣一個規律,誰掌握時代生產工具,誰就能掌握生產力,從而有可能成為時代紅利的最大受益者,在競爭中佔得先機。

按照產業經濟學的理論,生產效率的本質,在於減少消耗、增大產出,從而利用結餘推動更進一步的發展,並在每個增長瓶頸中抓住產業變革奇點,實現範式轉移和產能躍遷,從而真正穿越週期。

曠視開源深度學習框架「天元」:Brain++內核,研發和落地都在用

具體到AI驅動的智能化時代當下,打造人工智能算法的框架,無疑是減少消耗的工具:規模化AI算法落地推動產出,各行各業將進入一場新的能效變革戰爭。

所以在產業智能化的大勢下,算法開發框架的意義也進一步凸顯,更是成為數字基礎設施建設、產生AI生產力的核心工具之一。

從這個角度來看,曠視開源天元既是為技術共同體貢獻一份力量,也是其引入開放性創新、打造Brain++ 生產力平臺、角逐產業智能時代的戰略所向。

唐文斌認為,就任何一個產業來說,只有引起標準化、規模化的連鎖反應才能迎來真正繁榮。

這就是天元的設計理念,直接反映在框架設計的特性和能力中。

天元框架的四大特性

天元是曠視Brain++的核心組件之一,主要功能:幫助開發者用戶藉助友好的編程接口,進行大規模深度學習模型訓練和部署。

根據曠視給出的官方總結,天元具備訓練推理一體化,動靜合一,兼容幷包和靈活高效四個特點,使其在於其他主流深度學習框架對比中,不落下風。

曠視開源深度學習框架「天元」:Brain++內核,研發和落地都在用

所謂訓練推理一體化,指的是通過天元訓練得到的模型和產物,可以直接進行用於產品的推理、封裝。在部署時,它還能幫助開發者自動刪除冗餘代碼,實現模型自動優化。

動靜合一,是指天元集成了“靜態圖性能高、佔用資源少且易於部署”、“動態圖簡單靈活、方便調試且易於上手”的優點。

在充分利用動態圖模型訓練優勢時,開發者可以通過天元動靜態一鍵轉換功能,以靜態圖的形式完成生產和部署;此外,天元還支持動靜態的混合編程,靈活性更強。

在發佈會上,曠視研究院高級技術總監田忠博給出了一個例子。

曠視開源深度學習框架「天元」:Brain++內核,研發和落地都在用

他說:“在使用天元動態圖能力的時候,大概可以在一個32Batch左右進行計算,如果把它轉換到靜態圖的情況下,它就可以支持到64Batch的水平。”

但這不是全部。

他還介紹稱:“如果大家希望在這種情況下,訓練更大的Batch,訓練更大的模型,完全可以採用亞線性的自動內存優化技術,天元可以在幾乎無降低計算速度前提下,達到256Batch訓練能力。”

曠視開源深度學習框架「天元」:Brain++內核,研發和落地都在用

而且,隨著你的模型變大、變深,它的效果越好。

田忠博透露,曠視內部有一些評測上,可以實現某些大模型20倍以上的內存節省,速度幾乎不變。

兼容幷包,則體現在天元的易用性上,其具備Pythonic的API——習慣用Python進行傳統機器學習的開發者,學習成本更低、易於上手。而且,天元還支持PyTorch Module功能,可以直接導入模型,遷移成本低且極大方便模型復現。

靈活高效,專指天元具備很強的多平臺多設備適應能力,能通過類似彙編和指令重排等技術,使得天元內置算子能夠在推理或生產環境中充分利用多核優勢,靈活調用設備的計算力,尤其適用於大模型算法訓練。

那麼問題來了,天元有如此能力與特性,關鍵秘訣是什麼?

架構設計。

天元框架的整體架構

從架構上來看,天元具體分為計算接口、圖表示、優化與編譯、運行時管理和計算內核五層。

曠視開源深度學習框架「天元」:Brain++內核,研發和落地都在用

在頂層的計算接口上,天元配置C++和Python接口,用以解決框架學習接口各異,模型難以復現的問題;

在圖表示層,天元內置動靜態轉換功能,支持開發者混合使用動態圖和靜態圖模式進行編程;

在優化與編譯層,天元構建核心計算圖支持用戶高效交互,進一步優化和編譯API表達的計算,具體包括自動求導器、圖優化和圖編譯功能;

運行時設備管理中,天元配置計算調度和內存管理兩個模塊,通過計算調度模塊將設備抽象為執行流,並通過調度器實現智能調度。

內存優化上,天元同時採用了動態、靜態內存分配並存的方式,支持自動亞線性內存優化,同時,曠視獨創了自動的亞線性內存管理優化器,使天元能夠得到更好的內存優化效果。

天元的底層(計算內核)擁有一個基於異構架構,內置高效計算機視覺算子的計算內核,具備X86,CUDA等主流硬件設備智能適配能力。

其可以通過內置算法,根據設備本身啟發式地選擇最優內核,也能讓用戶自己選擇最適合的內核進行計算。

此外,天元配備了高性能異構通信庫,支持用戶在不同機器和計算卡之間進行高性能的通信,以實現多機多卡、大規模、分佈式的算法訓練。

如此框架,用到實際中效果會怎樣呢?

開頭就有說,曠視創業發展至今,成為全球估值最高的AI獨角獸之一,背後離不開這個框架的強力驅動。

曠視核心中的核心

過去的6年中,天元框架作為曠視“真核”Brain++的一部分,與深度學習雲計算平臺(MegCompute)、以及數據管理平臺(MegData)一起,支撐曠視全部業務。

曠視開源深度學習框架「天元」:Brain++內核,研發和落地都在用

曠視首席科學家、研究院院長孫劍說:“曠視1400名研發人員,全部使用天元框架,並將其應用到了上百個產品、幾十種計算平臺上。”

在孫劍看來,天元與谷歌推出的TensorFlow、Facebook推出的PyTorch有很大不同。

“AI公司的深度學習框架和平臺公司的深度學習框架,考慮的點、方位、方向上都不同。”他說,“我們的深度學習框架(天元)生長在曠視的核心業務上,我們希望能夠對特定方向上的AI開發者帶來好處,希望他們可以同時或者使用不同的框架來解決不同的問題。”

比如在主流的計算機視覺模型(ResNet 18、ResNet50、MobileNet v2和 ShuffleNet V2)上,天元的訓練速度不同於其他主流框架。

曠視開源深度學習框架「天元」:Brain++內核,研發和落地都在用

在這次開源中,圍繞著天元框架,曠視還發布了一系列開發工具。

比如開箱即用的在線深度學習工具MegStudio,能夠讓開發者快速體驗天元的框架,訓練模型。天元還上線了囊括頂尖算法的模型中心ModelHub,其中包括曠視研究院最新的技術、研究成果。

與此同時,曠視也將分佈式計算中的數據並行和模型並行方式應用到了天元中,進一步提升大規模圖像數據處理和模型訓練的效率。

面向更大範圍、更多種類設備上的部署,天元提供了神經架構搜索、網絡剪枝和構建低比特的小型神經網絡等功能。

而且,天元中還集成了曠視最新的 AutoML 技術,自動化設計深度學習算法的各個關鍵環節,讓算法來訓練算法,讓AI來創造AI,降低上手門檻。

以上種種能力,無不證明著,天元正是曠視核心中的核心,壓箱底的本領。

最直接的例子,莫過於曠視持續三年拿下COCO重頭戲“物體檢測”冠軍,統治力堪比“中國乒乓球隊”。在2019年ICCV奪冠後,孫劍再次感謝Brain++,稱一連串成績的取得,離不開背後強大的Brain++。

曠視開源深度學習框架「天元」:Brain++內核,研發和落地都在用

而承擔著Brain++平臺生產/開發算法任務的天元,更是發揮著重要的作用。

但就是如此利器重器、核心中的核心,曠視現在開源了。

why?

歷時6年打造優化,開源是“無限遊戲”

對於曠視來說,直接推動開源的因素有兩個:一是技術是否成熟,二是時機是否得當。

曠視聯合創始人、CEO印奇稱,這直接與AI行業的發展有關係。

他說,當算法變成改造甚至顛覆軟件行業的力量時,最後核心就是看這些AI的公司有沒有平臺化的能力,即“能夠批量、高效、比競爭對手更及時地供應優質算法”。

而這種競爭的決定性因素,就在於是否掌握了核心引擎的框架。

所以,曠視在2014年就自主研發了“天元”框架,這比TensorFlow開發的時間還要早。

2015年年中,天元框架在曠視全公司推廣,其業務線上的模型全部換成了自研框架訓練出來的版本。

曠視開源深度學習框架「天元」:Brain++內核,研發和落地都在用

同年11月份,谷歌開源TensorFlow後,雖然一度讓曠視內部對於是否繼續研發深度學習框架產生動搖。但經過大規模評測後,曠視還是走向了自研的道路——畢竟剛剛問世的TensorFlow效果並不理想。

行至今日,天元不斷完善,Brain++逐步成型,曠視進一步變強,角逐的市場也正在擴大,開源更是成了其作為行業領頭公司的擔當。

“我們認為其實還是應該為中國整個這樣一個AI的大的生態去貢獻點力量,這個力量能多大我自己也不知道,但我覺得這是應該做的,”印奇說。

曠視開源深度學習框架「天元」:Brain++內核,研發和落地都在用

在宣佈天元開源的發佈會上,唐文斌也進一步透露了曠視對天元的期待,希望通過開源,能跟更多的人一起,用AI的力量創造更多的價值。

當然,曠視作為一家AI創業公司,怎麼樣既保證自己的核心業務不受到損害,又能夠把開源的能力放到最大化?這也是外界關注天元是否開源,如何開源的核心問題。

從天元的開發路線圖中,能夠看出曠視對待這些問題的態度,不僅沒有迴避,而且頗顯坦誠。

曠視開源深度學習框架「天元」:Brain++內核,研發和落地都在用

唐文斌坦言,這次開源的天元是Alpha版本,基於Apache License2.0,代碼大概有35萬行,囊括了大多數應用場景。

接下來的6月份,曠視將發佈天元的Beta版本,增加對ARM系列CPU支持、更多加速設備支持、量化和低比特計算支持等功能。

9月份,曠視會發布正式1.0版本,全面支持主流計算設備,升級動態計算能力,優化訓練推理全流程使用體驗等。

唐文斌說,也希望更多人能夠對我們的產品提出批評給出建議,一起來貢獻code,跟大家一起來共建更好的天元。

但不管怎樣,自此之後,開發者們在選用框架打造模型算法時,多了一個不容忽視的、有保障的選擇。

另外,對於整個AI行業而言,競爭維度也進一步提高。開源競爭已不再是某個算法、模型的單點開源,而是變成了框架之戰、平臺之爭,生態集團比拼。

正如唐文斌所說:“AI能夠賦能的行業和場景非常多,這是一個無限遊戲”。

在這個遊戲裡,曠視因Brain++強大,Brain++因天元走向無處不在,AI復興成就了曠視——這個AI創業上市第一股,而曠視現在則通過天元,把自己的AI影響力和能力,擴散向更廣闊的智能化時代。

量子位也問 CEO印奇,天元開源,內部小目標是什麼?

印奇答:中國開發者中口碑最好的框架。

現在,天元正式開門,迎接檢驗和評價。

傳送門:

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

https://megengine.org.cn/

GitHub 開源地址:

https://github.com/MegEngine/MegEngine

— 完 —

量子位 QbitAI · 頭條號簽約

關注我們,第一時間獲知前沿科技動態


分享到:


相關文章: