《主算法》作者Pedro Domingos:做機器學習硬件不能只考慮深度學習

韓璐 9年前 (2016-09-12)

當前,軟件進步的速度已經遠遠超過了芯片制造商可以實現的進步,這使得他們不知道該從何處開始,更不要說如何將它們已經年老的智慧整合起來。

【編者按】本文選自The Next Platform,由機器之心編譯,作者:Nicole Hemsoth,參與:Rick、吳攀

在信息技術漫長的歷史發展過程中,一直以來都是軟件在努力跟進硬件的高速發展——以便開拓新的功能和大膽地實現從未有過的基準。

但是,隨著機器學習深度學習對靜態應用程序的替代,我們進入了一個新時代:軟件進步的速度已經遠遠超過了芯片制造商可以實現的進步,硬件設備制造商正在爭先恐后地追趕。

這個問題本身就已經足夠重大了,而且它是一種完全不同的架構上的問題,而不是通用設備曾經涉足的任何領域。不斷縮小的芯片尺寸和不斷增長的可靠性與速度已是司空見慣,但是隨著新算法的出現和初具規模,以及不可思議地年輕且豐富的代碼生態環境的涌現和進化,芯片制造商甚至不知道該從何處開始,更不要說如何將它們已經年老的智慧整合起來。

應對這個過渡期的一個簡單方法是購買專業知識,相對更難的是自己開發構建。而且因為機器學習的代碼基礎非常豐富且在快速改變,現在還不存在什么標準的"正確方法"。據華盛頓大學計算機科學教授、《主算法(The Master Algorithm)》的作者 Pedro Domingos 說,在這所有的問題中間的根本分歧是設備想要滿足新型用戶的方式與部署代碼實際所需的硬件之間的差異。

“過去沒有讓人信服的理由去生產機器學習芯片,但這種情況已經改變。”Domingos告訴The Next Platform。隨著機器學習和深度學習的復興,在GPU的硬件和軟件上的成果得到了大規模地證明,這樣發展下來,從而為其它研究領域的加速發展提供了路徑。而且也正巧,GPU非常擅長深度學習所需要的基于矩陣乘法的問題。

《主算法》作者Pedro Domingos:做機器學習硬件不能只考慮深度學習

我們需要能夠通過從大規模數據中提取出重要模式以便減少信息負載的計算機。這具有很多深刻的和令人著迷的科學問題:一臺計算機如何自動決定對于目標知識哪種表征是最好的?它可以如何將真正的規律和機緣巧合區分開?可以如何利用預先存在的知識?計算資源有限的計算機如何學習?我們可以通過怎樣的方式理解所得到的結果?

這些問題匯集起來讓NVIDIA尤其在深度學習訓練的市場中有了一個明確的起點,但正如我們在過去幾年所見過的報道那樣,其它專用架構(包括FPGA、定制ASIC、神經形態芯片等)也在迎合這一部分市場的不同硬件需求上看到了機會。當然,英特爾也看到了機會,搶先拿下了Nervana Systems和Movidius——這兩家都是研發帶有為機器學習優化過的軟件的硬件的設備制造商。盡管在爭奪多種機器學習用戶的處理器份額上存在這樣的追趕和戰爭,但通用處理器玩家和不斷演進的多樣化機器學習社區的需求仍舊存在根本上的脫節。

“現在的大公司——英特爾和英偉達——仍然還在試圖搞清楚這個領域。這是一種不同的思維方式。從機器學習的角度看,我們可以說出需要從硬件制造商那里得到什么具體的基本能力,但其中的問題是更深層次的……搞機器學習的人可以告訴做硬件的人他們想要什么,但做硬件的人也需要告訴研究機器學習的人他們實際上能做到和不能做到什么。這樣的互動才能得到有價值的結果。”而現在的情況是,先把硬件設備做出來,然后看哪種方法的研發是一種浪費——甚至在快速演化的代碼基礎上的應用價值也更少。

“深度學習只是一種類型的機器學習。不能因為某種芯片在深度學習上表現好就意味著它也適合其它類型的機器學習。”Domingos說,“硬件制造商真正需要考慮的問題是當一股仍舊較新的機器學習浪潮到來時,硬件可以如何足夠靈活地支持它,而如果存在一些可被部署在硬件中的基本元素,那么它們也就可以隨時間改變。”在過去五年這個機器學習的新黃金時代期間,有一些基本元素并沒有發生太大的變化。Domingos說,通過關注這些方面,英特爾等公司可以獲得早期的立足點。

微芯片的發明過去是且現在仍然是一件激動人心的事;它是超級可靠的,它是完全確定性的;而且因為固態電子器件是如此可靠,它能讓我們不斷研發新事物。沒有其它領域有這種了不起的天賦?;瘜W工程沒有,機械工程也沒有——它們必須忍受所有的垃圾和噪聲以及會碎裂的事物。但在計算機科學領域內,我們并不是活在真實世界中——而是一個我們開發程序的世界中。而機器學習正在將我們帶回真實世界。它是關于統計的,它是關于概率的。而且我們不會總是知道為什么這會有效或為什么它不會一直有效。

這可能會讓我們機器學習領域里面的人感到迷惑,但像英特爾這樣的公司——那里的人們習慣于可靠但僵化的東西——對機器學習抱有一種非常不同的心態。“對于以統計學作為開始的機器學習,不是所有東西都需要被固定和定義的。這里有一個巨大的機遇,但這種做事方式的心理轉換——應用中80%的時間有效vs.幾乎100%的時間有效——總比沒有任何東西好,而且也好過于擁有一堆只能抓取5%的潛在使用案例的預編程規則。”

但通用硬件的陣營目前正在大力開發機器學習,而它們這么做卻形成了軟件上的劣勢;害怕錯過一個可能有利可圖的市場。畢竟就在不久前,英特爾剛剛聲明其在數據中心運行的超過半數的工作負載將會擁有一個機器學習組件。技術層面上聽起來很夸張——人們不得不想要知道英特爾所說的機器學習意味著什么。這是一個包羅萬象的對高級分析的定義?或者實際上是作為一個頂層智能帶——疊加在所有其它數據庫、數據管理和其他工具與應用程序頂層的一層新技術?如果這不算夸張,我們是否可以說,我們將在未來五年內看到靜態分析的死亡?無論哪種方式,大公司正在大踏步地在這一廣闊領域搶奪先機——有幾家同時押注了幾種不同的機器學習負載;事實情況也在證明著這一說法:英特爾的Knights Mill和對Nervana/Movidius的收購以及英偉達為深度學習訓練和推理所研發的眾多芯片(Pascal、M40/M40、Tesla系列等)。

因此我們已經理解了,在廣泛的實際價值方面,通用處理方法的發展仍然滯后,仍然在延長機器學習的應用名單,這會給我們帶來什么,又會讓我們失去什么?一個答案是尋求定制ASIC,這方面有一些創業公司(尤其是那些專注于深度學習的公司)將其視為前進的方向。

“有關機器學習的關鍵一點是:該問題具兩面性;機器學習所產生的學習和模型。一旦你學習了一個模型,那真的只是一個簡單的程序,而且它很容易在一個ASIC中實現。但問題是你不知道那會是什么,直到你有了數據——這意味著這會是一種在學習的第一部分不同的ASIC。”那樣前期代價就太大了,此外模型的發展會讓沒有快速重新配置能力的ASIC毫無用處——而FPGA應該在這方面效果很好 。

數據決定方法。更好的算法是靈活的,而更靈活的算法在ASIC中更難實現。這與我們在計算機科學中過去已經習慣的不同,但這是機器學習的本質;它不是確定的。這是硬件公司的學習曲線。它需要一種完全不同的思維方式。

事實上FPGA尤其是深度學習神經網絡的另一種可能的加速器——深度學習神經網絡可以被看作是一種“柔軟(soft)”版的神經網絡。和使用定制ASIC一樣,其問題在于:直到收到數據通知否則我們無法知曉該問題。換句話說,你可以從一個FPGA或神經網絡中得到的所有東西就是一個子網絡(subnetwork)。因此盡管它或許可以在部分工作負載效果良好,但卻不能完成所有工作。

當然,GPU、FPGA和定制ASIC不是目前唯一有希望的硬件發展趨勢。Domingos指出神經形態設備也是一個有希望的領域。“使用數字器件來構建用于深度學習的神經元的效率已經遠比用一般硬件和軟件組合高了。意見分歧就在這兒,但在很好地處理這些工作負載上,這是一個很有前途的研發高效半導體器件的路徑。”

Domingos的希望就是,我們將開始看到一些融入硬件的核心元素,以及那些為了進一步統一軟件工具以支持不同機器學習負載的核心元素。“我們會看到,軟件層面的統一框架將遷移到硬件層面(邏輯、圖形模型、貝葉斯網絡等)。它們必須在關鍵領域成為機器學習的標準,尤其是圖形和相似度計算。這是一個會產生進步的地方。”Domingos說到,但他也同意,在硬件方面仍然是任何人都可以參與的——而且涉及到很多不同的領域。

最后,記得關注微信公眾號:鎂客網(im2maker),更多干貨在等你!

鎂客網


科技 | 人文 | 行業

微信ID:im2maker
長按識別二維碼關注

硬科技產業媒體

關注技術驅動創新

分享到