目前的語言模型(LLM)大多採用自迴歸(Autoregressive, AR)機制。簡單來說,這就是一種逐字生成的過程:模型先產生第一個字,然後將這個字放入輸入序列,再產生第二個字,以此類推。雖然這種方式訓練穩定且邏輯清晰,但在工程實務上存在一個巨大的效能瓶頸,即記憶體頻寬限制(Memory Bound)。
在自迴歸生成中,每產生一個 token(模型處理的文字單位),GPU 都必須將模型的所有權重從記憶體讀取到計算核心一次。對於開發者而言,這意味著即便你擁有強大的 GPU,大部分時間其實都花在搬運數據而非實際計算,導致推理延遲高,且在小批次(Small Batch Size)請求時無法充分發揮硬體效能。此外,自迴歸模型一旦輸出某個字就無法撤回,如果中間出錯,錯誤會隨著生成過程不斷累積。
為了突破這個限制,NVIDIA 推出了 Nemotron-Labs Diffusion。這套模型引入了擴散語言模型(Diffusion Language Models, DLM)的概念,將生成邏輯從逐字產生轉變為並行生成與迭代優化。
擴散模型的運作邏輯與繪圖 AI 類似。它不是從左到右一個個填空,而是先一次性生成一整塊(Block)包含雜訊的候選文字,然後透過多次迭代地對這些文字進行去噪與修正(Refining),直到內容變得清晰且正確。這種方式能大幅提升 GPU 的計算利用率,因為一次前向傳播(Forward Pass)可以處理多個 token,減少了頻繁讀取權重的次數。
Nemotron-Labs Diffusion 最核心的設計在於它將自迴歸與擴散兩種能力整合在同一個模型中,而非開發兩套獨立的模型。這讓開發者可以根據實際場景在三種生成模式之間切換:
第一種是自迴歸模式。這就是傳統的 LLM 運作方式,確保了與現有工作流的完全相容,適合對正確性要求極高且對速度不敏感的場景。
第二種是擴散模式。模型一次生成一個包含 32 個 token 的區塊,並透過信心門檻(Confidence Threshold)決定哪些文字已經足夠準確可以提交。這種模式追求的是極高的吞吐量。
第三種是自我推測模式(Self-speculation)。這是工程實務上的最佳平衡點。模型先利用擴散能力快速草擬(Draft)出一段文字,隨後立即使用自迴歸能力對這段草稿進行驗證(Verify)。如果驗證通過則直接採納,否則修正。這種方式在保持與自迴歸模式相同精準度的前提下,能將生成速度提升數倍。
在實作細節上,Nemotron-Labs Diffusion 並非從零開始,而是基於已預訓練的自迴歸模型,透過持續預訓練(Continued Pretraining)並將注意力機制(Attention Mechanism)修改為區塊式處理,使其在獲得並行生成能力的同時,依然能兼容 KV 快取(KV Cache,一種儲存先前計算結果以加速推理的技術)。
從效能數據來看,Nemotron-Labs Diffusion 8B 在推理速度上表現強勁。在擴散模式下,其每個前向傳播產生的 token 數量(TPF)是傳統自迴歸模型的 2.6 倍;而在自我推測模式下,速度提升甚至可達 6 倍以上。在 NVIDIA B200 硬體上,其生成速度可達每秒 865 個 token,約為基準線的 4 倍。
對於開發者而言,這意味著無需大幅修改應用程式邏輯,僅需在部署時調整設定(例如在 SGLang 框架中修改設定檔),即可在低延遲、高吞吐量與高精準度之間取得平衡。這不僅優化了對延遲敏感的應用,也讓模型具備了修正已生成文本的能力,使其在填空(Fill-in-the-middle)或文本編輯等任務中比傳統 LLM 更具優勢。
來源:huggingface.co - Towards Speed-of-Light Text Generation with Nemotron-Labs Diffusion Language Models
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。