0
本文作者: 楊曉凡 | 2017-12-01 10:14 |
雷鋒網(wǎng) AI 科技評論消息,近日微軟更新了自家開源深度學(xué)習(xí)工具包CNTK,新的版本號為2.3,帶來了多項性能改進。
CNTK全名為Computational Network Toolkit,與谷歌的TensorFlow、Facebook的Caffe/Caffe2一樣是開源的計算平臺/工具包,意在服務(wù)更多深度學(xué)習(xí)、人工智能的研究人員和開發(fā)者們。從2016年開源起,微軟就宣傳CNTK的性能明顯高于Caffe、Theano、TensoFlow等其它的一些熱門工具,當然也提供了基于英偉達cuDNN的一到多GPU加速支持。
CNTK在2.0的多個Beta和RC版本中逐步更新了面向Python、C++、C#、Java等語言的API支持,對Keras的后端支持,Python示例和教程、自動安裝等等一大堆新功能,接著在2.1中把cuDNN版本升級到了6.0、支持Universal Windows Platform,在2.2中做了許多模型支持相關(guān)的改進之后,近日CNTK也發(fā)布了2.3版本。雷鋒網(wǎng) AI 科技評論把更新內(nèi)容簡單介紹如下:
對ONNX標準的更好支持(關(guān)于ONNX看這里)
分布式訓(xùn)練支持切換到NCCL2,帶來更好的性能(NCCL是英偉達官方的多卡訓(xùn)練庫,詳細解讀看這里)
改進了C# API 的支持
(2.2版本中必須安裝OpenCV庫)現(xiàn)在OpenCV不是必須安裝的,只有當用到TensorBoard Image功能和圖像讀取功能時才需要安裝它
多重性能改進
增加了網(wǎng)絡(luò)優(yōu)化API
更快的稀疏Adadelta
改進 C# API,提升訓(xùn)練和預(yù)測性能
通過自由動態(tài)軸的支持,提升帶有卷積操作的網(wǎng)絡(luò)的訓(xùn)練速度。對于某些模型,訓(xùn)練速度可以提升5倍以上;
提升驗證性能,移除了許多不需要的驗證檢查;
CPU 卷積中更多地使用MKL-ML,AlexNet的訓(xùn)練速度可以提升4倍;
Linux的正式版CNTK-GPU會默認使用NCCL2,可以降低分布式訓(xùn)練中的聚合開銷。對于Python用戶來說沒有什么影響,Linux的Python自己就帶有NCCL支持。BrainScript版本的用戶需要先自己手工安裝NCCL庫作為CNTK的運行環(huán)境,就像CUDA和CUDNN一樣。CPU版本和Windows版本都不受影響,因為目前NCCL只支持Linux。
提升了梯度稀疏時Adadelta的更新速度?,F(xiàn)在每次更新的運行時間和梯度中不為零的元素的數(shù)量成正比。對于在單個GPU上運行的帶有高維稀疏輸入(大約2百萬特征)的前饋模型,性能可以提升5倍。內(nèi)存需求稍有增加,每一個稀疏的輸入特征會需要額外的四個字節(jié)空間(對前面提到的模型來說一共增加8MB左右的內(nèi)存需求)
2.3版本是最后一個支持Python3.4的版本,未來版本的CNTK將不再支持Python3.4。
ONNX方面,優(yōu)化標準支持的同時,ONNX標準也更新到了最新版本;目前已經(jīng)覆蓋了ResNet、Inception、VGG在內(nèi)的多數(shù)計算機視覺模型
增加了GPU上分組卷積的支持
CNTK2.3版本此次發(fā)布了運行在Windows下的CPU、GPU、GPU+1bit-SGD、UWP等多個版本以及運行在Linux下的CPU、GPU、GPU+1bit-SGD三個版本,都支持64位系統(tǒng)。有需要的研究人員和開發(fā)者請到CNTK的 github 馬上更新吧。
雷鋒網(wǎng) AI 科技評論報道。
相關(guān)文章:
如何理解Nvidia英偉達的Multi-GPU多卡通信框架NCCL?
Facebook、微軟聯(lián)合推出? ONNX 標準,號稱要解決開發(fā)框架碎片化
微軟為什么要用英偉達的GPU來支持CNTK? | GTC China 2016
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。