時間:2017-09-09 來源:互聯網 瀏覽量:
陳樺 編譯整理
量子位 出品 | 公眾號 QbitAI
Facebook和微軟周四在各自的博客中發布了ONNX,即“開放神經網絡轉換”工具。
簡單地說,這個新工具能把一種框架訓練的模型,轉換成另一種框架所需的格式。比如說,機器學習開發者可以將PyTorch訓練的模型轉換到Caffe2上,減少從研究到產品化所耗費的時間。
Facebook在博客中說,ONNX隻是第一步,他們的目標是建立一個開放的生態,讓AI開發者能在最先進的工具之間輕鬆流動,選擇最適合自己的框架。
在Facebook內部,研究和產品應用之間就有著很明顯的區隔,這家公司一直有兩個機器學習團隊:FAIR(人工智能研究院)和AML(應用機器學習),FAIR專注於前沿性研究,而AML則關注如何將人工智能產品化。
深度學習框架的選擇是造成這種區別的關鍵。FAIR習慣於使用PyTorch。這種深度學習框架可以不考慮資源限製,在研究中取得漂亮的結果。
然而在現實世界中,大部分人都受限於智能手機和計算機的計算能力。當AML希望開發可以部署、可以規模化的產品時,通常會選擇Caffe2。Caffe2也是一種深度學習框架,但針對資源效率進行了優化。尤其是Caffe2Go特別關注了在性能不足的移動設備上優化機器學習模型。
Facebook和微軟的合作幫助研究者方便地將用PyTorch開發的模型轉換為Caffe2模型。通過降低兩種框架之間切換的障礙,Facebook和微軟可以推動研究的普及,加速整個商業化進程。
在這個月過完之前,微軟的CNTK、Facebook的Caffe2和PyTorch都將支持ONNX。
但距離“開放生態”的願景,ONNX還有很遠的路要走。並不是所有公司都在用PyTorch、Caffe2和CNTK,現在使用人數最多的框架,依然是Google的TensorFlow,而亞馬遜收編的MXNet、老牌的Theano、百度的paddle等等都各有一批用戶。
也正因為機器學習框架這麼多,功能大同小異,才讓ONNX這樣的工具有用武之地。
大部分機器學習框架的功能,都是讓開發者能更容易地建立、運行神經網絡的計算圖,而這些框架之間的核心區別,就在於它們用各不相同的格式來表示這些計算圖。
ONNX提供一種共享的模型表示,提升了AI框架之間的互操作性。
在科研範疇之外,其他人也在試圖將機器學習模型更方便地轉換為針對特定設備優化的形式。
例如,蘋果的CoreML就可以幫助開發者轉換某些類型的模型。目前,CoreML還不支持TensorFlow,而且創建自定義轉換器的過程很複雜,轉換器最後有可能無法使用。
隨著穀歌和蘋果等公司加大對定製硬件上機器學習框架的優化,繼續關注互操作性非常重要。
目前,ONNX已經在Github上發布,地址:https://github.com/onnx/onnx
— 完 —
誠摯招聘
量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界麵,回複“招聘”兩個字。
量子位 QbitAI
վ'ᴗ' ի 追蹤AI技術和產品新動態