信息技術(shù) 神經(jīng)網(wǎng)絡(luò)表示與模型壓縮 第2部分:大規(guī)模預(yù)訓(xùn)練模型 征求意見(jiàn)稿_第1頁(yè)
信息技術(shù) 神經(jīng)網(wǎng)絡(luò)表示與模型壓縮 第2部分:大規(guī)模預(yù)訓(xùn)練模型 征求意見(jiàn)稿_第2頁(yè)
信息技術(shù) 神經(jīng)網(wǎng)絡(luò)表示與模型壓縮 第2部分:大規(guī)模預(yù)訓(xùn)練模型 征求意見(jiàn)稿_第3頁(yè)
信息技術(shù) 神經(jīng)網(wǎng)絡(luò)表示與模型壓縮 第2部分:大規(guī)模預(yù)訓(xùn)練模型 征求意見(jiàn)稿_第4頁(yè)
信息技術(shù) 神經(jīng)網(wǎng)絡(luò)表示與模型壓縮 第2部分:大規(guī)模預(yù)訓(xùn)練模型 征求意見(jiàn)稿_第5頁(yè)
已閱讀5頁(yè),還剩89頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1GB/T42382.2—202X信息技術(shù)神經(jīng)網(wǎng)絡(luò)表示與模型壓縮第2部分:大規(guī)模預(yù)訓(xùn)練模型本文件規(guī)定了適應(yīng)多種計(jì)算要求的大規(guī)模預(yù)訓(xùn)練模型的基本表示方法與加速壓縮過(guò)程,包括但不限于基于單向架構(gòu)(Encoder-Only架構(gòu))、生成式架構(gòu)(Decoder-Only架構(gòu))、序列到序列架構(gòu)(Encoder-Decoder架構(gòu))的模型。本文件適用于大規(guī)模預(yù)訓(xùn)練模型的研制、開(kāi)發(fā)、測(cè)試評(píng)估過(guò)程,以及在端云領(lǐng)域的高效應(yīng)用。2規(guī)范性引用文件下列文件中的內(nèi)容通過(guò)文中的規(guī)范性引用而構(gòu)成本文件必不可少的條款。其中,注日期的引用文件,僅日期對(duì)應(yīng)的版本適用于本文件;不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。GB/T5271.34-2006信息技術(shù)詞匯第34部分:人工智能神經(jīng)網(wǎng)絡(luò)GB/T42382.1-2023信息技術(shù)神經(jīng)網(wǎng)絡(luò)表示與模型壓縮第1部分:卷積神經(jīng)網(wǎng)絡(luò)GB/TAAAAA.1-AAAA人工智能算子接口第1部分:基礎(chǔ)數(shù)學(xué)類GB/TAAAAA.2-AAAA人工智能算子接口第2部分:神經(jīng)網(wǎng)絡(luò)類3術(shù)語(yǔ)和定義下列術(shù)語(yǔ)和定義適用于本文件。3.1預(yù)訓(xùn)練模型pre-trainedmodel預(yù)訓(xùn)練模型是一種深度學(xué)習(xí)模型,通過(guò)自監(jiān)督或者無(wú)監(jiān)督技術(shù),在大量的訓(xùn)練數(shù)據(jù)上訓(xùn)練得到初始模型,可被遷移到目標(biāo)相近的任務(wù)中進(jìn)行使用。3.2大規(guī)模預(yù)訓(xùn)練模型largescalepre-trainingmodel大規(guī)模預(yù)訓(xùn)練模型是一種參數(shù)規(guī)模較大的預(yù)訓(xùn)練模型,通過(guò)自監(jiān)督或者無(wú)監(jiān)督技術(shù)從海量的通用數(shù)據(jù)中訓(xùn)練得到基礎(chǔ)模型,并結(jié)合下游具體任務(wù)對(duì)其進(jìn)行微調(diào),最終被訓(xùn)練成具有邏輯推理和分析能力的人工智能模型。3.3轉(zhuǎn)換器模型Transformer一種基于多頭注意力機(jī)制,包含殘差連接、層歸一化和全連接的、能并行處理序列數(shù)據(jù)的、序列到序列架構(gòu)(Encoder-Decoder架構(gòu))的網(wǎng)絡(luò)。3.4自注意力機(jī)制self-attention自注意力2GB/T42382.2—202X通過(guò)計(jì)算輸入序列內(nèi)部每個(gè)元素對(duì)其他所有元素的注意力權(quán)重,建立序列內(nèi)部的不同位置間關(guān)系的機(jī)制。3.5多頭注意力機(jī)制multi-headattention一種大規(guī)模預(yù)訓(xùn)練模型中注意力機(jī)制。3.6殘差連接skipconnection一種神經(jīng)網(wǎng)絡(luò)中不同模塊的連接方式。3.7層歸一化layernormalization對(duì)一個(gè)中間層的所有神經(jīng)元進(jìn)行歸一化。在Transformer結(jié)構(gòu)中對(duì)一個(gè)位置的特征進(jìn)行歸一化。3.8前饋網(wǎng)絡(luò)feedforwardnetwork神經(jīng)網(wǎng)絡(luò)中的推理模型。4縮略語(yǔ)下列縮略語(yǔ)適用于本文件。AI:人工智能(ArtificialIntelligence)LLM:大語(yǔ)言模型(LargeLanguageModel)MHA:多頭注意力(Multi-HeadAttention)FFN:前饋網(wǎng)絡(luò)(FeedforwardNetwork)GAN:生成對(duì)抗網(wǎng)絡(luò)(GenerativeAdversarialNetwork)VAE:變分自編碼器(VariationalAuto-Encoder)5大規(guī)模預(yù)訓(xùn)練模型表示與壓縮概述大規(guī)模預(yù)訓(xùn)練模型在表示、壓縮與適配、傳輸與分發(fā)等環(huán)節(jié)相互關(guān)聯(lián),形成了一個(gè)完整的生態(tài)系統(tǒng)。各個(gè)環(huán)節(jié)之間的聯(lián)系緊密,貫穿了從模型訓(xùn)練到應(yīng)用的整個(gè)生存周期。各環(huán)節(jié)總體架構(gòu)見(jiàn)圖1。圖1大規(guī)模預(yù)訓(xùn)練模型表示與壓縮總體架構(gòu)3GB/T42382.2—202X其中,大規(guī)模預(yù)訓(xùn)練模型表示的具體描述見(jiàn)第6章,定義構(gòu)建大規(guī)模預(yù)訓(xùn)練模型基本結(jié)構(gòu)信息的基本語(yǔ)法和語(yǔ)義。大規(guī)模預(yù)訓(xùn)練模型壓縮表示的具體描述見(jiàn)第7章,用于需要資源受限設(shè)備以及專業(yè)場(chǎng)景任務(wù)的情況。大規(guī)模預(yù)訓(xùn)練模型封裝表示的具體描述見(jiàn)第8章,用于模型從不同端進(jìn)行傳輸、更新。6大規(guī)模預(yù)訓(xùn)練模型表示6.1語(yǔ)法描述6.1.1通則本部分定義大規(guī)模預(yù)訓(xùn)練模型表示的語(yǔ)法,從粗粒度到細(xì)粒度,即從模型結(jié)構(gòu)定義、計(jì)算圖定義、到節(jié)點(diǎn)定義,逐層嵌套,構(gòu)建了整個(gè)大規(guī)模預(yù)訓(xùn)練模型的基本語(yǔ)法描述。該表示語(yǔ)法應(yīng)在由特定計(jì)算系統(tǒng)(深度學(xué)習(xí)平臺(tái)及相關(guān)軟硬件)完成,遵循以下原則:a)計(jì)算系統(tǒng)實(shí)現(xiàn)時(shí),應(yīng)對(duì)語(yǔ)法要素按實(shí)際需要做出調(diào)整,包含但不限于:1)關(guān)鍵字(參數(shù))命名;2)運(yùn)算符命名;3)數(shù)據(jù)類型。b)宜考慮必要層級(jí)的定義,包含:1)模型結(jié)構(gòu)定義;2)計(jì)算圖定義;3)基本數(shù)據(jù)類型定義。6.1.2模型結(jié)構(gòu)定義模型結(jié)構(gòu)定義用于表示神經(jīng)網(wǎng)絡(luò)模型的基本信息以及網(wǎng)絡(luò)架構(gòu),其用若干參數(shù)來(lái)描述,見(jiàn)表1。表1模型結(jié)構(gòu)定義4GB/T42382.2—202X6.1.3計(jì)算圖定義計(jì)算圖定義見(jiàn)表2。表2計(jì)算圖定義VariableNode(repeaparent_graph_id計(jì)算圖可能包含若干子計(jì)算圖:a)大規(guī)模預(yù)訓(xùn)練模型表示中的條件語(yǔ)句、循環(huán)語(yǔ)句的內(nèi)部操作節(jié)點(diǎn)和變量節(jié)點(diǎn)構(gòu)成子計(jì)算圖;b)大規(guī)模預(yù)訓(xùn)練模型中的若干操作結(jié)點(diǎn)可能會(huì)合并為一個(gè)新的操作結(jié)點(diǎn),并交由第三方高效計(jì)算引擎(如NvidiaTensorRT、intelNgraph等)執(zhí)行,新的操作結(jié)點(diǎn)和對(duì)應(yīng)的變量節(jié)點(diǎn)可以用子計(jì)算圖的形式表達(dá)。計(jì)算圖的parent_graph_id指向其父計(jì)算圖,forward_graph_id指向其前向計(jì)算圖。主計(jì)算圖無(wú)對(duì)應(yīng)的父計(jì)算圖,其parent_graph_id表示為-1;若計(jì)算圖無(wú)對(duì)應(yīng)的前向計(jì)算圖,其forward_graph_id表示為-1。計(jì)算圖包含自己的操作節(jié)點(diǎn)和變量節(jié)點(diǎn),操作節(jié)點(diǎn)對(duì)應(yīng)著網(wǎng)絡(luò)中的運(yùn)算操作,變量節(jié)點(diǎn)對(duì)應(yīng)著網(wǎng)絡(luò)中的變量,包括網(wǎng)絡(luò)參數(shù)和臨時(shí)變量等。操作節(jié)點(diǎn)接收一系列的變量節(jié)點(diǎn)作為輸入,經(jīng)過(guò)運(yùn)算操作后輸出一系列的變量節(jié)點(diǎn)。6.1.4操作節(jié)點(diǎn)定義操作節(jié)點(diǎn)定義見(jiàn)表3。其中,運(yùn)算操作域定義了操作節(jié)點(diǎn)的名稱,如GCNConv、Pooling等;input和output為操作節(jié)點(diǎn)的輸入變量節(jié)點(diǎn)和輸出變量節(jié)點(diǎn);attribute為操作節(jié)點(diǎn)的屬性。表3操作節(jié)點(diǎn)定義map<string,list(VariableNodmap<string,list(VariableNodmap<string,Attribute>5GB/T42382.2—202X6.2語(yǔ)義描述6.2.1運(yùn)算操作表示通則a)大規(guī)模預(yù)訓(xùn)練模型所含的運(yùn)算操作,由特定計(jì)算系統(tǒng)實(shí)現(xiàn),遵循以下使用原則:1)應(yīng)按實(shí)際需要,做出調(diào)整,包含但不限于:——關(guān)鍵字(參數(shù))命名;——運(yùn)算符命名;——數(shù)據(jù)類型支持范圍。2)宜考慮運(yùn)算涉及的要素,包含:——可支持的參數(shù);——可支持的類型。b)大規(guī)模預(yù)訓(xùn)練模型的常見(jiàn)算子分為以下三類:1)大模型組網(wǎng)的通用算子,如Transformer類大規(guī)模預(yù)訓(xùn)練模型的常見(jiàn)算子,包括embedding、layer_norm、linear、attention等算子,定義如表4至表7所示;2)神經(jīng)網(wǎng)絡(luò)模型的通用算子,包括基礎(chǔ)數(shù)學(xué)類算子如reshape,concat等,神經(jīng)網(wǎng)絡(luò)類算子如relu、softmax等,見(jiàn)其他相關(guān)算子標(biāo)準(zhǔn)定義,不在本標(biāo)準(zhǔn)內(nèi)進(jìn)行重復(fù)定義;具體可參考標(biāo)準(zhǔn)包括GB/T42382.1-2023、GB/TAAAAA.1-AAAA、GB/TAAAAA.2-AAAA;3)大模型訓(xùn)練的通信算子,包括reduce、allreduce,、reduce_scatter、allgather、broadcast、send、recv等算子,定義如表8至表14所示?;A(chǔ)運(yùn)算操作定義本章節(jié)定義大規(guī)模預(yù)訓(xùn)練模型中常見(jiàn)的運(yùn)算操作定義,具體定義見(jiàn)如下表格。embedding運(yùn)算操作定義見(jiàn)表4。表4embedding運(yùn)算操作定義XY6GB/T42382.2—202Xlayer_norm運(yùn)算操作定義見(jiàn)表5。表5layer_norm運(yùn)算操作定義型XbiasYbegin_norm_axis維與input_xlinear運(yùn)算操作定義見(jiàn)表6。表6linear運(yùn)算操作定義XbiasYattention運(yùn)算操作定義見(jiàn)表7。表7attention運(yùn)算操作定義QKVboolbool7GB/T42382.2—202Xreduce運(yùn)算操作定義見(jiàn)表8。表8reduce運(yùn)算操作定義reduceXY型root_idallreduce運(yùn)算操作定義見(jiàn)表9。表9allreduce運(yùn)算操作定義XY型dreduce_scatter運(yùn)算操作定義見(jiàn)表10。表10reduce_scatter運(yùn)算操作定義XY型nranks8GB/T42382.2—202Xallgather運(yùn)算操作定義見(jiàn)表11。表11allgather運(yùn)算操作定義程XYnranksbroadcast運(yùn)算操作定義見(jiàn)表12。表12broadcast運(yùn)算操作定義XYroot_idsend運(yùn)算操作定義見(jiàn)表表13。表13send運(yùn)算操作定義X///peerrecv運(yùn)算操作定義見(jiàn)表14。表14recv運(yùn)算操作定義///Ypeer9GB/T42382.2—202X6.2.2模塊操作表示概述針對(duì)大規(guī)模預(yù)訓(xùn)練模型對(duì)不同場(chǎng)景的適配、加速和壓縮等,對(duì)大規(guī)模預(yù)訓(xùn)練模型的結(jié)構(gòu)化模塊做出的針對(duì)性的修改。本章節(jié)提供模塊操作的基本定義以及其參考結(jié)構(gòu)或計(jì)算流程。模塊操作定義多頭注意力機(jī)制MHA運(yùn)算操作定義見(jiàn)表15。表15MHA運(yùn)算操作定義XYN_headsboolbool前饋網(wǎng)絡(luò)FFN的運(yùn)算操作定義見(jiàn)表16。表16FFN運(yùn)算操作定義XY嵌套式Transformer模塊的操作定義見(jiàn)表17,結(jié)構(gòu)或計(jì)算流程詳見(jiàn)章節(jié)7.2.2。表17嵌套式Transformer模塊操作定義ZtensorYtensortensortensornmGB/T42382.2—202X基于參數(shù)化跳連的Transformer模塊的操作定義見(jiàn)表18,結(jié)構(gòu)或計(jì)算流程詳見(jiàn)章節(jié)7.2.3。表18基于參數(shù)化跳連的Transformer模塊操作定義ZtensortensornmTransformer統(tǒng)一歸一化層模塊操作定義模塊的操作定義見(jiàn)表19,結(jié)構(gòu)或計(jì)算流程詳見(jiàn)章節(jié)7.2.4。表19Transformer統(tǒng)一歸一化層模塊操作定義XtensorYtensorσ2tensorγtensorβtensorMMtensorgtensorTransformer多模態(tài)融合模塊操作定義模塊的操作定義見(jiàn)表20,結(jié)構(gòu)或計(jì)算流程詳見(jiàn)章節(jié)7.2.5。表20Transformer多模態(tài)融合模塊操作定義換tensortensortensortensortensortensorproj2to_1模態(tài)2到模態(tài)1token映射GB/T42382.2—202XAdapter適配器操作定義見(jiàn)表21,結(jié)構(gòu)或計(jì)算流程詳見(jiàn)章節(jié)7.4.2。表21Adapter適配器操作定義XbiasYXbiasY多模態(tài)大模型高效遷移操作定義見(jiàn)表22,結(jié)構(gòu)或計(jì)算流程詳見(jiàn)章節(jié)。表22多模態(tài)大模型高效遷移操作定義WListofvectorsAListofvectorsRListofvectorsDListofvectorsTValueListofvectorsListofvectors量Listofvectors視覺(jué)大模型高效遷移操作定義見(jiàn)表23,結(jié)構(gòu)或計(jì)算流程詳見(jiàn)章節(jié)。表23視覺(jué)大模型高效遷移操作定義WListofvectorsAListofvectorsDListofvectorsTListofvectorsListofvectorsGB/T42382.2—202X遷移壓縮操作定義見(jiàn)表24,結(jié)構(gòu)或計(jì)算流程詳見(jiàn)章節(jié)。表24遷移壓縮操作定義WListofvectorsAListofvectorsDListofvectorsRValueListofvectorsListofvectors6.2.3多模態(tài)操作表示概述.1核心組件多模態(tài)大模型不同于單一模態(tài)的大模型,其融合多個(gè)模態(tài)進(jìn)行理解與生成。其模型結(jié)構(gòu)的核心組件包括輸入層、模態(tài)特定編碼器、模態(tài)融合模塊、模態(tài)對(duì)齊模塊、解碼層和輸出層。.2輸入層每種模態(tài)都有獨(dú)特的輸入處理模塊,以適應(yīng)不同類型的數(shù)據(jù),常見(jiàn)模態(tài)的數(shù)據(jù)輸入處理模塊包括:a)文本數(shù)據(jù):分詞和嵌入處理;b)圖像數(shù)據(jù):進(jìn)行像素值歸一化和圖像增強(qiáng);c)音頻數(shù)據(jù):轉(zhuǎn)換為頻譜圖或其他時(shí)頻表示。.3模態(tài)特定編碼器常見(jiàn)模態(tài)特定編碼器包括:a)文本編碼器:通常由詞嵌入層、位置嵌入層、多層Transformer編碼器組成,能夠?qū)⑽谋緮?shù)據(jù)轉(zhuǎn)化為高維特征表示,包括BERT、GPT、RoBERTa等;b)圖像編碼器:通常包含卷積層(或自注意力層)和池化層,能夠提取圖像的多層次特征,包括ResNet、VisionTransformer(ViT)等;c)音頻編碼器:通常通過(guò)卷積層或Transformer結(jié)構(gòu)處理音頻信號(hào),提取有意義的音頻特征,包括Wav2Vec、Mel-Spectrogram、MFCC等;d)視頻編碼器:通常通過(guò)處理視頻數(shù)據(jù)中的時(shí)間和空間信息,從而提取出豐富的視頻特征,包括C3D、I3D等。.4模態(tài)融合模塊常見(jiàn)的多模態(tài)數(shù)據(jù)融合策略包括:a)早期融合:在輸入層或編碼層進(jìn)行融合,常用方法包括拼接、加權(quán)平均等;b)中期融合:在模型的中間層進(jìn)行融合,通常利用多層交叉注意力機(jī)制(Cross-Attention)在不同模態(tài)間進(jìn)行信息交換;c)晚期融合:在模型的高層或輸出層進(jìn)行融合,通常利用單獨(dú)的決策模塊對(duì)每個(gè)模態(tài)的數(shù)據(jù)進(jìn)行處理,然后將結(jié)果合并。GB/T42382.2—202X.5模態(tài)對(duì)齊模塊模態(tài)對(duì)齊是指將不同模態(tài)的數(shù)據(jù)映射到相同的特征空間,常用的對(duì)齊方法包括:a)共現(xiàn)分析:利用共現(xiàn)矩陣或共現(xiàn)圖對(duì)不同模態(tài)的數(shù)據(jù)進(jìn)行對(duì)齊;b)對(duì)比學(xué)習(xí):通過(guò)構(gòu)建正負(fù)樣本對(duì),最大化同一模態(tài)和不同模態(tài)特征之間的相似性;c)對(duì)齊變換:利用線性或非線性變換,將不同模態(tài)的特征對(duì)齊到相同的表示空間。.6解碼器和輸出層常見(jiàn)的解碼器和輸出層包括:a)模態(tài)特定解碼器:對(duì)于生成任務(wù)(如圖像生成、文本生成),需要特定模態(tài)的解碼器。例如,文本生成器可以是GPT,圖像生成器可以是GAN或VAE;b)聯(lián)合解碼器:對(duì)于需要生成多模態(tài)輸出的任務(wù)(如視頻描述生成可以設(shè)計(jì)聯(lián)合解碼器,同時(shí)處理不同模態(tài)的輸出;c)分類和回歸模塊:對(duì)于分類和回歸任務(wù),通常在融合后的特征表示上添加全連接層進(jìn)行預(yù)測(cè)。多模態(tài)操作定義vision_embedding運(yùn)算操作用于將圖像數(shù)據(jù)嵌入到特征空間,支持多種圖像編碼器如ResNet、ViT等??芍С值膮?shù)包括輸入圖像大小、嵌入維度等。類型支持包括float32、float16等。具體定義見(jiàn)表25。表25vision_embedding運(yùn)算操作定義vision_embeddingroi_pooling運(yùn)算操作用于區(qū)域興趣池化操作,提取圖像中特定區(qū)域的特征。參數(shù)包括池化大小、區(qū)域坐標(biāo)等,類型支持float32。具體定義見(jiàn)表26。表26roi_pooling運(yùn)算操作定義型roi_poolingpool_sizepooled_featuresboolGB/T42382.2—202X文本模態(tài)算子ext_embedding運(yùn)算操作用于將文本數(shù)據(jù)嵌入到特征空間,支持多種文本編碼器如BERT、GPT等。參數(shù)包括詞匯表大小、嵌入維度等。類型支持包括int32、float32等。具體定義見(jiàn)表27。表27text_embedding運(yùn)算操作定義positional_encoding運(yùn)算操作用于為文本數(shù)據(jù)添加位置編碼,幫助模型理解序列信息。參數(shù)包括最大序列長(zhǎng)度、嵌入維度等。類型支持float32。具體運(yùn)算操作定義見(jiàn)表28。表28positional_encoding運(yùn)算操作定義息量periodic_function音頻模態(tài)算子mel_spectrogram運(yùn)算操作將音頻信號(hào)轉(zhuǎn)換為梅爾頻譜圖。參數(shù)包括采樣率、窗函數(shù)類型、頻帶數(shù)量等。類型支持float32。具體運(yùn)算操作定義見(jiàn)表29。表29mel_spectrogram運(yùn)算操作定義_nfft_GB/T42382.2—202XMfcc運(yùn)算操作提取音頻信號(hào)的梅爾頻率倒譜系數(shù)。參數(shù)包括采樣率、梅爾頻譜圖參數(shù)等。類型支持float32。具體運(yùn)算操作定義見(jiàn)表30。表30Mfcc運(yùn)算操作定義 nfft_多模態(tài)融合算子cross_modal_attention運(yùn)算操作定義見(jiàn)表31。表31cross_modal_attention運(yùn)算操作定義__modality_2_value_dimconcat_fusion運(yùn)算操作定義見(jiàn)表32。表32concat_fusion運(yùn)算操作定義modality_2GB/T42382.2—202Xexpert_selection運(yùn)算操作定義見(jiàn)表33。表33expert_selection運(yùn)算操作定義gated_expert_routing運(yùn)算操作定義見(jiàn)表34。表34gated_expert_routing運(yùn)算操作定義mixture_of_experts運(yùn)算操作定義見(jiàn)表35。表35mixture_of_experts運(yùn)算操作定義模型對(duì)齊和轉(zhuǎn)換算子modal_alignment運(yùn)算操作定義見(jiàn)表36。表36modal_alignment運(yùn)算操作定義modality_2GB/T42382.2—202X模態(tài)特定的優(yōu)化算子modality_specific_optimizer運(yùn)算操作定義見(jiàn)表37。表37modality_specific_optimizer運(yùn)算操作定義modality_specific_optimiXYmodalitymodalitybalancingoptimizer運(yùn)算操作定義見(jiàn)表38。表38modalitybalancingoptimizer運(yùn)算操作定義Xbalance_factorYmodalitycross-modalityregularization運(yùn)算操作定義見(jiàn)表39。表39cross-modalityregularization運(yùn)算操作定義Xregularization_methodY7大規(guī)模預(yù)訓(xùn)練模型壓縮與加速流程7.1概述GB/T42382.2—202X基于Transformer的預(yù)訓(xùn)練大模型一般由詞向量、多個(gè)Transformer模塊(每個(gè)Transformer模塊包含多頭注意力機(jī)制、全連接網(wǎng)絡(luò)、正則化、跳躍連接)以及任務(wù)相關(guān)模塊構(gòu)成。這種模型推理階段的存儲(chǔ)瓶頸在詞向量以及Transformer模塊中的權(quán)重,計(jì)算瓶頸在多頭注意力機(jī)制和全連接網(wǎng)絡(luò)中的矩陣乘法。而存儲(chǔ)和計(jì)算直接影響了推理的時(shí)延和功耗。為了減少推理過(guò)程中的存儲(chǔ)和計(jì)算,許多方法對(duì)詞向量,權(quán)重矩陣進(jìn)行了壓縮,或者對(duì)矩陣乘法進(jìn)行了加速和優(yōu)化。這些方法主要包括a)大模型結(jié)構(gòu)修改:通過(guò)調(diào)整模型的結(jié)構(gòu)來(lái)減少模型的復(fù)雜性和計(jì)算需求;b)大模型加速壓縮:通過(guò)算法和硬件優(yōu)化來(lái)加速模型的推理和訓(xùn)練,同時(shí)盡量減少對(duì)存儲(chǔ)的需求,主要包括稀疏化、量化等;c)大模型遷移壓縮:通過(guò)遷移學(xué)習(xí)和模型壓縮結(jié)合的方式,減少模型在新任務(wù)上的復(fù)雜性和大小,具體包括多模態(tài)遷移和多任務(wù)遷移。7.2大模型結(jié)構(gòu)優(yōu)化7.2.1嵌套式結(jié)構(gòu)嵌套式結(jié)構(gòu)利用一個(gè)外部Transformer和一個(gè)內(nèi)部Transformer分別提取全局特征和局部特征,即使用一個(gè)外Transformer模塊來(lái)對(duì)圖像塊之間的關(guān)系進(jìn)行建模,用一個(gè)內(nèi)Transformer模塊來(lái)對(duì)子圖像塊之間的關(guān)系進(jìn)行建模,從而構(gòu)建豐富的視覺(jué)表征的技術(shù)方案。嵌套式結(jié)構(gòu)既保留了圖像塊層面的信息提取,又做到了像素層面的信息提取,能夠顯著提升模型對(duì)局部結(jié)構(gòu)的建模能力,進(jìn)而提升模型的識(shí)別效果。嵌套式結(jié)構(gòu)將輸入圖像切塊,每個(gè)圖像塊看作一個(gè)視覺(jué)句子Z,構(gòu)成視覺(jué)句子序列,并將圖像塊進(jìn)一步切分為子圖像塊,每個(gè)子圖像塊看作一個(gè)視覺(jué)單詞Y。嵌套式視覺(jué)Transformer模塊會(huì)對(duì)視覺(jué)單詞Y和視覺(jué)句子Z進(jìn)行聯(lián)合處理,對(duì)于每一組m個(gè)視覺(jué)單詞,使用一個(gè)內(nèi)部Transformer模塊來(lái)進(jìn)行特征提取和關(guān)系建模,見(jiàn)式(1)和式(2):Y'=Y?1+MHALNY?1#1Y=Y'+FFNLNY'#2式中:Y——視覺(jué)單詞Z——視覺(jué)句子對(duì)一組視覺(jué)單詞進(jìn)行處理之后,嵌套式結(jié)構(gòu)將這組視覺(jué)單詞向量拼接起來(lái),然后通過(guò)一個(gè)線性變換層linear將其映射為一個(gè)大向量,加到視覺(jué)句子上對(duì)其特征進(jìn)行補(bǔ)充,得到新的視覺(jué)句子,見(jiàn)式(3Z?1=Z?1+linearvecY#3對(duì)于所有n個(gè)視覺(jué)句子,嵌套式結(jié)構(gòu)使用一個(gè)外部Transformer模塊來(lái)進(jìn)行特征提取和關(guān)系建模,見(jiàn)式(4)和式(5):'Zl=Zl?1+MHALNZl?1#4)'Zl=Zl+FFNLNZl)#5上述內(nèi)部和外部2個(gè)Transformer模塊共同組成嵌套式Transformer算子。通過(guò)串聯(lián)若干個(gè)嵌套式Transformer算子,就構(gòu)建了嵌套式視覺(jué)Transformer網(wǎng)絡(luò)結(jié)構(gòu)。嵌套式Transformer模塊的操作定義見(jiàn)表17,偽代碼描述見(jiàn)表40:表40嵌套式Transformer模塊偽代碼描述GB/T42382.2—202Xdeftransformer_in_transformer(Z,Y){Y_reshape=Y_new.reshape(-1,n,dim)Z=Z+linear(Y_resha}7.2.2參數(shù)化跳躍連接參數(shù)化跳躍連接通過(guò)引入恒等映射之外的帶參數(shù)的投影來(lái)更好地豐富特征多樣性和特征坍塌。參數(shù)化跳連和多頭自注意力模塊(MSA)模塊是并行的,表示形式見(jiàn)式(6):在一層中,總共包含T條參數(shù)化跳連。除了原來(lái)的跳連,參數(shù)化跳連提供了更多的替代路徑來(lái)繞過(guò)σ——激活函數(shù)(比如GeLUΘli——權(quán)重矩陣;Tli(Zl;Θli)——獨(dú)立地對(duì)不同圖像塊的特征做變換,保留了他們的獨(dú)特屬性。):式中:Z'l——多層感知機(jī)模塊(MLP)的輸入。7.2.3基于循環(huán)矩陣的高效部署直接部署7.2.1和7.2.2等方法需要引入矩陣乘法運(yùn)算將消耗極大的計(jì)算代價(jià)。本文件使用分塊循環(huán)矩陣來(lái)實(shí)現(xiàn)高效的部署。首先,將原矩陣Θ劃分成b×b個(gè)子矩陣,見(jiàn)式(9):GB/T42382.2—202X每個(gè)子矩陣cij都是循環(huán)向中元見(jiàn)式循環(huán)矩陣可以通過(guò)傅里葉變換實(shí)現(xiàn)高效的計(jì)算。在實(shí)際計(jì)算中,輸入特征先被劃分成多個(gè)小塊,然后做快速傅里葉變換(FFT)。在頻域內(nèi),特征和權(quán)重做逐點(diǎn)的相乘運(yùn)算,最后特征再通過(guò)逆傅里葉變換(IFFT)映射回空間域。如式(11)所示:式中:FFT——快速傅里葉變換;分別將參數(shù)化跳連并聯(lián)到Transformer模型的多頭自注意力模塊(MSA)和多層感知機(jī)模塊(MLP)將得到增強(qiáng)的多頭自注意力模塊和增強(qiáng)的多層感知機(jī)模塊。交替堆疊這兩個(gè)模塊構(gòu)成整個(gè)增強(qiáng)的Transformer模型。基于參數(shù)化跳連的Transformer模塊模塊的操作定義見(jiàn)表18。基于參數(shù)化跳連的Transformer模塊模塊的偽代碼見(jiàn)表41:表41基于參數(shù)化跳連的Transformer模塊偽代碼描述defaug_transformer(Z){Z=Z+MHA(Z)+sum(augshortcut(Z),Z_new=Z+FFN(Z)+sum(augshortcut(Z),}GB/T42382.2—202X7.2.4歸一化加速Transformer網(wǎng)絡(luò)目前普遍采用了層歸一化(LayerNorm)算子,而在推理網(wǎng)絡(luò)時(shí),該算子不僅需要在線計(jì)算過(guò)程,還需要復(fù)雜的開(kāi)方操作,極大地影響了Transformer網(wǎng)絡(luò)的運(yùn)行速度和內(nèi)存需求。歸一化加速方法利用數(shù)據(jù)的先驗(yàn)統(tǒng)計(jì)信息,能夠被合并到相鄰的線性操作中,見(jiàn)式(12)所示:式中:γ,σ,β——均為常數(shù),可合并至相鄰線性層的計(jì)算當(dāng)中。前向過(guò)程前向過(guò)程假設(shè)網(wǎng)絡(luò)的輸入為Xt∈RB×C,首先計(jì)算其當(dāng)前方差,以及利用歷史方差得到更加準(zhǔn)確的平滑方差,見(jiàn)式(13)和式(14)所示:計(jì)算輸出值見(jiàn)式(15)和式(16)所示:yt=yzt+β#16同時(shí)將平滑后的方差,更新到推理用的方差中,見(jiàn)式(17)所示:同時(shí)將平滑后的方差,更新到推理用的方差中,見(jiàn)式(17)所示:反向過(guò)程由于在前向過(guò)程中引入了對(duì)統(tǒng)計(jì)值的平滑,所以針對(duì)反向過(guò)程中準(zhǔn)確的計(jì)算梯度代價(jià),采用平滑策略近似梯度。首先Zt的梯度可以準(zhǔn)確計(jì)算見(jiàn)式(18):對(duì)平滑方差的梯度做估計(jì)見(jiàn)式(19)和式(20):GB/T42382.2—202X輸出的梯度見(jiàn)式(21):?ZtφTransformer統(tǒng)一歸一化層模塊操作定義模塊的操作定義見(jiàn)表19。Transformer統(tǒng)一歸一化層模塊操作定義模塊的偽代碼見(jiàn)表42:表42Transformer統(tǒng)一歸一化層推理前向偽代碼描述defunified_norm(x,σ2,γ,β){Y=γXnorm+β}7.2.5多模態(tài)融合模塊多模態(tài)融合模塊可以顯式地利用不同模態(tài)之間的對(duì)齊特性,不同模態(tài)的信息可以自適應(yīng)地進(jìn)行混合,提高模態(tài)融合效果。對(duì)于第l層的第m模態(tài),多模態(tài)融合模塊利用全連接網(wǎng)絡(luò)構(gòu)建一個(gè)打分網(wǎng)絡(luò)sle對(duì)每個(gè)特征進(jìn)行重要性評(píng)估,見(jiàn)式(22)和式(23):=MSAiLNe?sle)#22e1=MLPLN#23并對(duì)打分網(wǎng)絡(luò)施加L1約束使其在訓(xùn)練中稀疏化,1sle)l。利用打分網(wǎng)絡(luò)的分值來(lái)引導(dǎo)跨模態(tài)的交互,見(jiàn)式(24)le≥θ+Proj'e?Ⅱsle<θ#24其中I為指示函數(shù),θ=0.01是一個(gè)閾值,?表示按元素相乘,Proj'e表示將第m模態(tài)的特征e投影至第m'模態(tài)得到對(duì)應(yīng)特征。當(dāng)一個(gè)模態(tài)特征被替換時(shí),利用殘差結(jié)構(gòu)的位置編碼保留其位置特性。當(dāng)輸入模態(tài)多于兩個(gè)時(shí),為了防止模態(tài)間替換混亂,隨機(jī)產(chǎn)生并固定一種分配方案am'm∈{0,1}N,這時(shí)模態(tài)間的特征混合表達(dá)見(jiàn)式(25):Transformer多模態(tài)融合模塊操作定義模塊的操作定義見(jiàn)表20。Transformer多模態(tài)融合模塊操作定義模塊的偽代碼見(jiàn)表43:表43Transformer多模態(tài)融合模塊偽代碼描述GB/T42382.2—202Xdeftokenfusion(x1,x2,score1,score2,threshold){index1=np.argwhere(score1<thresx1_new[index1]=x2index2=np.argwhere(score2<thresreturnx1_new,x2_n}7.3大模型加速壓縮流程7.3.1量化概述大規(guī)模預(yù)訓(xùn)練模型的量化是提高計(jì)算效率和減少模型復(fù)雜度的關(guān)鍵手段。量化的核心在于減少模型中參數(shù)的表示精度,通過(guò)降低數(shù)值精度來(lái)減小存儲(chǔ)需求和加速計(jì)算過(guò)程,同時(shí)盡量維持模型的性能不變。量化技術(shù)能與多種模型優(yōu)化策略相結(jié)合,比如剪枝技術(shù),可以在量化前對(duì)模型進(jìn)行剪枝,進(jìn)一步優(yōu)化模型效率。在執(zhí)行量化之后,模型的每個(gè)權(quán)重都會(huì)被轉(zhuǎn)換成較低精度的格式,例如,僅使用較少的位來(lái)表示每個(gè)權(quán)重值。特別是對(duì)于那些已經(jīng)通過(guò)剪枝操作精簡(jiǎn)過(guò)的模型,量化可以直接應(yīng)用于這些被保留下來(lái)的權(quán)重,從而實(shí)現(xiàn)額外的效率提升。量化過(guò)程中,可以根據(jù)權(quán)重的重要性來(lái)決定其量化的程度,這與剪枝時(shí)選取保留權(quán)重的策略相似。量化準(zhǔn)則.1大語(yǔ)言模型仿射變換量化算法準(zhǔn)則仿射變換量化的算法可用于優(yōu)化大語(yǔ)言模型的免訓(xùn)練量化,通過(guò)直接應(yīng)用等效的仿射變換來(lái)優(yōu)化模型;同時(shí),擴(kuò)展了優(yōu)化的范圍,包括權(quán)重的縮放、平移等變換,從而顯著減少量化過(guò)程中的誤差。該算法利用仿射變換的逆矩陣來(lái)保持量化前后模型輸出的等效性,并引入基于Levy-Desplanques定理的漸進(jìn)式掩碼優(yōu)化方法,以確保矩陣優(yōu)化過(guò)程的穩(wěn)定性。具體算法流程如下:a)對(duì)給定的大語(yǔ)言模型,應(yīng)用仿射變換矩陣優(yōu)化權(quán)重分布:1)定義偽量化函數(shù)見(jiàn)式(26):式中:?、Zp、n——分別代表量化步長(zhǎng)、量化零點(diǎn)和比特位;AffineQuant涉及將仿射變換矩陣A左乘以權(quán)重矩陣W,以更好地將權(quán)重分布與量化函數(shù)Q (?)對(duì)齊。擴(kuò)大優(yōu)化空間可以減小轉(zhuǎn)換權(quán)重中的量化誤差,從而減少困惑度。同時(shí),將仿射變換矩陣A的逆函數(shù)右乘以激活值X,以保持激活和權(quán)重之間矩陣乘法輸出的不變性。對(duì)于單個(gè)線性層,AffineQuant優(yōu)化目標(biāo)見(jiàn)式(27GB/T42382.2—202XA2)在大型語(yǔ)言模型量化中,AffineQuant的優(yōu)化目標(biāo)如下:argminllfiX,W)?fiA,δ(X?δ)A?1,QAW,b+δW)ll#(28)式中:fi——第i個(gè)Transformer塊;(X?δ)A?1——是等效變換后得到的激活權(quán)重和偏差;Q(AW)——是等效變換后得到的激活權(quán)重和偏差;b+δW——是等效變換后得到的激活權(quán)重和偏差;AffineQuant——結(jié)合了放射變化和平移交換,并使用Transformer塊量化前和量化后輸出的均方誤差為優(yōu)化目標(biāo)。b)使用逆仿射變換矩陣處理激活值,以保持輸出的一致性:如果每個(gè)對(duì)角元素的絕對(duì)值大于相應(yīng)行中其余元素的絕對(duì)值之和,則矩陣A被視為嚴(yán)格對(duì)角占優(yōu)。具體來(lái)說(shuō),而在Levy-Desplanques定理中規(guī)定了所有嚴(yán)格對(duì)角占優(yōu)矩陣都是可逆的。c)使用漸進(jìn)式掩碼,以優(yōu)化矩陣穩(wěn)定性:為了確保仿射變換矩陣在優(yōu)化過(guò)程中嚴(yán)格保持對(duì)角元素占主導(dǎo)地位,通過(guò)漸進(jìn)掩碼方法,在每個(gè)優(yōu)化塊開(kāi)始時(shí),凍結(jié)除了主對(duì)角線上的元素之外的所有元素;隨著優(yōu)化的進(jìn)行,逐漸解凍主對(duì)角線附近的元素,所有矩陣元素都變得可學(xué)習(xí)以進(jìn)行優(yōu)化:式中:GMij——掩碼矩陣的第i行第j列元素;t——目標(biāo)epoch;e∈[1,t]——當(dāng)前的epoch;hiddensize——仿射變換矩陣的維數(shù);α——穩(wěn)定因子。在每個(gè)優(yōu)化塊開(kāi)始時(shí),凍結(jié)除了主對(duì)角線上的元素。在注意力模塊中,在每個(gè)注意力頭中一致更新,因?yàn)樗麄儾皇車?yán)格對(duì)角占優(yōu)矩陣的約束。相反,遠(yuǎn)離主對(duì)角線的元素最初被凍結(jié),隨著優(yōu)化過(guò)程逐漸解凍,并按穩(wěn)定因子α縮放。偽代碼見(jiàn)表44:GB/T42382.2—202X表44仿射變換量化偽代碼描述quantize(W,X,A,GM,group_size,scale,qmA_inverse=A.mul(GM).inverW=W.matmul(A.mul(GM)).t(X=A.mul(GM).inverse().t().matmul(X)W=W.reshape(-1,group_s}W_int=((W/scale).round()-(W/scale)).detach()+(W/sW_int=W_int.clamp(qmin,qW_dequant=W_int.mul(scW_dequant=W_dequant.reshape(dim1,di}.2視覺(jué)Transformer量化補(bǔ)償和級(jí)聯(lián)優(yōu)化低比特?zé)o訓(xùn)練量化引入了通道補(bǔ)償方案,在Transformer的add的相關(guān)層采用量化補(bǔ)償系數(shù)對(duì)不同通道進(jìn)行補(bǔ)償;并且,以Block為重構(gòu)單元,對(duì)網(wǎng)絡(luò)權(quán)重和激活值進(jìn)行級(jí)聯(lián)地聯(lián)合優(yōu)化。具體流程如下:a)通道補(bǔ)償:1)對(duì)于shortcut的add層,使用逐通道的補(bǔ)償系數(shù)scale和bias,用于調(diào)整通道的分布。插入逐通道的scale和bias算子后,其前向過(guò)程替換為:y=scale?x+bias;2)通道補(bǔ)償可調(diào)整輸出的分布,然后對(duì)y進(jìn)行量化,可以避免較大的性能損失。相應(yīng)地,對(duì)相連的層則需要減去bias,除以scale,以保持一致。該操作如果對(duì)應(yīng)矩陣乘法或者其他線性操作,可以被合并到該線性操作里。b)級(jí)聯(lián)重構(gòu)優(yōu)化:1)第一步,先對(duì)激活值和權(quán)重量化間隔做限制的聯(lián)合優(yōu)化,再重構(gòu)權(quán)重。首先,選取一個(gè)基本單元,其內(nèi)部第i個(gè)單元的權(quán)重和激活值的量化間隔分別s和s。以MSE為損失函數(shù)優(yōu)化量化間隔,優(yōu)化目標(biāo)如下:minδa,δws.t.δw<θsw,δa<θsa#32式中:sw、sa——離線統(tǒng)計(jì)得到的量化間隔。2)第二步,對(duì)基本單元的權(quán)重進(jìn)行重構(gòu),使其在量化中自適應(yīng)的向上或向下取整。優(yōu)化的目標(biāo)函數(shù)為:argminllL(W+δW)?L(W)ll#33δWGB/T42382.2—202X表45級(jí)聯(lián)重構(gòu)量化偽代碼描述Loss=‖L(s_w+δ_w,s_a+δ_a)-L(s_w,sW_int=(W_f/(s_w+δ_w).round()+δ_W).clamp(min,mX_int=(X/δ_a.round()).clamp(min,m}7.3.2剪枝概述大規(guī)模預(yù)訓(xùn)練模型的剪枝操作是一種降低模型復(fù)雜度、提高計(jì)算效率的重要策略。具體而言,剪枝的目的是辨識(shí)并移除模型中的冗余參數(shù),這樣能有效縮減儲(chǔ)存需求和計(jì)算負(fù)擔(dān),同時(shí)保持原有的模型性能。剪枝方法具有較強(qiáng)的兼容性,例如,對(duì)于量化方法,可應(yīng)用于剪枝后的模型從而達(dá)到進(jìn)一步的優(yōu)化。在剪枝操作后,可以獲得對(duì)應(yīng)的稀疏掩碼表,量化操作對(duì)于掩碼表中為1的對(duì)應(yīng)權(quán)重(即未被剪枝掉的權(quán)重)進(jìn)行操作。而結(jié)構(gòu)化剪枝由于刪除了部分結(jié)構(gòu),因此可以直接對(duì)精簡(jiǎn)后的模型進(jìn)行量化。結(jié)構(gòu)感知剪枝準(zhǔn)則權(quán)重裁剪通過(guò)對(duì)Transformer中的冗余權(quán)重的裁剪,可以大大地降低網(wǎng)絡(luò)所需的內(nèi)存和計(jì)算量。以往的方法在裁剪Transformer時(shí),僅考慮了單個(gè)結(jié)構(gòu)的重要性。由于Transformer中不同模塊有其具體的物理意義,考慮到Transformer中不同結(jié)構(gòu)的相互重要性,并基于該重要性進(jìn)行權(quán)重裁剪,可采用Hessian陣來(lái)表征這種相互重要性,并通過(guò)理論推導(dǎo)簡(jiǎn)化裁剪過(guò)程的計(jì)算復(fù)雜度。裁剪可視為對(duì)網(wǎng)絡(luò)權(quán)重的擾動(dòng),假設(shè)原來(lái)的權(quán)重為w,裁剪后相應(yīng)地變成了w+Δw,衡量這種擾動(dòng)對(duì)網(wǎng)絡(luò)產(chǎn)生的影響的損失函數(shù)L,見(jiàn)式(34):裁剪的優(yōu)化目標(biāo),即在給定計(jì)算量的限制時(shí),最大程度地降低權(quán)重?cái)_動(dòng)給網(wǎng)絡(luò)帶來(lái)的損失增長(zhǎng),見(jiàn)式(35):minΔLS.t.FLOPS(w+ΔW)≤C#35式中:FLOPs——模型的計(jì)算量大?。籆——給定的計(jì)算量限制。對(duì)于Taylor一階項(xiàng)ΔwTgW,本方案可以具體表示為各個(gè)權(quán)重?cái)_動(dòng)影響的累加,見(jiàn)式(36):GB/T42382.2—202X式中:S——被裁剪的權(quán)重集合。對(duì)于Taylor二階項(xiàng)ΔwTHwΔw,表示了各個(gè)權(quán)重之間的交互關(guān)系,能夠幫助識(shí)別需要裁剪的權(quán)重,本方案將其表示為式(37)所示:本方案將Transformer中的權(quán)重分成三個(gè)部分:1)head部分,2)殘差連接層,3)FFN中內(nèi)部相連的層。對(duì)于三個(gè)部分,上述公式兩兩展開(kāi),既包含單獨(dú)模塊的關(guān)系,也包含兩兩模塊之間的相關(guān)關(guān)系,最終優(yōu)化目標(biāo)可以表式為式(38):其中,λij的表示見(jiàn)式(39):式中:Ni——表示權(quán)重參數(shù)數(shù)量;Hij——表示第i個(gè)模塊和第j個(gè)模塊的海森陣;α,β,γ——為三個(gè)模塊的裁剪比例??刹捎眠M(jìn)化算法對(duì)問(wèn)題進(jìn)行求解。在每個(gè)模塊內(nèi)部,則采用Fisher信息矩陣進(jìn)行裁剪。其裁剪準(zhǔn)則為:GB/T42382.2—202X表46結(jié)構(gòu)感知剪枝偽代碼描述IfC(q)<C:EndifPruneaccordingtoIComputefaccordingtoF(q)GeneratenewqbyCrossoverandM}7.4大模型遷移壓縮流程7.4.1概述遷移學(xué)習(xí)指的是將一個(gè)在大規(guī)模數(shù)據(jù)集上預(yù)先訓(xùn)練好的模型(如圖像識(shí)別、自然語(yǔ)言處理模型)應(yīng)用到相關(guān)但不同的任務(wù)上,通過(guò)微調(diào)(fine-tuning)少量參數(shù)或增加少量任務(wù)特定層,以實(shí)現(xiàn)對(duì)新任務(wù)快速且高效的學(xué)習(xí)和適應(yīng)。這個(gè)過(guò)程大幅減少了訓(xùn)練參數(shù),顯著降低了訓(xùn)練成本和時(shí)間,同時(shí)保持或提高了模型在新任務(wù)上的表現(xiàn)。大模型遷移壓縮方法是一種參數(shù)高效的在大模型向下游任務(wù)進(jìn)行遷移學(xué)習(xí)的同時(shí)進(jìn)行模型壓縮的方法。該方法針對(duì)現(xiàn)有大規(guī)模預(yù)訓(xùn)練模型遷移學(xué)習(xí)方法與大模型壓縮方法在適配下游任務(wù)階段面臨的效率低下的挑戰(zhàn),通過(guò)插入特定結(jié)構(gòu)并在遷移時(shí)對(duì)其進(jìn)行稀疏訓(xùn)練,實(shí)現(xiàn)參數(shù)高效的大模型遷移與壓縮。7.4.2基礎(chǔ)操作高效遷移學(xué)習(xí)與遷移壓縮包含一系列適配器(Adapter)模塊:Adapter適配器操作定義見(jiàn)表21。7.4.3多模態(tài)大模型高效遷移概述多模態(tài)大模型高效遷移方法采用混合模態(tài)適配模塊,以自動(dòng)根據(jù)單模態(tài)指令和多模態(tài)指令進(jìn)行權(quán)重切換,使得模型可以同時(shí)處理單模態(tài)和多模態(tài)任務(wù)?;旌夏B(tài)適配模塊包含路由函數(shù),可以根據(jù)輸入模態(tài)選擇最佳適配器路徑,降低大型語(yǔ)言模型適配至多模態(tài)領(lǐng)域的成本。多模態(tài)大模型高效遷移操作定義見(jiàn)表22。GB/T42382.2—202X多模態(tài)大模型高效遷移方法的偽代碼見(jiàn)表47:表47多模態(tài)大模型高效遷移偽代碼描述Efficienttransfer(W,A//InitializeA←initialize(W);R←initialize(W);//in//EfficienntfinetuningReturnW,A,RasW_o,A_o,具體方法混合模態(tài)適配模塊引入模態(tài)標(biāo)記來(lái)指示輸入模態(tài),見(jiàn)式(41tm=mEm#41式中:Em∈?2×c——模態(tài)嵌入;m∈?2——輸入模態(tài)的獨(dú)熱編碼?;谀B(tài)標(biāo)記tm,混合模態(tài)適配器可以動(dòng)態(tài)調(diào)整輸入特征Z∈?n×c的適配,在實(shí)踐中,Z可以是單模態(tài)或多模態(tài)的特征。因此,多模態(tài)適配器定義見(jiàn)式(42'Z=Z+s?routerfa1Z,fa2Z;fωtm#42'式中:fa1和fa2——表示RepAdapters;s——調(diào)節(jié)梯度尺度的超參數(shù);router——決定兩個(gè)適配器路由路徑的路由函數(shù)。為進(jìn)一步節(jié)省模型的訓(xùn)練參數(shù)量,兩個(gè)適配器的下采樣投影矩陣參數(shù)共享。路由函數(shù)router的定義見(jiàn)式(43)和式(44routerfa1Z,fa2Z=?fa1Z+?fa2Z#43)其中,Wm∈?c×2和bm∈?2分別是權(quán)重矩陣和偏置,τ是softmax函數(shù)的溫度,表示路由權(quán)重。混合模態(tài)訓(xùn)練旨在凍結(jié)大型圖像編碼器和大型語(yǔ)言模型的參數(shù),僅微調(diào)插入的適配器的參數(shù),以實(shí)現(xiàn)整個(gè)多模態(tài)大型語(yǔ)言模型的端到端聯(lián)合優(yōu)化。端到端的優(yōu)化目標(biāo)可表示為式(45argmin?f?I,T),R;θa#45)GB/T42382.2—202X式中:R——表示正確應(yīng)答標(biāo)簽值;?(?)——表示正確應(yīng)答標(biāo)簽值和目標(biāo)損失函數(shù);f?——代表大型語(yǔ)言模型;θa——表示適配器的參數(shù);I∈?h×w×3——表示輸入圖像;T∈?l——表示文字說(shuō)明。在訓(xùn)練期間,構(gòu)建一個(gè)從純文本指令和文本圖像指令隨機(jī)采樣的小型訓(xùn)練批次。整體訓(xùn)練目標(biāo)?可定義為式(46)所示:式中:M——表示文本圖像指令樣本在一個(gè)小型訓(xùn)練批次中的數(shù)量;n——表示純文本指令樣本在一個(gè)小型訓(xùn)練批次中的數(shù)量。7.4.4視覺(jué)大模型高效遷移概述視覺(jué)大模型的高效遷移適用于優(yōu)化視覺(jué)大模型的空間成本和遷移效率,在給定一個(gè)預(yù)訓(xùn)練的視覺(jué)大模型的情況下,利用現(xiàn)有的結(jié)構(gòu)重參數(shù)方法,把訓(xùn)練好的輕量級(jí)適配器通過(guò)矩陣乘法合并到原來(lái)的網(wǎng)絡(luò)中,使推理過(guò)程中的模型結(jié)構(gòu)保持不變。視覺(jué)大模型高效遷移操作定義見(jiàn)表2:視覺(jué)大模型高效遷移方法的偽代碼見(jiàn)表48:表48視覺(jué)大模型高效遷移偽代碼描述Efficienttransfer(W,A//InitializeA←initialize(W);//EfficienntfinetuningA←reparameterize(A,s);//reparameterizeReturnW,AasW_o,GB/T42382.2—202X具體方法視覺(jué)大模型高效遷移具體方法的步驟包括:a)首先,設(shè)置重參數(shù)適配器的結(jié)構(gòu),其表達(dá)式由如下式(47)表示:f(x;θ)=s·GLinear(xwd+bd)+x#47式中:x——輸入特征;wd∈Rd×C,bd∈RC——分別表示投影權(quán)值和偏置;S——表示調(diào)節(jié)梯度標(biāo)量的超參數(shù);GLinear·——表示group-wise變換,其表達(dá)見(jiàn)式(48GLinear(x)=xg0wg0,…,xgkwgk+b#48式中:xi'∈Rn×∈Rn×C特征的切分;k——group的數(shù)量;wi∈R×表示投影權(quán)重;b∈Rd——表示偏置。b)然后,部署重參數(shù)適配器,把適配器部署到視覺(jué)Transformer的結(jié)構(gòu)中,分別應(yīng)用到多頭注意力模塊(MHA)和全連接層(FFN)的輸入,其表達(dá)見(jiàn)式(49)和式(50):'xl=MHAfLNxl?1;θ))+xl?1#49'xl=FFNfLNxl);θ))+xl#50式中:xl?1——前一層的輸入特征;xl——后一層的輸入特征;f(·)——適配器函數(shù);θ——適配器參數(shù);LN(·)——正則化函數(shù)。c)然后,融合訓(xùn)練后的重參數(shù)適配器,把訓(xùn)練后的適配器進(jìn)行結(jié)構(gòu)重參數(shù)化并融合到原模型中,其步驟如下:1)重新構(gòu)建group-wise變換的定義見(jiàn)式(51GLinearx=xwsparse+b#51式中:wsparse∈RC×d——表示由原來(lái)的group-wise變換矩陣序列wi合并及填充零元素得到的稀疏矩陣。2)繼續(xù)簡(jiǎn)化適配器的公式定義,使其變換成一個(gè)簡(jiǎn)單的線性層,再通過(guò)矩陣相乘與模型中的投影矩陣融合,見(jiàn)式(52):GB/T42382.2—202X式中:wI∈Rd×d——單位矩陣。3)重新描述結(jié)構(gòu)重參數(shù)化后的視覺(jué)Transformer,以全連接層為例,其模塊的公式定義見(jiàn)式(53):式中:wrep=wadaw1——表示全連接層重參數(shù)化后的投影矩陣;brep=badaw1+b1——表示投影偏置。4)與(3)類似,多頭注意力模塊也被重參數(shù)化,其公式定義見(jiàn)式(54)和式(55AttnifX;θ)=scoreiXXwrep+bvrep#55式中:wrep,wrep和wrep——分別表示重參數(shù)化權(quán)重;bQrep,bkrep和bvrep——分別表示重參數(shù)化偏置。7.4.5大模型高效遷移概述遷移壓縮方法主要分為模塊設(shè)計(jì)、損失設(shè)計(jì)和流程設(shè)計(jì)三部分;a)模塊設(shè)計(jì)可復(fù)用高效遷移方法的適配器模塊并進(jìn)行針對(duì)性改進(jìn)??纱碓A(yù)訓(xùn)練權(quán)重進(jìn)行壓縮是指僅需對(duì)該模塊參數(shù)或結(jié)構(gòu)進(jìn)行壓縮,即可進(jìn)行對(duì)應(yīng)預(yù)訓(xùn)練權(quán)重的壓縮;b)損失設(shè)計(jì)往往與壓縮方式和模塊設(shè)計(jì)相耦合,即針對(duì)模塊結(jié)構(gòu)與權(quán)重進(jìn)行損失設(shè)計(jì),以通過(guò)指定的壓縮方式,達(dá)到壓縮目標(biāo);c)流程設(shè)計(jì)上,總體流程為壓縮感知的高效遷移學(xué)習(xí)流程,并針對(duì)不同的壓縮方式進(jìn)行具體的設(shè)計(jì),如剪枝可為迭代剪枝,量化為量化感知的參數(shù)高效微調(diào)。GB/T42382.2—202X遷移壓縮操作定義操作定義見(jiàn)表24。遷移壓縮方法的偽代碼見(jiàn)表49。表49遷移壓縮偽代碼描述Transfer_compression(W,//InitializeA←initialize(W);//Compression-awareFinetuningReturnW,AasW_o,具體方法該部分以遷移壓縮中的遷移剪枝為例介紹具體方法:a)首先,使用線性適配器(Linear_adapter)。其作用于各類線性操作的輸出(包括多頭注意力層中QKV特征向量和前饋層的投影輸出)。線性適配器的公式見(jiàn)式(56):Y=⊙X+β#56式中:X——表示來(lái)自前一層(Wq、Wk、Wv、W1、W2)的輸出;——表示縮放因子;β——⊙——表示Hadamard積。GB/T42382.2—202X通過(guò)廣播操作,使得縮放和偏移參數(shù)能夠應(yīng)用于X的適當(dāng)維度。線性適配器的可剪枝性基于其結(jié)構(gòu)設(shè)計(jì)和重新參數(shù)化能力。通過(guò)將縮放向量的特定元素設(shè)置為零,在重新參數(shù)化后,可以有效地剪枝掉):式中:W'和B'——表示適應(yīng)后的權(quán)重和偏移矩陣;b)隨后,使用結(jié)構(gòu)稀疏感知優(yōu)化技術(shù),并輔以一個(gè)重建Loss,使得在迭代剪枝過(guò)程中逐步增強(qiáng)模型的稀疏性,同時(shí)保持性能。為了促進(jìn)適配器權(quán)重的稀疏性,對(duì)于適配器參數(shù)的縮放,稀疏損失Lsparse使用L1范數(shù)定義見(jiàn)式(58):為了關(guān)注非零的縮放參數(shù)(即未被剪枝的參數(shù)可使用平滑的L1懲罰函數(shù)來(lái)近似梯度。因此,縮放參數(shù)的梯度可以重構(gòu)見(jiàn)式(59?ifX=?iLX+λ,signXi#59在剪枝前使用相同的適配器對(duì)一個(gè)參考模型進(jìn)行微調(diào)。在迭代循環(huán)中,通過(guò)重建損利用參考模型的信息。重構(gòu)損失等于每個(gè)稀疏訓(xùn)練的適配器層輸出與相應(yīng)參考適配器層輸出之間的歐氏距離,見(jiàn)式(60Lrec=Xi?Xef2#60)式中:xi——稀疏訓(xùn)練適配器的輸出;xef——參考適配器的輸出表因此,對(duì)于輸入x,包括分類損失Lcls、重構(gòu)損失Lrec和稀疏損失Lsparse,綜合的損失函數(shù)被定式中:λrec,λsparse——調(diào)節(jié)重構(gòu)和稀疏損失成分重要性的超參數(shù)。c)最后,在剪枝模塊集成之后,為了提高模型的稀疏率,同時(shí)進(jìn)行高效的參數(shù)微調(diào),每個(gè)迭代的剪枝階段都會(huì)增加預(yù)定的剪枝率,然后在接下來(lái)的T個(gè)周期內(nèi)進(jìn)行重新訓(xùn)練,然后再進(jìn)入下一個(gè)剪枝周期。7.4.6大模型微調(diào)Prompt微調(diào)Prompt微調(diào)是一種通過(guò)修改模型輸入的方式來(lái)實(shí)現(xiàn)微調(diào)的方法,不需要對(duì)模型的參數(shù)進(jìn)行大規(guī)模更新。通過(guò)在輸入數(shù)據(jù)中添加任務(wù)特定的模態(tài)提示來(lái)引導(dǎo)模型生成正確的輸出。Prompt微調(diào)的核心思想是利用自然語(yǔ)言中的提示(prompts)來(lái)引導(dǎo)模型進(jìn)行任務(wù)。對(duì)于分類任務(wù),可以在輸入文本前后添加特定的提示語(yǔ)句,使模型能夠根據(jù)任務(wù)需求進(jìn)行分類。例如,在情感分析任務(wù)中,可以在輸入句子后添加“這句話的情感是:”這樣的提示語(yǔ)句,引導(dǎo)模型輸出情感類別。GB/T42382.2—202XPrompt微調(diào)的具體操作包括:a)提示語(yǔ)選擇:設(shè)計(jì)合適的提示語(yǔ)句,以確保模型能夠理解并執(zhí)行任務(wù)。提示語(yǔ)可以是簡(jiǎn)單的詞語(yǔ)或短語(yǔ),也可以是完整的句子。b)輸入處理:將提示語(yǔ)與輸入數(shù)據(jù)結(jié)合,形成新的輸入序列。對(duì)于生成任務(wù),可以在輸入文本中嵌入提示語(yǔ)句,引導(dǎo)模型生成與任務(wù)相關(guān)的文本。c)模型調(diào)整:在輸入層或編碼層進(jìn)行調(diào)整,使模型能夠處理帶有提示語(yǔ)的輸入數(shù)據(jù)。這種調(diào)整通常包括修改輸入格式、更新詞嵌入等。Prompt微調(diào)運(yùn)算操作定義見(jiàn)表50。表50Prompt微調(diào)運(yùn)算操作定義XpromptYLoRA微調(diào)LoRA(Low-RankAdaptation)微調(diào)是一種通過(guò)對(duì)模型參數(shù)進(jìn)行低秩適配的微調(diào)方法,能夠在保持模型性能的同時(shí),顯著減少微調(diào)所需的計(jì)算資源和存儲(chǔ)空間。LoRA微調(diào)的核心思想是通過(guò)低秩矩陣分解來(lái)調(diào)整模型參數(shù)。在傳統(tǒng)的微調(diào)方法中,所有模型參數(shù)都會(huì)參與調(diào)整,而LoRA通過(guò)將高維參數(shù)矩陣分解為低秩矩陣,減少了參數(shù)數(shù)量,從而降低了計(jì)算復(fù)雜度。LoRA微調(diào)的具體操作包括:a)參數(shù)選擇:將模型的參數(shù)矩陣分解為兩個(gè)低秩矩陣,以減少參數(shù)數(shù)量。b)低秩適配:在微調(diào)過(guò)程中,僅調(diào)整這兩個(gè)低秩矩陣A和B,而不改變?cè)紖?shù)矩陣W。這種方式能夠保持模型的原始性能,同時(shí)快速適應(yīng)新任務(wù)。c)融合更新:在每次反向傳播中,將低秩矩陣A和B的梯度更新融合到原始參數(shù)矩陣中,以提高模型的適應(yīng)性。GB/T42382.2—202XLoRA微調(diào)運(yùn)算操作定義見(jiàn)表51。表51LoRA微調(diào)運(yùn)算操作定義XYrankRAG模型增強(qiáng).1概述RAG(Retrieval-AugmentedGeneration)是一種結(jié)合了檢索和生成的技術(shù),主要用于自然語(yǔ)言處理任務(wù)中。RAG將文檔檢索與生成模型結(jié)合起來(lái),以提高生成任務(wù)的性能,特別是在處理長(zhǎng)文檔和需要豐富背景知識(shí)的任務(wù)時(shí)表現(xiàn)出色。RAG模型主要由兩部分組成:檢索器(Retriever)用于從一個(gè)大的文檔集合中檢索相關(guān)文檔,生成器(Generator)基于檢索到的文檔生成輸出文本。RAG的工作流程如下:a)查詢輸入(QueryInput):接受用戶輸入的查詢。b)文檔檢索(DocumentRetrieval):使用檢索器從文檔集合中找到與查詢相關(guān)的文檔。c)檢索結(jié)果整合(ResultIntegration):將檢索到的文檔與查詢一起輸入生成器。d)輸出生成(OutputGeneration):生成器基于輸入生成最終的輸出文本。.2RAG操作定義DocumentRetrieval運(yùn)算操作定義見(jiàn)表52。表52DocumentRetrieval運(yùn)算操作定義top_kGB/T42382.2—202XDocumentEncoding運(yùn)算操作定義見(jiàn)表53。表53DocumentEncoding運(yùn)算操作定義QueryEncoding運(yùn)算操作定義見(jiàn)表54。表54QueryEncoding運(yùn)算操作定義SimilarityComputation運(yùn)算操作定義見(jiàn)表55。表55SimilarityComputation運(yùn)算操作定義度OutputGeneration運(yùn)算操作定義見(jiàn)表56。表56OutputGeneration運(yùn)算操作定義本GB/T42382.2—202X8預(yù)訓(xùn)練模型傳輸8.1概述相比于傳統(tǒng)百萬(wàn)量級(jí)參數(shù)量的模型,大規(guī)模預(yù)訓(xùn)練模型參數(shù)量往往超過(guò)10億量級(jí),對(duì)封裝與傳輸有著更高的要求。本章主要包括了模型封裝表示方法,模型結(jié)構(gòu)定義規(guī)范與數(shù)據(jù)結(jié)構(gòu),模型封裝、加密流程,模型解封裝、解密流程以及其他方面的內(nèi)容。通過(guò)標(biāo)準(zhǔn)化封裝與分發(fā)規(guī)范,便于模型從不同端進(jìn)行傳輸、更新,從而進(jìn)一步提高標(biāo)準(zhǔn)的使用范圍與應(yīng)用場(chǎng)景。8.2模型封裝表示模型封裝表示結(jié)構(gòu)圖如圖1所示。圖2模型封裝表示結(jié)構(gòu)圖其中具體分為:a)模型封裝表示:模型中的排布方式,封裝信息,數(shù)據(jù)結(jié)構(gòu)等說(shuō)明定義;b)程序文件:主要分為兩部分,第一部分為運(yùn)行庫(kù),包括運(yùn)行框架,運(yùn)行環(huán)境所需要的程序文件;第二部分為運(yùn)行腳本,包括與模型相關(guān),輸入數(shù)據(jù)獲得運(yùn)行結(jié)果的接口調(diào)用、模型推理程序腳本;c)模型描述文件:主要包括模型信息,模型屬性以及其他的相關(guān)描述。8.2.1模型封裝表示格式定義封裝模型文件應(yīng)遵循以下的結(jié)構(gòu)文件目錄結(jié)構(gòu):a)Model(模型目錄):存儲(chǔ)封裝表示的模型數(shù)據(jù);b)Program(模型程序):存儲(chǔ)算法、運(yùn)行庫(kù)、腳本文件等;c)Meta-info(描述信息):存儲(chǔ)模型的屬性信息、技術(shù)信息等。整體目錄結(jié)構(gòu)如表57所示:表57模型與文件路徑結(jié)構(gòu)GB/T42382.2—202XMeta-info按照模型標(biāo)識(shí)符ManagementinfoTechnicalinfo8.2.2模型數(shù)據(jù)結(jié)構(gòu)定義封裝模型數(shù)據(jù)結(jié)構(gòu)包括了文件頭信息(fileheader),模型頭信息(modelheader),以及模型表達(dá)緊湊表達(dá)的數(shù)據(jù)信息(modeldata)。每個(gè)封裝模型文件有一個(gè)單獨(dú)的文件頭,并且可以包含多個(gè)模型文件。模型頭與對(duì)應(yīng)的信息依次排列在后面,見(jiàn)表58。表58頭信息與數(shù)據(jù)信息的排列文件頭的數(shù)據(jù)結(jié)構(gòu)定義見(jiàn)表59:表59文件頭數(shù)據(jù)結(jié)構(gòu)值unsignedintunsignedintunsignedintunsignedint模型頭的定義見(jiàn)表60:表60模型頭數(shù)據(jù)結(jié)構(gòu)值unsignedintunsignedintunsignedintunsignedintunsignedintGB/T42382.2—202X8.2.3模型程序文件定義模型程序文件主要包括兩部分:運(yùn)行庫(kù)(Library)和運(yùn)行腳本(Scripts)。運(yùn)行庫(kù)主要包含了算法所依賴的運(yùn)行環(huán)境(environment),根據(jù)場(chǎng)景、模型自編譯的算法庫(kù)文件(core),以及用于將統(tǒng)一模型表示轉(zhuǎn)換為不同平臺(tái)使用的轉(zhuǎn)換器(converter)。表61模型程序文件結(jié)構(gòu)8.2.4模型描述文件定義模型描述文件用于描述模型的屬性信息,技術(shù)信息等。主要包括了兩個(gè)子文件:managementinfo.json和technicalinfo.json。managementinfo.json主要存儲(chǔ)屬性信息,詳見(jiàn)表62。technicalinfo.json主要存儲(chǔ)技術(shù)信息,詳見(jiàn)表63。表62屬性信息文件“1GFLOPs”}模型評(píng)價(jià)指標(biāo),如precision,recall,F1-scor模型開(kāi)源協(xié)議,如GPL-2.0,MIT等GB/T42382.2—202X表63技術(shù)信息文件unsignedint“GPU:typeA,typeB,GPUmem:8G,CPU:typeC,Mem:8G”如”Ubuntu18.04-PYTHON3.7-PyTorc模型運(yùn)行時(shí)的配置文件,用于修改inputandouthreshold,outputformaunsignedintconverter_confgPTM_info表64模型任務(wù)表65模型輸入描述輸入的數(shù)據(jù)類型(模態(tài))如image,text,video,speech,等.GB/T42382.2—202X表66轉(zhuǎn)換器配置描述板端推理多batch類型,如static-batch,dy輸入數(shù)據(jù)預(yù)處理參數(shù),例如resize_height,reweightcompress等.表67預(yù)訓(xùn)練大模型信息表模型基礎(chǔ)架構(gòu),如“l(fā)lama”,“Qwen”,“SparseAttention”、“MQA”等,多種技術(shù)可一并寫入peUnsignedintUnsignedintblocksUnsignedintUnsignedintUnsignedintUnsignedint8.2.5模型封裝表示的加解密模型封裝表示加密可以有效防止未授權(quán)的第三方獲取、攻擊、篡改模型。模型封裝表示的加解密應(yīng)符合GB/T42382.1-2023中第11章模型保護(hù)的內(nèi)容。8.2.6模型增量更新模型增量更新(殘差更新)是一個(gè)在邊端和云端之間需要更新模型的過(guò)程。一般來(lái)說(shuō),新模型在云端生成,然后分發(fā)到邊端,用于模型傳播以促進(jìn)更好的邊端部署應(yīng)用。在邊端生成深度學(xué)習(xí)模型還需要進(jìn)一步傳輸和融合模型。對(duì)于相同的任務(wù)或相似的任務(wù)的多模型場(chǎng)景,通常這些場(chǎng)景都包含多個(gè)級(jí)別的相同/相似任務(wù),這些任務(wù)的模型通常共享相同的架構(gòu)。對(duì)于云端和邊端共享部分架構(gòu)的情況,只需對(duì)相同部分架構(gòu)的權(quán)重增量進(jìn)行殘差更新。其他部分需要獨(dú)立傳輸。對(duì)于這些相似的模型,不同模型之間的權(quán)重存在高度相關(guān)性。相比于原始權(quán)重,權(quán)重的殘差部分分布更加集中,多樣性更少,更方便進(jìn)行低比特量化。因此,可以利用模型殘差更新技術(shù)來(lái)消除信息傳輸之間的信息冗余。更新和傳輸?shù)倪^(guò)程包括以下六個(gè)步驟:a)訓(xùn)練基礎(chǔ)模型權(quán)重A并將模型從云端傳輸?shù)竭叾耍籦)根據(jù)實(shí)際需要重新訓(xùn)練和微調(diào)基礎(chǔ)模型權(quán)重A,以獲得目標(biāo)模型權(quán)重B;c)計(jì)算基礎(chǔ)模型權(quán)重A和目標(biāo)模型權(quán)重B之間的差異,以獲得模型殘差權(quán)重Δ=B-A;GB/T42382.2—202Xd)對(duì)模型殘差應(yīng)用殘差量化,以獲得量化模型殘差權(quán)重Q(Δ);e)將量化模型殘差權(quán)重Q(Δ)從云端傳輸?shù)竭叾?;f)邊端將殘差部分傳輸?shù)玫礁履P虰=A+Q(Δ)。流程圖如圖3所示。圖3模型增量傳輸流程圖8.3模型封裝傳輸8.3.1模型封裝分發(fā)流程模型從服務(wù)端到客戶端的分發(fā)流程應(yīng)符合:a)分發(fā)流程的輸入包括:3)模型表示/緊湊表示的文件;4)程序文件,依賴的運(yùn)行庫(kù)文件(可選);5)模型描述文件。b)分發(fā)流程的輸出包括用于傳輸?shù)姆庋b表示文件,具體流程如下:6)準(zhǔn)備所需的輸入文件;7)當(dāng)文件需要?dú)埐罡聲r(shí):8)使用殘差更新流程;9)當(dāng)模型需要加密時(shí):10)使用加密流程;11)對(duì)模型封裝文件頭、模型頭信息,并按照要求排列數(shù)據(jù);12)組織其余文件;13)生成封裝表示模型;14)將封裝表示模型分發(fā)至不同設(shè)備。GB/T42382.2—202X完整的流程圖如圖4所示。在模型的分發(fā)與傳輸中,一般需要基于相關(guān)的傳輸協(xié)議。在從服務(wù)端傳輸?shù)娇蛻舳耍ㄈ鐝脑O(shè)備A傳輸?shù)皆O(shè)備B)時(shí),需要遵循上述的數(shù)據(jù)格式規(guī)范。對(duì)于控制和數(shù)據(jù)的接口,推薦遵循表述性狀態(tài)傳遞(RepresentationalStateTransfer,簡(jiǎn)稱REST)的模式,并使用HTTPS的傳輸協(xié)議。圖4模型封裝流程圖8.3.2模型解封裝流程一旦客戶端接收到完整的封裝表示模型,就可以執(zhí)行相應(yīng)的解封裝流程。流程的輸入包括從服務(wù)端得到的模型封裝表示。流程的輸出包括模型文件,程序文件以及描述文件。設(shè)備端模型的解封裝流程為:GB/T42382.2—202Xa)準(zhǔn)備輸入文件;——如果需要解密:使用相應(yīng)的解密方法;——如果是緊湊表示的模型:使用解壓縮流程;——如果需要進(jìn)行模型轉(zhuǎn)換:利用converter進(jìn)行模型轉(zhuǎn)換。b)完成模型的解封裝。在端側(cè)的模型,通過(guò)加載運(yùn)行庫(kù)和模型權(quán)重,做好運(yùn)行推理的準(zhǔn)備。當(dāng)數(shù)據(jù)輸入按照指定格式傳入,經(jīng)過(guò)前向計(jì)算,即可得到相應(yīng)的模型輸出。完整流程如圖5所示。圖5模型解封裝流程GB/T42382.2—202X預(yù)訓(xùn)練模型技術(shù)參考架構(gòu)A.1原生預(yù)訓(xùn)練模型框架圖A.1并行相關(guān)的編譯流程框架在圖編譯階段整合先進(jìn)的大模型優(yōu)化技術(shù),為訓(xùn)練大模型提供更加完善的解決方案,如圖3所示,神經(jīng)網(wǎng)絡(luò)模型可抽象為計(jì)算圖,神經(jīng)網(wǎng)絡(luò)模型的并行訓(xùn)練可以抽象為把計(jì)算圖切分到設(shè)備組成的拓?fù)鋱D上。為實(shí)現(xiàn)通用性,需設(shè)計(jì)統(tǒng)一的中間層表示(IR,IntermediateRepresentation)承載多種并行策略及內(nèi)存優(yōu)化技術(shù),進(jìn)而在神經(jīng)網(wǎng)絡(luò)圖編譯期間將并行策略反映到針對(duì)IR的操作上。最終,框架使用和單機(jī)相同的模型代碼,只需少量標(biāo)注,就能實(shí)現(xiàn)并行訓(xùn)練。A.2預(yù)訓(xùn)練模型開(kāi)發(fā)框架規(guī)范A.2.1流水線并行簡(jiǎn)單地將模型切分到多設(shè)備上并不會(huì)帶來(lái)性能的提升,因?yàn)槟P偷木€性結(jié)構(gòu)到時(shí)同一時(shí)刻只有一臺(tái)設(shè)備在工作,而其它設(shè)備在等待,造成了資源的浪費(fèi)。為了提升效率,流水線并行進(jìn)一

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論