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

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

當前,軟件進(jìn)步的速度已經(jīng)遠遠超過(guò)了芯片制造商可以實(shí)現的進(jìn)步,這使得他們不知道該從何處開(kāi)始,更不要說(shuō)如何將它們已經(jīng)年老的智慧整合起來(lái)。

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

在信息技術(shù)漫長(cháng)的歷史發(fā)展過(guò)程中,一直以來(lái)都是軟件在努力跟進(jìn)硬件的高速發(fā)展——以便開(kāi)拓新的功能和大膽地實(shí)現從未有過(guò)的基準。

但是,隨著(zhù)機器學(xué)習深度學(xué)習對靜態(tài)應用程序的替代,我們進(jìn)入了一個(gè)新時(shí)代:軟件進(jìn)步的速度已經(jīng)遠遠超過(guò)了芯片制造商可以實(shí)現的進(jìn)步,硬件設備制造商正在爭先恐后地追趕。

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

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

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

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

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

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

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

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

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

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

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

因此我們已經(jīng)理解了,在廣泛的實(shí)際價(jià)值方面,通用處理方法的發(fā)展仍然滯后,仍然在延長(cháng)機器學(xué)習的應用名單,這會(huì )給我們帶來(lái)什么,又會(huì )讓我們失去什么?一個(gè)答案是尋求定制ASIC,這方面有一些創(chuàng )業(yè)公司(尤其是那些專(zhuān)注于深度學(xué)習的公司)將其視為前進(jìn)的方向。

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

數據決定方法。更好的算法是靈活的,而更靈活的算法在A(yíng)SIC中更難實(shí)現。這與我們在計算機科學(xué)中過(guò)去已經(jīng)習慣的不同,但這是機器學(xué)習的本質(zhì);它不是確定的。這是硬件公司的學(xué)習曲線(xiàn)。它需要一種完全不同的思維方式。

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

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

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

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

鎂客網(wǎng)


科技 | 人文 | 行業(yè)

微信ID:im2maker
長(cháng)按識別二維碼關(guān)注

硬科技產(chǎn)業(yè)媒體

關(guān)注技術(shù)驅動(dòng)創(chuàng )新

分享到