作為最普通的開發(fā)者,云機器學習能幫我做什么?

責任編輯:editor005

作者:核子可樂譯

2015-10-08 14:36:59

摘自:51CTO

如果要從三大公有云供應商的發(fā)展規(guī)劃當中汲取一點經(jīng)驗之談,那么毫無疑問,軟件工程的廣度與深度已經(jīng)成為無可取代的絕對競爭優(yōu)勢。需要付費使用的標準版Azure機器學習服務則不限定模型使用數(shù)量、能夠運行在多個節(jié)點之上且不會利用API刻意限制處理速度。

如果要從三大公有云供應商的發(fā)展規(guī)劃當中汲取一點經(jīng)驗之談,那么毫無疑問,軟件工程的廣度與深度已經(jīng)成為無可取代的絕對競爭優(yōu)勢。而頗具諷刺意味的是,每當一家供應商推出一種能夠切實簡化IT運維任務的新型服務,整個市場就會高度依賴于這些服務,而且不再自行尋求同類解決方案。換言之,客戶開始變得更加傻瓜,同時也更具依賴性。

這是一種非常成功的商業(yè)模式,而且值得大家認真加以考量。就目前來講,三大主流公有云方案——包括Amazon Web Services、微軟Azure以及谷歌Cloud Platform——都擁有自己的機器學習服務。這些方案結合了三位技術巨頭自身多年以來在產(chǎn)品營銷與廣告宣傳方面積累得到的豐富經(jīng)驗,而且使用成本相當?shù)土N覀兩踔梁茈y想象數(shù)以百萬計的、規(guī)模各異的企業(yè)客戶能夠抵抗這些由機器學習服務帶來的強大吸引力與競爭優(yōu)勢。很明顯,直接選擇這些服務在難度上要遠遠低于自行編寫代碼并找到利用GPU及FPGA實現(xiàn)運行加速的實現(xiàn)途徑。

我們很難在機器學習與預測性分析之間找到一條明確的劃分界線,不過這類服務在精簡程度方面往往更接近于預測性分析,而非專門用于從圖片或者視頻當中識別出對象以及個人、對其內(nèi)容加以描述,或者像蘋果及微軟推出的Siri及Cortana等個人助手服務,甚至能夠控制自動駕駛車輛的高強度性機器學習機制。機器學習聽起來要比預測性分析酷炫得多,至少對于大多數(shù)普通用戶而言是如此,因此這一術語也因此變得非常熱門。不過無論大家選擇哪一種稱謂,由 Amazon、谷歌以及微軟所提供的新型機器學習服務確實能夠為SAS研究所、IBM以及甲骨文等預測性分析方案供應者帶來沉重的競爭壓力。歷史總是驚人地相似,如今以數(shù)據(jù)及計算時間成本為基礎的服務方案再次憑借著出色的易用性將經(jīng)過實踐驗證、功效顯著且擁有數(shù)十年發(fā)展演變歷史的分析軟件產(chǎn)品擊倒在地。

Amazon公司最近剛剛在本周于舊金山召開的AWS峰會上推出了其機器學習服務。其Amazon機器學習(即Amazon Machine Learning,簡稱AML)甚至該公司多年來在預測性分析領域積累下的豐富經(jīng)驗——作為早在互聯(lián)網(wǎng)建立早期就涉足在線零售行業(yè)的企業(yè),Amazon在這方面顯然極具發(fā)言權。在建立供應鏈管理機制、欺詐檢測系統(tǒng)以及點擊預測方案方面投入大量研發(fā)資源之后,Amazon作為一家在線零售商正逐步將其數(shù)據(jù)虛擬化、機器學習建模以及預測性分析工具通過AWS云推廣到整個世界。(Amazon公司利用機器學習機制來指導員工如何將物流車輛停在最理想的位置,從而保證貨物能夠以最順暢的方式被搬入倉庫或是裝上車輛進而交付至客戶手中。)而Amazon公司的所有內(nèi)部開發(fā)人員也都會訪問該機器學習堆棧,并將其嵌入至自己的應用程序當中。

即使把AML看作是一種贈品(類似于在線零售商隨主要商品附贈的糖果之類),可以肯定的是,AWS所提供的機器學習算法也絕對是一種值得珍之重之的定期——這位零售業(yè)巨頭在管理超大規(guī)模業(yè)務事務時,依靠的正是這樣一套解決方案。

  發(fā)布Amazon機器學習服務

一套面向開發(fā)人員的完整托管機器學習服務

輕松創(chuàng)建機器學習模型

多種直觀化與優(yōu)化模型

只需數(shù)秒即可將模型納入生產(chǎn)流程

久經(jīng)考驗的技術成果

當然,AML以數(shù)據(jù)為起點,且設計目的在于進行針對性培訓并對100 GB以下的數(shù)據(jù)集合進行預測性分析。充分分析對象的數(shù)據(jù)可以保存在以MySQL為后端的關系數(shù)據(jù)服務(即Relational Data Service)當中、S3存儲桶內(nèi)或者來自Redshift數(shù)據(jù)倉庫服務。后面兩種能夠在用戶需要時提供高達PB級別的存儲容量,正是出于這個理由,才有眾多客戶積極選擇Amazon機器學習服務并嘗試利用大型數(shù)據(jù)集構建更理想的分析模型——畢竟數(shù)據(jù)量越大、分析結果的準確性就越高,這種作法明顯優(yōu)于調整算法以構建良好的數(shù)據(jù)模型——這也正是AWS將數(shù)據(jù)集規(guī)模上限設定為100 GB的原因。AWS方面指出,這項服務并不會真正將數(shù)據(jù)從MySQL或者Redshift當中提取出來,而是使用查詢結果來執(zhí)行相關處理工作??蛻艨赡苄枰谀P椭惺褂玫娜魏纹渌鼣?shù)據(jù)都能夠被保存為CSV文件并交由S3負責承載。AWS還擁有大量數(shù)據(jù)可視化工具,旨在幫助客戶查看數(shù)據(jù)集中有哪些數(shù)據(jù)內(nèi)容出現(xiàn)了缺失。如果數(shù)據(jù)集內(nèi)的記錄缺失比例達到10%,那么機器學習服務會直接中止運行模型——這是因為在這種情況下,預測性分析得出的結論根本不可能擁有理想的準確度水平。

機器學習服務會對數(shù)據(jù)進行全面解析并構建機器學習模型,用戶亦能夠立足于更多或者質量更高的數(shù)據(jù)來源對其加以調整,包括采用多種數(shù)據(jù)梳理機制或者采用不同級別的數(shù)據(jù)標準化處理。(確切地講,這類調整工作往往有點可意會卻不可言傳的意味,而且目的不同、具體實施方式也會有所區(qū)別。)總而言之,其主要思路在于調整數(shù)據(jù)集并利用它以新的流入數(shù)據(jù)為基礎進行預測分析。為了能夠讓AML一次性解析整個數(shù)據(jù)集并同時實現(xiàn)預測分析,AWS還提供一項批量API—— 當然,大家也可以使用實時API根據(jù)實際需求對數(shù)據(jù)中的特定部分進行指定預測分析。AML能夠在約100毫秒內(nèi)返回一項預測請求,AWS方面稱這樣的速度水平完全能夠適應Web、移動以及桌面應用程序的需求;另外,AWS服務模型所使用的IP地址每秒能夠完成約200項事務的結果傳輸。Amazon指出,客戶可以利用AML服務在一天之內(nèi)以實時方式實現(xiàn)數(shù)十億次預測性分析。之所以敢于如此言之鑿鑿,是因為Amazon零售業(yè)務本身就利用該項服務以每周超過 500億次預測分析的頻率處理內(nèi)部零售事務(包括產(chǎn)品推薦等等)。

最后需要強調的是,AML擁有平臺粘性。也就是說,大家無法將自己的機器學習模型從AML服務導出至外部,同時也無法將在別處構建的機器學習模型導入至AML服務當中。

AML的目標場景正如大家所能想見,包括欺詐檢測、需求預測、預測性客戶支持以及Web點擊預測等等??蛻舴談t屬于另一類使用場景,而且AML能夠被用于對來自電子郵件、論壇內(nèi)容以及電話支持評價的客戶反饋信息進行分析,從而對產(chǎn)品工程技術以及服務團隊提供合理化建議,并將面臨類似問題的新客戶引導至合適的、了解相關情況并擁有問題解決能力的支持技術人員處。

而在定價方面,AML服務的收費機制非常直觀。大家需要為保存在S3、RDS(也就是Redshift)之上的數(shù)據(jù)支付本地存儲費用。而如果要對此類數(shù)據(jù)進行分析處理以及建模,則需要以每小時42美分的價格支付AML服務使用費;很明顯,采取的分析方式越多,我們需要支付的成本就越高。不過大家可以將自己的使用量加以匯總并借此享受價格折扣,其中每1000次預測分析處理的批量使用成本為10美分(最小計量單位為1000次),而實時預測分析成本為每次萬分之一美分,同時機器學習模型運行中每占用10 MB內(nèi)存則加收千分之一美分。按照這樣的計費標準,如果我們需要利用一套模型 運行約100萬次預測分析,那么該模型的運行時長約為20個小時,而成本則略高于100美元。

谷歌率先有所行動

谷歌公司為其Prediction API服務設定的預期目標與AML以及Azure機器學習基本一致,不過前者的特色在于其早在2011年秋季就已經(jīng)作為App Engine平臺云的組成部分向廣大用戶開發(fā)。

該Prediction API的分析數(shù)據(jù)處理規(guī)模上限為2.5 GB,而且相關文件會被載入至谷歌Storage服務當中。谷歌方面指出,一般數(shù)據(jù)集的梳理過程大約需要幾分鐘到數(shù)小時。而一旦首批數(shù)據(jù)整理完畢,接下來即可接受新的數(shù)據(jù)內(nèi)容,而后續(xù)預測分析周期將縮短為200毫秒左右。

谷歌公司的免費服務版本允許數(shù)據(jù)科學家每天進行100次預測分析操作,且每天數(shù)據(jù)處理總量不可超過5 MB;另外,免費服務設有總計2萬次預測性分析上限。而在Predictive API服務的付費版本當中,谷歌公司要求用戶每月支付最低10美元,這一起步價位提升最高1萬次預測分析配額,且后續(xù)處理成本為每1000次50美分。數(shù)據(jù)集首次處理的成本為每MB五分之一美分,用戶同時還需要對相應數(shù)據(jù)集的后續(xù)內(nèi)容更新支付同樣的費用。付費服務每日預測分析次數(shù)上限為200萬次,谷歌公司還強調稱,數(shù)據(jù)科學家若每日預測分析次數(shù)超過4萬次、則必須提前發(fā)出通知。另外,以上服務費用并不包括谷歌Storage對活動數(shù)據(jù)集進行存儲所帶來的成本。

微軟Azure雇傭來自Amazon的機器學習專家

微軟當初的目標非常明確,即構建自己的機器學習堆棧并將其作為自身Azure云之上的服務項目,而具體實現(xiàn)方式則是于2013年7月直接將技術大師Joseph Sirosh從Amazon旗下挖了過來。(對他本人來講,工作內(nèi)容其實并沒有出現(xiàn)什么變化。)

微軟公司的Azure機器學習服務于去年六月正式進入beta測試階段,而且其中囊括了大量該公司原本用于運行必應搜索引擎以及Xbox游戲站點的機器學習算法。微軟公司還允許我們利用開源R統(tǒng)計語言以及Python來編寫相關算法,并將其納入Azure機器學習堆棧,另外開發(fā)人員也可以自行構建免費的機器學習算法或者在市場上購買其它現(xiàn)成的付費方案。微軟最近剛剛收購了Revolution Analytics公司,后者擁有一套能夠顯著提高R統(tǒng)計引擎性能表現(xiàn)的技術方案,這無疑將幫助加快Azure機器學習服務的運行速度。

作為微軟主要客戶之一,卡內(nèi)基梅隆大學目前正利用Azure機器學習服務對其自身設施進行預測性維護,而蒂森克虜伯這家全球知名電梯制造商則利用該服務預測世界范圍內(nèi)各高層建筑中的電梯設備安全水平。Pier 1公司同樣在使用Auzre機器學習服務,旨在利用這套技術方案對客戶采購活動進行預測。

微軟公司目前還公在其美國中南部區(qū)域內(nèi)上線了Azure機器學習服務。該服務提供免費試用版本,每次實驗性使用的最高模型使用數(shù)量為100套。(所謂一套模型,是指一種算法、一種數(shù)據(jù)來源或者一次數(shù)據(jù)轉換處理,Azure機器學習官方解釋稱。)而Machine Learning Studio工具則作為該服務的組成部分,負責對體積在10 GB及以下的數(shù)據(jù)集進行首次處理;不過在此之后,預測性分析工作則面向托管于HDInsight Haddop服務當中的Hive數(shù)據(jù)倉庫層或者來自Azure SQL數(shù)據(jù)庫服務的各項查詢。如果大家需要處理的數(shù)據(jù)集超過10 GB,則可以對其進行拆分,而后以分散方式運行首次整理會話并最終將結合加以合并。Azure機器學習服務的免費版本為數(shù)據(jù)集首次整理設定了最多1小時的時長上限(微軟方面將其稱為實驗性方案),存儲容量上限則為10 GB;其運行在單一節(jié)點之上,并采用速度受限的分段API。

需要付費使用的標準版Azure機器學習服務則不限定模型使用數(shù)量、能夠運行在多個節(jié)點之上且不會利用API刻意限制處理速度。面向數(shù)據(jù)科學家們的 Azure機器學習服務每月每人收費為9.99美元,此外首次模型構建費用為每小時1美元,面向應用程序API的結果傳輸過程為每小時2美元,此外還要另外支付每1000次API事務50美分的使用費。當然,大家也可以付費選擇更為可觀的數(shù)據(jù)集存儲容量,這一點與Amazon機器學習服務非常相似。

IBM SoftLayer與Cognos/SPSS則是另外兩套潛在解決方案。SAS研究所已經(jīng)擁有了自己的SaaS分析機制,不過其很可能會選擇與其它大型公有云供應商、甚至是像Rackspace Hosting這類規(guī)模較小的企業(yè)進行廣泛合作。但話說回來,Rackspace公司似乎在開放軟件的道路上越走越遠,因此同SAS建立合作關系似乎缺乏實際意義——然而從另一個角度出發(fā),借此將開源R工具、Apache Mahout或者Spark MLlib for Hadoop等技術成果納入自身,并進一步創(chuàng)建出屬于自己的機器學習服務也并非沒有可能。

鏈接已復制,快去分享吧

企業(yè)網(wǎng)版權所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號