• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于共享GPU的深度學(xué)習(xí)訓(xùn)練性能實證研究

      2023-01-31 09:40:48徐渙霖顧嘉臻周揚帆
      計算機應(yīng)用與軟件 2022年12期
      關(guān)鍵詞:運算符進程內(nèi)存

      徐渙霖 顧嘉臻 康 昱 周揚帆

      1(復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 上海 200433) 2(上海市智能信息處理重點實驗室 上海 200433) 3(微軟亞洲研究院 北京 100080)

      0 引 言

      深度學(xué)習(xí)技術(shù)已經(jīng)在自然語言處理[1]、圖像分類[2]和推薦系統(tǒng)[3]等眾多領(lǐng)域中被證明是卓有成效的,甚至在特定領(lǐng)域中超越了人類的表現(xiàn)[4]。這使得深度學(xué)習(xí)模型被廣泛地訓(xùn)練和部署。通常情況下,一個深度學(xué)習(xí)模型會包含數(shù)以千萬計的參數(shù)。為了能盡可能提高深度學(xué)習(xí)應(yīng)用的開發(fā)效率,通用計算能力更強的圖形處理單元(GPU)被大量應(yīng)用于模型訓(xùn)練中。

      因此近年來隨著深度學(xué)習(xí)應(yīng)用的普及,GPU越來越被認為是一種重要的計算資源。云端提供GPU計算設(shè)備的服務(wù)正變得流行。諸如Google Cloud、Amazon Web Service和Microsoft Azure等云平臺,已經(jīng)向開發(fā)者提供了GPU云計算服務(wù)。出于商業(yè)考慮,云服務(wù)供應(yīng)商通常會利用虛擬化技術(shù)使得多個應(yīng)用程序之間共享一個GPU設(shè)備[5],以最大化經(jīng)濟效益。因此當(dāng)用戶使用云服務(wù)來訓(xùn)練其深度學(xué)習(xí)模型時,其使用的GPU設(shè)備可能同時為其他用戶執(zhí)行訓(xùn)練進程[6]。在運行適當(dāng)?shù)纳疃葘W(xué)習(xí)模型組合時,GPU云平臺的資源利用率有望得到提高,但也可能導(dǎo)致整體訓(xùn)練效率的大幅度下降。如何在這種情境下優(yōu)化GPU資源分配成為一個值得研究的問題。

      我們希望通過研究說明,各種類型的深度學(xué)習(xí)模型在一個GPU設(shè)備上同時訓(xùn)練時,訓(xùn)練進程的具體性能表現(xiàn)和原因。此研究結(jié)果可以為提高GPU云平臺資源利用率和優(yōu)化深度學(xué)習(xí)模型訓(xùn)練進程的調(diào)度提供參考,使用戶和服務(wù)提供商受益。為了達到這個目標(biāo),我們精心設(shè)計了四個研究問題,并通過相關(guān)實驗研究來回答這些問題。研究結(jié)果提供了訓(xùn)練不同的深度學(xué)習(xí)模型組合時的性能表現(xiàn),并且展示了訓(xùn)練進程性能表現(xiàn)與模型屬性之間的關(guān)系。

      1 研究問題

      我們在本節(jié)提出了四個研究問題。通過回答這些問題,旨在更好地了解在一個GPU設(shè)備上同時訓(xùn)練多個深度學(xué)習(xí)模型的性能表現(xiàn)。首先定義共享訓(xùn)練的概念。

      定義1如果訓(xùn)練深度學(xué)習(xí)模型A和B的進程同時在同一個GPU設(shè)備上運行,則稱之為深度學(xué)習(xí)模型A和B的共享訓(xùn)練。

      GPU設(shè)備的內(nèi)存資源對模型訓(xùn)練非常重要,因為GPU內(nèi)存大小決定訓(xùn)練進程是否可以正常運行至結(jié)束。在這種情況下,現(xiàn)有的深度學(xué)習(xí)開發(fā)框架的默認設(shè)置傾向占用盡可能多的GPU內(nèi)存。因此,第一個研究問題如下。

      問題1當(dāng)一個深度學(xué)習(xí)模型單獨占用GPU設(shè)備訓(xùn)練時,分配不同的GPU內(nèi)存大小是否會影響它的訓(xùn)練進程運行時間?

      這種獨占資源的調(diào)度使得一個GPU設(shè)備每次只能訓(xùn)練一個深度學(xué)習(xí)模型。如果用于訓(xùn)練的應(yīng)用程序?qū)嶋H上只需要很少的GPU內(nèi)存,就將導(dǎo)致資源的浪費。這在GPU云平臺中尤其不可取。一種提高資源利用率的樸素方案是讓一個GPU設(shè)備同時運行多個深度學(xué)習(xí)模型的訓(xùn)練進程。然而在一個GPU設(shè)備上共享訓(xùn)練多個深度學(xué)習(xí)模型時,訓(xùn)練進程的整體效率尚不明確。我們對幾個具有代表性的深度學(xué)習(xí)模型組合進行了實驗,旨在討論共享訓(xùn)練將使訓(xùn)練性能受到多大程度的影響,不同深度學(xué)習(xí)模型組合的具體性能表現(xiàn)如何。第二個研究問題如下。

      問題2當(dāng)共享訓(xùn)練深度學(xué)習(xí)模型A和B時,是否會影響深度學(xué)習(xí)模型A的訓(xùn)練進程運行時間?如果是,那么模型組合類型是否與訓(xùn)練運行時間變化有聯(lián)系?是否存在共享訓(xùn)練效率更高的情況?

      在回答以上問題后,我們進而研究為什么兩個深度學(xué)習(xí)模型共享訓(xùn)練會對互相的訓(xùn)練進程性能進行產(chǎn)生影響。為了后續(xù)研究,分析了不同深度學(xué)習(xí)模型的底層運算屬性。第三個研究問題如下。

      問題3不同深度學(xué)習(xí)模型的運算屬性是否存在顯著差異?

      深度學(xué)習(xí)模型訓(xùn)練進程所需系統(tǒng)資源主要分為GPU核心的計算資源和數(shù)據(jù)交換的I/O資源。不同類型的模型對計算資源和I/O資源的需求不同。一個深度學(xué)習(xí)模型可能是I/O密集型或(/和)計算密集型的。在共享訓(xùn)練中,不同進程可能會相互爭奪計算和I/O資源。這種資源競爭可能導(dǎo)致整體性能下降。所以第四個研究問題如下。

      問題4共享訓(xùn)練時是否存在系統(tǒng)資源競爭的情況?如果是,是否是導(dǎo)致每個訓(xùn)練進程性能下降的因素?

      2 研究方法

      2.1 共享訓(xùn)練的性能分析

      首先測試共享訓(xùn)練時的進程性能表現(xiàn)。由于在模型的訓(xùn)練過程中每次迭代的時間是相對穩(wěn)定的,可以使用每次迭代的時間來近似表示模型的總訓(xùn)練時間。首先獨立訓(xùn)練每個模型并記錄它們的訓(xùn)練時間,再將這些深度學(xué)習(xí)模型兩兩組合進行共享訓(xùn)練,以獲得各模型組合的整體訓(xùn)練性能表現(xiàn)。定義性能退化系數(shù)的概念如下。

      性能退化系數(shù)rAB可以表明模型A和B在共享訓(xùn)練中,模型A的性能退化情況,系數(shù)越大性能退化越嚴(yán)重。如果兩個模型的共享訓(xùn)練比分別獨立訓(xùn)練更快,那么共享訓(xùn)練是有益的。共享訓(xùn)練下總訓(xùn)練時間更短的條件的推導(dǎo)過程如下。

      首先,假設(shè)模型A和B獨占GPU時的訓(xùn)練時間分別為tA和tB,共享訓(xùn)練時的性能退化系數(shù)分別為rAB和rBA。則模型A和B共享訓(xùn)練時的總訓(xùn)練時間t可以表示為:

      如果有t

      綜上所述,對于模型A和B,如果我們得到rAB和rBA,可以知道:1) 模型A和B的共享訓(xùn)練相對于每個模型獨立訓(xùn)練的性能差別;2) 模型A和B在共享訓(xùn)練和分別獨立訓(xùn)練兩種情況下,哪種的總訓(xùn)練時間更短。

      2.2 深度學(xué)習(xí)模型屬性對共享訓(xùn)練性能的影響

      進一步研究共享訓(xùn)練時進程性能下降的原因。通常,GPU計算和I/O操作的工作負載是影響深度學(xué)習(xí)模型訓(xùn)練性能的兩個主要因素。與GPU計算相關(guān)的屬性包括進程內(nèi)的計算操作執(zhí)行率等。與I/O相關(guān)的屬性包括進程所需的內(nèi)存大小、總體數(shù)據(jù)讀取請求速率和總體數(shù)據(jù)寫入請求速率等。以上這些屬性描述了深度學(xué)習(xí)模型訓(xùn)練進程的總體執(zhí)行特性。我們檢驗了不同深度學(xué)習(xí)模型的屬性是否存在顯著差異。進而比較了在共享訓(xùn)練的過程中,GPU核心利用率和I/O吞吐量與獨立訓(xùn)練相比有什么區(qū)別,目標(biāo)是探究共享訓(xùn)練中是否存在系統(tǒng)資源競爭以及對進程性能的影響。為了驗證假設(shè)結(jié)果的相關(guān)性,進行KS檢驗和卡方檢驗來進一步保證結(jié)果的有效性。

      2.3 其他GPU設(shè)備上的結(jié)果

      以上的研究旨在展示深度學(xué)習(xí)模型在共享訓(xùn)練過程中的表現(xiàn)以及造成這種現(xiàn)象的潛在原因。為了證明以上實驗結(jié)果的普遍性,我們在不同的GPU設(shè)備上重復(fù)了相同的實驗,并對實驗結(jié)果進行了比較。

      3 研究結(jié)果

      3.1 實驗設(shè)置說明

      我們重點關(guān)注三類有代表性的深度學(xué)習(xí)模型,分別是全連接神經(jīng)網(wǎng)絡(luò)[7](FCNs)、卷積神經(jīng)網(wǎng)絡(luò)[8](CNNs)和遞歸神經(jīng)網(wǎng)絡(luò)[9](RNNs)。這些模型的建模能力是互補的[10],并在眾多領(lǐng)域得到了廣泛應(yīng)用。由于深層FCNs的應(yīng)用受到限制,使用5層全連接網(wǎng)絡(luò)作為FCNs的代表[10]。為了研究不同結(jié)構(gòu)的CNN,我們實現(xiàn)并測試了兩個具有代表性的CNN模型,即VGG-19[11]和ResNet-50[2]。LSTM[1]用于建模序列結(jié)構(gòu),我們將其作為RNNs的代表。實驗中涉及到的模型配置和相應(yīng)的數(shù)據(jù)集的細節(jié)如表1所示。

      表1 實驗?zāi)P秃蛿?shù)據(jù)集的相關(guān)細節(jié)

      實驗中涉及的所有深度學(xué)習(xí)模型全部利用TensorFlow 1.13實現(xiàn),Python版本號為3.6,實驗GPU為NVIDIA GTX 1080Ti,測試服務(wù)器系統(tǒng)為Ubuntu 16.04,配置了CUDA Toolkit 9.0和cuDNN 7.0。

      3.2 GPU內(nèi)存大小對訓(xùn)練性能的影響

      為了回答問題1,首先通過配置GPU內(nèi)存系數(shù),來調(diào)整訓(xùn)練深度學(xué)習(xí)模型的應(yīng)用程序可用的GPU內(nèi)存大小,接著以獨占GPU的模式訓(xùn)練四個目標(biāo)深度學(xué)習(xí)模型。對每個模型進行1 000次迭代的訓(xùn)練,并記錄訓(xùn)練進程執(zhí)行的總時間作為訓(xùn)練性能表現(xiàn)的指標(biāo)。為了保證統(tǒng)計學(xué)上的意義,對每種配置分別進行3次訓(xùn)練,計算時間的平均值作為結(jié)果。該實驗結(jié)果如表2所示。表2中的小數(shù)表示在該GPU內(nèi)存系數(shù)配置下與使用全部內(nèi)存(系數(shù)為1.0)的訓(xùn)練時間的比值。

      表2 不同GPU內(nèi)存大小下的性能變化情況

      從結(jié)果可以發(fā)現(xiàn),當(dāng)分配的GPU內(nèi)存足夠使訓(xùn)練進程正常運行后,訓(xùn)練進程的運行時間變化與GPU內(nèi)存系數(shù)增加沒有顯著關(guān)系。

      結(jié)論1當(dāng)深度學(xué)習(xí)模型獨占GPU訓(xùn)練時,如果分配的GPU內(nèi)存大小已經(jīng)足夠訓(xùn)練進程正常運行,那么額外分配的GPU內(nèi)存對訓(xùn)練時間沒有顯著影響。

      3.3 共享訓(xùn)練對整體性能的影響

      將之前實驗的四種模型進行兩兩組合,對這些組合進行共享訓(xùn)練,分別記錄總訓(xùn)練時間。為了模擬實際應(yīng)用中的情況,首先在系統(tǒng)后臺運行訓(xùn)練模型A的進程,然后啟動訓(xùn)練模型B的進程,來研究共享訓(xùn)練模式對模型A的訓(xùn)練進程的性能影響。給每個進程分配所需的最少GPU內(nèi)存,在共享訓(xùn)練的模式下進行1 000次迭代,并將得到的執(zhí)行時間與相同配置在獨占GPU模式下訓(xùn)練的進程執(zhí)行時間相除,得到比值作為性能退化系數(shù)記錄下來。結(jié)果如表3所示。

      表3 不同模型組合的共享訓(xùn)練性能退化比率

      可以看出,在共享訓(xùn)練時每個模型相比于獨立訓(xùn)練都會出現(xiàn)不同程度的性能退化。不同的模型組合的性能變化差別非常顯著。同時根據(jù)之前的討論,當(dāng)rAB×rBA

      結(jié)論2共享訓(xùn)練會使單個模型的訓(xùn)練進程運行時間延長。模型組合類型與訓(xùn)練運行時間變化情況存在聯(lián)系,且一些模型組合的共享訓(xùn)練效率比分別獨立訓(xùn)練更高。

      3.4 模型底層運算屬性的情況

      為了研究模型屬性與共享訓(xùn)練的關(guān)系,需要分析不同的深度學(xué)習(xí)模型的底層運算屬性是否存在區(qū)別。我們利用TensorFlow框架內(nèi)建的分析功能,收集訓(xùn)練進程運行時所有涉及到的運算符種類和其執(zhí)行時間百分比形成一個運行時運算符集合。

      圖1以FCN模型為例,展示了運行時運算符集合的分布情況。該模型的運行時運算符集合內(nèi)包含Mul運算符,并且其數(shù)值標(biāo)記為38%。即表示在該模型中Mul運算符消耗38%的訓(xùn)練時間。

      圖1 FCN模型的運算符運行時間百分比

      在收集到所有模型的運算符集合分布情況后,計算它們的標(biāo)準(zhǔn)化Jaccard相似度。度量結(jié)果見表4。可以看出,不同深度學(xué)習(xí)模型的訓(xùn)練進程執(zhí)行的底層操作差距確實非常顯著。

      表4 不同模型運算符集合間的Jaccard相似度

      結(jié)論3不同深度學(xué)習(xí)模型的底層運算屬性存在顯著差異。

      3.5 I/O操作和GPU計算特性與共享訓(xùn)練性能的關(guān)系

      在明確了不同模型的運算屬性存在差異后,我們進一步研究了不同情況下訓(xùn)練時模型各運算符的CPU和GPU執(zhí)行時間。表5展示了FCN模型的相關(guān)結(jié)果??梢钥闯觯蚕碛?xùn)練與獨占訓(xùn)練比較,模型各運算符GPU執(zhí)行時間的分布情況幾乎相同,而CPU執(zhí)行時間分布情況表現(xiàn)出顯著差異。

      表5 不同F(xiàn)CN模型組合共享訓(xùn)練與獨占訓(xùn)練的總計、CPU和GPU執(zhí)行時間的Jaccard相似性

      以上的實驗結(jié)果,尤其是共享訓(xùn)練與獨占訓(xùn)練差異很大的CPU執(zhí)行時間,表明應(yīng)該深入研究深度學(xué)習(xí)模型訓(xùn)練時的I/O操作和GPU運算操作情況。我們利用NVIDIA的nvprof工具記錄訓(xùn)練進程的兩個度量指標(biāo),進程的資源加載和存儲事務(wù)共計為I/O事務(wù),展示了系統(tǒng)I/O請求情況;GPU指令數(shù)表明GPU設(shè)備上的計算請求情況。結(jié)果如圖2所示。

      圖2 模型每秒的操作情況(對數(shù)刻度)

      可以看出,每個模型的操作量與表1中的模型參數(shù)規(guī)模呈正相關(guān)。同時聯(lián)系表3中的數(shù)據(jù),訓(xùn)練進程的操作量越大,使得共享訓(xùn)練中其他模型性能退化得越多。所以可以得到如下結(jié)論。

      結(jié)論4如果參與共享訓(xùn)練的深度學(xué)習(xí)模型的參數(shù)規(guī)模有顯著差異,則較小模型的共享訓(xùn)練性能退化比較大的更加嚴(yán)重。

      最后,將探究共享訓(xùn)練過程中是否存在資源競爭情況及其影響,在該實驗中關(guān)注GPU計算和I/O操作的指標(biāo)。我們將一種模型獨占訓(xùn)練和將該模型與其他模型組合共享訓(xùn)練,收集GPU實際占用率作為訓(xùn)練進程的GPU計算情況指標(biāo);收集系統(tǒng)內(nèi)存到GPU內(nèi)存的拷貝吞吐量作為訓(xùn)練進程的I/O操作特性。應(yīng)用KS檢驗和卡方假設(shè)檢驗,驗證獨占訓(xùn)練和共享訓(xùn)練下的兩種指標(biāo)是否屬于同一分布。

      圖3和圖4展示了獨占GPU訓(xùn)練與共享訓(xùn)練下的拷貝吞吐量直方圖。假設(shè)檢驗得到的p值接近于0,這說明吞吐量分布有顯著區(qū)別,表明共享訓(xùn)練會影響系統(tǒng)I/O操作。人工比較了不同模式下的吞吐量,發(fā)現(xiàn)共享訓(xùn)練時的吞吐量出現(xiàn)了顯著下降。

      圖3 FCN模型獨占訓(xùn)練時的系統(tǒng)內(nèi)存吞吐率

      圖4 FCN與FCN模型共享訓(xùn)練時的系統(tǒng)內(nèi)存吞吐率

      圖5和圖6展示了獨占GPU訓(xùn)練與共享訓(xùn)練下的GPU占用率直方圖。假設(shè)檢驗的結(jié)果表明它們屬于同一分布。人工比較了不同模式下的GPU實際占用率,發(fā)現(xiàn)它們幾乎相同。這說明在共享訓(xùn)練過程中,每個模型的GPU計算過程沒有受到其他模型的顯著影響。

      圖5 FCN模型獨占訓(xùn)練時的GPU實際占用率

      圖6 FCN與FCN模型共享訓(xùn)練時的GPU實際占用率

      我們聯(lián)系GPU的執(zhí)行運算的機制分析。由于GPU設(shè)備上的不同宿主進程會創(chuàng)建獨立的進程上下文,且不同上下文中的操作在執(zhí)行時都會被底層驅(qū)動程序序列化而順序執(zhí)行,導(dǎo)致無論模型是獨占GPU訓(xùn)練還是共享訓(xùn)練,都會得到幾乎相同的實際占有率。即使調(diào)度兩個訓(xùn)練進程共享訓(xùn)練,GPU在某一時刻也只能進行一個模型的底層運算。這使得共享訓(xùn)練時不同的訓(xùn)練進程輪流占用GPU,導(dǎo)致額外的系統(tǒng)I/O開銷,進而使得進程不能很好地利用內(nèi)存的空間局部性。

      結(jié)論5共享訓(xùn)練時存在I/O操作競爭的情況,并導(dǎo)致了訓(xùn)練進程性能下降。

      3.6 其他GPU設(shè)備上共享訓(xùn)練的性能表現(xiàn)

      為了驗證以上實驗中的共享訓(xùn)練性能變化情況是否具有普遍性,在性能較弱的GPU設(shè)備GTX 1080上重復(fù)了所有前面的實驗。我們得到的絕大多數(shù)結(jié)果與之前在GTX 1080Ti上的結(jié)果相似。為了避免冗余,表6展示了最主要的共享訓(xùn)練性能退化系數(shù)情況。可以看到,GTX 1080上的共享訓(xùn)練性能變化情況與GTX 1080Ti幾乎相同。

      表6 GTX 1080上模型組合的共享訓(xùn)練性能退化比率

      結(jié)論6共享訓(xùn)練時的性能變化是普遍存在的,且在相同架構(gòu)的GPU中性能下降的趨勢是相似的。

      4 實踐建議

      根據(jù)以上實驗結(jié)論,我們提出了優(yōu)化GPU云平臺進程調(diào)度的若干參考原則。

      在分配GPU資源時,開發(fā)者一般需要考慮GPU內(nèi)存的分配。根據(jù)結(jié)論1,可以知道當(dāng)分配給訓(xùn)練進程的GPU內(nèi)存足以完成訓(xùn)練任務(wù)時,繼續(xù)分配額外的GPU內(nèi)存對訓(xùn)練效率幾乎沒有影響,這將會產(chǎn)生資源的浪費。由此可以得到:

      原則1GPU資源調(diào)度程序只需確保每個深度學(xué)習(xí)模型訓(xùn)練進程已經(jīng)被分配正常運行所需的最小GPU內(nèi)存。

      當(dāng)一個深度學(xué)習(xí)模型訓(xùn)練進程所需的資源已經(jīng)滿足時,就可以將剩余的GPU內(nèi)存分配給其他進程。結(jié)論2表明,是否應(yīng)該同時執(zhí)行兩個或多個模型訓(xùn)練進程,取決于具體情況??偨Y(jié)如下:

      原則2當(dāng)模型組合滿足rAB×rBA

      結(jié)論4顯示在共享訓(xùn)練時,較小模型的訓(xùn)練進程性能更容易受到影響。根據(jù)結(jié)論5,I/O競爭使得每個訓(xùn)練進程的性能都會不同程度的下降。而結(jié)論3表明不同模型的運算屬性差異明顯,這將增加系統(tǒng)的I/O操作量,使得I/O競爭更加嚴(yán)重。為了盡量避免這種影響,可以得到:

      原則3雖然某些情況下共享訓(xùn)練可以提高整體訓(xùn)練效率,但其中某些模型的訓(xùn)練進程效率可能會嚴(yán)重退化。在實踐中為了保證每個用戶的使用體驗,應(yīng)該盡量讓參數(shù)規(guī)模和運算屬性相近的模型共享訓(xùn)練。

      根據(jù)結(jié)論6,我們所提出的以上參考原則適用于所有利用CUDA Toolkit執(zhí)行通用計算任務(wù)的NVIDIA GPU。

      5 相關(guān)工作

      5.1 GPU云平臺資源調(diào)度優(yōu)化

      為了滿足現(xiàn)代云計算系統(tǒng)中對通用計算,尤其是深度學(xué)習(xí)相關(guān)的應(yīng)用程序的高性能需求,開發(fā)者引入了GPU虛擬化技術(shù)[12-13]。Giunta等[14]實現(xiàn)了提高云平臺GPU虛擬化性能的gVirtuS組件。Shi等[15]提供vCUDA以重定向虛擬機中的CUDA API從而啟用GPU加速。還有一系列的研究集中在GPU云平臺的資源管理上[16-17]。Phull等[18]提出了一個驅(qū)動的管理框架,以提高GPU集群的資源利用率。Qi等[19]提出了VGRIS框架,用來虛擬化和高效調(diào)度云游戲中的GPU資源。Li等[20]分析和評估GPU云計算中多媒體處理服務(wù)的定價策略。

      5.2 深度學(xué)習(xí)模型訓(xùn)練效率優(yōu)化

      深度學(xué)習(xí)模型的精度在不斷提升的同時,模型的結(jié)構(gòu)和參數(shù)規(guī)模也變得越來越大,這使得訓(xùn)練和部署變得困難。因此,一些工作的重點是在保持深度學(xué)習(xí)模型精度的同時減小模型的規(guī)模,使模型更適合在云平臺上訓(xùn)練和部署[21]。Iandola等[22]提出了一個與AlexNet精度相同的較小的圖像分類模型。Luo等[23]通過從神經(jīng)元中提取信息來壓縮人臉識別模型。一部分開發(fā)者利用分布式訓(xùn)練的方法提升效率。Storm[24]通過擴展分布式隨機梯度下降來加速訓(xùn)練神經(jīng)網(wǎng)絡(luò)。Chen等[25]利用數(shù)據(jù)并行性,通過增量訓(xùn)練加速深度學(xué)習(xí)機的訓(xùn)練。Iandola等[26]設(shè)計了FireCaffe,它專注于跨集群擴展深度學(xué)習(xí)模型訓(xùn)練,并減少集群間的通信開銷。

      6 結(jié) 語

      本文對深度學(xué)習(xí)模型在GPU設(shè)備上的共享訓(xùn)練性能進行了研究。我們重點關(guān)注在共享GPU設(shè)備資源的情況下,深度學(xué)習(xí)訓(xùn)練進程的性能表現(xiàn)將如何變化以及產(chǎn)生這種變化的原因。通過實驗研究,我們發(fā)現(xiàn)在共享訓(xùn)練的情況下,每個深度學(xué)習(xí)模型的訓(xùn)練進程的執(zhí)行時間都會延長,部分模型組合的總訓(xùn)練時間會縮短。造成訓(xùn)練進程性能退化的主要原因是額外的系統(tǒng)I/O操作使得進程的等待時間變得更長。這也導(dǎo)致規(guī)模相差懸殊的模型共享訓(xùn)練時,小模型的訓(xùn)練進程性能退化的情況更加嚴(yán)重。最后我們證明了以上實驗結(jié)論具有普遍性,所總結(jié)的原則有助于提高GPU云平臺上的資源利用率。

      猜你喜歡
      運算符進程內(nèi)存
      老祖?zhèn)魇诨具\算符
      債券市場對外開放的進程與展望
      中國外匯(2019年20期)2019-11-25 09:54:58
      “春夏秋冬”的內(nèi)存
      C++運算符重載剖析
      價值工程(2014年17期)2014-04-16 03:29:20
      社會進程中的新聞學(xué)探尋
      基于內(nèi)存的地理信息訪問技術(shù)
      我國高等教育改革進程與反思
      Linux僵死進程的產(chǎn)生與避免
      表達式求值及符號推導(dǎo)
      C++中運算符的重載應(yīng)用
      河源市| 浏阳市| 大连市| 邹城市| 治多县| 汽车| 三穗县| 丘北县| 颍上县| 尚义县| 铜山县| 香河县| 金湖县| 佛坪县| 安阳市| 石林| 会东县| 鸡泽县| 两当县| 黄骅市| 伊川县| 北流市| 西城区| 丹江口市| 通江县| 郁南县| 华阴市| 应城市| 汉中市| 宝应县| 高陵县| 赤城县| 光泽县| 连城县| 成都市| 葵青区| 云浮市| 莱阳市| 河间市| 定边县| 湾仔区|