清華深度學習框架 Jittor 開源

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

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

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

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

清華深度學習框架 Jittor 開源

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

  1. 易用且可定製:只需要數行代碼,就可定義新的算子和模型。
  2. 實現與優化分離:可以通過前端接口專注於實現,而實現自動被後端優化。
  3. 所有都是即時的:Jittor 的所有代碼都是即時編譯並且運行的,包括 Jittor 本身。用戶可以隨時對 Jittor 的所有代碼進行修改,並且動態運行。

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

清華深度學習框架 Jittor 開源

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

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

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

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

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

清華深度學習框架 Jittor 開源

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

清華深度學習框架 Jittor 開源

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

在編程語言方面,Jittor 前端語言選擇了 Python。前端使用了模塊化的設計,類似於 PyTorch,Keras,用戶可以編寫元算子計算的 Python 代碼,然後 Jittor 將其動態編譯為 C++,從而提升性能。

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

盤點國內的深度學習框架

清華深度學習框架 Jittor 開源

之所以清華開源的 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圖等。

Github 地址: https://github.com/Tencent/ncnn

3. 百度 PaddlePaddle

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

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

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

Github 地址: https://github.com/PaddlePaddle

4. 阿里 X-DeepLearning

X-Deep Learning(下文簡稱 XDL)由阿里巴巴旗下大數據營銷平臺阿里媽媽基於自身廣告業務自主研發,已經大規模部署應用在核心生產場景。

XDL 採用了「橋接」的架構設計理念。這種架構使得 XDL 跟業界的開源社區無縫對接。例如,用戶可以非常方便地在 XDL 框架上應用基於 TensorFlow 或者 PyTorch 編寫的最先進開源深度學習算法。此外,對於已經在使用其他開源框架的企業或者個人用戶,也可以在原有系統基礎上輕鬆進行擴展,享受 XDL 帶來的高維稀疏數據場景下極致的分佈式能力。

Github 地址:https://github.com/alibaba/x-...

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

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

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

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


分享到:


相關文章: