聞樂發(fā)自凹非寺量子位|公眾號QbitAI
擴(kuò)散模型寫代碼,不僅像開了倍速,改起來還特別靈活!
字節(jié)Seed最新發(fā)布擴(kuò)散語言模型SeedDiffusionPreview,這款模型主要聚焦于代碼生成領(lǐng)域,它的特別之處在于采用了離散狀態(tài)擴(kuò)散技術(shù),在推理速度上表現(xiàn)出色。
在H20上,它的代碼推理速度能達(dá)到2146tokens/s,比同類的Mercury和GeminiDiffusion等模型快不少,同時比同等規(guī)模的自回歸模型快5.4倍,并且在代碼編輯任務(wù)中更具優(yōu)勢。
SeedDiffusionPreview以結(jié)構(gòu)化的代碼生成為實驗領(lǐng)域,系統(tǒng)性地驗證離散擴(kuò)散技術(shù)路線作為下一代語言模型基礎(chǔ)框架的可行性。
下面介紹它的具體技術(shù)細(xì)節(jié)。
核心是兩階段訓(xùn)練學(xué)習(xí)
自回歸模型存在串行解碼延遲瓶頸,理論上,擴(kuò)散模型的并行生成潛力和整體性生成的優(yōu)勢可以解決自回歸模型推理速度局限這一痛點。
但理論優(yōu)勢與實際效果還是有差距,離散擴(kuò)散模型在語言任務(wù)中的大規(guī)模部署仍面臨兩大核心瓶頸:歸納偏置沖突推理效率瓶頸
為解決上述問題,SeedDiffusionPreview采用了四項關(guān)鍵的技術(shù)創(chuàng)新。
兩階段訓(xùn)練
兩階段訓(xùn)練是模型的核心訓(xùn)練策略。
這是針對離散擴(kuò)散過程設(shè)計的漸進(jìn)式訓(xùn)練方案,兩個階段分別采用不同的corruption過程(即對原始數(shù)據(jù)的擾動方式)。通過分階段優(yōu)化模型對token的理解與生成能力,平衡訓(xùn)練效率與生成質(zhì)量。
第一個階段是基于掩碼的擴(kuò)散訓(xùn)練,學(xué)習(xí)上下文補全,占整個訓(xùn)練步驟的80%。
目標(biāo)是將原始序列中的token替換為特殊的[MASK]標(biāo)記,讓模型學(xué)習(xí)從部分被掩蓋的序列中恢復(fù)原始token,以此奠定基礎(chǔ)的語言建模能力。
第二個階段是基于編輯的擴(kuò)散訓(xùn)練,增強全局的合理性。
掩碼訓(xùn)練可能帶來“捷徑依賴”的問題——優(yōu)先利用未掩碼token的局部關(guān)聯(lián)性進(jìn)行恢復(fù),而非理解整個序列的全局邏輯。
此階段的目標(biāo)就是通過插入、刪除、替換等編輯操作對原始序列進(jìn)行擾動,并用編輯距離衡量擾動程度,編輯次數(shù)由特定函數(shù)控制在合理范圍內(nèi),打破模型對未掩碼token的錯誤認(rèn)知,迫使模型重新評估所有token。
實證表明,引入編輯階段后,模型在代碼修復(fù)基準(zhǔn)CanItEdit上的pass@1對比自回歸模型(AR模型)提升了4.8%(54.3vs.50.5),明顯增強了模型的代碼邏輯理解與修復(fù)能力。
約束順序擴(kuò)散
為解決離散擴(kuò)散模型在代碼生成中“邏輯混亂”的問題,團(tuán)隊設(shè)計引入代碼的結(jié)構(gòu)化先驗,核心是讓模型遵循代碼固有的“規(guī)矩”。
雖然代碼這類語言不像說話那樣又嚴(yán)格的從左到右邏輯,但它有很強的因果關(guān)系——比如變量要先聲明才能用等。
為了讓模型懂這些規(guī)矩,團(tuán)隊提出約束順序訓(xùn)練:先讓模型通過內(nèi)部的預(yù)訓(xùn)練模型,大量模擬正確的代碼生成過程,然后像提煉公式一樣,把這些正確的生成順序濃縮成模型能夠?qū)W會的規(guī)律。
這樣模型在生成代碼時就能自覺遵循這些結(jié)構(gòu)化的邏輯,不再亂序生成。
同策略學(xué)習(xí)范式
在SeedDiffusion模型中,生成速度的優(yōu)化通過多重策略協(xié)同實現(xiàn)。
首先,采用同策略學(xué)習(xí)范式(on-policy),讓模型在訓(xùn)練時直接使用當(dāng)前策略生成的采樣軌跡進(jìn)行參數(shù)更新,確保訓(xùn)練數(shù)據(jù)與模型當(dāng)前能力高度匹配,減少策略偏差帶來的效率損耗,加速采樣策略的迭代優(yōu)化,從算法層面提升生成效率。
簡單說就是模型邊生成代碼邊學(xué)習(xí)。模型用現(xiàn)在的本事生成一段代碼過程,然后就用這個過程的數(shù)據(jù)來改進(jìn)自己,這樣學(xué)的東西就和自己當(dāng)前的能力很匹配,不會因為用老數(shù)據(jù)而走彎路,能更快地把生成代碼的策略優(yōu)化好。
塊級并行擴(kuò)散采樣
為平衡計算資源與生成延遲,模型采用塊級并行擴(kuò)散采樣方案。該方案將生成序列劃分為多個塊,在擴(kuò)散采樣過程中對這些塊進(jìn)行并行處理,而非逐token串行生成。
這樣既能把電腦的計算能力充分用起來,又不會因為一次處理太長的內(nèi)容而耽誤時間,能在計算量和生成速度之間找到合適的平衡,比如調(diào)整塊的大小,就能靈活控制速度和效率。
此外,模型還依托內(nèi)部基礎(chǔ)設(shè)施框架進(jìn)行系統(tǒng)級優(yōu)化,包括硬件資源調(diào)度、計算流程精簡等,進(jìn)一步降低采樣過程中的冗余開銷,最終實現(xiàn)了推理速度的顯著提升。
團(tuán)隊通過一系列實驗驗證了模型在代碼生成領(lǐng)域的優(yōu)勢,核心成果體現(xiàn)在推理速度的大幅提升、生成質(zhì)量的競爭力以及關(guān)鍵技術(shù)的有效性三個方面:
在H20上可達(dá)每秒2146個token,同時保持了代碼生成質(zhì)量的競爭力,性能與優(yōu)秀模型相當(dāng),尤其是在代碼編輯任務(wù)中優(yōu)勢更明顯
SeedDiffusionPreview的測試結(jié)果驗證了了離散擴(kuò)散路線在大語言模型推理上的潛力。
一個小tip:SeedDiffusion項目組正在招募研究型實習(xí)生,如果你基礎(chǔ)能力過關(guān)、代碼能力優(yōu)秀,并且對探索下一代大模型范式感興趣,可以一試~
技術(shù)報告:https://lf3-static.bytednsdoc.com/obj/eden-cn/hyvsmeh7uhobf/sdiff_updated.pdf項目地址:https://seed.bytedance.com/seed_diffusion體驗鏈接:https://studio.seed.ai/exp/seed_diffusion
—完—
《女總裁的全能兵王》一對一,男強女強,看他們?nèi)绾巫V寫王者傳奇
史上最火新奇之作《女總裁的全能兵王》,別讓自己錯過!
全能兵王回歸,化身美女總裁保鏢,橫掃強敵譜寫傳奇