近日,清華大學計算機系圖形實驗室宣佈開源全新的深度學習框架:計圖(英文名:Jittor),這也是我國首個高校自研的開源深度學習框架。前端
根據官網介紹,這是一個徹底基於動態編譯(Just-in-time)、內部使用創新的元算子和統一計算圖的深度學習框架。git
根據官方給出的特性對比來看,Jittor 與國際主流平臺相比,具備多項先進特性。與同類型框架相比,Jittor 在收斂精度一致狀況下,推理速度取得了 10%-50% 的性能提高。github
據官網介紹,Jittor 有三個主要的設計理念:算法
而這些理念以及最終實現的能力,要歸功於 Jittor 的兩大核心創新點:元算子和統一計算圖。編程
瞭解深度學習的朋友可能知道,深度學習採用的卷積神經網絡是由算子(Operator)組成的一個計算網絡。因爲架構設計和不斷擴充等緣由,當前深度學習框架有多達 2000 種算子,系統複雜,優化和移植困難。後端
Jittor 則將算子運算進一步分解,造成了更加底層的三類 20 餘種元算子閉包,目前神經網絡經常使用算子都可以使用元算子的組合進行表達。微信
另外一方面,爲了面向將來深度學習框架的發展趨勢,Jittor 利用元算子組合表達的優點,提出統一計算圖進行優化,並從底層開始設計了一個全新的動態編譯架構。網絡
該架構支持多種編譯器,實現了全部代碼的即時編譯和動態運行,確保了實現和優化分離,大幅提高了應用開發靈活性、可拓展性和可移植性。閉包
其次,在算子的設置上,團隊將元算子的反向傳播進行了閉包,即元算子的反向傳播也是元算子。這樣避免了重複開發。此外,還支持計算任意高階導數。架構
根據官方給出的 Jittor 與其餘平臺的計算圖特性對比來看,Jittor 與國際主流平臺相比,具備多項先進特性。
與同類型框架相比,Jittor 在收斂精度一致狀況下,推理速度取得了 10%-50% 的性能提高。
在編程語言方面,Jittor 前端語言選擇了 Python。前端使用了模塊化的設計,相似於 PyTorch,Keras,用戶能夠編寫元算子計算的 Python 代碼,而後 Jittor 將其動態編譯爲 C++,從而提高性能。
後端則直接使用高性能語言編寫,如 CUDA,C++。
之因此清華開源的 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 等爲表明的開源框架已經取得了必定程度上的成功,而我國在這一領域發展起步較晚,目前存在着必定的劣勢。但單就開源框架來看,不管是底層的核心技術能力仍是針對具體應用場景的解決能力,都還有着很大的提高空間。
但願國內的科技企業和研究機構能夠奮起直追,再也不在覈心技術上被別人「卡脖子」。