快手發(fā)布SeamlessFlow框架:完全解耦Trainer與Agent,時(shí)空復(fù)用實(shí)現(xiàn)無空泡的工業(yè)級(jí)RL訓(xùn)練!
近日,快手 Kwaipilot 團(tuán)隊(duì)發(fā)布了 SeamlessFlow 技術(shù)報(bào)告,這是對(duì)團(tuán)隊(duì)所使用的工業(yè)級(jí)規(guī)模強(qiáng)化學(xué)習(xí)(RL)訓(xùn)練框架的詳細(xì)介紹。該框架通過創(chuàng)新的數(shù)據(jù)平面架構(gòu),對(duì)RL的訓(xùn)練邏輯和Agent做了徹底解耦,用以支持多智能體、在線強(qiáng)化學(xué)習(xí)訓(xùn)練等復(fù)雜場景;更進(jìn)一步,針對(duì)RL計(jì)算資源分配問題,團(tuán)隊(duì)提出了“標(biāo)簽分配機(jī)制”,統(tǒng)一了該領(lǐng)域最廣泛的兩種設(shè)計(jì)模式(訓(xùn)推共卡、訓(xùn)推分離)。以標(biāo)簽分配的思路為出發(fā)點(diǎn),在業(yè)界首個(gè)提出“時(shí)空復(fù)用pipeline”,實(shí)現(xiàn)了在訓(xùn)推分離的異構(gòu)集群上徹底消除Pipeline Bubble的效果。在實(shí)際測(cè)試中,SeamlessFlow的端到端token吞吐量相比基線提升100%,整體訓(xùn)練時(shí)間減少62%。

技術(shù)報(bào)告:https://arxiv.org/abs/2508.11553
一、大模型RL訓(xùn)練的兩大難題
隨著OpenAI o系列和DeepSeek-R1的成功,強(qiáng)化學(xué)習(xí)已成為提升大模型推理能力的關(guān)鍵路徑。然而在工業(yè)級(jí)部署中,RL訓(xùn)練面臨著兩大難題:其一是訓(xùn)練與Agent執(zhí)行流程的強(qiáng)耦合。不同Agent往往具有復(fù)雜的內(nèi)部邏輯,如記憶機(jī)制、多分支推理或測(cè)試時(shí)擴(kuò)展,這使得RL訓(xùn)練必須依賴各自的實(shí)現(xiàn),不僅維護(hù)成本高,還容易造成軌跡記錄不完整、數(shù)據(jù)不一致。其二是算力利用率與系統(tǒng)穩(wěn)定性的矛盾。業(yè)界對(duì)于RL模型訓(xùn)練和數(shù)據(jù)采樣這兩者的算力分配上有兩種流派:訓(xùn)練與推理服務(wù)同機(jī)部署(Colocated: 訓(xùn)推共卡),可以減少空轉(zhuǎn)保持高利用率,但弊端在于無法利用異構(gòu)算力資源,且服務(wù)崩潰會(huì)牽連整個(gè)訓(xùn)練流程;另一種是將這二者分在兩個(gè)集群上部署(Disaggregated: 訓(xùn)推分離),這種方式能提升穩(wěn)定性,且能靈活利用異構(gòu)算力,卻會(huì)因訓(xùn)練和采樣之間的時(shí)序依賴而產(chǎn)生流水線空泡(pipeline bubbles),導(dǎo)致大量GPU閑置。如何在大規(guī)模集群中同時(shí)實(shí)現(xiàn)高效與穩(wěn)定,成為大模型RL必須突破的核心挑戰(zhàn)。
這種矛盾在基于實(shí)際生產(chǎn)環(huán)境進(jìn)行RL訓(xùn)練的場景中(即Online RL)尤為突出,一個(gè)LLM服務(wù)層需要同時(shí)支撐多個(gè)產(chǎn)品線的不同智能體,這些智能體可能涉及代碼生成、文檔理解、多輪對(duì)話等各種復(fù)雜任務(wù)。在這種情況下,如何設(shè)計(jì)RL系統(tǒng),以保證這些在線產(chǎn)生的數(shù)據(jù)能無縫高效地進(jìn)入RL的訓(xùn)練管線中、以及在不影響線上產(chǎn)品的情況下,最大化利用異構(gòu)的計(jì)算資源,成為了一個(gè)極具挑戰(zhàn)的問題。

?圖1:從標(biāo)簽視角看三種架構(gòu)。Disaggregated架構(gòu)存在明顯的Pipeline Bubble;Colocated架構(gòu)雖無bubble但缺乏靈活性;SeamlessFlow的時(shí)空復(fù)用通過動(dòng)態(tài)標(biāo)簽切換徹底消除了bubble。除此之外,標(biāo)簽層的存在還提供了一層冗余:部分機(jī)器宕機(jī)不會(huì)影響整體訓(xùn)練流程。
二、用數(shù)據(jù)平面破解Trainer-Agent耦合難題
SeamlessFlow的第一個(gè)關(guān)鍵創(chuàng)新是引入了獨(dú)立的數(shù)據(jù)平面層,徹底解耦了RL訓(xùn)練和智能體實(shí)現(xiàn)。這個(gè)設(shè)計(jì)的巧妙之處在于,它不要求每個(gè)智能體去適配訓(xùn)練框架,而是在LLM服務(wù)和智能體之間插入了一個(gè)透明的代理層。
數(shù)據(jù)平面的核心是Trajectory Manager(軌跡管理器),它像一個(gè)"隱形記錄員",靜默地捕獲所有經(jīng)過的token級(jí)別輸入輸出。當(dāng)智能體向LLM發(fā)送請(qǐng)求時(shí),Trajectory Manager會(huì)記錄完整的輸入;當(dāng)LLM返回響應(yīng)時(shí),它同樣會(huì)保存所有輸出token,然后再轉(zhuǎn)發(fā)給智能體。這個(gè)過程對(duì)智能體完全透明,智能體甚至感知不到Trajectory Manager的存在。
更重要的是,Trajectory Manager能夠處理復(fù)雜的會(huì)話分支情況。通過最長前綴匹配算法,它可以將屬于同一會(huì)話但可能有不同分支的多輪對(duì)話重建成完整的軌跡樹。這不僅節(jié)省了存儲(chǔ)空間,還避免了共享前綴的重復(fù)計(jì)算,顯著提升了訓(xùn)練效率。每個(gè)token還會(huì)被標(biāo)注生成它的模型版本,使得精確的on-policy/off-policy區(qū)分成為可能。

圖2:數(shù)據(jù)平面的序列圖,展示Trajectory Manager如何讓智能體對(duì)模型更新無感知,以及Rollout Manager如何控制訓(xùn)練與推理階段的切換。
數(shù)據(jù)平面的另一個(gè)關(guān)鍵組件是Rollout Manager(推理管理器),它負(fù)責(zé)協(xié)調(diào)整個(gè)系統(tǒng)的運(yùn)行節(jié)奏。當(dāng)收集到足夠的訓(xùn)練樣本、需要更新模型權(quán)重或者資源需要重新分配時(shí),Rollout Manager會(huì)觸發(fā)推理暫停。這里的巧妙設(shè)計(jì)是實(shí)現(xiàn)了partial rollout等服務(wù)端中斷操作對(duì)下游Agent測(cè)的無感。從智能體的視角看,它只是收到了一個(gè)稍長的等待時(shí)間,完全感知不到背后發(fā)生的模型更新或資源調(diào)度。
這種設(shè)計(jì)帶來的好處是革命性的。訓(xùn)練工程師不再需要深入了解每個(gè)智能體的實(shí)現(xiàn)細(xì)節(jié),只需要從數(shù)據(jù)平面獲取標(biāo)準(zhǔn)化的軌跡數(shù)據(jù)即可。新的智能體可以隨時(shí)加入系統(tǒng),無需修改RL訓(xùn)練pipeline。即使是數(shù)萬token的長文本生成任務(wù),也能在任意時(shí)刻優(yōu)雅地暫停和恢復(fù),不浪費(fèi)任何已完成的計(jì)算。
三、標(biāo)簽驅(qū)動(dòng)調(diào)度:統(tǒng)一Colocated和Disaggregated的巧妙抽象
SeamlessFlow的第二個(gè)創(chuàng)新是提出了標(biāo)簽驅(qū)動(dòng)的資源調(diào)度范式。這個(gè)設(shè)計(jì)的精妙之處在于,它沒有在Colocated和Disaggregated之間做非此即彼的選擇,而是將兩者統(tǒng)一在了統(tǒng)一的抽象框架下。
在SeamlessFlow中,每個(gè)計(jì)算資源都被賦予一個(gè)或多個(gè)能力標(biāo)簽(capability tags),比如rollout表示可以執(zhí)行推理任務(wù),train表示可以執(zhí)行訓(xùn)練任務(wù)。調(diào)度器不再關(guān)心物理機(jī)器的身份,而是根據(jù)標(biāo)簽來分配任務(wù)。從這個(gè)視角看,純Colocated架構(gòu)就是所有機(jī)器都擁有全部標(biāo)簽的特例,純Disaggregated架構(gòu)則是每臺(tái)機(jī)器只有單一標(biāo)簽的特例,而SeamlessFlow支持的是更靈活的混合模式。

圖3:不同Pipeline實(shí)現(xiàn)方式的對(duì)比。Naive Pipeline存在大量空閑時(shí)間;Micro-batch和Off-policy filling部分緩解但無法消除bubble;SeamlessFlow的時(shí)空復(fù)用Pipeline實(shí)現(xiàn)了近乎零空閑。
這種抽象帶來的最大好處是實(shí)現(xiàn)了時(shí)空復(fù)用(Spatiotemporal Multiplexing)。具體運(yùn)作過程為:系統(tǒng)初始化時(shí),一部分機(jī)器被賦予rollout和train雙重標(biāo)簽,其余機(jī)器只有rollout標(biāo)簽。第一階段,所有機(jī)器都在執(zhí)行推理任務(wù),最大化數(shù)據(jù)生成速度。當(dāng)Rollout Manager判斷已收集足夠數(shù)據(jù)需要訓(xùn)練時(shí),擁有train標(biāo)簽的機(jī)器會(huì)被立即搶占并切換到訓(xùn)練任務(wù),而只有rollout標(biāo)簽的機(jī)器繼續(xù)生成數(shù)據(jù),保持推理服務(wù)不中斷。訓(xùn)練完成后,這些機(jī)器又會(huì)切換回推理模式。
這種設(shè)計(jì)徹底解決了Pipeline Bubble問題。在傳統(tǒng)的Disaggregated架構(gòu)中,訓(xùn)練集群在等待推理數(shù)據(jù)時(shí)會(huì)大量空閑。而在SeamlessFlow中,這些"訓(xùn)練機(jī)器"在空閑時(shí)會(huì)立即被調(diào)度去做推理任務(wù),將空閑時(shí)間壓縮到幾乎為零。實(shí)驗(yàn)數(shù)據(jù)顯示,通過這種時(shí)空復(fù)用,系統(tǒng)的GPU的閑置率可以降低到5%以下。
對(duì)于異構(gòu)集群,SeamlessFlow還引入了train_priority標(biāo)簽。通過roofline模型分析不同硬件的內(nèi)存帶寬和計(jì)算峰值性能,系統(tǒng)可以智能地判斷哪些設(shè)備更適合訓(xùn)練任務(wù),哪些更適合推理任務(wù),哪些都適合,從而在保持高利用率的同時(shí)充分發(fā)揮各類硬件的特長。
四、工業(yè)級(jí)驗(yàn)證:從理論到實(shí)踐的完美落地
SeamlessFlow不僅在理論上最優(yōu),在實(shí)際部署中也展現(xiàn)出了卓越的性能。在使用32張H800 GPU進(jìn)行的對(duì)比測(cè)試顯示,相比主流的VERL框架,SeamlessFlow在單輪RL任務(wù)(8k token上下文)中實(shí)現(xiàn)了100%的吞吐量提升,整體訓(xùn)練時(shí)間減少62%。這個(gè)提升主要來自于數(shù)據(jù)平面的流式設(shè)計(jì)和Pipeline Bubble的徹底消除。

圖4:SeamlessFlow與VERL的吞吐量對(duì)比。左圖展示了不同模型規(guī)模下的樣本吞吐量,右圖展示了20k token場景下的token吞吐量,SeamlessFlow均實(shí)現(xiàn)了顯著提升。
在更復(fù)雜的智能體RL場景中,SeamlessFlow的優(yōu)勢(shì)更加明顯。使用SWE-agent作為智能體scaffold,在最大生成長度64K token的代碼任務(wù)中,SeamlessFlow實(shí)現(xiàn)了平均1.55倍的吞吐量提升。特別值得注意的是,當(dāng)集群規(guī)模從32塊GPU擴(kuò)展到64塊時(shí),SeamlessFlow的性能優(yōu)勢(shì)進(jìn)一步擴(kuò)大,展現(xiàn)出了優(yōu)秀的可擴(kuò)展性。
?

圖5:智能體訓(xùn)練場景的吞吐量對(duì)比,SeamlessFlow在不同集群規(guī)模下都保持明顯優(yōu)勢(shì)。
為了驗(yàn)證端到端的效果,團(tuán)隊(duì)在軟件工程任務(wù)上進(jìn)行了大規(guī)模RL訓(xùn)練。使用包含10K個(gè)GitHub真實(shí)issue的訓(xùn)練集,覆蓋3500個(gè)不同代碼倉庫,通過測(cè)試用例通過率作為獎(jiǎng)勵(lì)信號(hào)進(jìn)行訓(xùn)練。結(jié)果顯示,Qwen3-8B模型在SWE-Bench Verified上的性能從12.2%提升到27.4%,Qwen3-32B更是從23%提升到45.8%,充分證明了SeamlessFlow在實(shí)際任務(wù)中的有效性。
?
圖6:Qwen3-32B在SeamlessFlow訓(xùn)練過程中的獎(jiǎng)勵(lì)曲線,展示了穩(wěn)定的性能提升趨勢(shì)。
五、架構(gòu)創(chuàng)新背后的深度思考
SeamlessFlow的成功不僅僅是技術(shù)實(shí)現(xiàn)的勝利,更體現(xiàn)了對(duì)工業(yè)級(jí)RL訓(xùn)練深刻的理解。它認(rèn)識(shí)到在真實(shí)的生產(chǎn)環(huán)境中,簡單地追求某個(gè)單一指標(biāo)的最優(yōu)是不夠的,必須在多個(gè)維度上達(dá)到平衡。
數(shù)據(jù)平面的設(shè)計(jì)體現(xiàn)了"關(guān)注點(diǎn)分離"的架構(gòu)思想。通過將軌跡管理從智能體實(shí)現(xiàn)中剝離出來,不僅降低了系統(tǒng)的復(fù)雜度,還大大提升了可維護(hù)性。這種設(shè)計(jì)使得算法工程師可以專注于RL算法的優(yōu)化,而不需要關(guān)心各種智能體的實(shí)現(xiàn)細(xì)節(jié);同時(shí)產(chǎn)品工程師可以自由地迭代智能體功能,而不用擔(dān)心破壞訓(xùn)練流程。
SeamlessFlow還體現(xiàn)了對(duì)細(xì)節(jié)的極致追求。比如在處理模型更新時(shí),系統(tǒng)不是簡單地中斷所有推理請(qǐng)求,而是通過長輪詢機(jī)制讓請(qǐng)求"懸停",等待新模型加載完成后繼續(xù)生成。這種設(shè)計(jì)雖然增加了實(shí)現(xiàn)復(fù)雜度,但確保了智能體體驗(yàn)的連續(xù)性。
標(biāo)簽驅(qū)動(dòng)調(diào)度則展現(xiàn)了"統(tǒng)一抽象"的威力。通過將資源能力抽象為標(biāo)簽,SeamlessFlow將看似對(duì)立的Colocated和Disaggregated架構(gòu)統(tǒng)一在了同一個(gè)框架下。這不僅在理論上優(yōu)雅,在實(shí)踐中也帶來了巨大的靈活性——系統(tǒng)可以根據(jù)實(shí)際負(fù)載動(dòng)態(tài)調(diào)整資源分配策略,在穩(wěn)定性和效率之間找到最佳平衡點(diǎn)。與Areal等其他框架通過引入落后多步off-polcy數(shù)據(jù)的做法不同,SeamlessFlow的時(shí)空復(fù)用pipeline,將off-polcy數(shù)據(jù)的落后程度控制在了1步以內(nèi),在實(shí)現(xiàn)無空泡的同時(shí),盡可能減小了其對(duì)RL算法側(cè)的負(fù)面影響。
只有在異構(gòu)集群上將以上幾點(diǎn)結(jié)合,才能實(shí)現(xiàn)真正意義上的Online RL:產(chǎn)品線上實(shí)時(shí)的數(shù)據(jù)要能輕松地被RL訓(xùn)練模塊所使用、RL訓(xùn)練不能影響線上服務(wù)、集群的算力資源得到充分利用。
六、展望:工業(yè)級(jí)RL訓(xùn)練的新范式
SeamlessFlow的發(fā)布標(biāo)志著工業(yè)級(jí)RL訓(xùn)練進(jìn)入了一個(gè)新階段。它不再是在現(xiàn)有架構(gòu)間做取舍,而是從實(shí)際算法需求觸發(fā),通過以更高觀點(diǎn)對(duì)Infra中各架構(gòu)進(jìn)行抽象,實(shí)現(xiàn)了新的架構(gòu)方案,打破了長期存在的效率與穩(wěn)定性矛盾。隨著大模型能力的不斷提升和智能體應(yīng)用的日益普及,高效、穩(wěn)定、靈活的RL訓(xùn)練框架將成為AI基礎(chǔ)設(shè)施的關(guān)鍵組成部分。
SeamlessFlow的設(shè)計(jì)理念和技術(shù)創(chuàng)新為社區(qū)提供了寶貴的參考,它證明了通過深入理解問題本質(zhì)、巧妙設(shè)計(jì)系統(tǒng)架構(gòu),可以在看似矛盾的需求之間找到完美的平衡點(diǎn)。這種思路不僅適用于RL訓(xùn)練,對(duì)其他大規(guī)模機(jī)器學(xué)習(xí)系統(tǒng)的設(shè)計(jì)也具有重要的借鑒意義。Kwaipilot團(tuán)隊(duì)將繼續(xù)在大模型訓(xùn)練和智能體技術(shù)領(lǐng)域深耕,努力為社區(qū)帶來更多實(shí)用的技術(shù)創(chuàng)新。感謝大家對(duì)我們工作的關(guān)注和支持,也歡迎持續(xù)關(guān)注我們后續(xù)的技術(shù)分享。
?

















