本發(fā)明屬于計算機科學,涉及深度學習和強化學習,特別涉及面向深度強化學習模型訓練的異構(gòu)算力資源配置優(yōu)化方法。
背景技術(shù):
1、自alphago問世以來,深度強化學習技術(shù)在計算效率和資源優(yōu)化方面取得了顯著進展。model-based?muzero系列算法以較低的硬件要求實現(xiàn)了高效的訓練過程,顯著提高了樣本效率,代表了技術(shù)的一個重要發(fā)展方向。
2、model-based?muzero系列算法的核心架構(gòu)包括replay?buffer、self-playworker、representation?network、prediction?network、dynamics?network、trainingloop等多個關(guān)鍵組件,這些組件通過復雜的圖結(jié)構(gòu)連接起來,以實現(xiàn)數(shù)據(jù)和控制流的交互。
3、其中,replay?buffer負責存儲訓練過程中產(chǎn)生的數(shù)據(jù)轉(zhuǎn)換(transitions),關(guān)鍵超參數(shù)為batch_size,主要的數(shù)據(jù)指標為轉(zhuǎn)換數(shù)量(number?of?transitions)和緩沖區(qū)長度。self-play?worker執(zhí)行自我對弈任務(wù)以生成新的訓練數(shù)據(jù),關(guān)鍵超參數(shù)為蒙特卡洛樹搜索并行數(shù)量mcts_simulations,計算成本為自我對弈的運行次數(shù)。representationnetwork用于將當前觀測狀態(tài)轉(zhuǎn)換為隱藏狀態(tài)表示,關(guān)鍵超參數(shù)包括網(wǎng)絡(luò)深度和隱藏層單元數(shù),計算成本與前向傳播計算量相關(guān)。prediction?network基于隱藏狀態(tài)預測策略和價值,關(guān)鍵超參數(shù)包括策略頭和價值頭的結(jié)構(gòu)和大小,計算成本包括策略和價值的計算復雜度。dynamics?network根據(jù)當前隱藏狀態(tài)和動作預測下一個隱藏狀態(tài)和獎勵,關(guān)鍵超參數(shù)為狀態(tài)和獎勵預測的網(wǎng)絡(luò)結(jié)構(gòu),計算成本與狀態(tài)轉(zhuǎn)移和獎勵計算相關(guān)。training?loop使用replay?buffer中的數(shù)據(jù)進行模型訓練,涉及表示網(wǎng)絡(luò)、預測網(wǎng)絡(luò)和動力網(wǎng)絡(luò)的參數(shù)更新,關(guān)鍵超參數(shù)包括訓練批次大小train_batch_size和學習率,計算成本包括反向傳播和梯度下降的迭代次數(shù)。
4、盡管model-based?muzero系列算法在計算效率和樣本效率方面取得了顯著進展,但仍面臨著的計算資源管理挑戰(zhàn)。例如,上述的算法核心組件都對計算和內(nèi)存資源有著極高的需求。高并行度的蒙特卡洛樹搜索需要大量cpu資源,神經(jīng)網(wǎng)絡(luò)的計算過程需要大量gpu資源,而大規(guī)模訓練數(shù)據(jù)的生成、存儲和處理又增加了內(nèi)存和存儲設(shè)備的負擔。這些高強度的計算和內(nèi)存需求直接影響了算法的可擴展性和實際應(yīng)用范圍,也增加了系統(tǒng)的復雜性和管理難度。此外,model-based?muzero系列算法的性能和資源利用效率高度依賴于一系列關(guān)鍵超參數(shù)的精確調(diào)節(jié)。這些參數(shù)不僅與具體的硬件配置和問題特性密切相關(guān),相互之間還存在影響,多組件間的復雜交互造成資源需求在訓練過程中動態(tài)變化,進一步增加了優(yōu)化的難度。尋找最優(yōu)配置通常需要進行大量實驗,這本身就是一個資源密集型任務(wù),形成了一個需要權(quán)衡的悖論。
5、因此,亟需一種在保持算法性能的同時,能提高資源利用效率和能源效率的方法,以實現(xiàn)計算效率、樣本效率和資源效率的統(tǒng)一優(yōu)化。
技術(shù)實現(xiàn)思路
1、針對現(xiàn)有技術(shù)的不足,本發(fā)明提出了面向深度強化學習模型訓練的異構(gòu)算力資源配置優(yōu)化方法,用于根據(jù)不同訓練階段的需求,動態(tài)分配model-based?muzero系列算法的gpu和cpu資源,在保持算法性能的同時,能提高資源利用效率和能源效率。
2、面向深度強化學習模型訓練的異構(gòu)算力資源配置優(yōu)化方法,具體包括以下步驟:
3、步驟1、運行時間預測
4、步驟1.1、構(gòu)建一個預測模型,以model-based?muzero系列算法中的組件作為節(jié)點,組件間的交互關(guān)系作為邊,使用異構(gòu)圖來描述組件間的關(guān)系,其中,是節(jié)點集合,是邊集合,表示節(jié)點特征矩陣,表示邊特征矩陣,為節(jié)點總數(shù),是節(jié)點特征的維度,是邊的總數(shù),是邊特征的維度。所述節(jié)點的類型包括replay?buffer、self-play?worker、神經(jīng)網(wǎng)絡(luò)和training?loop。
5、步驟1.2、將節(jié)點和邊的特征映射到同一隱藏空間:
6、
7、其中,?和??分別是節(jié)點和邊的特征轉(zhuǎn)換函數(shù),是隱藏層的維度。表示節(jié)點的特征向量;表示邊的特征向量,、。和?分別表示轉(zhuǎn)換后的節(jié)點和邊特征。
8、使用多頭注意力機制更新節(jié)點特征:
9、
10、其中,是節(jié)點的鄰接節(jié)點集,表示更新后的節(jié)點特征,表示節(jié)點的鄰接節(jié)點特征。
11、步驟1.3、對所有節(jié)點和邊的特征進行全局匯總,獲得代表整個圖結(jié)構(gòu)的全局節(jié)點特征和全局邊特征:
12、
13、根據(jù)全局特征預測model-based?muzero系列算法的運行時間:
14、
15、其中,?和??是權(quán)重矩陣,?是偏置向量。根據(jù)預測的運行時間與實際運行時間計算均方誤差(mse),并優(yōu)化預測模型的參數(shù)。
16、步驟2、計算資源配置優(yōu)化
17、步驟2.1、設(shè)定初始配置參數(shù),包括批處理緩沖區(qū)大小(batch_buffer_size)、cpu行為(cpu_actor)、存儲大?。╩cts_storage_size)和循環(huán)計數(shù)(loop_count)。執(zhí)行基線測試,記錄初始配置下的訓練時間。
18、步驟2.2、向步驟1訓練后的預測模型輸入初始的配置參數(shù),預測在當前配置下的訓練時間。使用步驟2.1中基線測試的歷史數(shù)據(jù)驗證和校準預測模型。
19、步驟2.3、使用模擬退火算法優(yōu)化model-based?muzero系列算法的資源配置方案,具體包括以下步驟:
20、步驟2.3.1、參數(shù)初始化:
21、將模擬退火算法中的狀態(tài)設(shè)置為model-based?muzero系列算法的配置參數(shù),以步驟2.1中的初始配置參數(shù)作為初始狀態(tài)。將溫度設(shè)置為接受次優(yōu)解概率的調(diào)節(jié)參數(shù),設(shè)置初始溫度為t0。將能量設(shè)置為預測模型輸出的預測訓練時間。
22、步驟2.3.2、狀態(tài)轉(zhuǎn)移:
23、在當前狀態(tài)的鄰域內(nèi),根據(jù)均勻分布或正態(tài)分布隨機選擇一個新狀態(tài),記錄狀態(tài)轉(zhuǎn)移概率,使用預測模型預測新狀態(tài)對應(yīng)的能量,為迭代次數(shù)。
24、步驟2.3.3、優(yōu)化迭代:
25、比較狀態(tài)更新前、后能量、的大小,若<,則將狀態(tài)更新為,將溫度更新為,并返回步驟2.3.2進行下一次迭代,其中為降溫因子。否則,比較狀態(tài)轉(zhuǎn)移概率與的大小,若>,則將狀態(tài)更新為,將溫度更新為,并返回步驟2.3.2進行下一次迭代,否則,保留狀態(tài),更新溫度為后返回步驟2.3.2進行下一次迭代。當達到預設(shè)溫度或預設(shè)迭代次數(shù)時,停止迭代,輸出當前狀態(tài)對應(yīng)的配置參數(shù)。
26、基于狀態(tài)轉(zhuǎn)移概率與隨機概率p的比較結(jié)果進行狀態(tài)更新,可以保持探索與利用之間的平衡。
27、步驟2.4、基于步驟2.3得到的配置參數(shù)和歷史運行數(shù)據(jù)h,動態(tài)分配cpu、gpu和內(nèi)存資源,所述歷史數(shù)據(jù)h包括過往配置下的資源使用率與訓練時間:
28、cpu資源分配:
29、
30、其中,表示動態(tài)分配給cpu的資源量;是系統(tǒng)允許的最小cpu資源限制,以確保基本運行需求;是系統(tǒng)允許的最大cpu資源限制,以防止資源過度分配;()是一個預測cpu需求的函數(shù),根據(jù)當前配置參數(shù)、溫度和歷史數(shù)據(jù)進行計算。通過制約條件和,確保分配的cpu資源在最小和最大限制之間,從而提高系統(tǒng)的運行效率和性能。
31、gpu資源分配:
32、
33、其中,?表示分配的gpu數(shù)量,?為最低所需的gpu數(shù)量,由算法復雜度和數(shù)據(jù)規(guī)模決定;?為可用的最大gpu數(shù)量,代表資源的上限,避免資源浪費。()是應(yīng)用于當前配置參數(shù)、溫度及歷史運行數(shù)據(jù)的gpu資源預測函數(shù)。
34、內(nèi)存分配:
35、
36、其中,()是預測內(nèi)存需求的函數(shù),代表被分配的內(nèi)存資源量。表示系統(tǒng)可用內(nèi)存的最小限度,確保系統(tǒng)在運行過程中不會因為內(nèi)存不足而出現(xiàn)崩潰或性能下降。而則為系統(tǒng)支持的最大內(nèi)存限制,避免因超出系統(tǒng)能力而導致的不穩(wěn)定運行。
37、步驟2.5、資源均衡與調(diào)整
38、根據(jù)步驟2.4的結(jié)果進行資源分配,完成訓練任務(wù)。根據(jù)訓練結(jié)果計算資源均衡因子:
39、
40、
41、
42、當??時,表示資源過度分配,此時優(yōu)先減少cpu和內(nèi)存資源;當??時,表示資源不足,此時優(yōu)先增加gpu資源。
43、與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
44、1、精確的性能預測:通過異構(gòu)圖神經(jīng)網(wǎng)絡(luò)捕捉model-based?muzero系列算法各組件間的復雜交互,能夠準確預測不同配置下的運行時間。這種精確預測為模擬退火過程中的決策提供了可靠依據(jù),顯著減少了無效搜索。
45、2、動態(tài)適應(yīng)能力:結(jié)合預測模型的實時預測和模擬退火的溫度調(diào)節(jié)機制,能夠根據(jù)訓練過程中的性能變化動態(tài)調(diào)整配置。這種適應(yīng)性使得系統(tǒng)能夠在model-based?muzero系列算法的不同訓練階段自動調(diào)整資源分配,如在早期探索階段增加計算資源,而在后期收斂階段適當減少資源。
46、3、全局最優(yōu)解高效探索:模擬退火算法的隨機性結(jié)合預測模型的指導,使得系統(tǒng)能夠在muzero的高維配置空間中更有效地探索全局最優(yōu)解。與傳統(tǒng)的網(wǎng)格搜索或隨機搜索相比,能夠更快地收斂到高質(zhì)量解,來找到與窮舉搜索相當?shù)淖顑?yōu)解。這一特性不僅提高了搜索效率,還能發(fā)現(xiàn)一些非直觀但性能卓越的配置組合。
47、4、本方法不僅顯著提高了model-based?muzero系列算法的訓練效率和資源利用率,還為算法在大規(guī)模復雜問題上的應(yīng)用提供了可能。通過減少訓練時間和優(yōu)化資源使用,有助于降低model-based?muzero系列算法的部署成本,加速其在實際應(yīng)用中的落地進程。并且該方法具有良好的泛化性,易于擴展到其他復雜的強化學習算法配置優(yōu)化中。