deep learning 新架構 (1): Start from Clouds
deep learning大概是繼雲端以來, 下一個在台灣炒熱的學術名詞,
很多人把這兩個名詞相提並論, 認為這都是用以解析大數據的工具,
然而, 在系統的架構與設計上來說,
雲端預算和deep learning是完全不同, 甚至相反的概念,
以平行化的角度來說,
雲端運算, 或者說, Map-Reduce的平行化技術的重點在於:
搬移程式不搬移資料, 這裡的假設是資料量極大(大於1TB),
為了處理巨量資料, Map-Reduce的架構重點在於資料的容錯性,
雲端平台的擴展性, 以及彈性的資源規劃,
至於deep learning, 在運算架構上則更接近於HPC (high-performance computing)
利用實體機內的多核(CPU or GPU), 提供大量且即時的運算,
用以提供許多簡單, 重複, 且平行的運算環境.
我們可以用下表作為比較:
其中, 由於最簡單的deep learning可以視為一種極多層次的Neural Network,
因此, 需要在每個節點上進行簡單, 且平行的計算,
嘗試學習出節點間的weighting應當是多少,
這種運算架構很適合舊有的GPU架構, 藉由多核, 低時脈, 平行處理的框架,
提供Neural Network適合的運算平台,
也因此, GPU大廠Nvidia, 也一躍而成為deep learning的晶片設計商,
所提出的CUDA架構, 也成了deep learning的顯學.
很多人把這兩個名詞相提並論, 認為這都是用以解析大數據的工具,
然而, 在系統的架構與設計上來說,
雲端預算和deep learning是完全不同, 甚至相反的概念,
以平行化的角度來說,
雲端運算, 或者說, Map-Reduce的平行化技術的重點在於:
搬移程式不搬移資料, 這裡的假設是資料量極大(大於1TB),
為了處理巨量資料, Map-Reduce的架構重點在於資料的容錯性,
雲端平台的擴展性, 以及彈性的資源規劃,
至於deep learning, 在運算架構上則更接近於HPC (high-performance computing)
利用實體機內的多核(CPU or GPU), 提供大量且即時的運算,
用以提供許多簡單, 重複, 且平行的運算環境.
我們可以用下表作為比較:
|
運算單元
|
介面
|
演算法
|
特性
|
Cloud
computing
|
VM/sandbox
|
網路
|
Map-Reduce
|
海量資料處理
|
Deep
learning
|
Physical processing unit: CPU/GPU
|
PCIe,
記憶體 |
Neural Network
|
大量單一指令運算
|
其中, 由於最簡單的deep learning可以視為一種極多層次的Neural Network,
因此, 需要在每個節點上進行簡單, 且平行的計算,
嘗試學習出節點間的weighting應當是多少,
這種運算架構很適合舊有的GPU架構, 藉由多核, 低時脈, 平行處理的框架,
提供Neural Network適合的運算平台,
也因此, GPU大廠Nvidia, 也一躍而成為deep learning的晶片設計商,
所提出的CUDA架構, 也成了deep learning的顯學.
留言
張貼留言