一. 大規(guī)模機器學習的挑戰(zhàn)
隨著互聯(lián)網(wǎng),移動互聯(lián)網(wǎng)的興起,可以獲取的數(shù)據(jù)變得越來越多,也越來越豐富。數(shù)據(jù)資源的豐富,給機器學習帶來了越來越多,越來越大創(chuàng)造價值的機會。 機器學習在計算廣告,推薦系統(tǒng)這些價值上千億美元的應用中起到的作用越來越大,創(chuàng)造的價值也越來越大。但是越來越大的數(shù)據(jù)規(guī)模也給機器學習帶來了很多挑戰(zhàn)。
最大的挑戰(zhàn)就是龐大的數(shù)據(jù)量使得對計算資源的需求也急劇增長。首先經(jīng)典的機器學習算法其計算量基本上都是與訓練數(shù)據(jù)條數(shù)或者特征數(shù)量呈二次方甚至是三次方關(guān)系的[1]。即是說數(shù)據(jù)量或者特征數(shù)每翻一倍,則計算量就要增加到原來的四倍,甚至是八倍。這樣的計算量增長是十分可怕的,即使是采用可擴展的計算機集群一難以滿足這樣的計算量增長。好在對于很多依賴于凸優(yōu)化方法的算法,可以采用隨機梯度下降方法,將計算量的增長降到基本與數(shù)據(jù)量和特征數(shù)呈線性關(guān)系。但是,大規(guī)模機器學習在計算上依然有三個比較大的困難。
第一,因為幾乎所有的機器學習算法都需要多次掃描數(shù)據(jù),對于大規(guī)模數(shù)據(jù)無論在什么平臺上,如果不能全部存儲在內(nèi)存中,就需要反復從磁盤存儲系統(tǒng)中讀取數(shù)據(jù),帶來巨大的IO開銷。在很多情況下,IO開銷占到整個訓練時間的90%以上。
第二,即使有足夠的資源將所有數(shù)據(jù)都放到內(nèi)存中處理,對于分布式的計算系統(tǒng),模型訓練過程中對模型更新需要大量的網(wǎng)絡(luò)通信開銷。無論是同步更新還是異步更新,龐大的數(shù)據(jù)量和特征數(shù)都足以使得通信量爆炸,這是大規(guī)模機器學習的另外一個瓶頸。
第三,大規(guī)模的模型使得無法在一個節(jié)點上存儲整個模型,如何將模型進行分布式的管理也是一個比較大的挑戰(zhàn)。
相關(guān)廠商內(nèi)容
Amazon ECS運行應用程序所使用的范式和工具大解密
亞馬遜AWS首席云計算技術(shù)顧問費良宏做客InfoQ在線課堂
如何更好地設(shè)置、管理和擴展你的Amazon ECS
相關(guān)贊助商

更多AWS最新精彩內(nèi)容和活動,請關(guān)注AWS專區(qū)!
圖 1
目前的主流大數(shù)據(jù)處理技術(shù)都是以Map Reduce計算模式為核心的(包括Hadoop和Spark)。而Map Reduce計算模式下對第一個問題只能通過增加內(nèi)存,SSD存儲來解決或者緩解,但同時也需要付出高昂的成本。對于第二,和第三個個問題,Map Reduce模式的局限是很難克服這兩個問題的。
而Parameter Server[2]作為目前最新的大規(guī)模機器學習系統(tǒng)設(shè)計模式,主要解決的其實是第三個問題,通過參數(shù)服務(wù)器以及模型參數(shù)的分布式管理來實現(xiàn)對超大規(guī)模模型的支持。同時在模型更新過程中的通信模式可以采用異步更新模式,來減小數(shù)據(jù)同步的開銷,提高通信效率,但是Parameter Server模式下模型的更新量計算和模型的更新是分離的,其龐大的通信開銷在原理上就是不可避免的。幸運的是,常見的大規(guī)模機器學習問題,都是高維稀疏問題,在很大程度上緩解了通信開銷的問題,而Parameter Server突破了模型規(guī)模限制的優(yōu)點是Map Reduce模式無法取代的,所以Parameter Server成為了目前大規(guī)模機器學習最先進,最受認可的模式。
圖 2
雖然Parameter Server解決了模型分布式管理的瓶頸,異步通信模式和問題本身的稀疏性大大降低了通信的壓力。 但是機器學習算法本身對數(shù)據(jù)的多次掃描帶來的計算和通信開銷依然是大規(guī)模機器學習效率的很大瓶頸。
除此之外還有一個很大的挑戰(zhàn)就是算法的調(diào)參工作, 一般機器學習算法都會依賴一個或者多個參數(shù),對于同一問題,不同的參數(shù)設(shè)定對模型精度的影響是很大的,而同一參數(shù)設(shè)定在不同的問題上的效果也有很大的不同。對于從事機器學習工作的人來說,調(diào)參始終是一個令人的頭疼的問題。知乎上有個問題是“調(diào)參這事兒,為什么越干越覺得像老中醫(yī)看???”[3],里面有不少關(guān)于機器學習調(diào)參的經(jīng)驗,心得,吐槽和抖機靈。