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

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論