?

基于邊緣云計算的混合并行AI訓練機制研究

2023-02-08 07:01賀迎先
關鍵詞:計算中心和云邊緣

賀迎先

(安徽三聯學院 財會學院,合肥 230601)

近年來,人工智能(Artificial Intelligence,AI)模型和算法受到了學術界和工業界越來越多的關注,并被應用到諸如圖像識別、自然語言處理、推薦系統等領域[1-3].此外,隨著邊緣計算的發展和物聯網對AI應用需求的誕生,許多基于實時深度學習的邊緣AI應用正在智能醫療、智能機器人和工業物聯網等各個領域涌現.作為一種數據驅動的方法,基于深度學習的邊緣AI需要有足夠的數據樣本,以通過深度神經網絡提取數據的特征或屬性.這些數據樣本通常是由通信和計算能力有限的設備產生.因此,如何有效利用邊緣設備的通信和計算能力來訓練AI模型是在邊緣計算環境中提高訓練效率需要解決的關鍵問題.本文提出了基于邊緣云計算的混合并行訓練框架(Edge-Cloud based Hybrid Parallel Training Framework,ECHPT),ECHPT能有效地將AI模型的訓練任務分配到終端設備、邊緣服務器和云計算中心,縮短訓練時間,實現快速邊緣AI學習.

1 ECHPT訓練框架設計

本文所提出的ECHPT框架由三個階段組成:分析、優化和分層訓練.在分析階段,ECHPT首先分別分析設備、邊緣和云計算節點中不同模型層的平均執行時間;然后分析模型中每一層輸出的大小.ECHPT在邊緣云的每個計算節點上進行一次訓練迭代,記錄不同AI層的執行時間和輸出大小.該過程將被重復幾十次,然后取平均值以獲得穩定的結果.由于模型中每一層的輸出大小是固定的,因此只需要記錄一次.由于大多數的AI模型具有固定的結構,因此可以以離線方式執行該分析步驟以減少時間開銷.

在優化階段,分層訓練優化器選擇最佳AI模型分區點,并分別確定終端設備、邊緣服務器和云計算中心計算節點的訓練樣本數量.優化器的目標是最小化AI訓練時間,優化器需要考慮:計算節點中不同模型層的分析平均執行時間、模型每一層輸出的大小和設備和邊緣服務器之間以及邊緣服務器與云計算中心之間的可用帶寬.

在分層訓練階段,終端設備首先根據優化階段給出的調度策略將分配的數據樣本發送到邊緣服務器和云計算中心.隨后設備、邊緣服務器和云計算中心立即啟動它們的預定訓練任務(即分配的模型訓練模塊),并以分層方式進行協作模型訓練.

2 ECHPT訓練流程

AI模型由一系列不同的層堆疊而成,一層的輸出饋入下一層的輸入.ECHPT的目標是減少邊緣云環境中的整體訓練時間.為此,首先定義了三種類型的訓練任務,其中,原任務訓練了整個AI模型,數據樣本為bo;短任務訓練了ms個連續層,數據樣本為bs;長任務訓練了ml個連續層,數據樣本為bl.

workers使用數據樣本bs在分配的層上執行前向階段,即通過AI模型進行推理以獲得當前模型損失.完成該前向階段后,workers將輸出發送到workero,workero繼續在其余層上執行前向階段.workerl的行為與workers相同,使用數據樣本bl.workero使用數據樣本bo執行前向階段.當前向階段結束后,workero從數據樣本B=bs+bl+bo中收集模型損失.

對于每個數據樣本,workero從AI模型的最后一層開始反向階段,即使用損失進行反向傳播以獲得隨機梯度.如果數據樣本屬于workero,則workero執行完整的后向階段.如果數據樣本屬于workerl,則workero在到達ml+1層時將中間結果發送給workerl,workerl繼續在其余層上執行反向階段.同理,workero在到達ms+1層時將中間結果發送給workers.當后向階段結束時,每個計算節點都會獲得所分配層的隨機梯度.

workerl和workers將計算出的隨機梯度發送給workero.然后workero逐層平均隨機梯度,并根據分配給它們的層將平均隨機梯度發送給workerl和workers.計算節點分別使用這些隨機梯度來更新對應分配層的權重.

3 調度優化模型

ECHPT的核心是調度策略,該調度策略決定了如何分配將模型層和數據樣本,以實現最小化訓練時間.假設AI模型有N個層,每個數據樣本的大小為Q個比特.

反向階段結束后,workerl和workers將隨機梯度發送給workero.workero根據分配給他們的層將平均隨機梯度發送給workerl和workers.權重更新階段的總時間成本表示為:

(1)

(2)

優化問題(2)的決策變量bo、bs、bl、ms和ml都是非負整數.通過枚舉所有的映射關系,計算出每一個映射的最優調度策略,然后找到全局最優調度策略.

4 調度算法設計

優化問題的決策變量都是整數,求解該問題具有挑戰性.當變量ms和ml固定時,優化問題將成為整數線性規劃問題.因此,通過枚舉ms和ml的值,解決由此產生的整數線性規劃問題,然后在解決方案中找到最好的一個.

隨后,需要確定設備、邊緣服務器和云計算中心計算節點與workero、workers和workerl之間的最佳映射策略.對此,可以枚舉所有映射,為每個映射找到一個候選的最優調度策略,然后選擇訓練時間最短的最佳映射策略.

5 實驗評估

為了評估ECHPT框架,實驗部分使用兩個主流的、用于圖像分類的神經網絡:第一個是LeNet-5,使用CIFAR-10數據集進行訓練;第二個是AlexNet,使用ImageNet數據集進行訓練.實驗使用樹莓派作為終端設備,該設備擁有一個四核的ARM處理器和1 GB的內存.使用普通的個人電腦作為邊緣服務器,該電腦配備英特爾酷睿i3-10110U處理器和8 GB內存.使用配置有志強W-2223處理器、64GB內存和GeForce GTX 3080Ti顯卡的服務器作為云計算中心.實驗使用邊緣框架、云計算框架、協同框架[4]和JALAD框架[5]作為對比的方案.其中,邊緣框架將所有訓練數據樣本傳輸到邊緣服務器,由邊緣服務器完成AI模型訓練;云計算框架將所有訓練數據樣本傳輸到云計算中心,由云計算中心完成AI模型訓練;協同框架同時使用終端設備和云計算中心共同訓練 AI模型;JALAD利用邊緣服務器和云計算中心共同訓練AI模型,并應用數據壓縮策略來減少邊緣云傳輸延遲.

首先驗證了ECHPT框架在分析AI模型訓練延遲的準確性.通過訓練AlexNet,獲得了實驗測量的實際延遲和理論延遲,結果如圖1所示.由對比結果可知,實際延遲和理論延遲之間的差別較小,這表明了ECHPT框架在分析訓練延遲方面具有較高的準確性.

圖1 訓練時間的分析準確性

圖2和圖3分別展示了不同邊緣云帶寬下五種框架一次迭代的平均訓練時間.云計算框架的訓練時間隨著邊緣云帶寬的增加而降低,而邊緣框架的時間成本保持不變.與邊緣框架和云計算框架相比,ECHPT框架在訓練AlexNet時分別實現了高達2.3倍和4.5倍的加速,而在訓練LeNet-5時分別實現了高達1.7倍和6.9倍的加速.在訓練AlexNet時,當邊緣云帶寬較低時,JALAD的表現優于ECHPT.原因是JALAD的數據壓縮策略可以大大減少邊緣服務器和云計算中心之間傳輸的數據量,使JALAD在低帶寬條件下具有優勢.但是,當帶寬增加時,通過數據壓縮減少通信延遲的優勢便不明顯,此時ECHPT的性能優于JALAD.

圖2 五種框架的AlexNet訓練時間對比

圖3 五種框架的LeNet-5訓練時間對比

6 結語

本文提出了一種用于訓練AI模型的混合并行框架——ECHPT,將AI模型訓練的調度問題建模為訓練時間最小化問題,通過求解該優化問題得到調度策略.實驗部分通過將ECHPT與現有的方法相比,驗證了ECHPT框架的有效性.實驗結果表明,ECHPT框架能夠降低AI模型的訓練時間.未來的工作將把ECHPT框架部署到多終端設備、多邊緣服務器的現實環境中,結合不同的AI模型和應用,進一步評估框架的性能.

猜你喜歡
計算中心和云邊緣
中國—東盟人工智能計算中心正式發布
面向反應堆設計的高性能計算中心建設及應用
騰訊云首個5G邊緣計算中心正式對外開放
基于定位系統和云計算的電纜線路智能巡檢系統
一張圖看懂邊緣計算
2017多媒體和云研討會
花婆婆和云
2017多媒體和云研討會
西部最大規模云計算中心啟動
在邊緣尋找自我
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合