




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