Categories
程式開發

曠視研究院田忠博:中國缺少重量級的開源項目,國產開源需要更加自信| 開源三十人


InfoQ 特別面向新一代信息技術領域技術中堅群體正式推出的「中國技術力量」之「中國新基建50 人」欄目持續進行中,本期嘉賓是曠視研究院高級技術總監,深度學習框架天元(MegEngine )項目負責人田忠博。更多「中國新基建50 人」報導,點擊這裡查看。也歡迎申請免費採訪報導名額:>> [中国新基建 50 人]

開源對曠視來說是非常需要勇氣的事

今年3月,曠視科技正式宣布開源AI 生產力平台Brain++ 的核心組件——深度學習框架天元(MegEngine),並發布了天元Alpha 版本。

隨後的半年時間裡,天元已歷經8 次迭代。今年6月,曠視推出了天元Beta 版本;9月18日,曠視發布了天元1.0 預覽版,意味著天元已經迭代成為一個完備的深度學習框架。

天元是目前曠視內部最大的開源技術項目,也是這家AI獨角獸第一次大規模地開源動作。

在此之前,曠視通常憑藉論文對外闡述其技術理念,如今伴隨著天元開源路線圖的演進,曠視已形成從研究成果到研究成果報告論文再到研究成果的基礎設施的整體開源。這也是曠視向學術界、產業界開放共享自己的研究成果的整體計劃和方式中的一部分。

“我覺得開源對於曠視來說是一件非常需要勇氣的事,因為像天元這樣的基礎設施,是曠視非常核心的技術能力”,曠視研究院高級技術總監,天元框架負責人田忠博在接受InfoQ採訪時表示。

田忠博算得上是一個“開源老兵”了,他從高中就開始接觸開源的世界,工作經歷中也多次參與開源項目,使用過很多開源技術。二十多年間,他深刻地感受到,開源技術在IT界已具有超高的使用率和滲透率,它們基本支撐了幾乎所有的大中型公司、小型公司的基礎設施、基礎架構、商業模式、技術產品。

“我之前和一位法國同事在語言溝通上有點障礙,但我倆寫的代碼互相都能看懂”。在田忠博眼中,代碼是一種工程師間交流的自然語言。 “開源本身就是一種自我表達和技術交流,無論代碼寫的好不好,技術強不強,都有被人看到、相互交流、理解的必要。”

曠視開源的初衷也正基於此。曠視希望通過開源,分享對行業技術的理解,並向世界發聲。另一方面,曠視的技術研發過程從開源中受益匪淺,因此也想將技術拿出來回饋開源領域;此外,天元代表了曠視最新的研究和算法,其開源能夠讓行業接受並更好的使用曠視的技術。

曠視開源戰略的核心— 天元(MegEngine)框架

在曠視內部,開源已經形成了一種共識。這種共識正是天元框架開源的關鍵推動性力量。

統籌好一個大型技術軟件項目的開源是極富挑戰的,它要求團隊不斷打磨自己的技術能力,與此同時還要隨時傾聽用戶的聲音並給出反饋,更需要統籌核心技術算法。凡此種種,無不需要付出大量人力和精力。

天元的開源就是這樣一項規模龐大的系統性工程。這項系統性工程從2014年天元誕生就已開始,並一直以內部大型協作的方式向前推進。

6年來,曠視1400多名研發人員全員使用天元MegEngine,曠視所有算法均通過天元進行訓練和推理。天元的技術成熟度不斷提升,開源已是水到渠成。

據了解,曠視決定開源這款深度學習框架主要有兩個原因,一是天元框架意味著從算法起家的曠視在本質上又回到了探索算法的層面,旨在解決算法的無限性。另一個重要原因則是基於市場需求的考量,現在越來越多的企業增加了AI轉型的需求,但部署AI的門檻又相對較高,不少企業缺乏AI能力,天元開源後便可將曠視所積累的AI能力賦能給傳統產業和中小企業以及高校師生等AI 開發者。

田忠博介紹,相比之前的版本,天元1.0預覽版實現了5項重要的技術升級。

首先提供了全新的Imperative Runtime。天元通過重寫動態執行引擎,打破過去幾個版本中動態圖的限制,將整體的動態圖和動態訓練能力提升到了新的階段,能夠以更高的自由度來進行算法和模型訓練。

開發集成了一套基於MLIR的JIT引擎,則是另一項關鍵的升級,天元嘗試利用MLIR方案進行計算圖的進一步融合、優化以整體提升深度學習訓練和推理的速度。這可以看作是深度學習框架走向編譯器化的第一步,也是天元技術架構演進的新的階段。

天元1.0預覽版本還增加了很多實用的功能升級,包括自動代碼裁剪功能,支持用戶全自動地針對自身網絡使用的算子進行代碼裁剪,不用手工配置就能最小化推理時的代碼體積,提升端側推理的競爭力。此外,天元進行了10餘項推理側性能優化,進一步提升了端側推理性能;支持對一些主流的國產硬件進行接入,可以使國產NPU芯片進行推理工作更加便捷。

天元具有訓練推理一體、動靜結合的訓練能力,全平台高效支持三大核心優勢。為了實現上述技術能力,天元在研發過程中克服了重重挑戰。

“訓推一體”是目前業內最先進且重要的理念。但要想在一個架構內實現兩個架構能做成的事難點重重,需要兼顧、平衡與取捨。

為了解決傳統模型開發的一系列痛點,天元支持多種硬件上的推理框架與其無縫銜接,開發者不再為了模型轉換而頭疼,經過用戶實際驗證結果表明,使用天元開發模型,可以將從訓練到推理的交付時長縮短至傳統方案的十分之一以下,做到了天級甚至小時級交付。

“動靜合一”也是一項難度頗高的功能點。天元框架要面向產業界,融合動態和靜態方案是必要的能力,但魚和熊掌難以兼得。目前業內幾乎所有的深度學習框架都沒有很好地解決這個問題。

本質上看,動態的使用範式和靜態的使用範式不同,動態圖使用範式多在模型內的場景,對深度學習算法友好,它要求少束縛、高性能,但並不適合部署應用端。而應用端強調很高的自動化程度與極致的性能,靈活性高,用靜態圖訓練可以讓訓練的精度、內存消耗和訓練速度達到最優。

為了兼得動態圖訓練和靜態圖訓練的優勢,曠視團隊提出一項開創性的思路以解決這個問題。團隊通過動靜結合支持快速模型設計:動態模式下,天元可以方便的排查模型問題,在遇到錯誤後及時停下,便於分析模型結構上的異常問題。通過添加一行trace,模型可被直接轉換為靜態圖模式,獲得靜態圖所獨有的圖優化,既可以更好的對顯存進行複用,提高顯存利用率,又可以優化計算順序,提升模型的訓練性能。

此外,在開源合規性方面,曠視團隊做了大量的工作。田忠博介紹,從Alpha 版本的30萬行代碼,到1.0預覽版的50萬行代碼,天元團隊進行了多遍、逐人逐行的審核和掃描,以確保在開源範式上做到合規。

行業最大的壁壘在於對技術的掌握能力,而非技術本身

與業內其他框架相比,天元最大的差異化特質是其具備強大的技術與業務整合能力。

與穀歌、Facebook 等巨頭不同,曠視是一家100% 的AI 公司,天元框架與曠視的核心業務高度結合,使它天然帶有實踐的基因。從解決實際問題出發是曠視自研這款深度學習框架的初衷,天元一步步成長、一次次迭代過程中,消化吸收了很多曠視深度學習、人工智能技術落地的實際應用問題。

“在算法的掌控上有更高的能力要求,是曠視能夠做更好商業的本質。曠視現在的算法和技術能力的核心點在於對技術和場景有深入的理解,不僅’know what’ ,更’know how’,知道在什麼樣的場景下應該使用何種技術,並能夠基於對算法和數據的洞察力,通過對場景的理解提出更好的解決方案”。

深度學習有很多預處理和後處理工作,這些處理與業務場景高度相關,但傳統方法無法放在應用於深度學習框架裡。而使用天元與使用其他框架相比,天元在使用中的體驗有著上本質上的不同點在於,天元能夠創造性的地把很多預處理和後處理的部分工作整合到框架中,讓框架能夠一體化完成,使其達成“training once ,run everywhere”的體驗。在一個GPU上進行訓練,就可以用同樣的模型部署到多種終端上,這是一個革命性的體驗。

作為一家商業公司,在創業成長期就將公司最核心的代碼開放出去,無疑是一個非常冒險的決定。田忠博告訴InfoQ,在決定開源初期,團隊也曾有過顧慮,將核心能力開源可能會對公司的商業化帶來一定影響,但經過綜合權衡之後,團隊將視野投向更遠大的未來,天元開源並不會以商業利益作為核心考量指標。

“到現在為止,整個行業最大的壁壘在於對技術的掌握能力,而不在於技術本身”,田忠博表示。綜合來看,開源對於曠視是非常有幫助的,在輸出技術見解、提陞技術影響力的同時,開源可以幫助公司發現自身的不足,以促進技術和產品持續打磨。

9月17日,曠視對外正式發布了AI 生產力平台Brain++ 商業版。集成了天元框架的Brain++商業版,已陸續與合作夥伴開啟商業合作。曠視發現,能夠借助天元的能力以及在Brain++體系內長期的積累,為合作夥伴帶來新價值。

作為Brain++開源開放的大計劃中的一個重要組成部分,天元開源所帶來的正面效應正在顯現。

天元開源後,不少積極的開發者將其他模型適配到天元上。一些芯片和加速設備廠商與天元框架進行了結合和集成,利於天元進一步引入和擴大技術選型範圍。這些來自於開發者群體的反饋和創新探索增強了曠視開源生態的價值,助力其拓寬商業體系。

國產開源還不夠自信

天元的開源為國產原創深度學習框架開源生態帶來了一股新生力量。

一直以來,國內開發者對 TensorFlow 、PyTorch等國外框架有著較高的依賴。儘管最近幾年,為實現技術自立,國內一些科技大廠加快了自研深度學習框架的步伐,但目前尚無一款脫穎而出,成為國內通用的主流學習框架。此前,曠視曾表示與巨頭不存在競爭關係,但也曾流露出希望躋身國內主流框架的野心。

早在今年3月,清華大學的計圖深度學習框架與曠視的天元幾乎同時發布,而三天后,華為緊接著宣布開源了全場景AI計算框架MindSpore。加上此前百度開源的PaddlePaddle,國產深度學習框架開源陣營實力已不容小覷。

近些年國內開源領域發展迅速。在GitHub上,中國開發者數量佔比高達70%;在Apache、CNCF等頂級開源組織中,隨處可見中國公司的身影,Apache頂級項目裡有很多由國內公司或者個人發起。

“但我覺得,總體來看,我們還有很多地方可以再繼續進步,國內開源實力與現在70%GitHub開源開發者數量相比,並不十分匹配。實際上,中國缺少重量級的開源項目。國外的重量級開源項目特別多,但中國像安卓這樣級別的重量型開源項目真是少而又少。雖然這些年情形有所好轉,但大家在開源社區包括在開源的心態上,相對來說還是有些保守。”

這種“保守”更多源於骨子裡的不自信。

在參與很多開源項目時,田忠博發現,很多時候大家“羞於”把自己的代碼或意見表現出來。尤其在一些英語的技術討論社區,中國人先天有些難以融入,更別說參與討論了。

也正因此,田忠博內心希望天元能夠成為一款對國內開發者友好的框架,能夠讓大家不要羞於表達自己的意見,無論對錯,一起交流和分享自己的技術想法。

現在國外的開源體系已經形成了一整套體系。 2003年-2004年,那時國外開源社區剛剛興起,很多人弄不明白其中的“玩法”,也不甚了解應該如何建立組織生態,如何增進交流、互動和促進共同進步。

田忠博坦言,現在國內開源領域的現狀正與那時國外的情形非常相似。 “中國不缺少好的工程師,不缺少渴望分享的人,但如何把大家匯集起來,讓大家一起貢獻、協作,做成最好的事,這是國內開源不擅長的”。

相較之下,國外各基金會贊助的開源項目,不論是以人為主還是以企業為主,都有很好的開源治理模式,完善的組織架構和組織體系。田忠博認為,國內缺少好的組織、“抓手”和好的想法,這是必須要解決的問題。但國外的經驗也未必100%適配我國國情,促進國內開源生態發展的方法需要各方參與者一起尋找,這需要共識、勇氣、時間和行動。

目前國內科技界正在受到來自美國的壓力,一些技術軟件在海外市場甚至遭遇被封殺的境遇。有業內分析人士認為,開源或是解決之道。田忠博對此表示認同,他表示,的確有很多很多人尤其是異見者希望通過某些手段阻止不同技術間的相互使用、相互協作,對抗和回擊封鎖最好的辦法反而是開放,與其他人一起更自由地溝通和協作。

他相信,在未來,開源會越來越成為所有技術的核心驅動力,尤其在觸及基礎設施方面。因為當技術越來越複雜、門類越來越多,技術不斷地在細化,且應用在快速發展的情況下,已經沒有一個人或者一個組織可以完全獨立的,在不和其他人交流、交互的情況下去研發技術。

“在這種情況下,大家形成知識上的共同體、技術上的共同體,是促進和保障未來最關鍵的一件事,尤其在當下科技環境充滿不確定性和挑戰的情況下,開源是非常重要,甚至是最重要的一件事”。