您當前的位置:首頁 > 舞蹈

Caffe2正式釋出!新框架有何不同?賈揚清親自解答

作者:由 量子學園 發表于 舞蹈時間:2017-04-19

王新民 若樸 報道

首發於 量子位公眾號 QbitAI

Caffe2正式釋出!新框架有何不同?賈揚清親自解答

Caffe2正式釋出!新框架有何不同?賈揚清親自解答

△ 圖左為Caffe2作者賈揚清

今天凌晨召開的F8大會上,Facebook正式釋出Caffe2~

隨著人工智慧的發展,在訓練深度神經網路和大規模人工智慧模型以及部署各機器的計算量時,通常要在大量資料中心或超級計算機的支援下完成。

能夠從不同資訊中,如影象、影片、文字和語音等,不斷處理、建立和改進網路模型,部署在大規模計算平臺上高速執行,這是個不小的難題。

同時,在移動裝置上部署這些模型,使其快速有效地執行,也是一項艱鉅的任務。克服這些挑戰需要一個強大、靈活和輕便的深度學習框架。

Facebook一直試圖建立一個這樣的框架。今天,這家美國社交巨頭,開放了Caffe2的第一個正式版本,官方介紹說:這是一個輕量化和模組化的深度學習框架,在強調輕便性的同時,也保持了可擴充套件性和計算效能。

Caffe2的特性:

Caffe2框架可以透過一臺機器上的多個GPU或具有一個及多個GPU的多臺機器來進行分散式訓練。

也可以在iOS系統、Android系統和樹莓派(Raspberry Pi)上訓練和部署模型。

只需要執行幾行程式碼即可呼叫Caffe2中預先訓練好的Model Zoo模型。

Caffe2框架已經應用在Facebook平臺上。

NVIDIA(英偉達),Qualcomm(高通),Intel(英特爾),Amazon(亞馬遜)和Microsoft(微軟)等公司的雲平臺都已支援Caffe2。

GitHub上有Caffe2的原始碼。

Caffe2正式釋出!新框架有何不同?賈揚清親自解答

Caffe2正式釋出!新框架有何不同?賈揚清親自解答

Caffe2和Caffe有何不同?

Caffe2釋出後,外界最多的討論之一,就是發出上述疑問。去年12月,賈揚清曾經解釋過一次:“目前Caffe2還不能完全替代Caffe,還缺不少東西,例如CuDNN。與Caffe2相比,Caffe仍然是主要的穩定版本,在生產環境中使用仍然推薦Caffe”。

現在Caffe2正式釋出,這個推薦肯定要改成新版本了。

Caffe2的基本計算單位是Operator。對於適當數量和型別的輸入引數,每個Operator都包括所需的計算邏輯。Caffe和Caffe2的總體差異如下圖所示:

Caffe2正式釋出!新框架有何不同?賈揚清親自解答

Caffe2正式釋出!新框架有何不同?賈揚清親自解答

官方提供了從Caffe遷移到Caffe2的教程,據說這個遷移非常簡單。

Caffe2和PyTorch有何不同?

這是另外一個疑問。

Caffe2長於移動和大規模部署。雖然Caffe2新增了支援多GPU的功能,這讓新框架與Torch具有了相同的GPU支援能力,但是如前所述,Caffe2支援一臺機器上的多個GPU或具有一個及多個GPU的多臺機器來進行分散式訓練。

PyTorch適合進行研究、實驗和嘗試不同的神經網路;而Caffe2更偏向於工業應用,而且重點關注在移動端上的表現。

賈揚清現身說法

Caffe2釋出後,作者@賈揚清 在reddit上連發四記解答。“Yangqing here”,賈揚清一上來就表明了身份。

Caffe2正式釋出!新框架有何不同?賈揚清親自解答

Caffe2正式釋出!新框架有何不同?賈揚清親自解答

量子位斗膽搬運一下答案。

有人問搞出Caffe2意義何在?現在已經有PyTorch、TensorFlow、MXNet等諸多框架。

賈揚清說Caffe2和PyTorch團隊緊密合作。他們把Caffe2視作一種生產力的選擇,而把Torch視作研究型的選擇。而在構建AI模組時,他們也持有一種“非框架”的理念,例如Gloo、NNPACK和FAISS等可以被用於任何深度學習框架。

有人問Caffe2接受外部貢獻麼?

賈揚清說大愛外部貢獻,也會在開源方面繼續努力。

有人問Caffe2是否用了Torch的程式碼庫,以及CUDA等相關支援的問題。

賈揚清說他們正在計劃讓Caffe2和Torch和PyTorch共享後端,這幾個框架已經共享Gloo用於分散式訓練,THCTensor、THNN和其他C/C++庫也將會共享。

在GPU層面,Caffe2使用了CUDA和CUDNN。賈揚清和團隊也試驗了OpenCL,但是感覺用NVIDIA的GPU CUDA效果更好。

另外在其他平臺(例如iOS上),Caffe2使用了特定的工具,例如Metal。一兩天內,官方會發布Metal的實施。

有人問Caffe2支援動態圖麼?

賈揚清給出否定的回答,他表示這是Caffe2和PyTorch團隊有意做出的選擇。Caffe2的任務就是提供最佳的效能,而如果想要極端靈活的計算,請選擇PyTorch。賈揚清認為這是一個更好的方式,因為“一個框架通吃”可能會影響效能。

所以,目前Caffe2只支援非常有限的動態控制,例如動態RNN。

最後,量子位放出傳送門:

Caffe2的首頁:

http://

caffe2。ai/

GitGub地址:caffe2/caffe2

——————————————————————————-

招聘

我們正在招募編輯記者、運營等崗位,工作地點在北京中關村,期待你的到來,一起體驗人工智慧的風起雲湧。

相關細節,請在公眾號對話介面,回覆:“招聘”兩個字。

One More Thing…

今天AI界還有哪些事值得關注?在量子位公眾號會話介面回覆“今天”,看我們全網蒐羅的AI行業和研究動態。筆芯~

另外,歡迎加量子位小助手的微信:qbitbot,如果你研究或者從事AI領域,小助手會把你帶入量子位的交流群裡。

標簽: Caffe2  賈揚  GPU  PyTorch  框架