用擴散模型寫代碼,不僅像開了倍速,改起來還特別靈活!
字節Seed最新發布擴散語言模型Seed Diffusion Preview,這款模型主要聚焦于代碼生成領域,它的特別之處在于采用了離散狀態擴散技術,在推理速度上表現出色。
它的代碼推理速度能達到2146?tokens/s,比同類的Mercury和Gemini Diffusion等模型快不少,同時比同等規模的自回歸模型快5.4倍,并且在代碼編輯任務中更具優勢。
Seed Diffusion Preview以結構化的代碼生成為實驗領域,系統性地驗證離散擴散技術路線作為下一代語言模型基礎框架的可行性。
下面介紹它的具體技術細節。
核心是兩階段訓練學習
自回歸模型存在串行解碼延遲瓶頸,理論上,擴散模型的并行生成潛力和整體性生成的優勢可以解決自回歸模型推理速度局限這一痛點。
但理論優勢與實際效果還是有差距,離散擴散模型在語言任務中的大規模部署仍面臨兩大核心瓶頸:歸納偏置沖突和推理效率瓶頸。
為解決上述問題,Seed Diffusion Preview采用了四項關鍵的技術創新。
兩階段訓練
兩階段訓練是模型的核心訓練策略。
這是針對離散擴散過程設計的漸進式訓練方案,兩個階段分別采用不同的corruption過程(即對原始數據的擾動方式)。通過分階段優化模型對token的理解與生成能力,平衡訓練效率與生成質量。
第一個階段是基于掩碼的擴散訓練,學習上下文補全,占整個訓練步驟的80%。
目標是將原始序列中的token替換為特殊的[MASK]標記,讓模型學習從部分被掩蓋的序列中恢復原始token,以此奠定基礎的語言建模能力。
第二個階段是基于編輯的擴散訓練,增強全局的合理性。
掩碼訓練可能帶來“捷徑依賴”的問題——優先利用未掩碼token的局部關聯性進行恢復,而非理解整個序列的全局邏輯。
此階段的目標就是通過插入、刪除、替換等編輯操作對原始序列進行擾動,并用編輯距離衡量擾動程度,編輯次數由特定函數控制在合理范圍內,打破模型對未掩碼token的錯誤認知,迫使模型重新評估所有token。
實證表明,引入編輯階段后,模型在代碼修復基準CanItEdit上的pass@1對比自回歸模型(AR模型)提升了4.8%(54.3vs.50.5),明顯增強了模型的代碼邏輯理解與修復能力。
Seed Diffusion Preview的測試結果驗證了了離散擴散路線在大語言模型推理上的潛力。