對數(shù)據(jù)科學(xué)家而言,如果所需的計算能力價格過高,那么縱使創(chuàng)建出一個完美的統(tǒng)計模型也是徒然。我們需要工具來評估模型替代方案對性能的影響。
大數(shù)據(jù)是一種極端規(guī)模下的先進分析方法。在許多情況下,數(shù)據(jù)科學(xué)家是這一新時代中關(guān)鍵應(yīng)用開發(fā)團隊的成員。他們創(chuàng)建的統(tǒng)計模型往往會成為生產(chǎn)性資產(chǎn)。這些資產(chǎn)必須具備性能擴展能力,以適應(yīng)業(yè)務(wù)分析工作負載的容量、速度和種類。
盡管如此,大多數(shù)的數(shù)據(jù)科學(xué)家在本質(zhì)上都是統(tǒng)計分析人員。在進行更深層次的數(shù)據(jù)探索中,他們可能不會將關(guān)注點放在由他們創(chuàng)建和改良的分析模型的下游生產(chǎn)性能。如果進行回歸分析,那么由他們整合的神經(jīng)網(wǎng)絡(luò)或是自然語言處理算法將無法在大負載的情況下擴展,模型可能必須被廢棄,或是在為生產(chǎn)做好準備之前進行大幅修改。
在這種情況下,DevOps軟件持續(xù)交付能夠提供幫助。DevOps是一種軟件開發(fā)方法,強調(diào)開發(fā)人員和運營人員之間的協(xié)作與一體化。目前DevOps還不是商業(yè)數(shù)據(jù)科學(xué)家眼中的核心詞匯,不過它應(yīng)該會成為未來的核心。對先進分析方法性能要求的提高,將導(dǎo)致更多注意力被放在生產(chǎn)級環(huán)境中對分析模型快速、徹底地進行性能測試這一需求上。隨著這些需求的增長,數(shù)據(jù)科學(xué)家(他們可能將性能看作是一種后來加入的東西)和IT管理者(他們時刻都在關(guān)注性能的影響)在看法和實踐方面的分歧將變得越來越嚴重。
近期一份關(guān)于應(yīng)用預(yù)測建模的文章引力了許多人的注意。該文的作者Steve Miller在文中給出了這樣的觀察結(jié)果:
我一直批評統(tǒng)計學(xué)習(xí)(SL)教育在評估不同建模技術(shù)方面缺乏對計算性能的考慮。由于重點是對調(diào)諧/測試模型進行自展和交互驗證,因此SL完全屬于計算密集型。再加之內(nèi)嵌在如裝袋(bagging)和提升(boosting)等技術(shù)中的重采樣,對大數(shù)據(jù)集監(jiān)督式學(xué)習(xí)的計算噩夢將一直縈繞在身邊。實際上,R語言的內(nèi)存限制對適用于隨機森林(random forests)等高級方法的各種大小的模型都產(chǎn)生了嚴重制約。雖然統(tǒng)計學(xué)習(xí)能夠很好地校準小數(shù)據(jù)集模型的性能,但是搞清楚性能與大數(shù)據(jù)計算成本之間的關(guān)系無疑將事半功倍。
我們贊同這種建議,并支持將其提升至一個新的水平。但在此之前,最好還是先判斷是一下它是不是資源浪費型的算法。如果無意間將它內(nèi)置在生產(chǎn)大數(shù)據(jù)分析應(yīng)用中,那么最終將產(chǎn)生嚴重的不良后果。不僅企業(yè)要對昂貴的CPU、內(nèi)存、存儲以及應(yīng)用連接所必須的互聯(lián)能力進行投資,而且數(shù)據(jù)科學(xué)家也將不得不要使用資源效率型方法從頭開始設(shè)計。
理想情況下,對計算費用指標的計算應(yīng)該能夠自動地在數(shù)據(jù)科學(xué)家的開發(fā)工作臺內(nèi)執(zhí)行。換句話說,分析工具、庫和沙箱平臺應(yīng)該將這些指標作為關(guān)鍵的決策支持功能呈現(xiàn)出來。這樣一來,數(shù)據(jù)科學(xué)家就能夠全面地衡量他們將要創(chuàng)建模型的下游性能特點。
站在開發(fā)與運營的立場上,理想的數(shù)據(jù)科學(xué)家工具箱應(yīng)該對模型在下列延時中可能的下游性能影響進行評估:
數(shù)據(jù)延時:當用于數(shù)據(jù)采集、集成和清洗的模型被部署后,這一模型是否嚴重地影響了從源頭至下游消費應(yīng)用的數(shù)據(jù)傳輸速度?
執(zhí)行延時:當模型在內(nèi)置數(shù)據(jù)庫分析平臺被執(zhí)行時,該模型提交結(jié)果是否需要過長的時間?如果部署在混合工作負載平臺上,它們是否會嚴重影響到在同一平臺上運行的其他工作負載的執(zhí)行速度?
建模延時:在用現(xiàn)有統(tǒng)計分析法和數(shù)據(jù)準備工具建模時,模型的開發(fā)、填充、記錄、迭代和部署是否需要過長的時間?
考慮到有許多可以用于處理相同建模域的替代性算法,理想的工具應(yīng)該能夠顯示出各種算法的優(yōu)勢與不足,以便開發(fā)人員能夠做出更明智的選擇??傊@些都是我們所期望的。我們相信它們一定能夠引起許多數(shù)據(jù)科學(xué)家和大數(shù)據(jù)專業(yè)人員的共鳴。如果這些模型在大數(shù)據(jù)平臺上的執(zhí)行時間過長,那么世界上最復(fù)雜的分析法也沒有什么用處。