建立擴散語言模型:架構、取樣與擴展
執行摘要
擴散語言模型(dLLMs)代表了從標準自回歸(AR)文本生成方法的范式轉變。與 AR 模型從左到右逐個生成詞元不同,擴散模型以並行方式生成整個序列,透過迭代地將粗糙草稿精煉為完善輸出。此方法解決了 AR 模型的三個核心限制:缺乏錯誤修正能力、生成速度緩慢以及僅能使用因果(向後看)注意力的限制。
離散擴散的核心機制
將擴散應用於文字等離散資料,需要重新定義「雜訊」。與使用高斯雜訊的影像擴散不同,語言擴散通常採用遮蔽或狀態替換策略。
遮蔽擴散模型(MDLM)
遮蔽擴散運作方式類似於「生成式 BERT」。該過程包含兩個階段:
- 前向過程:一個乾淨的序列會根據特定時間表,逐步被替換為
[MASK]詞元,直到序列完全被遮蔽。 - 反向過程:訓練一個雙向變壓器,從遮蔽序列中預測原始詞元。在生成時,模型從完全遮蔽的序列開始,迭代填入空白,並偶爾重新遮蔽詞元,以允許進一步修正。
均勻狀態擴散(UDLM)
與使用遮蔽詞元不同,UDLM 將詞元替換為整個詞彙表中的隨機選擇。這確保了中間序列始終無遮蔽,並允許模型在任何步驟修正任何詞元,從而促進更好的錯誤修正與可控性。
先進架構與取樣
為了從理論模型轉化為可投入生產的 LLM,需要多項架構與演算法的延伸。
區塊擴散與可變長度
標準 MDLM 限制於固定長度序列。區塊擴散透過以區塊(例如 256 個詞元)為單位生成文字,並依賴先前生成的區塊,解決此問題。此方法支援 KV 快取,類似於自回歸模型,可實現高效的可變長度生成。
編碼器-解碼器架構
現代 dLLM,如 Gemma Diffusion 和 Nemotron Diffusion,採用編碼器-解碼器架構。一個強大的編碼器僅需處理一次乾淨的上下文,而輕量級的解碼器則迭代地去除「畫布」上的雜訊。這種分離降低了去雜訊步驟的計算成本,並加速訓練。
迭代修正與錯誤修正
由於標準遮蔽不會在詞元解遮蔽後再次遮蔽,早期錯誤將永久存在。主要解決方案有兩種:
- 重新遮蔽:一種可插入的取樣器,會隨機重新遮蔽部分預測的詞元,讓模型在填入更多上下文後修正語法或邏輯錯誤。
- 均勻狀態擴散:透過將所有詞元視為可能雜訊,模型可自然地修正序列中的任何位置。
透過蒸餾加速取樣
擴散模型因並行生成,可比 AR 模型快 5–10 倍。為進一步提升速度,使用 逐步蒸餾,訓練一個學生模型在單一步驟中模擬教師模型的兩個去雜訊步驟,遞迴地將所需取樣步驟減半。
可控生成與引導
擴散模型天生更擅長可控生成,因為它們是針對整個序列進行精煉,而非對局部、不可逆的編輯做出承諾。這透過樣本自然度與屬性滿足之間的帕累托權衡來管理。
- 基於分類器的引導(CBG):使用獨立的預測模型,將去雜訊過程導向目標屬性(例如分子的結合親和力)。
- 無分類器引導(CFG):訓練單一模型同時處理條件與無條件生成,透過隨機丟棄條件訊號,結合兩種輸出以引導結果。
實際應用與擴展
生物與科學領域
擴散在生物領域已見早期成功,因為生物序列缺乏人類語言的從左到右偏見,且需要高度可控性。
- ESM3:一個 100B 參數的 MDLM,用於蛋白質序列、結構與功能建模。
- 核苷酸變壓器 v3(NT-v3):一個多十億參數模型,用於 DNA 序列生成,利用 CFG 與重新遮蔽技術,設計出具有特定基因表現水平的調控 DNA 序列。
通用擴散 LLM
多個前沿實驗室已釋出擴展的擴散模型:
- LLaDA:一個 8B 參數的開源權重模型,在 GSM8K 與 MMLU 等基準上展現出類似 AR 的擴展特性。
- Mercury 2:一個商業模型,在標準 GPU 上達到約 1,200 個詞元/秒的速度,顯著超越專注於速度的 AR 模型(如 Claude Haiku)。
- Gemma Diffusion:Google 的開源權重模型,採用 UDLM 骨幹與編碼器-解碼器架構。
- Nemotron Diffusion:NVIDIA 的一組模型(最高達 35B 參數),使用聯合 AR-擴散目標,提供比同等 AR 模型 2–8 倍的吞吐量。
關鍵分析與未來展望
儘管擴散在推論速度與硬體利用率上帶來巨大提升,但仍存在一些技術挑戰。社群反饋指出一個特定弱點:詞元協調問題——當兩個位置同時在兩個有效狀態之間搖擺時,擴散模型可能無法將它們收斂為匹配對,導致不一致。
從擴展角度來看,擴散可能對 推論時運算 的意義,正如變壓器對 預訓練運算 的意義。透過將 AR 推論的序列瓶頸轉化為並行過程,擴散模型可實現更高的每秒浮點運算次數(FLOPs),可能透過擴展的後訓練與推論時搜尋,釋放新的智慧層級。
Sources
相關
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- 專案