賀迎先
(安徽三聯(lián)學(xué)院 財會學(xué)院,合肥 230601)
近年來,人工智能(Artificial Intelligence,AI)模型和算法受到了學(xué)術(shù)界和工業(yè)界越來越多的關(guān)注,并被應(yīng)用到諸如圖像識別、自然語言處理、推薦系統(tǒng)等領(lǐng)域[1-3].此外,隨著邊緣計算的發(fā)展和物聯(lián)網(wǎng)對AI應(yīng)用需求的誕生,許多基于實時深度學(xué)習(xí)的邊緣AI應(yīng)用正在智能醫(yī)療、智能機器人和工業(yè)物聯(lián)網(wǎng)等各個領(lǐng)域涌現(xiàn).作為一種數(shù)據(jù)驅(qū)動的方法,基于深度學(xué)習(xí)的邊緣AI需要有足夠的數(shù)據(jù)樣本,以通過深度神經(jīng)網(wǎng)絡(luò)提取數(shù)據(jù)的特征或?qū)傩?這些數(shù)據(jù)樣本通常是由通信和計算能力有限的設(shè)備產(chǎn)生.因此,如何有效利用邊緣設(shè)備的通信和計算能力來訓(xùn)練AI模型是在邊緣計算環(huán)境中提高訓(xùn)練效率需要解決的關(guān)鍵問題.本文提出了基于邊緣云計算的混合并行訓(xùn)練框架(Edge-Cloud based Hybrid Parallel Training Framework,ECHPT),ECHPT能有效地將AI模型的訓(xùn)練任務(wù)分配到終端設(shè)備、邊緣服務(wù)器和云計算中心,縮短訓(xùn)練時間,實現(xiàn)快速邊緣AI學(xué)習(xí).
本文所提出的ECHPT框架由三個階段組成:分析、優(yōu)化和分層訓(xùn)練.在分析階段,ECHPT首先分別分析設(shè)備、邊緣和云計算節(jié)點中不同模型層的平均執(zhí)行時間;然后分析模型中每一層輸出的大小.ECHPT在邊緣云的每個計算節(jié)點上進行一次訓(xùn)練迭代,記錄不同AI層的執(zhí)行時間和輸出大小.該過程將被重復(fù)幾十次,然后取平均值以獲得穩(wěn)定的結(jié)果.由于模型中每一層的輸出大小是固定的,因此只需要記錄一次.由于大多數(shù)的AI模型具有固定的結(jié)構(gòu),因此可以以離線方式執(zhí)行該分析步驟以減少時間開銷.
在優(yōu)化階段,分層訓(xùn)練優(yōu)化器選擇最佳AI模型分區(qū)點,并分別確定終端設(shè)備、邊緣服務(wù)器和云計算中心計算節(jié)點的訓(xùn)練樣本數(shù)量.優(yōu)化器的目標是最小化AI訓(xùn)練時間,優(yōu)化器需要考慮:計算節(jié)點中不同模型層的分析平均執(zhí)行時間、模型每一層輸出的大小和設(shè)備和邊緣服務(wù)器之間以及邊緣服務(wù)器與云計算中心之間的可用帶寬.
在分層訓(xùn)練階段,終端設(shè)備首先根據(jù)優(yōu)化階段給出的調(diào)度策略將分配的數(shù)據(jù)樣本發(fā)送到邊緣服務(wù)器和云計算中心.隨后設(shè)備、邊緣服務(wù)器和云計算中心立即啟動它們的預(yù)定訓(xùn)練任務(wù)(即分配的模型訓(xùn)練模塊),并以分層方式進行協(xié)作模型訓(xùn)練.
AI模型由一系列不同的層堆疊而成,一層的輸出饋入下一層的輸入.ECHPT的目標是減少邊緣云環(huán)境中的整體訓(xùn)練時間.為此,首先定義了三種類型的訓(xùn)練任務(wù),其中,原任務(wù)訓(xùn)練了整個AI模型,數(shù)據(jù)樣本為bo;短任務(wù)訓(xùn)練了ms個連續(xù)層,數(shù)據(jù)樣本為bs;長任務(wù)訓(xùn)練了ml個連續(xù)層,數(shù)據(jù)樣本為bl.
workers使用數(shù)據(jù)樣本bs在分配的層上執(zhí)行前向階段,即通過AI模型進行推理以獲得當(dāng)前模型損失.完成該前向階段后,workers將輸出發(fā)送到workero,workero繼續(xù)在其余層上執(zhí)行前向階段.workerl的行為與workers相同,使用數(shù)據(jù)樣本bl.workero使用數(shù)據(jù)樣本bo執(zhí)行前向階段.當(dāng)前向階段結(jié)束后,workero從數(shù)據(jù)樣本B=bs+bl+bo中收集模型損失.
對于每個數(shù)據(jù)樣本,workero從AI模型的最后一層開始反向階段,即使用損失進行反向傳播以獲得隨機梯度.如果數(shù)據(jù)樣本屬于workero,則workero執(zhí)行完整的后向階段.如果數(shù)據(jù)樣本屬于workerl,則workero在到達ml+1層時將中間結(jié)果發(fā)送給workerl,workerl繼續(xù)在其余層上執(zhí)行反向階段.同理,workero在到達ms+1層時將中間結(jié)果發(fā)送給workers.當(dāng)后向階段結(jié)束時,每個計算節(jié)點都會獲得所分配層的隨機梯度.
workerl和workers將計算出的隨機梯度發(fā)送給workero.然后workero逐層平均隨機梯度,并根據(jù)分配給它們的層將平均隨機梯度發(fā)送給workerl和workers.計算節(jié)點分別使用這些隨機梯度來更新對應(yīng)分配層的權(quán)重.
ECHPT的核心是調(diào)度策略,該調(diào)度策略決定了如何分配將模型層和數(shù)據(jù)樣本,以實現(xiàn)最小化訓(xùn)練時間.假設(shè)AI模型有N個層,每個數(shù)據(jù)樣本的大小為Q個比特.
反向階段結(jié)束后,workerl和workers將隨機梯度發(fā)送給workero.workero根據(jù)分配給他們的層將平均隨機梯度發(fā)送給workerl和workers.權(quán)重更新階段的總時間成本表示為:
(1)
(2)
優(yōu)化問題(2)的決策變量bo、bs、bl、ms和ml都是非負整數(shù).通過枚舉所有的映射關(guān)系,計算出每一個映射的最優(yōu)調(diào)度策略,然后找到全局最優(yōu)調(diào)度策略.
優(yōu)化問題的決策變量都是整數(shù),求解該問題具有挑戰(zhàn)性.當(dāng)變量ms和ml固定時,優(yōu)化問題將成為整數(shù)線性規(guī)劃問題.因此,通過枚舉ms和ml的值,解決由此產(chǎn)生的整數(shù)線性規(guī)劃問題,然后在解決方案中找到最好的一個.
隨后,需要確定設(shè)備、邊緣服務(wù)器和云計算中心計算節(jié)點與workero、workers和workerl之間的最佳映射策略.對此,可以枚舉所有映射,為每個映射找到一個候選的最優(yōu)調(diào)度策略,然后選擇訓(xùn)練時間最短的最佳映射策略.
為了評估ECHPT框架,實驗部分使用兩個主流的、用于圖像分類的神經(jīng)網(wǎng)絡(luò):第一個是LeNet-5,使用CIFAR-10數(shù)據(jù)集進行訓(xùn)練;第二個是AlexNet,使用ImageNet數(shù)據(jù)集進行訓(xùn)練.實驗使用樹莓派作為終端設(shè)備,該設(shè)備擁有一個四核的ARM處理器和1 GB的內(nèi)存.使用普通的個人電腦作為邊緣服務(wù)器,該電腦配備英特爾酷睿i3-10110U處理器和8 GB內(nèi)存.使用配置有志強W-2223處理器、64GB內(nèi)存和GeForce GTX 3080Ti顯卡的服務(wù)器作為云計算中心.實驗使用邊緣框架、云計算框架、協(xié)同框架[4]和JALAD框架[5]作為對比的方案.其中,邊緣框架將所有訓(xùn)練數(shù)據(jù)樣本傳輸?shù)竭吘壏?wù)器,由邊緣服務(wù)器完成AI模型訓(xùn)練;云計算框架將所有訓(xùn)練數(shù)據(jù)樣本傳輸?shù)皆朴嬎阒行?,由云計算中心完成AI模型訓(xùn)練;協(xié)同框架同時使用終端設(shè)備和云計算中心共同訓(xùn)練 AI模型;JALAD利用邊緣服務(wù)器和云計算中心共同訓(xùn)練AI模型,并應(yīng)用數(shù)據(jù)壓縮策略來減少邊緣云傳輸延遲.
首先驗證了ECHPT框架在分析AI模型訓(xùn)練延遲的準確性.通過訓(xùn)練AlexNet,獲得了實驗測量的實際延遲和理論延遲,結(jié)果如圖1所示.由對比結(jié)果可知,實際延遲和理論延遲之間的差別較小,這表明了ECHPT框架在分析訓(xùn)練延遲方面具有較高的準確性.
圖1 訓(xùn)練時間的分析準確性
圖2和圖3分別展示了不同邊緣云帶寬下五種框架一次迭代的平均訓(xùn)練時間.云計算框架的訓(xùn)練時間隨著邊緣云帶寬的增加而降低,而邊緣框架的時間成本保持不變.與邊緣框架和云計算框架相比,ECHPT框架在訓(xùn)練AlexNet時分別實現(xiàn)了高達2.3倍和4.5倍的加速,而在訓(xùn)練LeNet-5時分別實現(xiàn)了高達1.7倍和6.9倍的加速.在訓(xùn)練AlexNet時,當(dāng)邊緣云帶寬較低時,JALAD的表現(xiàn)優(yōu)于ECHPT.原因是JALAD的數(shù)據(jù)壓縮策略可以大大減少邊緣服務(wù)器和云計算中心之間傳輸?shù)臄?shù)據(jù)量,使JALAD在低帶寬條件下具有優(yōu)勢.但是,當(dāng)帶寬增加時,通過數(shù)據(jù)壓縮減少通信延遲的優(yōu)勢便不明顯,此時ECHPT的性能優(yōu)于JALAD.
圖2 五種框架的AlexNet訓(xùn)練時間對比
圖3 五種框架的LeNet-5訓(xùn)練時間對比
本文提出了一種用于訓(xùn)練AI模型的混合并行框架——ECHPT,將AI模型訓(xùn)練的調(diào)度問題建模為訓(xùn)練時間最小化問題,通過求解該優(yōu)化問題得到調(diào)度策略.實驗部分通過將ECHPT與現(xiàn)有的方法相比,驗證了ECHPT框架的有效性.實驗結(jié)果表明,ECHPT框架能夠降低AI模型的訓(xùn)練時間.未來的工作將把ECHPT框架部署到多終端設(shè)備、多邊緣服務(wù)器的現(xiàn)實環(huán)境中,結(jié)合不同的AI模型和應(yīng)用,進一步評估框架的性能.