這項(xiàng)由華為公司韓振宇、游安勝等研究人員主導(dǎo)的研究發(fā)表于2025年7月的arXiv預(yù)印本平臺(tái),論文編號(hào)為arXiv:2507.01663v1流水線。有興趣深入了解的讀者可以通過(guò)該編號(hào)在arXiv官網(wǎng)搜索訪問完整論文。
當(dāng)我們談?wù)撟屓斯ぶ悄茏兊酶斆鲿r(shí),就像培養(yǎng)一個(gè)學(xué)生一樣,不僅要教給它知識(shí),還要讓它學(xué)會(huì)思考和判斷流水線。近年來(lái),大型語(yǔ)言模型通過(guò)學(xué)習(xí)海量文本已經(jīng)展現(xiàn)出了驚人的語(yǔ)言能力,但要讓這些模型真正符合人類的期望和價(jià)值觀,還需要一個(gè)關(guān)鍵步驟——后訓(xùn)練過(guò)程。
想象一下,如果說(shuō)預(yù)訓(xùn)練階段是讓AI學(xué)生大量閱讀各種書籍,那么后訓(xùn)練階段就像是請(qǐng)一位嚴(yán)格的導(dǎo)師來(lái)糾正學(xué)生的思考方式和行為習(xí)慣流水線。在這個(gè)過(guò)程中,強(qiáng)化學(xué)習(xí)扮演著導(dǎo)師的角色,通過(guò)獎(jiǎng)勵(lì)和懲罰機(jī)制來(lái)引導(dǎo)模型產(chǎn)生更好的回答。
然而,現(xiàn)有的強(qiáng)化學(xué)習(xí)訓(xùn)練系統(tǒng)就像一個(gè)效率低下的工廠流水線流水線。傳統(tǒng)的系統(tǒng)要么把所有工作都安排給同一批工人完成,導(dǎo)致大量時(shí)間浪費(fèi)在切換不同任務(wù)上;要么雖然分工明確,但各個(gè)環(huán)節(jié)之間配合不佳,經(jīng)常出現(xiàn)某些工人忙得不可開交,而另一些工人卻在無(wú)所事事地等待。更糟糕的是,大多數(shù)現(xiàn)有系統(tǒng)都像是為特定品牌機(jī)器量身定制的,無(wú)法兼容其他設(shè)備,這給那些已經(jīng)投資了不同設(shè)備的用戶帶來(lái)了巨大困擾。
華為研究團(tuán)隊(duì)意識(shí)到了這些問題的嚴(yán)重性,特別是在大規(guī)模AI訓(xùn)練場(chǎng)景中,這些效率瓶頸會(huì)被成倍放大流水線。他們提出了一個(gè)名為AsyncFlow的創(chuàng)新解決方案,這就像是重新設(shè)計(jì)了一條高效的智能流水線。
AsyncFlow的核心創(chuàng)新在于引入了一個(gè)名為TransferQueue的分布式數(shù)據(jù)管理模塊流水線。如果把傳統(tǒng)的數(shù)據(jù)傳輸比作郵局的信件處理,那么TransferQueue就像是建立了一個(gè)智能化的現(xiàn)代物流中心。在這個(gè)物流中心里,每一份數(shù)據(jù)都有自己的身份標(biāo)識(shí)和去向信息,系統(tǒng)可以智能地調(diào)度和分發(fā)數(shù)據(jù),確保每個(gè)處理環(huán)節(jié)都能及時(shí)獲得所需的信息,而不會(huì)出現(xiàn)排隊(duì)等待或資源閑置的情況。
更巧妙的是,研究團(tuán)隊(duì)設(shè)計(jì)了一套基于生產(chǎn)者-消費(fèi)者模式的異步工作流程流水線。這就像是在工廠里安排了一個(gè)緩沖倉(cāng)庫(kù),當(dāng)上游生產(chǎn)線完成了產(chǎn)品制造后,不需要等待下游所有環(huán)節(jié)都準(zhǔn)備就緒,而是可以先將產(chǎn)品存放在倉(cāng)庫(kù)中,然后繼續(xù)進(jìn)行下一輪生產(chǎn)。這種設(shè)計(jì)大大減少了因?yàn)榈却a(chǎn)生的時(shí)間浪費(fèi),同時(shí)還能通過(guò)控制緩沖時(shí)間來(lái)保證最終產(chǎn)品的質(zhì)量。
在系統(tǒng)架構(gòu)設(shè)計(jì)上,AsyncFlow采用了模塊化的理念,就像搭積木一樣靈活流水線。無(wú)論用戶使用的是什么品牌的訓(xùn)練設(shè)備或推理引擎,都可以通過(guò)標(biāo)準(zhǔn)化的接口輕松接入這個(gè)系統(tǒng)。這種設(shè)計(jì)不僅解決了兼容性問題,還讓學(xué)術(shù)研究人員和工業(yè)用戶都能根據(jù)自己的需求進(jìn)行定制。
為了驗(yàn)證這套系統(tǒng)的實(shí)際效果,研究團(tuán)隊(duì)在包含32到1024個(gè)NPU(神經(jīng)網(wǎng)絡(luò)處理單元)的大規(guī)模集群上進(jìn)行了全面測(cè)試流水線。測(cè)試結(jié)果令人印象深刻:AsyncFlow在各種配置下都顯著超越了當(dāng)前最先進(jìn)的基準(zhǔn)系統(tǒng)verl,平均吞吐量提升了1.59倍,在某些配置下甚至達(dá)到了2.03倍的性能提升。這意味著使用AsyncFlow可以用同樣的時(shí)間完成近兩倍的訓(xùn)練工作,或者用一半的時(shí)間完成同樣的訓(xùn)練任務(wù)。
一、數(shù)據(jù)管理的智能革命:TransferQueue系統(tǒng)
在傳統(tǒng)的AI訓(xùn)練過(guò)程中,數(shù)據(jù)管理就像是一個(gè)繁忙但混亂的圖書館流水線。不同的研究任務(wù)需要查閱不同的資料,但圖書管理員往往需要手動(dòng)記錄每本書的位置和借閱狀態(tài),當(dāng)多個(gè)研究小組同時(shí)需要資料時(shí),經(jīng)常會(huì)出現(xiàn)沖突和延誤。
TransferQueue的出現(xiàn)徹底改變了這種狀況流水線。它就像是為這個(gè)圖書館引入了一套現(xiàn)代化的智能管理系統(tǒng)。在這個(gè)系統(tǒng)中,每一份數(shù)據(jù)都被賦予了全局唯一的身份標(biāo)識(shí),就像給每本書都貼上了獨(dú)特的條形碼。當(dāng)某個(gè)任務(wù)需要特定數(shù)據(jù)時(shí),系統(tǒng)可以立即知道這些數(shù)據(jù)在哪里,是否可用,以及誰(shuí)正在使用它們。
這套系統(tǒng)的核心設(shè)計(jì)理念是將控制平面和數(shù)據(jù)平面分離,這個(gè)概念源自軟件定義網(wǎng)絡(luò)的思想流水線??刂破矫婢拖袷菆D書館的總控制臺(tái),負(fù)責(zé)管理所有書籍的元數(shù)據(jù)信息,包括位置、狀態(tài)和借閱記錄。而數(shù)據(jù)平面則像是分布在圖書館各個(gè)區(qū)域的書架,負(fù)責(zé)實(shí)際存儲(chǔ)和傳輸數(shù)據(jù)。
當(dāng)某個(gè)AI訓(xùn)練任務(wù)需要數(shù)據(jù)時(shí),它會(huì)向?qū)?yīng)的控制器發(fā)送請(qǐng)求流水線。控制器就像是一個(gè)智能的圖書管理員,它會(huì)掃描當(dāng)前可用的數(shù)據(jù),根據(jù)任務(wù)需求動(dòng)態(tài)組裝一個(gè)數(shù)據(jù)批次,然后將這些數(shù)據(jù)的位置信息返回給請(qǐng)求者。請(qǐng)求者隨后可以直接從分布式存儲(chǔ)單元中獲取所需的數(shù)據(jù),整個(gè)過(guò)程既高效又精確。
為了應(yīng)對(duì)高并發(fā)的場(chǎng)景,TransferQueue采用了多控制器和多存儲(chǔ)單元的架構(gòu)流水線。當(dāng)系統(tǒng)面臨大量請(qǐng)求時(shí),可以輕松擴(kuò)展存儲(chǔ)單元的數(shù)量來(lái)提升總體帶寬和降低延遲。這就像是在圖書館里增加更多的管理員和書架,每個(gè)人負(fù)責(zé)一個(gè)特定區(qū)域,從而避免了單點(diǎn)瓶頸。
特別值得一提的是,TransferQueue支持變長(zhǎng)數(shù)據(jù)傳輸,這在傳統(tǒng)系統(tǒng)中往往需要進(jìn)行大量的填充操作來(lái)統(tǒng)一數(shù)據(jù)長(zhǎng)度流水線。就像在郵寄包裹時(shí),傳統(tǒng)方法需要將所有包裹都填充到相同大小,而TransferQueue則可以直接處理不同大小的包裹,大大減少了不必要的傳輸開銷。
二、異步工作流的巧妙平衡:讓效率與穩(wěn)定性兼得
傳統(tǒng)的強(qiáng)化學(xué)習(xí)訓(xùn)練就像是一個(gè)嚴(yán)格按照時(shí)刻表運(yùn)行的火車系統(tǒng)流水線。每一班列車(訓(xùn)練迭代)都必須等待前一班完全到站并清空乘客后才能發(fā)車,這種同步機(jī)制雖然保證了系統(tǒng)的穩(wěn)定性,但也造成了大量的等待時(shí)間。
AsyncFlow提出的異步工作流程則像是重新設(shè)計(jì)了這個(gè)交通系統(tǒng)流水線。在新的系統(tǒng)中,不同的列車可以在不同的軌道上并行運(yùn)行,而且不需要嚴(yán)格等待前一班列車完全結(jié)束。這種設(shè)計(jì)的關(guān)鍵在于引入了一個(gè)智能的調(diào)度機(jī)制,確保在提高效率的同時(shí)不會(huì)影響最終的運(yùn)行安全。
異步工作流的核心是延遲參數(shù)更新機(jī)制流水線。在傳統(tǒng)系統(tǒng)中,當(dāng)模型參數(shù)更新完成后,所有的推理實(shí)例都必須立即停止工作,加載新的參數(shù),然后才能繼續(xù)。這個(gè)過(guò)程就像是工廠里的所有工人都必須同時(shí)停下手頭工作去接受新的操作指南。
而在AsyncFlow中,推理實(shí)例可以繼續(xù)使用舊的參數(shù)完成當(dāng)前的工作,同時(shí)在后臺(tái)異步地接收和準(zhǔn)備新的參數(shù)流水線。只有當(dāng)當(dāng)前工作完全結(jié)束后,系統(tǒng)才會(huì)切換到新參數(shù)。這種方式大大減少了因?yàn)閰?shù)同步而造成的空閑時(shí)間,就像是讓工人先完成手頭的任務(wù),然后在工作間隙學(xué)習(xí)新的操作方法。
研究團(tuán)隊(duì)還提出了一種更加精細(xì)的子步異步機(jī)制流水線。由于推理任務(wù)通常需要大量的硬件資源,系統(tǒng)往往會(huì)分配多個(gè)推理實(shí)例來(lái)滿足下游訓(xùn)練任務(wù)的數(shù)據(jù)需求。在這種情況下,不同的推理實(shí)例可以依次進(jìn)行參數(shù)更新,而其他實(shí)例繼續(xù)提供數(shù)據(jù)支持。這就像是在一個(gè)餐廳里,不同的廚師可以輪流更新菜譜,確保餐廳始終能夠正常營(yíng)業(yè)。
這種異步機(jī)制的巧妙之處在于它在效率和算法穩(wěn)定性之間找到了最佳平衡點(diǎn)流水線。研究表明,一步的異步差異并不會(huì)對(duì)模型的收斂性造成顯著影響,而性能提升卻是顯而易見的。實(shí)驗(yàn)數(shù)據(jù)顯示,這種設(shè)計(jì)可以有效消除訓(xùn)練過(guò)程中的空閑時(shí)間,使整個(gè)系統(tǒng)的利用率接近理論最優(yōu)值。
三、管道并行的藝術(shù):讓多個(gè)任務(wù)協(xié)同起舞
在傳統(tǒng)的強(qiáng)化學(xué)習(xí)訓(xùn)練中,不同的任務(wù)必須按照嚴(yán)格的順序執(zhí)行,就像是一個(gè)單行道上的車隊(duì),后面的車必須等前面的車完全通過(guò)后才能前進(jìn)流水線。這種串行執(zhí)行方式雖然邏輯清晰,但卻造成了大量的資源浪費(fèi)。
AsyncFlow通過(guò)TransferQueue實(shí)現(xiàn)的流水線并行就像是將單行道改造成了多車道的高速公路流水線。在這個(gè)新系統(tǒng)中,不同的任務(wù)可以在各自的車道上并行前進(jìn),大大提高了整體的通行效率。
具體來(lái)說(shuō),當(dāng)演員模型開始生成回答時(shí),參考模型可以同時(shí)開始處理已經(jīng)完成的部分?jǐn)?shù)據(jù),而不需要等待所有回答都生成完畢流水線。獎(jiǎng)勵(lì)模型也可以在獲得足夠數(shù)據(jù)后立即開始計(jì)算獎(jiǎng)勵(lì)分?jǐn)?shù),訓(xùn)練過(guò)程則可以在收集到足夠的經(jīng)驗(yàn)數(shù)據(jù)后隨時(shí)啟動(dòng)。這種重疊執(zhí)行的方式就像是在裝配線上,每個(gè)工人都可以在前一個(gè)工人完成一部分工作后立即開始自己的任務(wù)。
這種并行機(jī)制的實(shí)現(xiàn)依賴于TransferQueue的智能調(diào)度能力流水線。系統(tǒng)會(huì)實(shí)時(shí)監(jiān)控每個(gè)任務(wù)的數(shù)據(jù)需求和可用數(shù)據(jù)狀態(tài),動(dòng)態(tài)決定何時(shí)啟動(dòng)哪個(gè)任務(wù)。當(dāng)某個(gè)任務(wù)完成一批數(shù)據(jù)處理后,系統(tǒng)會(huì)立即通知相關(guān)的下游任務(wù),使它們能夠及時(shí)獲取所需的輸入。
更重要的是,這種并行機(jī)制是完全自動(dòng)化的,不需要研究人員手動(dòng)設(shè)計(jì)復(fù)雜的任務(wù)調(diào)度方案流水線。無(wú)論是什么樣的強(qiáng)化學(xué)習(xí)算法,只要符合基本的數(shù)據(jù)依賴關(guān)系,都可以自動(dòng)受益于這種并行優(yōu)化。這就像是一個(gè)智能的交通管理系統(tǒng),能夠根據(jù)實(shí)時(shí)路況自動(dòng)調(diào)整信號(hào)燈和引導(dǎo)路線。
四、服務(wù)導(dǎo)向的靈活架構(gòu):積木式的自由組合
現(xiàn)有的強(qiáng)化學(xué)習(xí)框架往往像是預(yù)制的套房,雖然功能齊全,但用戶只能接受既定的設(shè)計(jì),無(wú)法根據(jù)自己的需求進(jìn)行調(diào)整流水線。如果用戶想要使用不同的訓(xùn)練引擎或推理系統(tǒng),往往需要重新搭建整個(gè)框架,這不僅耗時(shí)耗力,還可能引入新的問題。
AsyncFlow采用了完全不同的設(shè)計(jì)哲學(xué),它更像是一套標(biāo)準(zhǔn)化的積木系統(tǒng)流水線。每個(gè)組件都有明確定義的接口,用戶可以根據(jù)自己的需求自由組合不同的模塊。無(wú)論是學(xué)術(shù)研究人員想要快速驗(yàn)證新算法,還是工業(yè)用戶需要在現(xiàn)有系統(tǒng)基礎(chǔ)上部署新功能,都可以通過(guò)這套靈活的接口輕松實(shí)現(xiàn)。
系統(tǒng)的架構(gòu)分為兩個(gè)層次的抽象流水線。用戶級(jí)接口就像是汽車的駕駛艙,提供了啟動(dòng)引擎、加載數(shù)據(jù)、同步權(quán)重等核心功能的簡(jiǎn)單控制按鈕。研究人員可以通過(guò)這些高級(jí)API快速搭建和調(diào)試強(qiáng)化學(xué)習(xí)算法,而不需要關(guān)心底層的實(shí)現(xiàn)細(xì)節(jié)。
后端級(jí)接口則像是汽車的發(fā)動(dòng)機(jī)艙,提供了與不同訓(xùn)練和推理引擎對(duì)接的標(biāo)準(zhǔn)化適配器流水線。每個(gè)適配器負(fù)責(zé)將通用的任務(wù)請(qǐng)求轉(zhuǎn)換為特定引擎能夠理解的指令格式,同時(shí)將引擎的輸出轉(zhuǎn)換回標(biāo)準(zhǔn)格式。這種設(shè)計(jì)使得系統(tǒng)可以輕松支持MindSpeed、DeepSpeed、vLLM等各種主流引擎,用戶甚至可以開發(fā)自己的適配器來(lái)集成定制化的引擎。
這種模塊化設(shè)計(jì)的優(yōu)勢(shì)在于它實(shí)現(xiàn)了算法邏輯與執(zhí)行引擎的完全解耦流水線。當(dāng)新的訓(xùn)練引擎或推理系統(tǒng)出現(xiàn)時(shí),用戶不需要重寫算法代碼,只需要開發(fā)相應(yīng)的適配器即可。同樣,當(dāng)研究人員想要嘗試新的算法時(shí),也不需要關(guān)心底層的硬件和軟件環(huán)境,可以專注于算法本身的創(chuàng)新。
五、性能突破的驗(yàn)證:數(shù)字背后的真實(shí)故事
為了驗(yàn)證AsyncFlow的實(shí)際效果,華為研究團(tuán)隊(duì)設(shè)計(jì)了一系列全面的實(shí)驗(yàn),就像是對(duì)一輛新車進(jìn)行各種路況的測(cè)試流水線。他們選擇了從32個(gè)到1024個(gè)NPU的不同規(guī)模集群,使用了Qwen2.5系列的7B和32B參數(shù)模型,并采用了具有挑戰(zhàn)性的數(shù)學(xué)推理數(shù)據(jù)集DeepScaleR進(jìn)行訓(xùn)練。
實(shí)驗(yàn)結(jié)果令人印象深刻流水線。在所有測(cè)試配置中,AsyncFlow都顯著超越了當(dāng)前最先進(jìn)的基準(zhǔn)系統(tǒng)verl。平均而言,AsyncFlow的吞吐量提升了1.59倍,這意味著在相同的時(shí)間內(nèi)可以完成近60%更多的訓(xùn)練工作。在某些配置下,性能提升甚至達(dá)到了2.03倍,相當(dāng)于將訓(xùn)練時(shí)間縮短了一半。
更重要的是,AsyncFlow展現(xiàn)出了優(yōu)秀的可擴(kuò)展性流水線。當(dāng)集群規(guī)模擴(kuò)大16倍時(shí),系統(tǒng)仍然保持了0.65到0.88的線性度,這表明隨著硬件資源的增加,訓(xùn)練效率可以近似線性地提升。這種特性對(duì)于大規(guī)模工業(yè)部署來(lái)說(shuō)至關(guān)重要,因?yàn)樗馕吨度敫嘤布Y源可以獲得相應(yīng)的性能回報(bào)。
為了深入理解各個(gè)組件的貢獻(xiàn),研究團(tuán)隊(duì)還進(jìn)行了詳細(xì)的消融實(shí)驗(yàn)流水線。結(jié)果顯示,單獨(dú)引入TransferQueue就能帶來(lái)2.01倍的性能提升,這主要?dú)w功于其高效的數(shù)據(jù)管理和任務(wù)并行能力。在此基礎(chǔ)上加入異步工作流優(yōu)化后,性能進(jìn)一步提升了36.3%,最終達(dá)到了2.74倍的綜合提升。
特別值得注意的是,異步訓(xùn)練機(jī)制并沒有對(duì)模型的收斂性造成負(fù)面影響流水線。實(shí)驗(yàn)顯示,使用異步工作流訓(xùn)練的模型在獎(jiǎng)勵(lì)分?jǐn)?shù)和回答質(zhì)量方面與傳統(tǒng)同步訓(xùn)練的結(jié)果幾乎沒有差異,這證明了系統(tǒng)在提升效率的同時(shí)成功保持了算法的穩(wěn)定性。
六、實(shí)際部署的考量:從實(shí)驗(yàn)室到生產(chǎn)環(huán)境
AsyncFlow的設(shè)計(jì)不僅考慮了性能優(yōu)化,還充分考慮了實(shí)際部署中可能遇到的各種挑戰(zhàn)流水線。在真實(shí)的生產(chǎn)環(huán)境中,硬件資源往往是異構(gòu)的,不同節(jié)點(diǎn)的計(jì)算能力和網(wǎng)絡(luò)條件可能存在差異。傳統(tǒng)的靜態(tài)資源分配方式在這種環(huán)境下往往效率低下。
AsyncFlow通過(guò)動(dòng)態(tài)負(fù)載均衡機(jī)制很好地解決了這個(gè)問題流水線。系統(tǒng)會(huì)實(shí)時(shí)監(jiān)控各個(gè)節(jié)點(diǎn)的工作負(fù)載和響應(yīng)時(shí)間,自動(dòng)將更多任務(wù)分配給性能較好的節(jié)點(diǎn),同時(shí)避免讓性能較差的節(jié)點(diǎn)成為整體瓶頸。這就像是一個(gè)智能的任務(wù)分配系統(tǒng),能夠根據(jù)每個(gè)工人的能力和當(dāng)前工作量來(lái)合理安排任務(wù)。
在網(wǎng)絡(luò)通信方面,AsyncFlow采用了多種優(yōu)化策略來(lái)減少數(shù)據(jù)傳輸開銷流水線。系統(tǒng)會(huì)指定每個(gè)數(shù)據(jù)并行組中的一個(gè)節(jié)點(diǎn)作為代表與TransferQueue交互,然后將獲取的數(shù)據(jù)廣播給組內(nèi)其他節(jié)點(diǎn)。這種設(shè)計(jì)大大減少了網(wǎng)絡(luò)請(qǐng)求的數(shù)量,特別是在大規(guī)模集群中效果顯著。
對(duì)于變長(zhǎng)數(shù)據(jù)的處理,AsyncFlow避免了傳統(tǒng)系統(tǒng)中常見的填充操作流水線。在傳統(tǒng)方法中,為了保證批處理的一致性,所有數(shù)據(jù)都需要填充到相同長(zhǎng)度,這會(huì)產(chǎn)生大量冗余的傳輸和計(jì)算開銷。AsyncFlow直接支持變長(zhǎng)數(shù)據(jù)的拼接和拆分,在傳輸時(shí)將多個(gè)變長(zhǎng)序列拼接成一個(gè)連續(xù)的張量,在接收端再根據(jù)長(zhǎng)度信息進(jìn)行拆分。
七、技術(shù)細(xì)節(jié)的巧思:魔鬼藏在細(xì)節(jié)中
AsyncFlow的成功不僅在于其宏觀的架構(gòu)設(shè)計(jì),更在于大量精心考慮的技術(shù)細(xì)節(jié)流水線。在數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)上,系統(tǒng)采用了二維列式存儲(chǔ)格式,這就像是將傳統(tǒng)的行式表格轉(zhuǎn)換為列式數(shù)據(jù)庫(kù)。每一列代表特定的數(shù)據(jù)組件,如輸入提示、模型回答、獎(jiǎng)勵(lì)分?jǐn)?shù)等,而每一行代表一個(gè)完整的訓(xùn)練樣本。
這種設(shè)計(jì)的優(yōu)勢(shì)在于不同任務(wù)可以只訪問所需的數(shù)據(jù)列,大大減少了不必要的數(shù)據(jù)傳輸流水線。例如,參考模型只需要輸入提示和模型回答,而不需要獎(jiǎng)勵(lì)分?jǐn)?shù),通過(guò)列式訪問可以精確獲取所需數(shù)據(jù)。同時(shí),這種結(jié)構(gòu)天然支持并發(fā)讀寫操作,不同位置的數(shù)據(jù)可以同時(shí)被多個(gè)任務(wù)訪問而不會(huì)產(chǎn)生沖突。
在元數(shù)據(jù)管理方面,AsyncFlow實(shí)現(xiàn)了一套高效的通知機(jī)制流水線。當(dāng)新數(shù)據(jù)寫入存儲(chǔ)單元后,系統(tǒng)會(huì)立即向所有相關(guān)控制器廣播元數(shù)據(jù)更新,包括數(shù)據(jù)的全局索引和對(duì)應(yīng)的數(shù)據(jù)列信息。這種實(shí)時(shí)通知機(jī)制確保了控制器能夠立即感知到新數(shù)據(jù)的可用性,從而實(shí)現(xiàn)真正的流式處理。
控制器的調(diào)度邏輯也經(jīng)過(guò)精心設(shè)計(jì)流水線。當(dāng)收到數(shù)據(jù)請(qǐng)求時(shí),控制器會(huì)掃描當(dāng)前可用的元數(shù)據(jù),識(shí)別滿足任務(wù)需求的數(shù)據(jù)樣本,即所有必需列的狀態(tài)都為可用且沒有被其他數(shù)據(jù)并行組消費(fèi)。如果可用數(shù)據(jù)超過(guò)請(qǐng)求的批次大小,控制器會(huì)根據(jù)負(fù)載均衡策略選擇合適的樣本組合,然后將這些樣本標(biāo)記為已消費(fèi),避免重復(fù)使用。
參數(shù)更新的實(shí)現(xiàn)采用了分層的異步策略流水線。在訓(xùn)練集群端,模型權(quán)重會(huì)先被卸載到主機(jī)內(nèi)存,然后通過(guò)網(wǎng)絡(luò)異步傳輸?shù)酵评砑?。在推理集群端,新?quán)重會(huì)先在主機(jī)內(nèi)存中準(zhǔn)備就緒,只有當(dāng)當(dāng)前生成任務(wù)完全結(jié)束后,系統(tǒng)才會(huì)執(zhí)行從主機(jī)到設(shè)備的快速傳輸。這種設(shè)計(jì)將網(wǎng)絡(luò)傳輸?shù)难舆t完全隱藏在計(jì)算過(guò)程中,大大減少了暴露的同步開銷。
八、與現(xiàn)有方案的深度對(duì)比:站在巨人肩膀上的創(chuàng)新
AsyncFlow的誕生并非空中樓閣,而是在深入分析現(xiàn)有解決方案優(yōu)缺點(diǎn)的基礎(chǔ)上提出的創(chuàng)新方案流水線。當(dāng)前的強(qiáng)化學(xué)習(xí)框架主要分為兩大類:任務(wù)并置型和任務(wù)分離型。
任務(wù)并置型框架如DeepSpeed-Chat和verl,就像是讓同一個(gè)工人同時(shí)負(fù)責(zé)多種不同的工作流水線。這種方式的優(yōu)點(diǎn)是資源利用率高,因?yàn)樗杏?jì)算資源在任何時(shí)刻都在工作。但缺點(diǎn)也很明顯:工人需要不斷切換不同的工具和工作方式,這種切換本身就消耗大量時(shí)間。更嚴(yán)重的是,不同工作對(duì)資源的需求差異很大,可能導(dǎo)致某些資源閑置而另一些資源過(guò)載。
任務(wù)分離型框架如OpenRLHF和StreamRL采用了專業(yè)化分工的思路,讓不同的工人專門負(fù)責(zé)不同的任務(wù)流水線。這種方式可以針對(duì)每種任務(wù)優(yōu)化硬件配置和并行策略,理論上效率更高。但實(shí)際部署中面臨的挑戰(zhàn)是任務(wù)間的數(shù)據(jù)依賴關(guān)系復(fù)雜,需要精心設(shè)計(jì)調(diào)度方案,而且容易出現(xiàn)負(fù)載不均衡的問題。
AsyncFlow吸收了兩種方案的優(yōu)點(diǎn),同時(shí)針對(duì)性地解決了各自的缺點(diǎn)流水線。通過(guò)TransferQueue的動(dòng)態(tài)調(diào)度,系統(tǒng)既保持了任務(wù)分離的專業(yè)化優(yōu)勢(shì),又通過(guò)智能負(fù)載均衡避免了資源閑置問題。異步工作流機(jī)制則進(jìn)一步減少了任務(wù)間的等待時(shí)間,使得專業(yè)化分工的效益得到最大化發(fā)揮。
在算法支持方面,AsyncFlow展現(xiàn)出了更好的通用性流水線。傳統(tǒng)框架往往與特定的強(qiáng)化學(xué)習(xí)算法緊密耦合,當(dāng)研究人員想要嘗試新算法時(shí)需要大量的代碼修改。AsyncFlow的高層抽象設(shè)計(jì)使得它可以輕松適應(yīng)不同的算法變體,目前已經(jīng)支持GRPO算法,PPO算法的支持也在開發(fā)中。
九、未來(lái)發(fā)展的無(wú)限可能:技術(shù)演進(jìn)的方向
AsyncFlow的成功不僅在于解決了當(dāng)前的技術(shù)挑戰(zhàn),更在于為未來(lái)的發(fā)展奠定了堅(jiān)實(shí)基礎(chǔ)流水線。研究團(tuán)隊(duì)已經(jīng)在論文中提出了一些令人興奮的發(fā)展方向,這些方向可能會(huì)進(jìn)一步推動(dòng)強(qiáng)化學(xué)習(xí)訓(xùn)練技術(shù)的邊界。
其中最有前景的是子步異步機(jī)制的完整實(shí)現(xiàn)流水線。目前的版本已經(jīng)在理論上證明了這種方法的可行性,未來(lái)的完整實(shí)現(xiàn)將允許不同推理實(shí)例在更細(xì)粒度上進(jìn)行參數(shù)更新。這就像是讓餐廳里的不同廚師可以在任意時(shí)刻更新菜譜,而不影響整體的出餐效率。這種機(jī)制有望進(jìn)一步減少參數(shù)同步的開銷,實(shí)現(xiàn)更接近理想狀態(tài)的并行效率。
在存儲(chǔ)系統(tǒng)方面,TransferQueue的模塊化設(shè)計(jì)為集成更先進(jìn)的存儲(chǔ)后端留下了空間流水線。研究團(tuán)隊(duì)提到了與Mooncake Store、Redis等專業(yè)存儲(chǔ)系統(tǒng)的集成可能性,這些系統(tǒng)針對(duì)大規(guī)模機(jī)器學(xué)習(xí)訓(xùn)練進(jìn)行了專門優(yōu)化,可能會(huì)帶來(lái)更好的性能和可靠性。
算法層面的擴(kuò)展也充滿潛力流水線。AsyncFlow的架構(gòu)天然支持更復(fù)雜的強(qiáng)化學(xué)習(xí)算法,包括多智能體系統(tǒng)、層次化強(qiáng)化學(xué)習(xí)等前沿方向。隨著這些算法的成熟,AsyncFlow可能成為下一代AI系統(tǒng)訓(xùn)練的重要基礎(chǔ)設(shè)施。
在硬件適配方面,雖然當(dāng)前版本主要針對(duì)華為昇騰NPU進(jìn)行了優(yōu)化,但其模塊化的設(shè)計(jì)理念使得移植到其他硬件平臺(tái)成為可能流水線。隨著AI專用芯片的快速發(fā)展,AsyncFlow有望成為一個(gè)跨平臺(tái)的通用解決方案。
說(shuō)到底,AsyncFlow代表的不僅僅是一個(gè)技術(shù)工具的進(jìn)步,更是AI訓(xùn)練系統(tǒng)設(shè)計(jì)思維的轉(zhuǎn)變流水線。從傳統(tǒng)的單體架構(gòu)轉(zhuǎn)向模塊化、異步化的分布式架構(gòu),從靜態(tài)的資源分配轉(zhuǎn)向動(dòng)態(tài)的智能調(diào)度,這些理念的轉(zhuǎn)變可能會(huì)影響整個(gè)AI基礎(chǔ)設(shè)施的發(fā)展方向。
對(duì)于普通關(guān)注AI發(fā)展的人來(lái)說(shuō),AsyncFlow的意義在于它可能會(huì)加速AI模型的訓(xùn)練和迭代速度,讓更先進(jìn)的AI能力更快地從實(shí)驗(yàn)室走向?qū)嶋H應(yīng)用流水線。當(dāng)訓(xùn)練效率提升一倍時(shí),意味著同樣的成本可以支持更多的實(shí)驗(yàn)和優(yōu)化,從而推動(dòng)整個(gè)行業(yè)的快速發(fā)展。
對(duì)于AI從業(yè)者而言,AsyncFlow提供了一個(gè)值得學(xué)習(xí)的系統(tǒng)設(shè)計(jì)范例流水線。它展示了如何在復(fù)雜的技術(shù)約束下找到優(yōu)雅的解決方案,如何在效率和穩(wěn)定性之間取得平衡,以及如何設(shè)計(jì)真正可擴(kuò)展和可維護(hù)的系統(tǒng)架構(gòu)。
歸根結(jié)底,AsyncFlow的成功證明了在AI基礎(chǔ)設(shè)施領(lǐng)域仍然存在巨大的創(chuàng)新空間流水線。通過(guò)深入理解實(shí)際需求,巧妙運(yùn)用系統(tǒng)設(shè)計(jì)原理,我們可以顯著提升現(xiàn)有技術(shù)的效率和可用性,為AI技術(shù)的進(jìn)一步發(fā)展鋪平道路。有興趣深入了解技術(shù)細(xì)節(jié)的讀者,建議訪問MindSpeed-RL的開源項(xiàng)目頁(yè)面(),那里提供了完整的實(shí)現(xiàn)代碼和詳細(xì)的使用文檔。
Q&A
Q1:AsyncFlow是什么?它能解決什么問題? A:AsyncFlow是華為開發(fā)的一套AI模型訓(xùn)練系統(tǒng),專門用于提升大語(yǔ)言模型的后訓(xùn)練效率流水線。它主要解決現(xiàn)有系統(tǒng)中任務(wù)切換耗時(shí)、資源閑置和兼容性差的問題,通過(guò)智能流水線設(shè)計(jì)讓訓(xùn)練效率平均提升1.59倍。
Q2:AsyncFlow會(huì)不會(huì)影響AI模型的訓(xùn)練質(zhì)量? A:不會(huì)流水線。實(shí)驗(yàn)證明AsyncFlow的異步訓(xùn)練機(jī)制不會(huì)對(duì)模型收斂性造成負(fù)面影響,訓(xùn)練出的模型在獎(jiǎng)勵(lì)分?jǐn)?shù)和回答質(zhì)量方面與傳統(tǒng)方法幾乎沒有差異,在提升效率的同時(shí)保持了算法穩(wěn)定性。