深度學習分布式訓練小結

分布式訓練本質上是為了加快模型的訓練速度,面對較為復雜的深度學習模型以及大量的數據。單機單GPU很難在有限的時間內達成模型的收斂。這時候就需要用到分布式訓練。

分布式訓練又分為模型并行和數據并行兩大類。

1. 數據并行

數據并行在于將不同batch的數據分別交給不同的GPU來運算。如下圖所示,灰色部分表示數據,藍色表示模型。
在這里插入圖片描述
數據并行中的一類就是參數平均,比如將第一個Batch的256個數據交給第一個U
第二個batch的256個數據交給第二個U
參數平均就是在他們分別通過整個神經網絡計算出結果后取平均值,再修改模型中的參數。這樣實現實際上在不考慮多GPU與CPU的通信成本上,與單GPU以batchsize為512來進行訓練是一樣的,但因為同時進行了兩個batch的運算,運算速度在理想情況下是線性增加的。參數平均同時也是一個同步更新的過程,多個GPU的運算結果會統一結束并計算平均參數,這在我們使用同算力GPU的時候可以做到效率最大化。

除了同步更新,我們還有異步隨機梯度下降。這意味著不同的GPU不需要等待每一個epoch中所有GPU的運算完畢就可以直接更新參數。這很顯然進一步提升了多個U的效率,因為我們不再需要保證多個GPU的同步性,更大加快了模型的收斂。但不可避免地是,由于異步的特點,當某一個GPU完成運算并更新參數的時候,可能這時候模型中的全局參數已經經過了多次的改變,這可能會導致絕對誤差的放大,優化過程可能不穩定。

2. 模型并行

說完了數據并行,我們來看一下專門用于優化非常復雜的深度學習網絡的模型并行。與數據并行不同的是,這次我們通過將模型拆分為幾個小的部分,分別交給多個GPU來進行運算。每次仍然給每個模型一個batch的數據來進行計算,將多個GPU作為節點。最后將運算結果進行合并。實際上是一種將模型切割為幾個子模型按順序計算的過程。
在這里插入圖片描述

參考文本 :
【深度學習】— 分布式訓練常用技術簡介
【分布式深度學習part1】:神經網絡的分布式訓練

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/386783.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386783.shtml
英文地址,請注明出處:http://en.pswp.cn/news/386783.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

scrapy框架的理解

在每一次學習一個新東西之前,需要知道的幾個問題。這個東西是什么(what),怎么使用(how),為什么(why) scrapy的概念:Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的框架。 scrapy的作用:通過少量代碼實現快速抓取…

MAC配置JCO,與找不到sapjco3異常

①到jco官網下載jco壓縮包,解壓 ②把libsapjco3.jnilib 放到一個文件夾中 把該路徑配置到環境變量中 ③項目運行有可能會出現異常:找不到 sapjco3 ; 第一種解決方式:配置虛擬機參數:-Djava.library.path之前環境變量路…

You must install pydot and graphviz for plotmodel to work報錯如何處理

本文主要記錄windows-anaconda環境下關于使用tensorflow.keras.utils.plot_model()方法時提示安裝pydot 和 graphviz的解決方法。 pydot的安裝非常簡單,進入anaconda python環境中,用pip進行安裝就可以了。 graphviz包的安裝就要稍顯復雜一些。 首先我們…

Java高并發之BlockingQueue

前言碎語 當系統流量負載比較高時,業務日志的寫入操作也要納入系統性能考量之內,如若處理不當,將影響系統的正常業務操作,之前寫過一篇《spring boot通過MQ消費log4j2的日志》的博文,采用了RabbitMQ消息中間件來存儲抗…

python中文字符串轉list

本文主要記錄了將中文字符串轉換為list的過程,其中我們使用了keras preprocessing中的text_to_word_sequence方法。這個方法是完全適配中文的。需要注意的是,中文語料一般字符之間是沒有空格分割的,這與英文是不同的。如下所示,如…

IP通信基礎回顧2(第三周)

1.TCP報文 序號字段占4個字節。TCP連接中傳送的數據流中每一個字節都編上一個序號。序號字段的值則是本報文段所發送的數據第一個字節的序號。 確認序號占4個字節。是期望收到的對方的下一個報文段字節胡序號。首部長度占4個字節。指出TCP首部長度在20-60字節之間,所…

ThreadPoolExecutor線程池 + Queue隊列

1:BlockingQueue繼承關系 java.util.concurrent 包里的 BlockingQueue是一個接口, 繼承Queue接口,Queue接口繼承 Collection BlockingQueue----->Queue-->Collection 圖: 隊列的特點是:先進先出(FIFO…

python list pop方法

通過使用pop方法可以直接刪除列表中的某一個對應元素并返回該元素值 s [a, b, c, d] # 通過使用pop方法可以移除list中的一個元素并返回它的值 result s.pop(1) print(result) print(s)結果如下 b [a, c, d]

linux基礎文件管理軟硬鏈接

一、文件系統的基本結構 1、文件和目錄被組成一個單根倒置樹目錄結構 2、文件系統從根目錄下開始,用“/”表示 3、根文件系統(rootfs):root filesystem文件名區分大小寫 4、以 . 開頭的文件為隱藏文件 5、路徑用/隔離 6文件有兩類…

mybatis動態更新xml文件后熱部署,不重啟應用的方法

mybatis應用程序,由于是半自動化的sql, 有大量的sql是在xml文件中配置的,而在開發程序的過程中,通常需要邊寫sql變調試應用。但在默認情況下,xml文件里配置的sql語句是被放入到緩存中去了,每次更改有sql語句的xml文件&…

Leetcode 反轉字符串 II python解法

題干: 給定一個字符串 s 和一個整數 k,從字符串開頭算起,每計數至 2k 個字符,就反轉這 2k 字符中的前 k 個字符。 如果剩余字符少于 k 個,則將剩余字符全部反轉。 如果剩余字符小于 2k 但大于或等于 k 個,…

下拉插件 (帶搜索) Bootstrap-select 從后臺獲取數據填充到select的 option中 用法詳解...

今天收到了客戶的需求,要求在新增停車場ID的時候要從數據庫查出來對應的停車場名稱然后顯示在界面上。保存的時候按照停車場ID進行保存。 自己首先把后臺的部分寫完了,測試了接口數據。成功的拿到了ajax數據。 接下來,自己用了select下拉標簽…

pytorch tensorboard基本用法整理

from torch.utils.tensorboard import SummaryWriterif __name__ __main__:aa SummaryWriter(logs) # 創建保存了summarywriter的log目錄for i in range(100):aa.add_scalar(y x, i, i) # 后兩個參數先y軸后x軸 x軸往往是global step y軸用于輸出loss或者其他需要觀察的變量…

php 支付寶付款接口測試

詳細去這里:https://blog.csdn.net/suprezheng/article/details/84931225 轉載于:https://www.cnblogs.com/LF-place/p/10898357.html

spring boot mybatis攔截器

mybaits攔截器 package com.chinamobile.scm.masterdata.interceptor;import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.executor.Executor; import org.apache.ibatis.executor.parameter.ParameterHandler; import org.apach…

Linux自有服務(2)-Linux從入門到精通第六天(非原創)

文章大綱 一、設置主機名二、chkconfig三、ntp服務四、防火墻服務五、rpm管理(重點)六、cron/crontab計劃任務(重點)七、學習資料下載八、參考文章 自有服務,即不需要用戶獨立去安裝的軟件的服務,而是當系統…

Spring 事務 以及攔截器的前后關系實驗 Mybatis 日志攔截

背景:當一個線程中,如果需要攔截所有當SQL日志,然后統一發送到一個同步器,就可以實現多個數據庫實現同步主庫,在進行紅綠上線,或者灰度部署時候,可以實現生產庫與測試庫實時同步,從而…

四級翻譯常用詞匯

ancient 古老的;古代的       achieve 獲得 v attract 吸引 v            achievement 成就 n attractive 吸引人的          advanced 先進的 account for 對....負有責任;占比   approach 接近;處理&#…

一般攔截器 serviceImpl部分

一般攔截器 serviceImpl部分 package com.chinamobile.scm.masterdata.interceptor;import com.chinamobile.framework.common.context.InvokeTracer; import com.chinamobile.framework.common.context.RequestContext; import com.chinamobile.framework.utils.CollectionUt…

營銷-營銷方式:營銷方式

ylbtech-營銷-營銷方式:營銷方式營銷方式是指營銷過程中所有可以使用的方法。包括服務營銷、體驗營銷、知識營銷、情感營銷、教育營銷、差異化營銷、直銷、網絡營銷等。要有好的營銷方式首先要創造行之有效的營銷工具。但這并不意味著要把預算的75%都花在印制宣傳資…