謝文緯
聞樂發(fā)自凹非寺量子位|公眾號(hào)QbitAI
擴(kuò)散模型寫代碼,不僅像開了倍速,改起來還特別靈活!
字節(jié)Seed最新發(fā)布擴(kuò)散語言模型SeedDiffusionPreview,這款模型主要聚焦于代碼生成領(lǐng)域,它的特別之處在于采用了離散狀態(tài)擴(kuò)散技術(shù),在推理速度上表現(xiàn)出色。
在H20上,它的代碼推理速度能達(dá)到2146tokens/s,比同類的Mercury和GeminiDiffusion等模型快不少,同時(shí)比同等規(guī)模的自回歸模型快5.4倍,并且在代碼編輯任務(wù)中更具優(yōu)勢(shì)。
SeedDiffusionPreview以結(jié)構(gòu)化的代碼生成為實(shí)驗(yàn)領(lǐng)域,系統(tǒng)性地驗(yàn)證離散擴(kuò)散技術(shù)路線作為下一代語言模型基礎(chǔ)框架的可行性。
下面介紹它的具體技術(shù)細(xì)節(jié)。
核心是兩階段訓(xùn)練學(xué)習(xí)
自回歸模型存在串行解碼延遲瓶頸,理論上,擴(kuò)散模型的并行生成潛力和整體性生成的優(yōu)勢(shì)可以解決自回歸模型推理速度局限這一痛點(diǎn)。
但理論優(yōu)勢(shì)與實(shí)際效果還是有差距,離散擴(kuò)散模型在語言任務(wù)中的大規(guī)模部署仍面臨兩大核心瓶頸:歸納偏置沖突推理效率瓶頸
為解決上述問題,SeedDiffusionPreview采用了四項(xiàng)關(guān)鍵的技術(shù)創(chuàng)新。
兩階段訓(xùn)練
兩階段訓(xùn)練是模型的核心訓(xùn)練策略。
這是針對(duì)離散擴(kuò)散過程設(shè)計(jì)的漸進(jìn)式訓(xùn)練方案,兩個(gè)階段分別采用不同的corruption過程(即對(duì)原始數(shù)據(jù)的擾動(dòng)方式)。通過分階段優(yōu)化模型對(duì)token的理解與生成能力,平衡訓(xùn)練效率與生成質(zhì)量。
第一個(gè)階段是基于掩碼的擴(kuò)散訓(xùn)練,學(xué)習(xí)上下文補(bǔ)全,占整個(gè)訓(xùn)練步驟的80%。
目標(biāo)是將原始序列中的token替換為特殊的[MASK]標(biāo)記,讓模型學(xué)習(xí)從部分被掩蓋的序列中恢復(fù)原始token,以此奠定基礎(chǔ)的語言建模能力。
第二個(gè)階段是基于編輯的擴(kuò)散訓(xùn)練,增強(qiáng)全局的合理性。
掩碼訓(xùn)練可能帶來“捷徑依賴”的問題——優(yōu)先利用未掩碼token的局部關(guān)聯(lián)性進(jìn)行恢復(fù),而非理解整個(gè)序列的全局邏輯。
此階段的目標(biāo)就是通過插入、刪除、替換等編輯操作對(duì)原始序列進(jìn)行擾動(dòng),并用編輯距離衡量擾動(dòng)程度,編輯次數(shù)由特定函數(shù)控制在合理范圍內(nèi),打破模型對(duì)未掩碼token的錯(cuò)誤認(rèn)知,迫使模型重新評(píng)估所有token。
實(shí)證表明,引入編輯階段后,模型在代碼修復(fù)基準(zhǔn)CanItEdit上的pass@1對(duì)比自回歸模型(AR模型)提升了4.8%(54.3vs.50.5),明顯增強(qiáng)了模型的代碼邏輯理解與修復(fù)能力。
約束順序擴(kuò)散
為解決離散擴(kuò)散模型在代碼生成中“邏輯混亂”的問題,團(tuán)隊(duì)設(shè)計(jì)引入代碼的結(jié)構(gòu)化先驗(yàn),核心是讓模型遵循代碼固有的“規(guī)矩”。
雖然代碼這類語言不像說話那樣又嚴(yán)格的從左到右邏輯,但它有很強(qiáng)的因果關(guān)系——比如變量要先聲明才能用等。
為了讓模型懂這些規(guī)矩,團(tuán)隊(duì)提出約束順序訓(xùn)練:先讓模型通過內(nèi)部的預(yù)訓(xùn)練模型,大量模擬正確的代碼生成過程,然后像提煉公式一樣,把這些正確的生成順序濃縮成模型能夠?qū)W會(huì)的規(guī)律。
這樣模型在生成代碼時(shí)就能自覺遵循這些結(jié)構(gòu)化的邏輯,不再亂序生成。
同策略學(xué)習(xí)范式
在SeedDiffusion模型中,生成速度的優(yōu)化通過多重策略協(xié)同實(shí)現(xiàn)。
首先,采用同策略學(xué)習(xí)范式(on-policy),讓模型在訓(xùn)練時(shí)直接使用當(dāng)前策略生成的采樣軌跡進(jìn)行參數(shù)更新,確保訓(xùn)練數(shù)據(jù)與模型當(dāng)前能力高度匹配,減少策略偏差帶來的效率損耗,加速采樣策略的迭代優(yōu)化,從算法層面提升生成效率。
簡(jiǎn)單說就是模型邊生成代碼邊學(xué)習(xí)。模型用現(xiàn)在的本事生成一段代碼過程,然后就用這個(gè)過程的數(shù)據(jù)來改進(jìn)自己,這樣學(xué)的東西就和自己當(dāng)前的能力很匹配,不會(huì)因?yàn)橛美蠑?shù)據(jù)而走彎路,能更快地把生成代碼的策略優(yōu)化好。
塊級(jí)并行擴(kuò)散采樣
為平衡計(jì)算資源與生成延遲,模型采用塊級(jí)并行擴(kuò)散采樣方案。該方案將生成序列劃分為多個(gè)塊,在擴(kuò)散采樣過程中對(duì)這些塊進(jìn)行并行處理,而非逐token串行生成。
這樣既能把電腦的計(jì)算能力充分用起來,又不會(huì)因?yàn)橐淮翁幚硖L(zhǎng)的內(nèi)容而耽誤時(shí)間,能在計(jì)算量和生成速度之間找到合適的平衡,比如調(diào)整塊的大小,就能靈活控制速度和效率。
此外,模型還依托內(nèi)部基礎(chǔ)設(shè)施框架進(jìn)行系統(tǒng)級(jí)優(yōu)化,包括硬件資源調(diào)度、計(jì)算流程精簡(jiǎn)等,進(jìn)一步降低采樣過程中的冗余開銷,最終實(shí)現(xiàn)了推理速度的顯著提升。
團(tuán)隊(duì)通過一系列實(shí)驗(yàn)驗(yàn)證了模型在代碼生成領(lǐng)域的優(yōu)勢(shì),核心成果體現(xiàn)在推理速度的大幅提升、生成質(zhì)量的競(jìng)爭(zhēng)力以及關(guān)鍵技術(shù)的有效性三個(gè)方面:
在H20上可達(dá)每秒2146個(gè)token,同時(shí)保持了代碼生成質(zhì)量的競(jìng)爭(zhēng)力,性能與優(yōu)秀模型相當(dāng),尤其是在代碼編輯任務(wù)中優(yōu)勢(shì)更明顯
SeedDiffusionPreview的測(cè)試結(jié)果驗(yàn)證了了離散擴(kuò)散路線在大語言模型推理上的潛力。
一個(gè)小tip:SeedDiffusion項(xiàng)目組正在招募研究型實(shí)習(xí)生,如果你基礎(chǔ)能力過關(guān)、代碼能力優(yōu)秀,并且對(duì)探索下一代大模型范式感興趣,可以一試~
技術(shù)報(bào)告:https://lf3-static.bytednsdoc.com/obj/eden-cn/hyvsmeh7uhobf/sdiff_updated.pdf項(xiàng)目地址:https://seed.bytedance.com/seed_diffusion體驗(yàn)鏈接:https://studio.seed.ai/exp/seed_diffusion
—完—
懷孕卻遭夫君帶回別的女人心,成親時(shí)他許諾今生只我一人
大公公人很好,并且他的對(duì)食和我家有一些淵源?!竻⒁姶蠊∨ФY了,我是阮丞相的獨(dú)女,我本來在這賞景,可是突然刮了風(fēng),我迷了眼,看不清路了,所以被困在這花園內(nèi)了,可否請(qǐng)公公幫我尋回面紗,帶我回到宴會(huì)上,不然父親該著急了_——?!箤?duì)面卻半天沒有聲音_。我不由得又打了個(gè)噴嚏|?!腹??」我只感覺一希望你能滿意。
小說:新婚夜重生廢王妃,他竟寵我如命,共奪天下
《權(quán)寵天下》揭秘:王妃與楚王的情仇糾葛「續(xù)讀」今日推薦:《權(quán)寵天下》作者:六月。點(diǎn)擊文末超鏈接開始觀看吧~第757章陸源醒來齊王走過來,略蹙眉心,“五嫂,情況很差嗎?”元卿凌抬頭看著齊王,沉沉地嘆了一口氣,“很差-?!薄坝行褋淼目赡苄詥幔俊薄安恢?!”元卿凌站起來,“袁詠意很傷心,你如果沒說完了——。
劃重點(diǎn)推薦的《全天下都在團(tuán)寵我家王妃》何以書荒急需它!
《神偷王妃:這個(gè)王爺我要了》 作者:辣椒女王內(nèi)容簡(jiǎn)介:某人說,我家王妃性子憨厚,你們切莫欺負(fù)她-。眾女想著自己被偷的只剩肚兜的場(chǎng)面,無限悲哀道,這是誰欺負(fù)誰。某人又說,我家王妃膽子小,你們手中的刀呀劍呀什么的,離她遠(yuǎn)些。眾人抹汗,王爺,臉是個(gè)好東西,你能不能給自己留點(diǎn)_。(點(diǎn)擊下方免費(fèi)閱讀)..
來源:紅網(wǎng)
作者:陳冠威
編輯:劉慈人
本文為紅辣椒評(píng)論 原創(chuàng)文章,僅系作者個(gè)人觀點(diǎn),不代表紅網(wǎng)立場(chǎng)。轉(zhuǎn)載請(qǐng)附原文出處鏈接和本聲明。