美國人工智能業(yè)界,今天起風了。

三大領(lǐng)軍企業(yè)Facebook、微軟和 Google 之間的關(guān)系發(fā)生了重大的變化:Facebook 和微軟結(jié)盟,推出一套開放的神經(jīng)網(wǎng)絡(luò)交換格式 (Open Neural Network Exchange, ONNX),提升兩家公司所主導的神經(jīng)網(wǎng)絡(luò)框架格式之間的互通性。
給非神經(jīng)網(wǎng)絡(luò)專業(yè)人士盡量簡單滴解釋一下具體怎么回事:人工智能的實現(xiàn)技術(shù)主要是深度學習神經(jīng)網(wǎng)絡(luò)→而神經(jīng)網(wǎng)絡(luò)訓練和使用(推理)通常采用一種主流的深度學習框架或庫→主流的框架或庫和他們的主導者、主要支持者有以下這些: TensorFlow (Google)、Caffe/Caffe2 (Facebook)、CNTK(微軟)、MXNet(亞馬遜為主)、PyTorch 等等。
不同的框架有不同的優(yōu)勢。比如 PyTorch 出現(xiàn)很早,學術(shù)界擁躉很多,用它訓練神經(jīng)網(wǎng)絡(luò)取得的性能更好,用專業(yè)術(shù)語來說叫做 state-of-the-art(目前水平最好的)。PyTorch 是 Facebook 主導的,F(xiàn)AIR(Facebook 人工智能研究院)都用它。但 Facebook 還有一個學術(shù)大神、知乎上活躍度很高的賈揚清帶隊開發(fā)的 Caffe2 框架,這個框架的極限性能并不一定最出眾,但優(yōu)勢是非常適合在終端設(shè)備(比如手機甚至嵌入式設(shè)備)上運行。Facebook 的產(chǎn)品很多都將依賴 Caffe2。
這些框架之間的互通性過去并不好,大部分基本沒有。為什么需要框架之間的互通性?情況一:有時候另一個框架或庫里的某一個模型性能更好,但它和你的整體項目不兼容;情況二:因為框架 A 表現(xiàn)很好,你用它訓練了一個神經(jīng)網(wǎng)絡(luò),結(jié)果你公司的生產(chǎn)環(huán)境用的是框架 B,這意味著你的研究成果沒法投產(chǎn)。你想,在 Facebook 一家公司內(nèi)部就有兩種主流框架,工作起來能不累嗎?
如果你還不太能理解這種尷尬:想象你寫一個程序,大部分的代碼都用 A 語言來寫,但某一個很重要的組成部分已經(jīng)有現(xiàn)成的開源,用的是 B 語言,但這兩種語言之間沒有一個很好的互通機制,沒法共同工作,所以你只能繼續(xù)用 A 自己寫,結(jié)果就是不僅累而且效率低。
而 Facebook 和微軟今天合作就是為了解決這個問題。根據(jù)雙方透露的情況,在 9 月內(nèi),CNTK、Caffe2 和 PyTorch 都會發(fā)布更新支持新的互通格式 ONNX。Facebook 和微軟說,他們期待人工智能的學術(shù)研究和工業(yè)生產(chǎn)的世界是一個開放的生態(tài),而 ONNX 是我們走向這個開放生態(tài)的第一步。
如果你信了,那你可能太年輕了:這次合作并沒有 Google 什么事兒。
因為 Google 是 TensorFlow 框架的核心貢獻者和主導者,而 TensorFlow 作為目前業(yè)界最為主流,在 GitHub 上最受歡迎、已經(jīng)建立的生態(tài)健全程度相對更高的框架——并沒有也不會加入 ONNX 支持(至少目前沒有)。
這就好比你說要在森林里建立動物王國,卻忘了讓食物鏈頂端的老虎出席講話……
這也是為什么 Facebook 和微軟的這次合作在我看來更像是為了對抗 Google/TensorFlow 而結(jié)成同盟,對抗 Google。聯(lián)吳抗魏你能懂吧?
但這并不意味著 Google 和其他公司沒法參與到其中。ONNX 是一個開源項目,而非 FB、微軟兩家內(nèi)部的機密項目,所有代碼都公開且允許第三方提交貢獻。這意味著 Google 如果愿意讓那些用了其他框架還覬覦 TensorFlow 的科研人員好過一點的話,它可以跟 Facebook、微軟商量一下,然后也發(fā)個聲明昭告天下:TensorFlow 強勢加入 ONNX 套餐。相信一定是讓人大快所有人心的大好事。
同樣,其他框架的開發(fā)者也可以加入其中。那才是真正的開放和互通的“人工智能生態(tài)”。
這則新聞說完了。所以 ONNX 對吃瓜群眾有什么好處?
共0條 [查看全部] 網(wǎng)友評論