中文題目:面向異構(gòu)集群的大模型高吞吐量混合并行推理
論文題目:Hybrid Parallel Inference for Large Model on Heterogeneous Clusters for High Throughput
錄用期刊/會(huì)議:IEEE 29th International Conference on Parallel and Distributed Systems (ICPADS) 2023 (CCF C)
原文鏈接:https://ieee-cybermatics.org/2023/icpads/icpads-2023-accepted.htm
錄用時(shí)間:2023年10月27日
作者列表:
1) 徐朝農(nóng) 中國(guó)石油大學(xué)(北京)信息科學(xué)與工程學(xué)院/人工智能學(xué)院 計(jì)算機(jī)系教師
2) 孔維明 中國(guó)石油大學(xué)(北京)信息科學(xué)與工程學(xué)院/人工智能學(xué)院 計(jì)算機(jī)技術(shù)專(zhuān)業(yè) 碩 21
3) 劉 民 中國(guó)石油大學(xué)(北京)信息科學(xué)與工程學(xué)院/人工智能學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè) 碩 21
4) 張明明 中國(guó)石油大學(xué)(北京)信息科學(xué)與工程學(xué)院/人工智能學(xué)院 計(jì)算機(jī)技術(shù)專(zhuān)業(yè) 碩 21
5) 李 超 之江實(shí)驗(yàn)室
6) 宮祿齊 之江實(shí)驗(yàn)室
文章簡(jiǎn)介:
深度學(xué)習(xí)技術(shù)在各種工業(yè)場(chǎng)景中被廣泛使用以提高工作效率。在高吞吐量場(chǎng)景中,深度神經(jīng)網(wǎng)絡(luò)模型(DNN)的輸入數(shù)據(jù)生成速度遠(yuǎn)快于其消耗速度。模型需要快速推理并盡可能快地做出實(shí)時(shí)決策。現(xiàn)有的模型推理加速方法,比如模型壓縮、自適應(yīng)推理和神經(jīng)架構(gòu)搜索,都是通過(guò)犧牲精度來(lái)減少模型推理所需的計(jì)算量。在不損失準(zhǔn)確性的情況下,最有效的方法是數(shù)據(jù)并行(DP)推理。因?yàn)樗梢酝瑫r(shí)處理多個(gè)批次,幾乎可以線(xiàn)性增加推斷速度。但是,數(shù)據(jù)并行的模型的大小受到設(shè)備內(nèi)存的限制。對(duì)于無(wú)法由單一設(shè)備容納的大型模型,通常使用流水線(xiàn)并行(PP)來(lái)加速過(guò)程。PP經(jīng)常用于模型訓(xùn)練,并且也可以用于大模型推理。然而,PP中設(shè)備間的通信開(kāi)銷(xiāo)是主要的性能瓶頸,尤其是當(dāng)PP中的階段太多時(shí)。因此,DP或PP很難滿(mǎn)足高吞吐量推斷場(chǎng)景,我們必須結(jié)合這兩種并行方法來(lái)開(kāi)發(fā)一個(gè)合理的混合并行推理策略。而又由于近年來(lái)AI計(jì)算設(shè)備的快速迭代和進(jìn)步,計(jì)算環(huán)境很可能包含具有不同計(jì)算能力、內(nèi)存容量和通信帶寬的設(shè)備以最小化成本。因此,異構(gòu)集群的計(jì)算場(chǎng)景十分常見(jiàn),這進(jìn)一步加劇了尋找最佳混合并行策略的難度。
本文的主要內(nèi)容如下:
(1)本文提出了一種混合并行推理策略,該策略將異構(gòu)設(shè)備群集進(jìn)行分組,執(zhí)行組間數(shù)據(jù)并行、組內(nèi)流水線(xiàn)并行。通過(guò)控制數(shù)據(jù)并行組數(shù)、組內(nèi)設(shè)備分配和模型流水線(xiàn)分區(qū)比例,可以實(shí)現(xiàn)最短的推斷時(shí)間。本文還基于該策略實(shí)現(xiàn)了一個(gè)高效的多設(shè)備調(diào)度推理運(yùn)行時(shí)系統(tǒng)。
(2)提出了一種基于枚舉和動(dòng)態(tài)規(guī)劃的最小化推理時(shí)延算法,用于生成最優(yōu)的混合并行調(diào)度策略。
(3)在一個(gè)具有8塊RTX3090的異構(gòu)集群上的進(jìn)行了實(shí)驗(yàn)評(píng)估,與PipeEdge相比,本文提出的混合并行策略的吞吐量提高了1.7倍到3.4倍。
摘要:
在高吞吐量智能計(jì)算場(chǎng)景中,基于數(shù)據(jù)并行或流水線(xiàn)并行的多設(shè)備并行策略已被廣泛利用來(lái)加速大型深度神經(jīng)網(wǎng)絡(luò)模型推理。數(shù)據(jù)并行提供了幾乎線(xiàn)性的推斷速度改進(jìn),但它受到單個(gè)設(shè)備的內(nèi)存容量限制,這限制了模型大小。另一方面,流水線(xiàn)并行可以支持更大的模型,但設(shè)備間激活數(shù)據(jù)的總通信量高,這限制了推理速度的提升。為了滿(mǎn)足高吞吐量異構(gòu)場(chǎng)景中模型高效推理的需求,本文提出了一種混合并行策略,結(jié)合了數(shù)據(jù)并行和流水線(xiàn)并行。該策略包括對(duì)異構(gòu)設(shè)備群集進(jìn)行分組,然后采用組間數(shù)據(jù)并行以及組內(nèi)流水線(xiàn)并行推理。此外,本文提出了一種最小化單Batch推理時(shí)延的算法,以找到具有最大吞吐量的最優(yōu)混合并行推理的調(diào)度方案。該算法的控制變量包括組的數(shù)量、組設(shè)備分配和模型分割比例。本文實(shí)驗(yàn)評(píng)估表明,與PipeEdge(一個(gè)針對(duì)異構(gòu)集群的流水線(xiàn)并行推理框架)相比,本文的策略在一個(gè)擁有8塊RTX 3090的異構(gòu)集群中可以實(shí)現(xiàn)1.7倍到3.4倍的加速,且不損失模型精度。
設(shè)計(jì)與實(shí)現(xiàn):

上圖為組間數(shù)據(jù)并行組內(nèi)流水線(xiàn)并行的混合并行推理的耗時(shí)示意圖。通過(guò)分析可以發(fā)現(xiàn)耗時(shí)最長(zhǎng)的數(shù)據(jù)并行組即為整個(gè)混合并行的推理耗時(shí),而組內(nèi)流水的微批數(shù)量也決定了組內(nèi)的流水線(xiàn)并行的耗時(shí)。而通過(guò)優(yōu)化最慢數(shù)據(jù)并行組并使其推理時(shí)間最短再找到最優(yōu)的集群分組數(shù)就可以實(shí)現(xiàn)整個(gè)混合并行策略的最短推理時(shí)延。因此,可以建模為:

本文通過(guò)枚舉的方法找到最優(yōu)的設(shè)備分組數(shù)并配合第二斯特林?jǐn)?shù)來(lái)找到各組的設(shè)備配置組合。然后通過(guò)三維動(dòng)態(tài)規(guī)劃來(lái)確定組內(nèi)最佳的模型流水線(xiàn)劃分方案。
由于現(xiàn)在的加速設(shè)備都為多核架構(gòu),因此,流水線(xiàn)并行推理時(shí),每個(gè)設(shè)備的下一個(gè)微批計(jì)算任務(wù)和上一個(gè)微批的通信任務(wù)可以異步執(zhí)行。本文取計(jì)算和通信的最大值為該設(shè)備上的推理耗時(shí)。本文將
表示為在設(shè)備
上執(zhí)行層
的計(jì)算時(shí)間。
表示從設(shè)備
到設(shè)備
傳輸激活值數(shù)據(jù)
的通信時(shí)間。在確定異構(gòu)設(shè)備集群被分為
組,且第
組包含的設(shè)備數(shù)量為
之后,針對(duì)將
層DNN模型劃分至每個(gè)數(shù)據(jù)并行組內(nèi)的
臺(tái)設(shè)備上以求最短推理時(shí)間的問(wèn)題,可以轉(zhuǎn)化為計(jì)算兩個(gè)時(shí)間段最大值的問(wèn)題。這兩個(gè)時(shí)間段包括:在
臺(tái)設(shè)備上完成模型前
層推理的最短時(shí)間,以及在最后一臺(tái)設(shè)備上完成模型剩余
層推理的時(shí)間。通過(guò)進(jìn)一步轉(zhuǎn)化,模型分區(qū)問(wèn)題可以轉(zhuǎn)化為尋找在
臺(tái)設(shè)備上對(duì)模型前
層進(jìn)行推理所需的最短時(shí)間的子問(wèn)題?;谧訂?wèn)題的最優(yōu)分區(qū)結(jié)果,可以構(gòu)建整個(gè)模型流水線(xiàn)分區(qū)方案的最優(yōu)解。因此,該問(wèn)題適合采用動(dòng)態(tài)規(guī)劃算法來(lái)解決,這種方法不僅提高了問(wèn)題解決的效率,而且通過(guò)動(dòng)態(tài)規(guī)劃的策略,確保了在異構(gòu)設(shè)備集群中實(shí)現(xiàn)DNN模型推理時(shí)的最優(yōu)性能。為了解決每個(gè)數(shù)據(jù)并行組內(nèi)的最優(yōu)模型流水線(xiàn)分區(qū)問(wèn)題,本文設(shè)計(jì)了一種三維動(dòng)態(tài)規(guī)劃算法,該算法記錄了處理的子模型、使用的設(shè)備子集以及下一個(gè)流水線(xiàn)段所要使用的設(shè)備的所有狀態(tài)。對(duì)于每個(gè)數(shù)據(jù)并行組中的
臺(tái)設(shè)備集合,讓該組設(shè)備集合的所有子集
組成一個(gè)新的列表
。
表示使用設(shè)備子集
處理DNN模型前
層的最短推理時(shí)間并且流水線(xiàn)的下一個(gè)階段使用設(shè)備
進(jìn)行處理。
是在設(shè)備子集
上推理前
層模型的最優(yōu)解,即子問(wèn)題的最優(yōu)解,那么該分區(qū)問(wèn)題的最終最優(yōu)解為
。進(jìn)一步地,下一個(gè)狀態(tài)
的計(jì)算需要使用最優(yōu)子問(wèn)題性質(zhì),該狀態(tài)的模型推理時(shí)間由先前狀態(tài)
,或者在設(shè)備
上執(zhí)行模型的第
層到第
層的計(jì)算時(shí)間
,或者通信時(shí)間
決定,組內(nèi)模型分區(qū)算法的狀態(tài)轉(zhuǎn)移方程可以表述為:

通過(guò)上述方法可以確定組間數(shù)據(jù)并行組內(nèi)流水線(xiàn)并行的混合并行推理系統(tǒng)的最優(yōu)數(shù)據(jù)并行組數(shù)、每個(gè)組內(nèi)設(shè)備的數(shù)量與類(lèi)型、設(shè)備的排序以及模型在各設(shè)備間的分配方案。
實(shí)驗(yàn)結(jié)果及分析:
本文在8塊RTX3090的集群上進(jìn)行實(shí)驗(yàn),通過(guò)軟件工具限制其算力、帶寬和內(nèi)存將其設(shè)置為異構(gòu)集群。下表展示了五種異構(gòu)性逐漸增加的集群配置。

本文利用ViT-Large和ViT-Huge模型在五種異構(gòu)配置下進(jìn)行實(shí)驗(yàn)并和PipeEdge進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如下:


本文提出的多設(shè)備并行策略在每種異構(gòu)情況下都優(yōu)于PipeEdge,并且有1.7倍到3.4倍的提升。
結(jié)論:
本文提出的組間數(shù)據(jù)并行組內(nèi)流水線(xiàn)并行的混合并行策略可以很好地適用于異構(gòu)集群的大模型推理場(chǎng)景,并本文提出的算法可以感知大模型的最大峰值內(nèi)存占用,可以分配最優(yōu)的數(shù)據(jù)并行組數(shù)來(lái)大幅提升推理吞吐量。相關(guān)算法和多設(shè)備混合并行運(yùn)行時(shí)系統(tǒng)可在https://github.com/kongweiming/hybrid_parallel_runtime獲取。
作者簡(jiǎn)介:
徐朝農(nóng),博士,中國(guó)石油大學(xué)(北京)信息科學(xué)與工程學(xué)院/人工智能學(xué)院教師,主要研究領(lǐng)域?yàn)檫吘壷悄?、嵌入式系統(tǒng)、無(wú)線(xiàn)網(wǎng)絡(luò)。