跳到內容

Technology

新聞|Next-Concept Modeling:文字先生成粗略代碼再補細節,比擴散語言模型快 10 到 31 倍

Stanford Hazy Research 發表 Next-Concept Modeling(NCM),把文字編成由粗到細的多層離散代碼,再一層一層平行生成。整理它的兩階段方法、跟擴散語言模型的速度與品質比較,以及實驗規模與指標的限制。

AI
Published: at 09:00 AM
編輯本頁下載圖卡

重點

要解決什麼

自迴歸模型一次生成一個 token,輸出越長、步數越多。擴散語言模型(diffusion language model,DLM)可以平行修改多個位置,是目前主要的替代路線,但有三個成本:

NCM 改變的是模型生成的對象。它先生成很短的粗略代碼序列,再逐層生成較長、較細的序列。前幾層很短,所以前幾步特別便宜。

方法:兩個階段

第一階段:多尺度 tokenizer。 一個多尺度殘差向量量化變分自編碼器(residual VQ-VAE)把文字編成多層離散代碼。因為是殘差量化,每一層編碼的是前面各層還沒表達到的部分。做法沿用影像生成的 VAR(逐尺度預測),針對文字改了三處:

  1. 每一層有自己的 codebook。
  2. 用 nested dropout 訓練,讓前幾層不依賴後面各層也能帶有意義的資訊。
  3. 加入 token 層級的重建目標,讓解碼回來的文字準確。

第二階段:生成器。 tokenizer 凍結後,訓練一個 transformer,根據前面各層的累積重建結果預測下一層。前面各層的重建會被縮放到當前這層的位置數,注意力是區塊對角的。訓練時所有層在同一次前向傳播裡一起預測,並隨機破壞一部分條件代碼,讓模型在推論時對自己前幾層的錯誤比較耐受。

推論時由粗到細一層一層生成,每層內部平行;全部層生成完,再由 tokenizer 的解碼器轉成文字。作者說明,名稱裡的「concept」指粗層代碼承載的資訊,個別代碼不一定對應人讀得懂的語意單位。

部落格展示了一個德譯英的例子:生成分 11 層,每一層解碼出的句子逐漸接近參考譯文,最後一層的 BLEU 是 77.8。

層數的消融實驗在 TinyStories 上做:層數 K 取 4、8、16、32,最粗一層固定 1 個代碼、最細一層 128 個。層數越多,生成困惑度越好,但邊際效益遞減。四個 tokenizer 都能重建至少 99.95% 的 token。

結果

任務NCM對照
LM1B 無條件生成12 NFE,生成困惑度 93.05,快 21 倍DUO:128 NFE,97.30
OpenWebText 無條件生成品質相當,快 10 倍最強擴散基線
XSum 極簡摘要ROUGE-L 相同,快 31 倍最強擴散基線
WMT14 德譯英相當或更好最強擴散基線
Sudoku所有難度都勝過,NFE 更少自迴歸與擴散基線

NFE(number of function evaluations)是生成器被呼叫的次數。生成困惑度由 GPT-2-large 替生成樣本打分,越低越好。為了排除「樣本變單調、困惑度自然變低」的可能,論文另報單樣本的單詞熵:LM1B 上 NCM 是 4.31、DUO 是 4.30,保留資料本身是 4.31。

速度用實際時間量測。作者指出擴散文獻常只報 NFE,忽略每次計算的成本差異。LM1B 的測試在一張 H100 SXM 80GB 上、以 batch 16 生成 1,024 條序列。21 倍同時來自較少的 NFE,以及每步較低的平均成本(前幾層序列很短)。

其他發現:

跟既有工作比

限制

參考資料

註釋

編輯本頁

Podcast

關於語音摘要

此語音摘要由 Google NotebookLM 提供,不完全代表作者本人對文章的理解。