技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2021 iThome 鐵人賽
DAY
18
0
DevOps
中台化轉型
系列 第
18
篇
機器學習:模型訓練架構
13th鐵人賽
HO-HSUN
2021-09-18 16:03:51
889 瀏覽
分享至
分散式運算架構
MapReduce
利用函式語言程式設計的概念,將分散運算分為映射(Map)和歸納(Reduce)階段,使用程式介面支援大數據運算任務。
Ring-AllReduce
訊息傳輸介面(Message Passing Interface, MPI)是一種頻寬優化優先的方法,實現了歸納(Reduce)的運算操作(Sum, Avg, Max),符合了模型訓練所需。
Initialization:將N個節點當中的梯度切成N個切片。
ScatterRecude:向環(Ring)中的下一個節點發送N個切片中的一個。
AllGather:透過 N-1 次環形通訊,將每個切片的梯度運算結果果播到每個節點。
Merge:每個節點均獲得了所有切片內的梯度運算結果。
參數伺服器(Parameter Server)
將模型資料儲存在"參數伺服器"上,計算節點通過"參數伺服器"來分享資料。
Server Group:
Server Manager:分配資源並維護元資料(Metadata)
Server Node:提供資料讀寫服務
Worker Group:實際運算任務
Task Scheduler:任務的分配,以及節點可用性計算
Resource Manager:資源分配和可用性保證
資料流
運算過程被抽象化成資料流傳輸過程,每個資料流中的節點代表資料運算。
平行運算同步機制
不同的節點中可以平行資料運算,但節點間也需要通訊來完成進度同步及工作協作。
同步平行運算(Bulk Synchronous Parallel, BSP)
要求所有節點以同樣的速度進行資料處理。
Superstep:一次完整的資料運算疊代
Processor:每個節點上可以有多個 Processor 做為資料處裡的一個運算單位。
Local Computation:Processor 上的運算。
Communication:Processor 之間的通訊。
Barrier Synchronization:同步屏障(Barrier)
程序中的每個執行緒進行到此,都必須等待,直到所有執行緒都到達才可以繼續執行下一個階段。
非同步平行運算(Asynchronous Synchronous Parallel, ASP)
需要配合適當的梯度下降演算法,否則可能會導致運算失敗,影響模型收歛速度。
延遲同步運算(Stale Synchronous Parallel, SSP)
利用一個 Staleness-Threshold 的閥值來確定同步的時機,閥值可依據運算狀態動態調節,適合節點運算能力較為一致的高叢集同質性環境。
梯度下降演算法
隨機梯度下降(Stochastic Gradient Descent, SGD)
彈性平均梯度下降(Elastic Averaging SGD, EASGD)
非同步隨機梯度下降(Asynchronous Stochastic Gradient Descent, ASGD)
同步隨機梯度下降(Downpour Stochastic Gradient Descent, Downpour SGD)
延遲懲罰
AsyncAdaGrad
AdaptiveRevision
AdaDelay
延遲補償
留言
追蹤
檢舉
上一篇
機器學習:深度學習
下一篇
機器學習:資料流圖(Data Flow Graphs)模型訓練架構
系列文
中台化轉型
共
30
篇
目錄
RSS系列文
訂閱系列文
6
人訂閱
26
大數據平台:資料倉儲
27
大數據平台:分散式計算
28
大數據平台:分散式檔案
29
大數據平台:訊息中介
30
大數據平台:叢集管理
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
475
組
團體組數
18
組
累計文章數
3955
篇
最後報名日
9/15
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
17th鐵人賽
2017鐵人賽
windows
php
c#
windows server
linux
css
react
熱門問題
Jaspersoft 的資料庫連結 出現錯誤:驅動程式無法使用安全通訊端層 (SSL) 加密建立與 SQL Server 的安全連接。
尋求git之外的 高效能本機檔案備份 & 版本管理推薦
Windows 10停止支持?用这工具续命到2032年?
IIS 管理員 連線功能不見
port-forwading到遠程網段
HackerOne的賞金等好久都領不到
各種CAL 的用途
少見字在瀏覽器出現「??」,但在PHPMyAdmin卻是正常呈現
熱門回答
尋求git之外的 高效能本機檔案備份 & 版本管理推薦
少見字在瀏覽器出現「??」,但在PHPMyAdmin卻是正常呈現
port-forwading到遠程網段
HackerOne的賞金等好久都領不到
Windows 10停止支持?用这工具续命到2032年?
熱門文章
Reactivity 的概念與演進
理解 Signal 運作原理
Signal 與 Proxy、Virtual DOM 的區別
Reactivity 兩大驅動模式: Pull-based vs. Push-based
【Day 4】X!為什麼畫面變藍底白字了?:我與 BSoD 和 BIOS 的死機回憶錄
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}