本發(fā)明實(shí)施例涉及人工智能,尤其涉及一種混合專家模型的優(yōu)化方法、裝置、電子設(shè)備、存儲介質(zhì)及程序。
背景技術(shù):
1、隨著llms(large?language?model,大型語言模型,簡稱大模型)的不斷發(fā)展,模型參數(shù)的規(guī)模和計(jì)算需求都有了顯著的增長。目前新衍生的大模型的模型參數(shù)高達(dá)4000億,與早期模型1.1億參數(shù)相比,有了大幅增加。這種快速發(fā)展對于在現(xiàn)有的人工智能基礎(chǔ)設(shè)施內(nèi)部署這些llms提出了重大挑戰(zhàn),特別是考慮到硬件進(jìn)步速度所施加的限制。
2、對于基于混合專家計(jì)算層(mixture-of-experts,moe)構(gòu)建出來的全新的llm模型來說,由于其增強(qiáng)泛化能力和有效管理多模態(tài)任務(wù)的能力,已被廣泛集成到新興的大型語言模型中。這種架構(gòu)創(chuàng)新對存儲、帶寬和計(jì)算資源提出了獨(dú)特的需求。解決大型語言模型規(guī)模的增長和新型架構(gòu)的問題對于它們在當(dāng)代人工智能加速器上的有效部署至關(guān)重要。
3、發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)針對上述提到的全新計(jì)算負(fù)載的挑戰(zhàn),目前前沿的工作主要基于非結(jié)構(gòu)化稀疏計(jì)算技術(shù)進(jìn)行性能優(yōu)化與加速,但是非結(jié)構(gòu)化稀疏計(jì)算技術(shù)在人工智能加速設(shè)備,例如gpu(graphics?processing?unit,圖形處理器)上,缺乏硬件級指令支持,比如缺乏專用的稀疏數(shù)字算術(shù)單元(sparse?alu)支持,因此并不能帶來太大的性能提升。而目前硬件級的稀疏數(shù)字算術(shù)單元功能主要支持了均勻比例的結(jié)構(gòu)化稀疏技術(shù),對于雙稀疏模式數(shù)據(jù)(也即,算子的左右操作數(shù)均為稀疏數(shù)據(jù))的矩陣乘法算子沒有實(shí)現(xiàn),因此,直接使用現(xiàn)有的方案不能對于雙稀疏模式數(shù)據(jù)進(jìn)行高效的矩陣乘法計(jì)算。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明實(shí)施例提供一種混合專家模型的優(yōu)化方法、裝置、電子設(shè)備、存儲介質(zhì)及程序,能夠?qū)崿F(xiàn)對混合專家模型的結(jié)構(gòu)化稀疏優(yōu)化,以充分發(fā)揮混合專家模型的稀疏計(jì)算硬件在計(jì)算稀疏矩陣乘法時(shí)的加速性能,進(jìn)而大大優(yōu)化稀疏矩陣乘法運(yùn)算過程中的計(jì)算、帶寬以及存儲資源的開銷。
2、根據(jù)本發(fā)明的一方面,提供了一種混合專家模型的優(yōu)化方法,包括:
3、對目標(biāo)混合專家模型的各項(xiàng)稀疏化的數(shù)據(jù)結(jié)構(gòu)進(jìn)行稀疏轉(zhuǎn)換,得到結(jié)構(gòu)化稀疏數(shù)據(jù)結(jié)構(gòu);
4、對所述結(jié)構(gòu)化稀疏數(shù)據(jù)結(jié)構(gòu)進(jìn)行數(shù)據(jù)排布優(yōu)化;
5、結(jié)合計(jì)算芯片的稀疏計(jì)算單元對所述目標(biāo)混合專家模型的算子進(jìn)行優(yōu)化,得到稀疏算子;
6、根據(jù)所述稀疏算子對所述目標(biāo)混合專家模型的原始算子進(jìn)行更新,得到結(jié)構(gòu)化稀疏的混合專家模型。
7、根據(jù)本發(fā)明的另一方面,提供了一種混合專家模型的優(yōu)化裝置,包括:
8、數(shù)據(jù)結(jié)構(gòu)稀疏轉(zhuǎn)換模塊,用于對目標(biāo)混合專家模型的各項(xiàng)稀疏化的數(shù)據(jù)結(jié)構(gòu)進(jìn)行稀疏轉(zhuǎn)換,得到結(jié)構(gòu)化稀疏數(shù)據(jù)結(jié)構(gòu);
9、結(jié)構(gòu)化稀疏數(shù)據(jù)結(jié)構(gòu)優(yōu)化模塊,用于對所述結(jié)構(gòu)化稀疏數(shù)據(jù)結(jié)構(gòu)進(jìn)行數(shù)據(jù)排布優(yōu)化;
10、稀疏算子優(yōu)化模塊,用于結(jié)合計(jì)算芯片的稀疏計(jì)算單元對所述目標(biāo)混合專家模型的算子進(jìn)行優(yōu)化,得到稀疏算子;
11、稀疏算子更新模塊,用于根據(jù)所述稀疏算子對所述目標(biāo)混合專家模型的原始算子進(jìn)行更新,得到結(jié)構(gòu)化稀疏的混合專家模型。
12、根據(jù)本發(fā)明的另一方面,提供了一種電子設(shè)備,所述電子設(shè)備包括:
13、至少一個(gè)處理器;以及
14、與所述至少一個(gè)處理器通信連接的存儲器;其中,
15、所述存儲器存儲有可被所述至少一個(gè)處理器執(zhí)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器能夠執(zhí)行本發(fā)明任一實(shí)施例所述的混合專家模型的優(yōu)化方法。
16、根據(jù)本發(fā)明的另一方面,提供了一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)存儲有計(jì)算機(jī)指令,所述計(jì)算機(jī)指令用于使處理器執(zhí)行時(shí)實(shí)現(xiàn)本發(fā)明任一實(shí)施例所述的混合專家模型的優(yōu)化方法。
17、根據(jù)本發(fā)明的另一方面,還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序在被處理器執(zhí)行時(shí)實(shí)現(xiàn)本發(fā)明任一實(shí)施例所述的混合專家模型的優(yōu)化方法。
18、本發(fā)明實(shí)施例通過對目標(biāo)混合專家模型的各項(xiàng)稀疏化的數(shù)據(jù)結(jié)構(gòu)進(jìn)行稀疏轉(zhuǎn)換,得到結(jié)構(gòu)化稀疏數(shù)據(jù)結(jié)構(gòu),并對結(jié)構(gòu)化稀疏數(shù)據(jù)結(jié)構(gòu)進(jìn)行數(shù)據(jù)排布優(yōu)化。進(jìn)一步的,結(jié)合計(jì)算芯片的稀疏計(jì)算單元對目標(biāo)混合專家模型的算子進(jìn)行優(yōu)化,得到稀疏算子,進(jìn)而根據(jù)稀疏算子對目標(biāo)混合專家模型的原始算子進(jìn)行更新,得到結(jié)構(gòu)化稀疏的混合專家模型。上述技術(shù)方案可以解決現(xiàn)有混合專家模型基于非結(jié)構(gòu)化稀疏計(jì)算技術(shù)進(jìn)行性能優(yōu)化與加速時(shí)存在的性能難以有效提升的問題,能夠?qū)崿F(xiàn)對混合專家模型的結(jié)構(gòu)化稀疏優(yōu)化,以充分發(fā)揮混合專家模型的稀疏計(jì)算硬件在計(jì)算稀疏矩陣乘法時(shí)的加速性能,進(jìn)而大大優(yōu)化稀疏矩陣乘法運(yùn)算過程中的計(jì)算、帶寬以及存儲資源的開銷。
19、應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標(biāo)識本發(fā)明的實(shí)施例的關(guān)鍵或重要特征,也不用于限制本發(fā)明的范圍。本發(fā)明的其它特征將通過以下的說明書而變得容易理解。
1.一種混合專家模型的優(yōu)化方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對目標(biāo)混合專家模型的各項(xiàng)稀疏化的數(shù)據(jù)結(jié)構(gòu)進(jìn)行稀疏轉(zhuǎn)換,得到結(jié)構(gòu)化稀疏數(shù)據(jù)結(jié)構(gòu),包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述稀疏化的模型權(quán)重矩陣中具體包含多個(gè)m*v尺寸的壓縮單元;
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述生成與每個(gè)所述模型權(quán)重矩陣分別對應(yīng)的壓縮矩陣集合,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)各壓縮單元在所述當(dāng)前模型權(quán)重矩陣中的位置,和各有效行在所屬壓縮單元中位置,對所述第二矩陣進(jìn)行填充處理,得到與所述當(dāng)前模型權(quán)重矩陣對應(yīng)的索引矩陣,包括:
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)各所述結(jié)構(gòu)化稀疏計(jì)算存儲單元在所述當(dāng)前模型權(quán)重矩陣中的位置,和各非0數(shù)據(jù)在所屬結(jié)構(gòu)化稀疏計(jì)算存儲單元中的位置,對所述第三矩陣進(jìn)行填充處理,得到與所述當(dāng)前模型權(quán)重矩陣對應(yīng)的元數(shù)據(jù)矩陣,包括:
7.根據(jù)權(quán)利要求2-6任一所述的方法,其特征在于,在所述將所述目標(biāo)混合專家模型中各項(xiàng)稀疏化的模型權(quán)重矩陣,分別存儲為匹配的壓縮矩陣集合之后,還包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,在所述將所述目標(biāo)混合專家模型中各項(xiàng)稀疏化的模型權(quán)重矩陣,分別存儲為匹配的壓縮矩陣集合之后,還包括:
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,在調(diào)用所述計(jì)算芯片上的各所述稀疏算子,基于存儲優(yōu)化后的目標(biāo)混合專家模型實(shí)施匹配的稀疏計(jì)算之前,還包括:
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對所述結(jié)構(gòu)化稀疏數(shù)據(jù)結(jié)構(gòu)進(jìn)行數(shù)據(jù)排布優(yōu)化,包括:
11.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述稀疏算子包括第一稀疏算子,所述結(jié)合計(jì)算芯片的稀疏計(jì)算單元對所述目標(biāo)混合專家模型的算子進(jìn)行優(yōu)化,得到稀疏算子,包括:
12.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述稀疏算子包括第二稀疏算子,所述結(jié)合計(jì)算芯片的稀疏計(jì)算單元對所述目標(biāo)混合專家模型的算子進(jìn)行優(yōu)化,得到稀疏算子,包括:
13.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述稀疏算子包括第三稀疏算子,所述結(jié)合計(jì)算芯片的稀疏計(jì)算單元對所述目標(biāo)混合專家模型的算子進(jìn)行優(yōu)化,得到稀疏算子,包括:
14.根據(jù)權(quán)利要求11-13任一所述的方法,其特征在于,所述第一稀疏矩陣為所述目標(biāo)混合專家模型中稀疏化的模型權(quán)重矩陣,所述第二稀疏矩陣為輸入至所述目標(biāo)混合專家模型中混合模型層的中間激活值稀疏矩陣,所述第二稀疏矩陣對應(yīng)的稠密矩陣為輸入至所述目標(biāo)混合專家模型中混合模型層的中間激活值的稠密矩陣。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,將所述壓縮矩陣集合,以數(shù)據(jù)分塊的形式從全局內(nèi)存中逐級搬運(yùn)至所述計(jì)算芯片的硬件寄存器中,包括:
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,在計(jì)算芯片的全局內(nèi)存中定位與第一稀疏矩陣匹配的壓縮矩陣集合和第二關(guān)聯(lián)矩陣的同時(shí),還包括:
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,在將各壓縮數(shù)據(jù)矩陣分塊、各索引矩陣分塊以及各元數(shù)據(jù)矩陣分塊,從所述全局內(nèi)存逐次加載至共享內(nèi)存中之后,還包括:
18.根據(jù)權(quán)利要求16所述的方法,其特征在于,根據(jù)與稀疏計(jì)算單元匹配的寄存器映射關(guān)系,將各壓縮數(shù)據(jù)矩陣二次分塊、各索引矩陣二次分塊以及各元數(shù)據(jù)矩陣二次分塊中的至少一項(xiàng),從所述共享內(nèi)存中逐次搬運(yùn)至所述硬件寄存器中,包括:
19.根據(jù)權(quán)利要求16所述的方法,其特征在于,通過所述計(jì)算芯片的稀疏計(jì)算單元,根據(jù)硬件寄存器中分次加載的數(shù)據(jù),逐步計(jì)算出所述第一稀疏矩陣和所述第二關(guān)聯(lián)矩陣的乘法結(jié)果,包括:
20.根據(jù)權(quán)利要求19所述的方法,其特征在于,通過所述稀疏計(jì)算單元,根據(jù)所述一次稀疏分塊矩陣以及所述當(dāng)前第二關(guān)聯(lián)矩陣二次分塊,執(zhí)行乘法計(jì)算,具體包括:
21.根據(jù)權(quán)利要求20所述的方法,其特征在于,若所述第二關(guān)聯(lián)矩陣包括第二稀疏矩陣,則在通過所述稀疏計(jì)算單元,根據(jù)所述一次稀疏分塊矩陣以及所述當(dāng)前第二關(guān)聯(lián)矩陣二次分塊,執(zhí)行乘法計(jì)算之后,還包括:
22.根據(jù)權(quán)利要求14所述的方法,其特征在于,在每次進(jìn)行數(shù)據(jù)分塊的過程中,v為列切分方向上切分尺寸的整數(shù)倍;以及
23.一種混合專家模型的優(yōu)化裝置,其特征在于,包括:
24.一種電子設(shè)備,其特征在于,所述電子設(shè)備包括:
25.一種計(jì)算機(jī)可讀存儲介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲介質(zhì)存儲有計(jì)算機(jī)指令,所述計(jì)算機(jī)指令用于使處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-22中任一所述的混合專家模型的優(yōu)化方法。
26.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,其中,所述計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-22中任一所述的混合專家模型的優(yōu)化方法。