1. 程式人生 > >《大數據日知錄》讀書筆記-ch12機器學習:範型與架構

《大數據日知錄》讀書筆記-ch12機器學習:範型與架構

框架 梯度 目前 reduce 訓練 編程 base 屬於 parallel

機器學習算法特點:叠代運算

損失函數最小化訓練過程中,在巨大參數空間中叠代尋找最優解

比如:主題模型、回歸、矩陣分解、SVM、深度學習

分布式機器學習的挑戰:

- 網絡通信效率

- 不同節點執行速度不同:加快慢任務

- 容錯性

技術分享圖片

機器學習簡介:

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

數據並行vs模型並行:

技術分享圖片

數據並行

技術分享圖片

模型並行

技術分享圖片

分布式機器學習範型:

其他情形

MPI:容錯性差、集群規模小、擴展性低

GPU:目前處理規模中等(6-10GB)

1. 同步範型(嚴格情形每輪叠代進行數據同步)

技術分享圖片

快等慢,計算資源浪費;網絡通信多

eg:MapReduce叠代計算、BSP模型屬於嚴格同步範型

2. 異步範型(任意時刻讀取更新全局參數)

技術分享圖片

若部分任務叠代嚴重落後會拉低效果

3. 部分同步範型(主要研究方向)

技術分享圖片

eg:SSP模型

MapReduce叠代計算模型

技術分享圖片

技術分享圖片

技術分享圖片

BSP(Bulk Synchronous Parallel)計算模型

“橋接模型”:介於純硬件、純編程模式之間的模型

許多相關工作已驗證BSP模型的健壯性、性能可預測性和可擴展性

技術分享圖片

技術分享圖片

技術分享圖片

優點:

技術分享圖片

缺點:

資源利用率低、網絡通信多、計算效率低

圖計算框架也用BSP:比如Pregel、Giraph

SSP(Stale Synchronous Parallel)計算模型

技術分享圖片

技術分享圖片

技術分享圖片

閾值s=0時,SSP退化為BSP同步模型;s=+inf時,SSP演化為完全異步模型

分布式機器學習架構:

MapReduce系列架構:

Cloudera Oryx、Apache Mahout,兩者類似。

技術分享圖片

Spark及MLBase:

Spark

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

2. MLBase

技術分享圖片

技術分享圖片

參數服務器(Parameter Server):

比如:Google能處理百億參數的深度機器學習框架DistBelief

1. 架構

技術分享圖片

技術分享圖片

2. 一致性模型

需要設計新型的參數副本一致性均衡正確性和並發度。往往通過受限的異步並行方式(類似於部分同步並行)

1)時鐘界異步並行(Clock-bounded Asynchronous Parallel,CAP)

技術分享圖片

2)值界異步並行(Value-bounded Asynchronous Parallel,VAP)

不考慮時鐘值而是參數的更新積累數值。

技術分享圖片

也可以集成CAP和VAP。有理論可以證明:對於隨機梯度下降等常見機器學習算法,VAP可以保證算法收斂性。

3. SSPTable

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

《大數據日知錄》讀書筆記-ch12機器學習:範型與架構