2016機器學習從科學到商業

 

2016年,機器學習技術很火。爲何?有三個重要因素的驅使。算法

2015年是機器學習技術在學術領域全面成形的一年。具體來說,在這一年中其再也不是一小部分數據科學家們的專利,而開始成爲與每一個人息息相關的成果——至少在理論上是如此。數據庫

而2016年則開啓了由理論到實踐的征程。機器學習技術的能力與承諾乃至一切與之相關的可能與支持機制,開始更爲堅決地進入商業市場並致力於成爲主流。編程

這股浪潮主要圍繞着三大趨勢展開:面向機器學習的新型改良工具集、更爲強大(且更易於獲取)的硬件選項以及更多負責提供各種開源與專有工具的雲託管型機器學習「即服務」衍生成果。緩存

1.新型改良工具集與框架幫助使用者減輕負擔網絡

曾幾什麼時候,若是你們但願在應用中使用機器學習技術,則必須自行構建算法。以後,第三方庫的普遍出現可以幫助你們節約這種從新發明輪子的被動局面,但仍要求咱們投入大量精力以實現其生產能力。而現在,各種出色的框架選項使得機器學習技術成爲一種流水線式流程:一端輸入數據,然後進行模型訓練,便可最終得到可用結果。架構

是否還存在着比現有數據處理框架更爲理想的機器學習實現方案?答案顯然是確定的。爲了實現這一目標,Spark這一超高速熱門數據框架不只在2.0版本中進一步提高性能水平,同時還添加了一套通過調整的機器學習庫,旨在更好地補充Spark的新型內部架構。框架

另外一種趨勢一樣值得關注:以往的產品雖然處理數據,但卻沒法直接接入機器學習機制,現在機器學習加速做爲一類新型功能開始登場。內存的數據緩存系統Redis不只可以承擔數據庫相關的職責,亦會將Spark支持下的機器學習方案做爲應用添加至其新型模塊化架構當中。機器學習

第三種快速崛起的趨勢是用於開發機器學習軟件的新型技術工具的涌現。有時候其會以全新語言的形式出現,例如Lift語言就專門用於編寫可運行在CPU、GPU及其它硬件之上的高速並行算法; 有時候其體現爲指向現有語言的工具集,例如強化C/C++應用以使用OpenMP工具集的Milk,其可以顯著加快對大數據集的訪問速度。模塊化

2. GPU與定製化硬件在雲端及其它領域獲得快速推廣工具

若是沒有極爲強大的GPU爲其提供計算資源,機器學習根本沒法成爲現實。很明顯,GPU確實提供了這一代CPU根本沒法企及的強大數據處理能力。

正由於如此,2016年機器學習領域出現了兩波與GPU相關的新動向。其一是在機器學習產品中大量出現利用GPU實現加速的方案,包括Spark等各種數據框架。GPU的出色加速能力亦引發了數據庫應用產品的注意,特別是那些定位爲可以處理大量數據的機器學習型系統。

第二波GPU相關變革在於,各家大型雲服務供應商如今都開始將GPU加速型實例歸入其產品線。憑藉雲託管型GPU資源,客戶們可以輕鬆購買到充足的處理資源以支撐自身機器學習訓練任務,而這一點幾乎沒法經過傳統的內部GPU驅動型機器學習平臺構建方式實現。

Amazon不只推出了GPU加持型實例,同時亦拿出了更爲靈活的方案:你們能夠隨時添加或者移除實例中的GPU處理資源,而沒必要直接購買完整的GPU處理型實例。另外一方面,谷歌方面也推出其首款GPU加持型實例,容許用戶自由添加/移除相關功能。

微軟Azure也在自家雲產品線中歸入了GPU類機制,同時暗示稱數據中心用戶將來將迎來更爲豐富的可編程硬件選項。做爲一類高速可編程硬件,FPGA目前已經在Azure當中被用於網絡提速,不過微軟亦制定了長遠計劃,旨在利用相似的設備幫助客戶處理各種計算密集型應用——例如機器學習。(Amazon方面也醞釀有相似的計劃。)

固然,雲端GPU方案也存在本身的弊端:你們可能沒法隨時得到業界領先的硬件配置。Amazon於今年9月添加新型GPU實例類型時,其仍堅持使用上一代GPU硬件——這可能主要是爲了保證提供用戶更爲熟悉的選項,而非更新但更難於上手的方案。

3.雲託管算法實現機器學習「民主化」,但成本依舊不菲

「民主化AI」這一說法來自微軟公司,軟件巨頭藉此宣傳自身使命在於將機器學習資源經過雲端交給每一位用戶。固然,各大雲巨頭可以爲這一目標而努力絕對是件好事:其提供的工具可以建立出各種智能化軟件,並可與API同樣輕鬆獲得使用。

「人工智能即服務」則是另外一類實現方法。與其它即服務類方案同樣,雲服務一樣在其中佔據重要地位——其不只負責配置相關係統,同時亦進行模型訓練並託管用於訓練的對應數據。若是你們目前還沒有將數據引入雲環境,則可以使用各種更爲高效的新型解決方案——例如Amazon推出的單車100 PB Snowmobile服務。您沒看錯,單車的意思是這是一臺裝載有集裝箱的卡車,其中的存儲陣列可一次性遷移100 PB數量。

在大多數狀況下,你們能夠直接跳過訓練流程而直接經過API實現各種功能。此類API強調的是功能的便捷性而非透明性:請求入、結果出。對於多數用戶而言,這種可以最大限度減小工做量的解決方案已經足夠理想。固然,這也意味着產生結論的機制更不透明。

爲了解決這個問題,你們也能夠依賴於您所熟悉的現有工具的雲託管版本,利用其中提供的算法與機制。Spark就是這樣一款工具,其締造者(Databricks)以及IBM與微軟等第三方服務商都在本身的雲環境中提供其託管版本。

這套方案的優點在於,你們能夠選擇最適合自身需求的流程。相比之下,黑盒API流程則更適合那些不打算對機器學習方案進行修改,而僅須要處理結果的用戶。不過着眼於將來一年,可能會有至關一部分企業但願推出本身的機器學習驅動型解決方案,並努力在這兩類處理思路間找到平衡點。

相關文章
相關標籤/搜索