《大數據日知錄》讀書筆記-ch12機器學習:範型與架構
機器學習算法特點:叠代運算
損失函數最小化訓練過程中,在巨大參數空間中叠代尋找最優解
比如:主題模型、回歸、矩陣分解、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機器學習:範型與架構