李尤慧子,俞海濤,殷昱煜,高洪皓
(1.杭州電子科技大學 計算機學院,杭州 310018;2.上海大學 計算機工程與科學學院,上海 200444;3.韓國嘉泉大學 計算機工程系,城南 461701)
隨著人工智能的發展,機器學習模型[1-3]變得越發龐大復雜,需要的訓練數據量也持續增加。例如,詞向量預訓練模型GPT-2 訓練語料規模達40 GB,參數量更是高達15 億。然而,隨著人們對數據隱私保護的愈加關注,海量數據難以直接共享。在法律層面,歐盟頒布了目前全球最嚴格也最健全的網絡數據隱私保護框架——《通用數據保護條例》,規范了企業收集、管理、刪除客戶和個人數據。全國人大常委會于2021 年8 月20 日表決通過了《中華人民共和國個人信息保護法》并于2021 年11 月施行。在醫療[4]、智慧城市[5]、移動邊緣計算[6]等很多領域,由于數據屬于不同的組織和部門,隱私敏感度高,極易導致機器學習算法因有效訓練數據不足而準確率低下的問題。
為打破數據孤島困局,同時滿足數據隱私保護相關重要標準,聯邦學習(Federated Learning,FL)[7]應運而生。作為一種特殊的分布式機器學習框架,聯邦學習訓練不傳輸源數據而僅需傳輸模型參數,因此具有一定的隱私保護能力,是目前最具吸引力的分布式機器學習框架。然而,多項研究[8-10]證明,聯邦學習仍存在隱私漏洞,攻擊者通過竊取參數服務器數據,容易從梯度、模型參數中推斷源數據[11-12]。梯度攻擊的過程是隨機生成虛擬數據并計算虛擬梯度,然后將縮小虛擬梯度與真實梯度差距作為優化目標,通過梯度下降反復迭代還原用戶隱私數據。其次,聯邦學習更適用于數據獨立同分布(IID)的場景,模型訓練的準確率和收斂速度表現良好,但是無法有效處理非獨立同分布(Non-IID)的數據[13-14]。LI等[15]從理論上對FedAvg[16]的收斂性進行分析,證明了異構數據會降低收斂速度。同時,ZHAO 等[17]指出在嚴重偏態分布的CIFAR-10上進行訓練,模型準確率會降低55%。此外,中心化的聯邦參數服務器難以應對單點故障,一旦出現網絡故障或宕機問題,短時間內難以快速解決,導致模型訓練中斷。區塊鏈技術因其去中心化特性可以解決單點故障問題,也可以溯源監測惡意攻擊者的破壞行為[18]。
本文構建一種基于超級賬本(Hyperledger Fabric)的集群聯邦優化模型,在保障跨部門跨設備協作訓練不泄露數據隱私的同時,優化模型在非獨立同分布下的訓練效果。本文對協作訓練成員進行身份控制,防止其獲取多輪參數進行推理攻擊。針對中心參數服務器的單點故障問題,設計基于超級賬本的參數傳輸模塊,選舉動態領導者避免單點失效。針對數據異構導致性能下降的問題,提出客戶端重排算法,在訓練前根據客戶端數據分布計算分布相似度進行聚類,在聯邦訓練過程中根據模型參數計算余弦相似度進行聚類。
2008 年,中本聰提出了比特幣的概念[19],而區塊鏈技術正是起源于比特幣。區塊鏈作為一個去中心化、不可變、共享的分布式賬本和數據庫,網絡中所有節點共同維護著分布式系統的一致性,規避了中心化系統數據可能泄露的弊端,加強了隱私保護和數據安全。
然而,比特幣使用的腳本語言只能實現簡單的業務操作。超級賬本相對比特幣實現了更多創新的設計,例如身份權限管理、細粒度隱私保護、可插拔模塊等。超級賬本是由IBM 牽頭發起的一個聯盟鏈項目,于2015 年底移交給Linux 基金會。類似于比特幣網絡,其本質上是一個分布式賬本,并且賬本交互邏輯可以由使用者根據自身業務需求定制。但與比特幣、以太坊等公共非許可區塊鏈不同,超級賬本屬于聯盟鏈,存在準入限制,較公鏈安全度更高。同時,超級賬本具有去中心化、細粒度隱私保護、模塊可插拔等創新設計理念。超級賬本與聯邦學習相結合,既能保證數據的隱私,又能為分布式學習提供可靠的架構基礎。
如圖1 所示,超級賬本是一個認證性的網絡[20],區塊鏈參與者需要向網絡中的其他參與者證實身份才能在網絡中交易。CA 是網絡的證書授權中心,節點通過頒發的數字身份參與區塊鏈網絡。成員服務提供者(MSP)通過生成用于證實身份的公私鑰鍵值對來發放認證信息。超級賬本網絡主要由Peer 節點組成,Peer 節點是網絡的基本元素,它們存儲了賬本和智能合約。Peer 節點主要分為記賬節點和背書節點:記賬節點負責保存整個區塊鏈的賬本信息,包括世界狀態、歷史狀態等;背書節點對交易進行檢查,如果交易合法,則為之背書,并且計算交易執行結果,之后將結果發送給排序服務節點。

圖1 超級賬本認證網絡Fig.1 Hyperledger Fabric authentication network
在超級賬本網絡中,MSP 分為本地MSP 和通道MSP 兩種:本地MSP 是為客戶端和節點(Peer 節點和排序節點)定義的;通道MSP(系統通道的MSP)在通道層面上定義了管理權和參與權。
在本節中,介紹聯邦學習和改進的集群聯邦學習(Clustered Federated Learning,CFL)技術。聯邦學習技術最早由谷歌于2017 年4 月提出,目的是解決用戶終端設備上的輸入法預測問題。以手機上人們每天使用的輸入法為例,每個人有不同的打字拼音習慣,手機根據輸入法中的數據進行訓練與用戶的打字習慣進行匹配,那么用戶就會覺得輸入法越來越智能。集中式學習的做法是將用戶每天產生的行為數據上傳至云端服務器,服務器進行數據處理和模型訓練,然后更新模型參數,最終在實際應用時,本地需要從云端獲取最新模型。由于云服務器獲取了全部用戶的源數據,這種訓練方式存在嚴重的隱私安全問題,尤其是在隱私保護監管越來越規范的情況下,難以得到推廣使用。
如圖2 所示,在聯邦學習框架[21]中,客戶端訓練集數據不出域,模型訓練都是在本地設備進行的,僅上傳模型參數。具體訓練過程如下:中心服務器初始化全局模型后發放至本地,本地模型訓練完畢后將模型參數上傳至參數服務器,服務器接收到本地上傳的參數后進行統一的聚合(通過加權平均得到新的模型參數),然后將聚合結果重新發放到本地,本地更新得到一個全新的模型,如此循環迭代。

圖2 聯邦學習過程Fig.2 Federated learning process
目前聯邦學習的主要挑戰之一是Non-IID。數據Non-IID 分布十分多樣,例如,不同客戶端的訓練數據量相差懸殊。從數據偏移的角度分析,Non-IID包括:
1)協變量偏移(Covariate Shift):Pi(x)分布不相同而P(x|y)分布相同,例如IFCA[22]。
2)先驗概率偏移(Prior Probability Shift):Pi(y)分布不相同而P(x|y)分布相同,例如FedRS[23]。
3)概念偏移(Concept Shift):P(x|y)分布不相同而Pi(y)分布相同,反之亦然。
傳統的聯邦學習可以在Non-IID 數據集上訓練并獲取全局模型,但性能較差。因此,GHOSH 等[22]提出了IFCA 模型,隨機生成多個集群中心并將客戶端劃分為可最小化其損失值的集群。SATTLER等[24]提出了集群聯邦學習框架,將優化目標劃分為多個子目標分別做個性化優化。該框架包含一種基于梯度余弦距離聚類的遞歸優化算法,將集群內客戶端遞歸地劃分成兩組。這種遞歸聚類是一種后處理方式,只有在聯邦訓練時才可以計算梯度進行聚類。為了提高集群聯邦學習的效率,DUAN 等[25]又提出了基于余弦歐氏距離的集群聯邦學習方法。然而,IFCA 雖然提升了效率,但同時訓練K個模型會消耗更多的計算資源。本文根據客戶端分布信息,以JS 散度為度量進行預處理聚類,加快收斂速度。
本文將成員準入、去中心化、數據可溯源的超級賬本作為分布式訓練的參數傳輸鏈,提出集群聯邦客戶端層級的重排算法,利用智能合約隨機選舉客戶端聚合模型參數。為了更好地應對大模型參數傳輸問題,選用星際文件系統(IPFS)存儲模型參數,Hyperledger Fabric 僅記錄存儲在IPFS 中文件對應的Hash,從而減小超級賬本網絡的通信負載。IPFS 是基于文件內容的Hash,不同文件對應的Hash 值不相同,Hash 值與文件內容構成鍵值對。客戶端上傳參數至IPFS 后返回該文件的存儲Hash 地址,其他客戶端可通過Hash 地址下載IPFS 中的參數。由于賬本記錄Hash 地址所需的空間遠小于模型參數,因此IPFS 減小了超級賬本網絡的通信壓力。此外,傳統聯邦學習中參數服務器同客戶端通信來完成聚合,而CFL 訓練過程中客戶端不斷聚類,僅聚合簇內的客戶端。IPFS 支持冗余備份技術Erasurecoding,客戶端可以自定義備份客戶端文件數量。本文設定客戶端是具有計算資源和通信能力的組織或者企業,擁有大量可訓練的用戶數據。
超級賬本是點對點通信的去中心化分布式賬本,因此,參與者需要向網絡中的其他參與者證實自己的身份來獲得交易的許可。在集群聯邦優化模型中,客戶端只有經過認證才可以參與訓練,基于證書授權中心(CA)和成員服務提供者(MSP)進行成員身份認證,認證完成后方可參與訓練,并且多通道可保證隱私安全和業務隔離,假設存在惡意攻擊者想要破壞訓練,必須進行身份驗證后獲得對賬本操作的權限才能將錯誤數據同步到其他賬本中。因此,Hyperledger Fabric 保證了組織成員之間的相互信任,為訓練提供了隱私保護的架構基礎。
在橫向聯邦學習中,全局模型和本地模型具有相同的結構。假設模型有l層參數,每一層參數有參數向量Vl,將模型參數分為b(0<b≤l)個參數向量。客戶端同一層參數維度相同,所有簇內客戶端上傳的參數塊中必然存在兩個或多個結構相同的參數塊。對于每個參數塊,由參數分割傳輸模塊上傳至星際文件系統(IPFS),如圖3 所示,參數塊存入IPFS返回的Hash 值,封裝后存入超級賬本中。

圖3 基于超級賬本的集群聯邦優化模型Fig.3 Cluster federated optimization model based on Hyperledger Fabric
如圖4 所示,客戶端A 和B 分別有3 層網絡,將3 層網絡分割上傳。超級賬本虛線所指為訓練成員A 的存儲示例,ParamHash 存儲的是客戶端A 的正確參數順序(Layer 代表上傳的3 層網絡參數),Hash(Layer)代表對應層參數在星際文件系統中的哈希地址。服務層使用鏈碼富查詢方式查詢狀態數據庫,根據聯邦訓練成員是否為領導者進行亂序操作:若為普通成員則由服務層將參數合并打亂順序;若為領導者則正常返回。在圖4 中,客戶端A 被選舉為領導者。若查詢者為領導者A,則返回各客戶端的參數Hash;若查詢者為普通成員B,則返回參數亂序集合。其中服務層的亂序操作過程是把各客戶端ParamHash 合并,然后用隨機函數將合并集合內的順序打亂。普通成員返回亂序集合的目的是客戶端可根據返回集合驗證參數上傳成功與否。客戶端B的查詢結果為一個亂序集合,對比上傳文件返回的Hash 查找驗證集合中是否包含(包含什么)。

圖4 客戶端參數傳輸和查詢過程Fig.4 Client parameter transmission and query process
假設超級賬本內部存在成員惡意攻擊,混亂的參數順序可以模糊真實的模型參數。假設分布式訓練中有n個客戶端,客戶端對訓練所得模型參數劃分b個參數塊。若客戶端最大化分割參數使b=l,那么相同結構的參數塊會有n個。惡意攻擊者查詢獲得了亂序的集合,其在一個通信輪次中獲取正確模型的概率為:

由式(1)可知,客戶端數量越多,分割的參數層數越多,系統的安全性越高。因此,惡意攻擊者難以進行梯度攻擊。C是集群內客戶端參數集C={c1,c2,…,cn}。當集群聯邦的通信輪次為R時,攻擊者計算正確模型參數的難度指數級上升,攻擊成功概率為。同時,每一通信輪次中領導者隨機選舉產生,同一客戶端獲得連續聚合參數機會的概率很小。
2.2.1 分布相似度
在實際應用場景中,客戶端分布Non-IID 和IID情況是可以同時存在的。將分布均勻的客戶端單獨分為一組,可以降低聯邦訓練的通信輪次,更快達到收斂狀態。對客戶端進行分類成為一個問題,因為聯邦學習本身不會分析客戶端的生成分布或其他任何元信息。由于Hyperledger Fabric 是許可鏈,因此本文僅統計客戶端的分布信息,并不會泄露任何數據隱私。為度量客戶端之間的分布差異,實現良好的聚類效果,在機器學習中,經常使用KL 散度衡量不同分布的差異,但KL 散度本身是不對稱的。基于KL 散度的變體,JS 散度解決了KL 散度不對稱的問題。一般地,JS 散度是對稱的,其取值在0 到1 之間。由以下公式可計算JS 散度,其中P、Q分別代表兩個分布,P(xi)表示數據集中xi標簽的數量。

當客戶端數量為n時,計算JS 散度可得到n×n的矩陣,使用K-means++進行聚類。由于客戶端數據分布在訓練過程中不發生變化,因此根據分布相似度所得的JS 散度矩陣只在聯邦訓練初始化階段用于聚類。
2.2.2 梯度相似度

其中:lθ是損失函數;yi是真實標簽;f(xi)是預測結果;Di是客戶端數據分布。
由于模型參數不是一維的,因此本文使用Flatten方法,將多維的輸入一維化,余弦距離計算公式如下:

當客戶端數量為n時,計算客戶端的余弦距離可得到n×n的矩陣。客戶端之間的梯度優化方向在聯邦訓練中才可以計算,聯邦訓練至收斂后且簇內模型參數滿足聚類規則,則根據余弦相似度矩陣進行層次聚類。聚類得到的簇繼續聯邦訓練,簇內聚合其內部客戶端的模型參數。模型訓練收斂后若滿足聚類規則,則根據余弦相似度矩陣聚類;若不滿足,則無須對該簇內客戶端聚類劃分。余弦相似度矩陣是該遞歸聚類劃分過程中的數據特征。
2.2.3 客戶端重排算法
集群聯邦優化(CFO)算法以自上而下的方式遞歸地對客戶端集群進行二分區劃分。客戶端重排則是優化的關鍵,算法執行集群聯邦優化的聚類過程如圖5 所示[24]。

圖5 集群聯邦學習訓練過程Fig.5 Cluster federated learning training process
客戶端余弦距離聚類規則如下:1)集群內模型訓練已經收斂到一個駐點;2)客戶端的經驗風險函數接近真實風險;3)根據經驗風險函數計算余弦相似度。上述3 個規則可由下式表達:

式(6)表示集群聯邦訓練簇內模型參數變化最大的客戶端的值,該值大于ε則表示簇內存在客戶端未收斂。式(7)表示簇內所有客戶端參數的平均值,該值小于τ則表示簇內客戶端整體已趨近于收斂。
總而言之,探究式教學是一種以學生為主體,充分發揮學生主動性的教學模式.在該教學模式下,教師需要把握好自己引導者的角色,認真分析教學內容,精心設計教學活動和問題,不斷地引導鼓勵學生主動地完成探究.該教學模式可以有效地提高學生的自學能力和探究能力,從而向著綜合性人才方向發展.
上述兩種分布相似度,分別在訓練前和訓練中聚類使用。訓練開始前根據分布相似度公式(見式(3))生成客戶端JS 散度矩陣對客戶端進行聚類,訓練過程中根據梯度相似度公式(見式(5))計算余弦距離矩陣,對余弦距離矩陣進行層次聚類,得到簇間余弦距離最大的兩組。
集群聯邦優化算法訓練過程如算法1 所示。首先,初始化客戶端集群c={c1,c2,…,cn}和模型參數θ0;然后,依據式(3)計算JS散度矩陣,使用K-means++算法進行聚類,將客戶端劃分為Cp、Cq。客戶端預處理完成后,聚類完成的各個簇(集群)開始聯邦訓練直到達到后處理聚類要求。算法使用客戶端模型最大參數和平均參數表達余弦聚類規則,滿足規則后進行層次聚類劃分客戶端集群,遞歸地二分區;最后,訓練結束,輸出目標模型的平穩解θ*。若新客戶端想要加入訓練,則如算法2 所示加入訓練。算法從聯邦優化的參數劃分樹的根節點開始遍歷,新客戶端將本地數據集訓練的模型參數與參數樹節點的客戶端進行對比,匹配梯度優化方向一致的簇。
算法1集群聯邦優化(CFO)

算法2新客戶端加入集群

智能合約是運行在區塊鏈上的一段代碼,代碼的邏輯定義了合約的內容。超級賬本中智能合約被稱為鏈碼,開發人員實現接口則可通過API 實現對賬本的操作。超級賬本中的鏈碼分為系統鏈碼和用戶鏈碼,一般系統鏈碼無須安裝,用戶鏈碼則可由用戶自定義業務邏輯。用戶鏈碼安裝實例化后有2 種調用方式:1)直接使用命令調用;2)通過SDK 后端調用。命令行一般由開發人員調用,SDK 更靈活且適合用戶。因此,本文選用第2 種方式。參與聯邦訓練的客戶端共有2 種角色:領導者和普通成員。領導者和普通成員都可通過后端服務訪問賬本,但不同的身份查詢參數會返回不同的結果。服務層通過鏈碼可以查詢獲得各個客戶端上傳的參數,根據查詢者是否為領導者進行參數亂序操作。
2.3.1 選舉
超級賬本為模型提供了去中心化的平臺和隱私保護的支持,可在安全的環境下對分散的模型進行訓練。集群聯邦優化模型與聯邦學習相比省略了一個中心參數服務器,但客戶端集群仍需要一個全局模型。客戶端本地訓練完成后,通過服務層將客戶端分割參數上傳至超級賬本。集群內客戶端上傳參數后,服務層調用鏈碼選舉出領導者。本文采用隨機選舉的方式產生領導者,選舉的范圍是當前通信輪次中傳輸參數的客戶端,選舉產生的結果記錄在超級賬本中。如圖4 所示,客戶端A 被選舉為領導者,其客戶端與簇的信息也會被同時記錄。客戶端被選舉為領導者后查詢客戶端參數Hash 并下載聚合,完成聚合后則上傳全局模型參數并更新賬本中領導者信息全局模型哈希地址(Global ModelHash),普通成員更新全局模型。領導者的功能是代替原有的中央服務器,動態的領導者可以避免中心化訓練的單點故障問題[26],保證正常訓練。當模型訓練趨于收斂時,領導者可以執行2.2.3 節中的客戶端重排算法。
領導者聚合時間為選舉結束至獲取參數聚合,若超時則重新選舉。因此,重新選舉后只需要更新賬本中的領導者信息,無須回滾。
2.3.2 聚合
目前,聯邦學習中廣泛應用的聚合算法是FedAvg[16]。FedAvg 對客戶端的梯度更新進行平均以形成全局更新,同時用當前全局模型替換未采樣的客戶端。領導者聚合獲得全局模型并評估,將全局模型上傳至超級賬本,客戶端下載獲得最新全局模型。在下一通信輪次前,客戶端更新模型和超參數。集群聯邦學習在集群內的聚合方式與FedAvg 相同,智能合約聚合方式如算法3 所示。
算法3聚合

基于超級賬本的集群聯邦優化模型使用超級賬本作為底層平臺,使用星際文件系統傳輸和存儲數據。本文實驗在Ubuntu 20.04.4 LTS,4 GB 內存,6 核處理器中部署超級賬本網絡,服務層部署在裝有超級賬本容器的虛擬機上,聯邦客戶端訓練環境為PyTorch 1.9.0,顯卡GTX-1660Ti。實驗環境中后端服務僅單機部署,若需要應對服務層故障,在實際場景下建議多機部署并使用Nginx 代理,保證服務的可用性。
在MNIST、EMNIST 兩個公開圖像數據集上評估本文方法的有效性。MNIST[27]中包含10 類手寫數字圖像分類任務,分別為0~9 的數字;因為神經網絡模型在MNIST 上都有很高的精度,為了增加難度,所以選用Extended MNIST,分別加入26 類小寫字母和大寫字母。訓練模型具體如表1 所示。

表1 訓練模型Table 1 Training model
實驗使用的超級賬本網絡含2 個組織,客戶端中包含IID和Non-IID數據。為了模擬數據在Non-IID下的情況,實驗取部分數據將其標簽按狄利克雷分布劃分至客戶端,因為采用樣本標簽分布來劃分Non-IID是簡便有效的方法。MNIST和EMNIST 數據集均使用SGD 隨機梯度下降算法作為優化器,客戶端c=10,學習率η=0.1,動量參數momentum=0.9,批數據大小batch size=128。
MNIST、EMNIST 數據集所用模型前3 層基本相同:第1 層是單通道卷積層,卷積核大小為5×5,步長為1;第2 層是池化層,最大池化窗口為2×2;第3 層是通道數為6 的卷積層,卷積核大小為5×5。由于2 個數據集標簽類別數不同,因此輸出使用的全連接層略有區別,激活函數均為ReLU。如算法1 集群聯邦優化所描述,集群內客戶端聯邦訓練收斂至駐點且經驗風險函數接近真實風險,算法才會執行聚類。
圖6 所示為MNIST 客戶端在IID 與Non-IID 不同比例下集群聯邦優化后的測試集準確率結果。圖6(d)異構數據和非異構數據比例相等,訓練開始前依據JS 散度相似度進行客戶端聚類,測試集平均準確率在第10 輪通信前已經收斂到模型最優解。實驗證明,聚類分布一致的客戶端在更小通信代價和更少的計算資源下得到了聯邦訓練最優解。由圖6(a)~圖6(c)可以看出,客戶端聚類后測試準確率明顯上升(圖中垂直豎線代表按余弦距離劃分客戶端)。在圖6(d)中,按梯度相似度聚類后準確率沒有明顯提高,原因是訓練前根據分布相似度聚類有效提高了模型訓練效果。

圖6 MNIST 客戶端在IID 與Non-IID 不同比例下集群聯邦優化后的測試集準確率Fig.6 Test accuracy of the MNIST client after CFO under different ratios of IID and Non-IID
圖7 所示為EMNIST 客戶端在IID 與Non-IID 不同比例下集群聯邦優化后測試集的準確率結果,由于EMNIST 數據集相對MNIST 略微復雜,因此實驗效果相對MNIST 更明顯。由圖7(a)~圖7(c)可以看出,依據梯度相似度聚類(垂線)后,準確率明顯提高,同時圖7(d)充分說明了分布相似度聚類對模型收斂和性能提升有顯著效果。

圖7 EMNIST 客戶端在IID 與Non-IID 不同比例下集群聯邦優化后的測試集準確率Fig.7 Test accuracy of the EMNIST client after CFO under different ratios of IID and Non-IID
圖8(a)和圖8(b)分別為MNIST 和EMNIST 客戶端經CFO 優化后訓練集準確率對比,可見較FedAvg 分別提升了6.398%和17.260%,證明了集群聯邦優化的有效性。

圖8 客戶端測試準確率Fig.8 Client test accuracy
為了對比不同訓練方式在數據Non-IID 下的表現,本文分別在2 個數據集上實驗了4 種不同的訓練模式:集中訓練,聯邦平均(FedAvg),集群聯邦(CFL),以及本文的優化方法。客戶端含有IID 和Non-IID 數據(比例相等),如圖9 所示,可以看出:集中學習因數據集中統一訓練,收斂速度和準確率表現最優;FedAvg 表現最差;本文的優化方法相較CFL 收斂更快,由圖9(b)可以看出,本文相較CFL 速度提升了36.3%。

圖9 Non-IID 對比實驗結果Fig.9 Results of Non-IID comparison experiment
聯邦學習是一種主流的分布式機器學習框架,但其存在單點故障、參數服務器泄露用戶隱私數據風險以及數據偏態分布下訓練性能較差的問題。本文設計一種基于超級賬本的集群聯邦優化模型,以超級賬本作為分布式訓練隱私保護的架構基礎,使用星際文件系統存取參數,結合集群聯邦學習對異構數據進行優化,利用智能合約可信聚合參數。實驗結果表明,該模型在保護數據隱私的同時,較傳統聯邦學習模型具有更好的性能。下一步將研究如何度量參與訓練客戶端的貢獻度,設計正向積極的激勵機制提升訓練效率,擴大模型的適用范圍。