我們把在前面參數(shù)和非參數(shù)模型上做的工作集合了起來,把它放到了即將開源的項目中,我們把這個項目叫做Fregata。Fregata是軍艦鳥的名字,TalkingData內(nèi)部的項目不管是開源還是非開源的都是用鳥來命名。為什么將機器學習的這個項目命名成軍艦鳥呢?因為它是世界上飛行速度最快的鳥,可以超過400公里每小時。另外,它非常輕,只有3斤重,卻又兩米長的翼展,在全球分布很廣。這也是我們對項目的期許:輕量級,可以承載大規(guī)模的機器學習任務,效率高,同時又能適應非常廣的機器學習算法庫。
這就是Fregata與MLLib的LR算法比較,藍色的線都是Fregata的算法,綠色的是MLlib的算法,每個圖的橫坐標是數(shù)據(jù)掃描的次數(shù),縱坐標是精度判斷指標AUC。我們可以看到,不管是精度、收斂速度和穩(wěn)定性,F(xiàn)regata都是遠遠強過Mllib的?;旧厦恳淮味伎梢砸淮尉瓦_到最高的精度水平,或者非常接近最高的精度水平。
這是Fregata的配置和接口。配置只有一行,非常簡單。最簡單的訓練代碼也就5行,因為我們不需要去設置參數(shù),所以代碼就變得非常簡潔。
總結一下Fregata的特點。首先是對大規(guī)模問題的支持。我們實際測試過,處理超大規(guī)模10億級樣本,是完全沒有問題的。對于超大規(guī)模維度的問題,F(xiàn)regata能根據(jù)內(nèi)存容量動態(tài)確定稀疏度的方式解決,而且速度非??欤绻麅?nèi)存加速的話,可以在億級別的數(shù)據(jù)上做到10秒級別的速度;無內(nèi)存加速的話,也能達到分鐘級訓練。據(jù)我了解,國內(nèi)互聯(lián)網(wǎng)公司里面非常昂貴的機器學習平臺上面的速度,可能至少要比我們這個慢一個數(shù)量級。
我們跟MLlib做過對比,在某些情況下能夠快1000倍,一般情況快個10倍以上也是很正常的。由于我們的開發(fā)是基于Spark原生版本,所以能非常容易的融入數(shù)據(jù)處理流程。因為不需要解決調(diào)參的問題,所以可以做一個標準組件,比較容易嵌入數(shù)據(jù)處理流程。
超越個人的智慧
簡單再講講TalkingData怎么在解決人的瓶頸。因為我們的數(shù)據(jù)科學家團隊并不是特別大,這樣一個比較小的團隊,面臨著這么大量的數(shù)據(jù),靠自己是很難完成的。
我們TalkingData作為一個中立的數(shù)據(jù)平臺,愿意把數(shù)據(jù)開放出去。但是在開放數(shù)據(jù)創(chuàng)造更大價值,跟保護數(shù)據(jù)的安全隱私的全方位怎么平衡呢?今年上半年我們做了一個TalkingData的數(shù)據(jù)開放沙箱,在沙箱里可以向指定的人開放指定的數(shù)據(jù)。數(shù)據(jù)科學家可以在沙箱里探索數(shù)據(jù)、創(chuàng)造價值,同時保護原始數(shù)據(jù)不能夠被拿出沙箱來保證數(shù)據(jù)的安全,來確保利用數(shù)據(jù)創(chuàng)造價值和保護數(shù)據(jù)安全的平衡。
沙箱的應用上,有比較成功案例。一是我們向Thasos開放了8TB的數(shù)據(jù),二是我們跟清華大學合作的課程開放了100GB的數(shù)據(jù),他們在上面做了很有意思的工作。
即使把數(shù)據(jù)開放出去引入全球的數(shù)據(jù)科學人才,也不能完全解決人的問題。剛才也看到了全球的人才是比較有限的?,F(xiàn)在再看大數(shù)據(jù)四個V的支撐技術做的什么樣,在速度跟體量上面,有很多大數(shù)據(jù)技術解決得不錯了。在價值方面,我們有很多的人工智能的方面的發(fā)展也是非常迅速的。但是解決數(shù)據(jù)來源的復雜性是很難的,我們內(nèi)部有數(shù)據(jù)管理員的團隊,他們就是每天純手工來做數(shù)據(jù)標準化清洗的工作,目前來說是整個大數(shù)據(jù)里面最短的一版,所以現(xiàn)在我們也在努力嘗試把智能的方法引入到數(shù)據(jù)準備、數(shù)據(jù)清洗的工作中來。