FB和微軟發布機器學習工具ONNX,PyTorch訓練的模型轉到Caffe2
陳樺 編譯整理量子位 出品 | 公眾號 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上發布。



相關推薦
- 免責聲明
- 本文所包含的觀點僅代表作者個人看法,不代表新火種的觀點。在新火種上獲取的所有信息均不應被視為投資建議。新火種對本文可能提及或鏈接的任何項目不表示認可。 交易和投資涉及高風險,讀者在采取與本文內容相關的任何行動之前,請務必進行充分的盡職調查。最終的決策應該基于您自己的獨立判斷。新火種不對因依賴本文觀點而產生的任何金錢損失負任何責任。