System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本公開屬于人工智能領(lǐng)域,具體涉及一種稀疏混合專家大語(yǔ)言模型推理任務(wù)的卸載方法及裝置。
技術(shù)介紹
1、稀疏混合專家大語(yǔ)言模型在ai領(lǐng)域的應(yīng)用變得越來(lái)越普遍,例如聊天機(jī)器人和代碼生成。稀疏混合專家是一種神經(jīng)網(wǎng)絡(luò)設(shè)計(jì),其核心理念是根據(jù)給定的輸入,僅激活部分模型參數(shù)參與計(jì)算(即專家)。稀疏混合專家大語(yǔ)言模型可以在計(jì)算成本幾乎不增加的情況下擴(kuò)展其模型參數(shù)規(guī)模。與密集型大語(yǔ)言模型相比,將稀疏混合專家大語(yǔ)言模型部署在消費(fèi)級(jí)gpu上面臨重大挑戰(zhàn),因?yàn)橄∈杌旌蠈<掖笳Z(yǔ)言模型通常配備比其密集型對(duì)手更多的模型參數(shù),遠(yuǎn)遠(yuǎn)超過(guò)消費(fèi)級(jí)設(shè)備的內(nèi)存容量。
2、卸載技術(shù)是將稀疏混合專家大語(yǔ)言模型在資源有限的設(shè)備上部署的主要方法之一。卸載技術(shù)將專家存儲(chǔ)在cpu?dram,從而滿足消費(fèi)級(jí)gpu的內(nèi)存限制。然而,這會(huì)導(dǎo)致不可接受的推理延遲。如稀疏混合專家大語(yǔ)言模型mixtral8×7b,其每個(gè)專家層有8個(gè)專家,在半精度表示中需要94gb的內(nèi)存。基于mixtral-offload的卸載方法將專家存儲(chǔ)在cpu?dram并在需要時(shí)加載對(duì)應(yīng)的專家到gpu內(nèi)存。雖然這使得mixtral?8×7b模型在24gb內(nèi)存的gpu中進(jìn)行推理成為可能,但是專家加載操作顯著提高了推理延遲,每個(gè)單詞的推理延遲約為3.9秒,顯著慢于人類閱讀速度的0.2到0.3秒;基于fiddler的卸載方法將mixtral?8×7b模型的專家存儲(chǔ)在cpu?dram,在推理時(shí)與專家相關(guān)的計(jì)算都在cpu端進(jìn)行。這雖然避免了cpu與gpu間的大量加載操作,但是由于cpu的計(jì)算能力顯著低于gpu,因此與專家
技術(shù)實(shí)現(xiàn)思路
1、本公開實(shí)施例提出了一種稀疏混合專家大語(yǔ)言模型推理任務(wù)的卸載方案,減少了現(xiàn)有卸載方案在消費(fèi)級(jí)gpu上顯著推理延遲的問(wèn)題。
2、本公開實(shí)施例的第一方面提供了一種稀疏混合專家大語(yǔ)言模型推理任務(wù)的卸載方法,包括:
3、預(yù)測(cè)所述稀疏混合專家大語(yǔ)言模型在推理任務(wù)中被選擇的專家和對(duì)應(yīng)的活躍神經(jīng)元;
4、在計(jì)算設(shè)備加載被選擇的所述專家的所述活躍神經(jīng)元以執(zhí)行所述推理任務(wù)。
5、在一些實(shí)施例中,所述計(jì)算設(shè)備包括cpu端和gpu端,所述稀疏混合專家大語(yǔ)言模型包括多層專家層,每層所述專家層包括多個(gè)專家,所述方法還包括:
6、在第i層所述專家層執(zhí)行所述推理任務(wù)時(shí),同步在所述gpu端預(yù)取第i+1層所述專家層被選擇的所述專家的所述活躍神經(jīng)元,其中,i為正整數(shù)。
7、在一些實(shí)施例中,所述在所述gpu端預(yù)取第i+1層所述專家層被選擇的所述專家的所述活躍神經(jīng)元包括:
8、同步基于第i層所述專家層的輸入預(yù)測(cè)第i+1層所述專家層被選擇的所述專家;
9、同步預(yù)測(cè)所述專家的所述活躍神經(jīng)元;
10、同步預(yù)取所述活躍神經(jīng)元到所述gpu端。
11、所述基于第i層所述專家層的輸入預(yù)測(cè)第i+1層所述專家層被選擇的所述專家包括:
12、將所述稀疏混合專家大語(yǔ)言模型第i層注意力層輸出的隱藏狀態(tài)作為第i+1層所述專家層的門控單元的輸入,輸出第i+1層所述專家層預(yù)測(cè)的被選擇的所述專家,其中,所述稀疏混合專家大語(yǔ)言模型包括層狀結(jié)構(gòu),每層所述層狀結(jié)構(gòu)由串聯(lián)的注意力層和專家層組成,所述注意力層輸出的隱藏狀態(tài)作為所述專家層的輸入,所述專家層包括用于激活參與計(jì)算的所述專家的門控單元。
13、在一些實(shí)施例中所述預(yù)測(cè)所述專家的所述活躍神經(jīng)元包括:
14、基于所述專家的權(quán)重預(yù)測(cè)所述專家的所述活躍神經(jīng)元。
15、在一些實(shí)施例中,所述基于所述專家的權(quán)重預(yù)測(cè)所述專家的所述活躍神經(jīng)元包括:
16、獲取所述專家的權(quán)重矩陣,
17、用激活函數(shù)對(duì)所述權(quán)重矩陣與輸入的所述隱藏狀態(tài)的矩陣乘法計(jì)算結(jié)果進(jìn)行激活,將絕對(duì)值超過(guò)預(yù)設(shè)閾值的激活結(jié)果對(duì)應(yīng)的神經(jīng)元作為所述活躍神經(jīng)元。
18、在一些實(shí)施例中,所述gpu端包括用于緩存專家的專家緩存以及用于對(duì)每個(gè)所述專家的所述活躍神經(jīng)元進(jìn)行緩存的神經(jīng)元緩存,所述在計(jì)算設(shè)備加載被選擇的所述專家的所述活躍神經(jīng)元包括:
19、如果被選擇的所述專家在所述專家緩存中,并且所述活躍神經(jīng)元在所述專家緩存對(duì)應(yīng)的所述神經(jīng)元緩存中,則從所述神經(jīng)元緩存中讀取所述活躍神經(jīng)元以執(zhí)行所述推理任務(wù);
20、如果被選擇的所述專家在所述專家緩存中,并且所述活躍神經(jīng)元不在所述專家緩存對(duì)應(yīng)的所述神經(jīng)元緩存中,則將所述活躍神經(jīng)元緩存在所述神經(jīng)元緩存中,并從所述神經(jīng)元緩存中讀取所述活躍神經(jīng)元以執(zhí)行所述推理任務(wù);
21、如果被選擇的所述專家不在所述專家緩存中,則將被選擇的所述專家緩存在所述專家緩存,并將所述專家活躍的所述神經(jīng)元緩存在所述專家緩存對(duì)應(yīng)的所述神經(jīng)元緩存,從所述神經(jīng)元緩存中讀取所述活躍神經(jīng)元以執(zhí)行所述推理任務(wù)。
22、在一些實(shí)施例中,所述將被選擇的所述專家緩存在所述專家緩存包括:
23、將被選擇的所述專家基于lru策略加載至所述專家緩存;
24、將所述專家活躍的所述神經(jīng)元緩存在所述專家緩存對(duì)應(yīng)的所述神經(jīng)元緩存包括:
25、當(dāng)被選擇的所述專家不在所述專家緩存中時(shí),將所有活躍的所述神經(jīng)元加載至所述專家緩存對(duì)應(yīng)的所述神經(jīng)元緩存;
26、當(dāng)被選擇的所述專家在所述專家緩存中時(shí),將不在所述專家緩存對(duì)應(yīng)的所述神經(jīng)元緩存中的所有活躍的所述神經(jīng)元加載至所述神經(jīng)元緩存。
27、在一些實(shí)施例中,加載所述活躍神經(jīng)元包括:
28、在所述cpu端將所述活躍神經(jīng)元壓縮成壓縮矩陣;
29、將所述壓縮矩陣從所述cpu端加載至所述gpu端并解壓。
30、本公開實(shí)施例的第二方面提供了一種稀疏混合專家大語(yǔ)言模型推理任務(wù)的卸載裝置,包括:
31、預(yù)測(cè)模塊,用于預(yù)測(cè)所述稀疏混合專家大語(yǔ)言模型在推理任務(wù)中被選擇的專家和對(duì)應(yīng)的活躍神經(jīng)元;
32、執(zhí)行模塊,用于在計(jì)算設(shè)備加載被選擇的所述專家的所述活躍神經(jīng)元以執(zhí)行所述推理任務(wù)。
33、綜上所述,本公開各實(shí)施例提供的稀疏混合專家大語(yǔ)言模型推理任務(wù)的卸載方法及裝置和設(shè)備,減少了稀疏混合專家大語(yǔ)言模型執(zhí)行推理任務(wù)時(shí)在消費(fèi)級(jí)gpu上卸載時(shí)的推理延遲,特別的,通過(guò)利用專家和神經(jīng)元層次的雙重稀疏性來(lái)優(yōu)化權(quán)重加載過(guò)程,解決了現(xiàn)有方法無(wú)法在推理延遲和準(zhǔn)確性之間取得平衡的問(wèn)題;通過(guò)粗粒度到細(xì)粒度的預(yù)測(cè)和預(yù)取機(jī)制,在不增加額外內(nèi)存需求的情況下準(zhǔn)確預(yù)測(cè)所需的權(quán)重,從而實(shí)現(xiàn)權(quán)重加載和計(jì)算的重疊以隱藏延遲,解決了稀疏混合專家大語(yǔ)言模型中的執(zhí)行序列性問(wèn)題;通過(guò)粗粒度到細(xì)粒度的緩存策略,最大限度地減少了重復(fù)加載權(quán)重的需求,解決了卸載推理時(shí)gpu內(nèi)存利用低效的問(wèn)題。
本文檔來(lái)自技高網(wǎng)...【技術(shù)保護(hù)點(diǎn)】
1.一種稀疏混合專家大語(yǔ)言模型推理任務(wù)的卸載方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述方法,所述計(jì)算設(shè)備包括CPU端和GPU端,所述稀疏混合專家大語(yǔ)言模型包括多層專家層,每層所述專家層包括多個(gè)專家,其特征在于,所述方法還包括:
3.根據(jù)權(quán)利要求2所述方法,其特征在于,所述在所述GPU端預(yù)取第i+1層所述專家層被選擇的所述專家的所述活躍神經(jīng)元包括:
4.根據(jù)權(quán)利要求3所述方法,其特征在于,所述基于第i層所述專家層的輸入預(yù)測(cè)第i+1層所述專家層被選擇的所述專家包括:
5.根據(jù)權(quán)利要求4所述方法,其特征在于,所述預(yù)測(cè)所述專家的所述活躍神經(jīng)元包括:
6.根據(jù)權(quán)利要求5所述方法,其特征在于,所述基于所述專家的權(quán)重預(yù)測(cè)所述專家的所述活躍神經(jīng)元包括:
7.根據(jù)權(quán)利要求2所述方法,其特征在于,所述GPU端包括用于緩存專家的專家緩存以及用于對(duì)每個(gè)所述專家的所述活躍神經(jīng)元進(jìn)行緩存的神經(jīng)元緩存,所述在計(jì)算設(shè)備加載被選擇的所述專家的所述活躍神經(jīng)元包括:
8.根據(jù)權(quán)利要求7所述方法,其特征在于,所述將被選擇的所述專家
9.根據(jù)權(quán)利要求8所述方法,其特征在于,加載所述活躍神經(jīng)元包括:
10.一種稀疏混合專家大語(yǔ)言模型推理任務(wù)的卸載裝置,其特征在于,包括:
...【技術(shù)特征摘要】
1.一種稀疏混合專家大語(yǔ)言模型推理任務(wù)的卸載方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述方法,所述計(jì)算設(shè)備包括cpu端和gpu端,所述稀疏混合專家大語(yǔ)言模型包括多層專家層,每層所述專家層包括多個(gè)專家,其特征在于,所述方法還包括:
3.根據(jù)權(quán)利要求2所述方法,其特征在于,所述在所述gpu端預(yù)取第i+1層所述專家層被選擇的所述專家的所述活躍神經(jīng)元包括:
4.根據(jù)權(quán)利要求3所述方法,其特征在于,所述基于第i層所述專家層的輸入預(yù)測(cè)第i+1層所述專家層被選擇的所述專家包括:
5.根據(jù)權(quán)利要求4所述方法,其特征在于,所述預(yù)測(cè)所述專家的所述活躍神...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:張燕詠,陶子揚(yáng),
申請(qǐng)(專利權(quán))人:中國(guó)科學(xué)技術(shù)大學(xué),
類型:發(fā)明
國(guó)別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。