91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 電子資訊 » 國際新聞

分布式機器學習

發布時間:2018/9/10 10:01:14 訪問次數:1682

51電子網公益庫存:
F0505S-1W
F1212S-1W
F1452GH1
F15U20DN
F1H16TP
F36037GFZV
F3AA012E
F3AA024E
F4-100R06KL4
FA-20H 16.0000MF12Z-AC3
601HE0000B01
6125TD1-R
6125TD2-R
6125TD4-R
6-1394461-2
68HC68W1
6DI100A050
6DI100A-050
6DI120A-060
6MBI15S-120

專注于 petuum 研究方向的方面。事實上,我們今天使用的大部分主流 ml 軟件都位于同一方面(例如 graphlab,tensorflow 等)。

了解分布式深度學習

分布式深度學習是通用分布式機器學習的一個子領域,由于其在各種應用中的有效性,最近變得非常突出。在深入分析深度學習的細節及其解決的問題之前,我們應該定義一些重要的術語:數據并行性和模型并行性。

數據并行性

數據并行性是一種通過分區數據啟用的并行化技術。在數據并行分布式計算中,我們首先將數據劃分為幾個分區,其中分區的數量等于工作機器的數量(即計算節點)。然后,我們讓每個工作者擁有一個獨立的分區,讓他們對該數據進行計算。由于我們有多個節點并行掃描數據,因此我們應該能夠掃描比使用單個節點時更多的數據 - 我們通過分布式并行計算提高吞吐量。http://yushuokeji.51dzw.com/

在分布式機器學習中,我們的目標是加速使用多個節點的模型訓練的收斂速度,應用數據并行性是相當直觀的:我們讓每個工作機在自己的數據分區上執行訓練(即隨機梯度下降)并生成一組其上的參數更新(即梯度)。然后,我們讓所有節點通過網絡通信同步其參數狀態,直到達成一致。只要同步不花費太多時間并且我們得到較單節點結果的改進,我們就實現了目標!從本質上講,這就是 google 深度學習系統 distbelief 的工作原理。

模型并行性

與數據并行性相比,模型并行性是一個更復雜和模糊的概念。一般來說,在模型并行性中,我們嘗試對機器學習模型本身進行分區,以將工作負載分配給多個工作機,而不是對數據進行分區。例如,假設我們正在解決矩陣分解問題,其中矩陣非常龐大,我們想要學習這個巨大矩陣的每個參數。為了要應用模型并行性,我們必須將矩陣劃分為許多小塊(子矩陣),然后讓每個工作機處理一些小塊。這樣,如果一個節點上的 ram 不足以存儲矩陣中的所有參數,我們就能夠利用多個節點的額外 ram 起到杠桿作用。由于不同的節點具有映射到矩陣的不同塊的不同工作負載,我們因此能在并行計算時獲得加速。

問題是,我們應該如何劃分模型?由于我們有這么多的機器學習模型,每個模型都有自己的特征和表示,因此就沒有實現模型并行的主要方法。http://jialina.51dzw.com/

分布式機器學習?

通常來說,分布式機器學習(dml)是一個跨學科的領域,它幾乎涵蓋計算機科學的各個領域:理論(譬如統計學、學習理論、優化論)、算法、以及機器學習核心理論(深度學習、圖模型、核方法)。在這些子領域中,有無數的問題需要探索和研究。另外,分布式能夠很好地利用大數據,它已經成為目前工業界最廣泛應用的機器學習技術。

分布式機器學習試圖解決什么樣的問題?

為了最容易的理解 dml,我們將它分成四類研究問題。但請注意,這些類別并非是相互排斥的。

如何使用統計學、優化理論和算法?

由于大多數機器學習任務本質上是在減小一組訓練數據的「損失」,我們就更多關注以下問題:優化過程需要多長時間才能達到收斂?或者說,收斂速度(收斂率)是多少?收斂解有多少?需要多少訓練數據才能保證良好的解?為了研究這些問題,研究人員采用了理論分析工具,如優化理論或統計學習理論。然而,在大規模機器學習的背景下,我們給出了更多的計算資源,我們的目標是通過并行或分布式計算技術利用額外資源來加速(即減少模型的訓練/測試時間),我們也很想弄清楚另一組看上去相似但不同的問題:通過分布式或并行訓練,我們的模型和參數是否保證在沒有加速的情況下收斂到相同的狀態?如果他們沒有收斂到同一個狀態,那么我們離原始解決方案有多遠,我們距離真正的最優解決方案有多遠?達到「良好」趨同還需要哪些其他假設/條件?如果我們將分布式訓練和非分布式訓練進行比較到底能有多快?我們如何評估這個?我們如何設計培訓過程(例如數據采樣,參數更新)以確保良好的可擴展性和良好的收斂性?

如何開發更適合分布式設置的機器學習模型或訓練算法

這一研究重點是開發新的機器學習模型或調整(擴展)現有模型以處理更大規模的數據。

如何構建大規模 dml 應用程序

還有一些特定的應用問題,如大規模圖像分類,它需要擴展非常具體的模型/算法的研究。大多數這些解決方案可以直接部署到生產線中。

如何開發并行或分布式計算機系統來擴大機器學習http://www.jialinadianzi.com

這一系列研究相當直觀:如果我們的模型或算法無法在一個節點上完成計算工作流程,我們可以嘗試開發分布式系統以使用更多節點(和更多的計算資源)。但是要做到這一點,我們需要面對很多系統問題:一致性:如果多個節點同時朝著一個目標努力,我們如何確保它們的一致?例如,如果他們一起解決一個優化問題,但卻有著數據集的不同分區呢?容錯:如果我們將工作負載分配到 1000 個計算節點的集群,那么 1000 個節點中的一個崩潰會怎么樣?有沒有辦法能解決它而不只是從任務的最開始重新啟動?通信:機器學習涉及大量 i / o 操作(例如磁盤讀寫)和數據處理過程 - 我們是否可以設計存儲系統,以便為不同類型的環境實現更快的 i / o 和非阻塞數據處理程序(例如,單節點本地磁盤,分布式文件系統,cpu i / o,gpu i / o 等等)?資源管理:構建計算機集群的成本非常高,因此集群通常由許多用戶共享。我們應該如何管理集群并適當地分配資源以滿足每個人的要求,同時最大限度地提高使用率?編程模型:我們是否應該按照與非分布式機器學習模型/算法相同的方式對分布式機器學習模型/算法進行編程?我們能否設計一種需要更少編碼并提高效率的新的編程模型?我們可以用單節點方式編程,同時使用分布式計算技術自動放大程序嗎?http://tenghaowy.51dzw.com/

文章來源:雷鋒網:本文為ai研習社編譯的技術博客

51電子網公益庫存:
F0505S-1W
F1212S-1W
F1452GH1
F15U20DN
F1H16TP
F36037GFZV
F3AA012E
F3AA024E
F4-100R06KL4
FA-20H 16.0000MF12Z-AC3
601HE0000B01
6125TD1-R
6125TD2-R
6125TD4-R
6-1394461-2
68HC68W1
6DI100A050
6DI100A-050
6DI120A-060
6MBI15S-120

專注于 petuum 研究方向的方面。事實上,我們今天使用的大部分主流 ml 軟件都位于同一方面(例如 graphlab,tensorflow 等)。

了解分布式深度學習

分布式深度學習是通用分布式機器學習的一個子領域,由于其在各種應用中的有效性,最近變得非常突出。在深入分析深度學習的細節及其解決的問題之前,我們應該定義一些重要的術語:數據并行性和模型并行性。

數據并行性

數據并行性是一種通過分區數據啟用的并行化技術。在數據并行分布式計算中,我們首先將數據劃分為幾個分區,其中分區的數量等于工作機器的數量(即計算節點)。然后,我們讓每個工作者擁有一個獨立的分區,讓他們對該數據進行計算。由于我們有多個節點并行掃描數據,因此我們應該能夠掃描比使用單個節點時更多的數據 - 我們通過分布式并行計算提高吞吐量。http://yushuokeji.51dzw.com/

在分布式機器學習中,我們的目標是加速使用多個節點的模型訓練的收斂速度,應用數據并行性是相當直觀的:我們讓每個工作機在自己的數據分區上執行訓練(即隨機梯度下降)并生成一組其上的參數更新(即梯度)。然后,我們讓所有節點通過網絡通信同步其參數狀態,直到達成一致。只要同步不花費太多時間并且我們得到較單節點結果的改進,我們就實現了目標!從本質上講,這就是 google 深度學習系統 distbelief 的工作原理。

模型并行性

與數據并行性相比,模型并行性是一個更復雜和模糊的概念。一般來說,在模型并行性中,我們嘗試對機器學習模型本身進行分區,以將工作負載分配給多個工作機,而不是對數據進行分區。例如,假設我們正在解決矩陣分解問題,其中矩陣非常龐大,我們想要學習這個巨大矩陣的每個參數。為了要應用模型并行性,我們必須將矩陣劃分為許多小塊(子矩陣),然后讓每個工作機處理一些小塊。這樣,如果一個節點上的 ram 不足以存儲矩陣中的所有參數,我們就能夠利用多個節點的額外 ram 起到杠桿作用。由于不同的節點具有映射到矩陣的不同塊的不同工作負載,我們因此能在并行計算時獲得加速。

問題是,我們應該如何劃分模型?由于我們有這么多的機器學習模型,每個模型都有自己的特征和表示,因此就沒有實現模型并行的主要方法。http://jialina.51dzw.com/

分布式機器學習?

通常來說,分布式機器學習(dml)是一個跨學科的領域,它幾乎涵蓋計算機科學的各個領域:理論(譬如統計學、學習理論、優化論)、算法、以及機器學習核心理論(深度學習、圖模型、核方法)。在這些子領域中,有無數的問題需要探索和研究。另外,分布式能夠很好地利用大數據,它已經成為目前工業界最廣泛應用的機器學習技術。

分布式機器學習試圖解決什么樣的問題?

為了最容易的理解 dml,我們將它分成四類研究問題。但請注意,這些類別并非是相互排斥的。

如何使用統計學、優化理論和算法?

由于大多數機器學習任務本質上是在減小一組訓練數據的「損失」,我們就更多關注以下問題:優化過程需要多長時間才能達到收斂?或者說,收斂速度(收斂率)是多少?收斂解有多少?需要多少訓練數據才能保證良好的解?為了研究這些問題,研究人員采用了理論分析工具,如優化理論或統計學習理論。然而,在大規模機器學習的背景下,我們給出了更多的計算資源,我們的目標是通過并行或分布式計算技術利用額外資源來加速(即減少模型的訓練/測試時間),我們也很想弄清楚另一組看上去相似但不同的問題:通過分布式或并行訓練,我們的模型和參數是否保證在沒有加速的情況下收斂到相同的狀態?如果他們沒有收斂到同一個狀態,那么我們離原始解決方案有多遠,我們距離真正的最優解決方案有多遠?達到「良好」趨同還需要哪些其他假設/條件?如果我們將分布式訓練和非分布式訓練進行比較到底能有多快?我們如何評估這個?我們如何設計培訓過程(例如數據采樣,參數更新)以確保良好的可擴展性和良好的收斂性?

如何開發更適合分布式設置的機器學習模型或訓練算法

這一研究重點是開發新的機器學習模型或調整(擴展)現有模型以處理更大規模的數據。

如何構建大規模 dml 應用程序

還有一些特定的應用問題,如大規模圖像分類,它需要擴展非常具體的模型/算法的研究。大多數這些解決方案可以直接部署到生產線中。

如何開發并行或分布式計算機系統來擴大機器學習http://www.jialinadianzi.com

這一系列研究相當直觀:如果我們的模型或算法無法在一個節點上完成計算工作流程,我們可以嘗試開發分布式系統以使用更多節點(和更多的計算資源)。但是要做到這一點,我們需要面對很多系統問題:一致性:如果多個節點同時朝著一個目標努力,我們如何確保它們的一致?例如,如果他們一起解決一個優化問題,但卻有著數據集的不同分區呢?容錯:如果我們將工作負載分配到 1000 個計算節點的集群,那么 1000 個節點中的一個崩潰會怎么樣?有沒有辦法能解決它而不只是從任務的最開始重新啟動?通信:機器學習涉及大量 i / o 操作(例如磁盤讀寫)和數據處理過程 - 我們是否可以設計存儲系統,以便為不同類型的環境實現更快的 i / o 和非阻塞數據處理程序(例如,單節點本地磁盤,分布式文件系統,cpu i / o,gpu i / o 等等)?資源管理:構建計算機集群的成本非常高,因此集群通常由許多用戶共享。我們應該如何管理集群并適當地分配資源以滿足每個人的要求,同時最大限度地提高使用率?編程模型:我們是否應該按照與非分布式機器學習模型/算法相同的方式對分布式機器學習模型/算法進行編程?我們能否設計一種需要更少編碼并提高效率的新的編程模型?我們可以用單節點方式編程,同時使用分布式計算技術自動放大程序嗎?http://tenghaowy.51dzw.com/

文章來源:雷鋒網:本文為ai研習社編譯的技術博客

上一篇:TPU發展分析

下一篇:下一代互聯網

熱門點擊

推薦電子資訊

微軟新專利:皮膚感應邊框
該專利名為“基于抓握的裝置適應(Grip-Based&... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
包头市| 克拉玛依市| 邓州市| 聂拉木县| 盐边县| 昭通市| 罗田县| 漳浦县| 资源县| 五寨县| 延边| 哈尔滨市| 玉屏| 宁都县| 山丹县| 建德市| 德江县| 大名县| 兴化市| 泰州市| 石城县| 天门市| 泸溪县| 龙山县| 汝阳县| 韶关市| 定南县| 和林格尔县| 乐平市| 遵化市| 元朗区| 桂林市| 白城市| 湘潭市| 藁城市| 黄大仙区| 曲麻莱县| 湖南省| 景谷| 温州市| 道孚县|