天天看點

清華深度學習架構 Jittor 開源,創新元算子和統一計算圖,推理速度可提升 10%-50%

清華深度學習架構 Jittor 開源,創新元算子和統一計算圖,推理速度可提升 10%-50%

近日,清華大學計算機系圖形實驗室宣布開源全新的深度學習架構:計圖(英文名:Jittor),這也是我國首個高校自研的開源深度學習架構。

根據官網介紹,這是一個完全基于動态編譯(Just-in-time)、内部使用創新的元算子和統一計算圖的深度學習架構。

根據官方給出的特性對比來看,Jittor 與國際主流平台相比,具有多項先進特性。與同類型架構相比,Jittor 在收斂精度一緻情況下,推理速度取得了 10%-50% 的性能提升。

兩大核心創新點:元算子和統一計算圖

清華深度學習架構 Jittor 開源,創新元算子和統一計算圖,推理速度可提升 10%-50%

據官網介紹,Jittor 有三個主要的設計理念:

  1. 易用且可定制:隻需要數行代碼,就可定義新的算子和模型。
  2. 實作與優化分離:可以通過前端接口專注于實作,而實作自動被後端優化。
  3. 所有都是即時的:Jittor 的所有代碼都是即時編譯并且運作的,包括 Jittor 本身。使用者可以随時對 Jittor 的所有代碼進行修改,并且動态運作。

而這些理念以及最終實作的能力,要歸功于 Jittor 的兩大核心創新點:元算子和統一計算圖。

清華深度學習架構 Jittor 開源,創新元算子和統一計算圖,推理速度可提升 10%-50%

了解深度學習的朋友可能知道,深度學習采用的卷積神經網絡是由算子(Operator)組成的一個計算網絡。由于架構設計和不斷擴充等原因,目前深度學習架構有多達 2000 種算子,系統複雜,優化和移植困難。

Jittor 則将算子運算進一步分解,形成了更加底層的三類 20 餘種元算子閉包,目前神經網絡常用算子均可以使用元算子的組合進行表達。

另一方面,為了面向未來深度學習架構的發展趨勢,Jittor 利用元算子組合表達的優勢,提出統一計算圖進行優化,并從底層開始設計了一個全新的動态編譯架構。

該架構支援多種編譯器,實作了所有代碼的即時編譯和動态運作,確定了實作和優化分離,大幅提升了應用開發靈活性、可拓展性和可移植性。

其次,在算子的設定上,團隊将元算子的反向傳播進行了閉包,即元算子的反向傳播也是元算子。這樣避免了重複開發。此外,還支援計算任意高階導數。

清華深度學習架構 Jittor 開源,創新元算子和統一計算圖,推理速度可提升 10%-50%

根據官方給出的 Jittor 與其他平台的計算圖特性對比來看,Jittor 與國際主流平台相比,具有多項先進特性。

清華深度學習架構 Jittor 開源,創新元算子和統一計算圖,推理速度可提升 10%-50%

與同類型架構相比,Jittor 在收斂精度一緻情況下,推理速度取得了 10%-50% 的性能提升。

在程式設計語言方面,Jittor 前端語言選擇了 Python。前端使用了子產品化的設計,類似于 PyTorch,Keras,使用者可以編寫元算子計算的 Python 代碼,然後 Jittor 将其動态編譯為 C++,進而提升性能。

後端則直接使用高性能語言編寫,如 CUDA,C++。

盤點國内的深度學習架構
清華深度學習架構 Jittor 開源,創新元算子和統一計算圖,推理速度可提升 10%-50%

之是以清華開源的 Jittor 引起大家廣泛的讨論,很重要的一原因是這是首個來自中國高校科研機構的開源深度學習架構,之前,來自高校的開源深度學習架構隻有加拿大蒙特利爾大學的 Theano 和 UC Berkeley 的 Caffe。

中國作為人工智能産業發展和應用的最大市場,我們理應在人工智能生态的全産業鍊上占有一席之地。下面我們來盤點一下國内研發的規模較大的深度學習架構,如有遺漏,也歡迎大家在留言區進行補充:

1. 清華計圖 Jittor

根據 Jittor 團隊核心開發成員表示,Jittor 的基本功能于 2019 年底完成,随後經過内部測試,于近日正式對外釋出并開源。

「計圖」的意思是圖謀、謀取。這個詞兒最早出現在唐朝崔緻遠《答徐州時溥書》:“今有城中将校,潛來計圖,請少振兵戎,即便期開泰者。”

雖然官方并未對中文名字作出解釋,但據研發團隊介紹稱,深度學習發展迅猛,TensorFlow、PyTorch 這些老牌主流架構,也會在新模型,新算法,新硬體上表現不佳,是以需要新的架構,在易于擴充同時保持高效。

Jittor 官網: https://cg.cs.tsinghua.edu.cn... Github 位址: https://github.com/Jittor/jittor

2. 騰訊優圖 NCNN

NCNN 是騰訊優圖實驗室首個開源項目,于 2017 年 7 月正式開源。

這是一個為手機端極緻優化的高性能神經網絡前向計算架構。NCNN 從設計之初深刻考慮手機端的部署和使用。無第三方依賴,跨平台,手機端 CPU 的速度快于目前所有已知的開源架構。基于 NCNN,開發者能夠将深度學習算法輕松移植到手機端高效執行,開發出人工智能 APP。

NCNN 目前已在騰訊多款應用中使用,如 QQ,Qzone,微信,天天P圖等。

https://github.com/Tencent/ncnn

3. 百度 PaddlePaddle

PaddlePaddle 作為國内首個深度學習開源平台,2013 年開始百度就投入精力進行研發,2016 年 8 月底正式開源。

PaddlePaddle 是一個全面的開源開放平台,包含核心的開發、訓練、部署架構,以及非常豐富的模型庫。基于這個模型庫,PaddlePaddle 可以覆寫很多經典的應用場景,開發者可以進行二次開發,或者直接使用。在這個模型庫的基礎之上,PaddlePaddle 還提供了端到端的開發套件,聚焦在人工智能領域的常見任務和場景。

在端到端開發套件之上是一整套的工具元件,這些工具元件可以幫助開發者解決更多人工智能應用當中的問題。同時,PaddlePaddle 還提供很多部署的工具鍊,友善開發者部署自己的應用。

https://github.com/PaddlePaddle

4. 阿裡 X-DeepLearning

X-Deep Learning(下文簡稱 XDL)由阿裡巴巴旗下大資料營銷平台阿裡媽媽基于自身廣告業務自主研發,已經大規模部署應用在核心生産場景。

XDL 采用了「橋接」的架構設計理念。這種架構使得 XDL 跟業界的開源社群無縫對接。例如,使用者可以非常友善地在 XDL 架構上應用基于 TensorFlow 或者 PyTorch 編寫的最先進開源深度學習算法。此外,對于已經在使用其他開源架構的企業或者個人使用者,也可以在原有系統基礎上輕松進行擴充,享受 XDL 帶來的高維稀疏資料場景下極緻的分布式能力。

https://github.com/alibaba/x-...

深度學習技術正廣泛應用于人工智能的各個領域,如計算機視覺、機器翻譯、自然語言處理、智能機器人等,取得了前所未有的突破。

目前,一方面,随着深度學習新技術的出現、任務複雜度的提高,易于擴充同時保持高效的架構成為發展趨勢;另一方面,随着我國人工智能産業發展迅速,我們需要建構一個屬于自己的開源深度學習生态,這也是一個絕好的機會。

盡管以 TensorFlow、PyTorch 等為代表的開源架構已經取得了一定程度上的成功,而我國在這一領域發展起步較晚,目前存在着一定的劣勢。但單就開源架構來看,不論是底層的核心技術能力還是針對具體應用場景的解決能力,都還有着很大的提升空間。

希望國内的科技企業和研究機構可以奮起直追,不再在核心技術上被别人「卡脖子」。