vatt'ghern jaskier's ballads
本文 2 個互動圖表在手機上以重點摘要呈現,互動版請以桌面瀏覽器開啟。

平行草稿模型一口氣寫出整個區塊,但區塊裡第三格要猜什麼,取決於這一輪從哪個位置開始——而起點由前面每一輪的輸贏決定。這篇論文乾脆放棄逐格比對分佈,直接把「期望解碼輪數」當成損失。

直接最小化解碼輪數,訓練平行草稿模型

推測解碼的分工很固定:小的草稿模型先猜一段 token,目標模型用一次前向傳遞驗證,猜對的部分保留,猜錯的位置由目標模型重抽樣補上。arXiv 2610.10411(作者 Yunxiao Zhao、Changxiao Cai,2026 年 10 月 7 日提交)處理的是這套流程裡「平行」與「半自迴歸」草稿模型該怎麼訓練:它們在一次前向傳遞裡寫完整個區塊,草稿階段比較快,訓練卻比較難。論文把推測解碼建模成 Markov reward process,推出一個數值上等於期望解碼輪數的損失 EDR(Expected Decoding Rounds),再給出只用局部項的梯度估計。實驗涵蓋兩組目標與草稿模型的配對、九個基準,EDR 的平均接受長度(MAL)都不低於對照的區塊局部目標,差距落在 0.00 到 0.04 之間。

點任一 token 標記或取消「草稿在這裡被拒絕」 · 14 個 token、區塊大小 4

同一段 14 個 token 的輸出,拒絕位置一動,後面每個 token 在區塊裡的格序就跟著動(示意,非論文資料) 標示 × 的位置,草稿在那裡被目標模型拒絕;一輪最多接受 4 個,全部通過時再多抽 1 個 bonus token 10 21 ×32 40 51 62 73 84 ×90 100 111 122 133 144 橘綠色數字是區塊格序,0 是這一輪的起點 第 1 輪 第 2 輪 第 3 輪 第 4 輪 共 4 輪,14 個 token,MAL = 14 / 4 = 3.50 第 9 個 token 屬於第 3 輪,在區塊裡排第 0 格。 草稿在這裡被拒絕,這一輪結束;目標模型重抽樣出的 token 取代它。
這是依附錄 A 描述的流程簡化出的玩具模型,不是論文的實驗資料。預設拒絕在第 3 與第 9 個 token:試著取消第 3 個的拒絕,看第 4 到第 8 個 token 的格序怎麼整批改變。

一輪草稿怎麼算帳

先把單位講清楚。一輪(round)指「草稿提出一個區塊、目標模型驗證一次」。論文附錄 A 描述的流程是:草稿模型提出 B 個 token 的區塊,目標模型在一次前向傳遞裡驗證,被拒絕的位置改用 residual sampling 補一個 token,整個區塊都通過時再多抽一個 bonus token,遇到 EOS 就停。所以一輪至少會提交一個 token——就算第一格就被拒絕,重抽樣出來的 token 仍然算數,這也是上面小工具裡第 9 個 token 單獨成一輪的原因。

平均接受長度 MAL 在論文第 2 節的寫法是「the ratio of the expected output length to the expected number of rounds」,也就是輸出長度的期望除以輪數的期望。附錄 B.1 指出,在任何解碼歷史下,下一個被提交的 token 都服從目標模型的條件分佈,與這一輪從哪個位置開始無關。把兩句放在一起讀,分子由目標模型的輸出決定,草稿模型碰不到;能動的只有分母。要讓 MAL 變大,就是讓期望輪數變小。論文的標題把這個推論直接寫成了訓練目標。

這個算帳方式和「這一輪接受幾個」是兩回事。接受長度是一輪的局部量,輪數是整段輸出的總量,兩者之間隔著一個問題:這一輪結束的位置,決定下一輪從哪裡開始。草稿模型在這一輪多接受一個 token,下一輪的起點就往後移一格,下一輪要面對的上下文因此完全不同。小工具裡你把第 3 個 token 的拒絕取消,第 4 到第 8 個 token 的格序整批改變,輪數也跟著變,就是這件事的最小版本。

區塊內的分佈為什麼綁在輪起點上

論文在引言裡直接點名困難所在:平行與半自迴歸草稿模型的「the draft distribution for a given position depends on where the decoding round starts」。一個位置的草稿分佈,取決於解碼輪從哪裡開始。放回前面的小工具:第 6 個 token 可能是某一輪的第 2 格,也可能是另一輪的第 0 格,兩種情況下草稿模型看到的條件不同,輸出的分佈也不同。而輪的起點由更早的接受與拒絕決定,那些接受與拒絕又取決於更早的草稿分佈。每一格的分佈因此牽著前面所有輪次的結果。

這個相依性造成的後果,論文的說法是「This additional dependence breaks the direct link between local distribution matching and global decoding efficiency」。局部的分佈匹配與整體的解碼效率之間,原本那條直接的連結斷了。以往的訓練目標做的正是局部匹配:論文指出,現有目標「do not account for these cross-round dependencies and instead rely on local surrogates」,也就是不考慮跨輪相依,改用區塊局部的替代目標。把某個區塊內的草稿分佈拉近目標分佈,是個合理的代理,卻沒有人保證它對應到最少的輪數。

論文用附錄 B.5 的 Theorem 3 把這個疑慮寫成一個明確的反例。構造裡詞彙表只有 {0, 1, a} 三個符號,區塊大小 B 至少是 3,目標序列由兩類子序列組成。在這個構造下,逐輪最大化接受長度的草稿模型,MAL 會比一個考慮後續輪次的草稿模型低,倍數超過 1 + 1/(3B+9)。後者會刻意在某些輪少接受一點,換下一輪有更好的起點。這是構造出來的最壞情況,不是在真實模型上量到的差距;以 B = 7 代入,1/(3B+9) 是 1/30,約 3.3%(這是我的算術,論文沒有這樣寫)。它證明的只是:區塊局部目標的最佳解,不一定是輪數最少的解。

把解碼寫成 Markov reward process

既然局部目標會漏掉輪間的耦合,論文的做法是把耦合本身放進模型。依引言的描述,在已知目標模型取樣出的完整輸出之後,解碼可以看成一條 Markov 鏈:「each state records where the current round started and which position is being verified, and each rejection costs one round」。狀態記兩件事,這一輪從哪裡開始、現在驗證到哪個位置;每次拒絕付出一輪的成本。接受就留在同一輪、往下一個位置走,拒絕就換到新的一輪。論文第 3.1 節的式 (3) 把某個位置的 token 來自被接受草稿的機率寫成 min{1, q/p},q 是草稿的機率,p 是目標模型的機率。

切換三個階段,看目標怎麼從局部走到整體 · 3 tabs

起點:局部替代目標

每個區塊各算各的,把區塊內的草稿分佈拉向目標分佈。這個做法看不見輪與輪之間的耦合:上一輪在哪裡被拒絕,這一輪的起點就在哪裡,局部目標沒有地方記這件事。

論文的評語是現有目標「rely on local surrogates」。

中段:把輪起點放進狀態

狀態是(輪的起點,正被驗證的位置)。接受時留在同一輪、位置加一;拒絕時成本加一輪,換新的一輪。給定目標模型取樣出的輸出,接受機率在已提交 token 上求值。

每個狀態被走到的機率稱為占據度,由前向遞迴從接受機率算出,而且輪起點的占據度只取決於已提交的前綴。

終點:期望輪數就是損失

每個狀態有一個局部拒絕成本,取目標與草稿分佈之間排除 EOS 後正規化的 TV 距離。損失等於 1 加上「占據度乘局部成本」的期望總和,Theorem 1 證明它等於期望解碼輪數。

梯度只用局部項,對 stop-gradient 之後的占據度與價值加權,見後面的流程圖。

三個階段是同一件事的三層:先承認輪間有耦合,再用狀態鏈把耦合記下來,最後讓損失直接等於想要最小化的輪數。

三個階段是同一件事的三層:先承認輪間有耦合,再用狀態鏈把耦合記下來,最後讓損失直接等於想要最小化的輪數

區塊局部目標只看單輪內的分佈,馬可夫鏈把輪起點放進狀態,EDR 損失再把每個狀態的拒絕成本乘上占據度加總。

狀態鏈上的占據度是關鍵零件。每個狀態被走到的機率由前向遞迴算出;附錄 B.1 指出,輪起點的占據度只取決於已提交的前綴。有了占據度,期望輪數就可以寫成一個和:附錄 B.2 的 Proposition 2 把「至少提交 k 個 token 的輪數」的期望寫成占據度的總和,Proposition 1 是 k = 1 的特例,剛好就是期望解碼輪數。這套框架順帶給出每個位置的接受率與「至少提交 k 個 token 的輪數」的估計,不用另外發明統計量。

有一個容易想錯的細節是 EOS。直覺上草稿正確猜出結尾的 EOS 應該算賺到,附錄 C.1 的結論相反:「a correctly drafted terminal <EOS> does not save a target-model verification round」。目標模型驗證仍然要跑一次,所以損失裡的局部成本排除 EOS,只在一般 token 的位置上累加。這個處理讓損失與真實的輪數保持一致,而不是與草稿看起來猜得多準保持一致。

EDR 損失與只用局部項的梯度

Theorem 1 的原句是「the EDR objective equals the expected number of decoding rounds」。損失的形式是 1 + E[Σ ω·c],其中 c 是每個狀態的局部拒絕成本,ω 是占據度,外層期望對目標模型取樣的輸出取平均。前面的 1 對應至少要跑的那一輪。依論文的說法,EDR 不需要額外的超參數,損失的每一項都由上述定義決定。

直接對這個損失求導會遇到一個麻煩:占據度 ω 本身依賴草稿模型的接受機率,微分要穿過整條遞迴。論文的 Theorem 2 給出的解法是時間差分(TD)形式的梯度:只剩下局部量 ∇c 與 ∇A(A 是接受機率),分別乘上占據度與價值差。Algorithm 1 對 ω 與價值函式 V 做 stop-gradient,所以實作上不需要反向傳播過整條遞迴。我讀到的結構和強化學習裡的 policy gradient 形式相近,這個類比是我的判斷,論文本身沒有這樣說。

訓練資料的取樣也有一個細節。每條目標模型的 rollout 上可以放很多錨點,全部算太貴,附錄 C.2 的做法是對每條 rollout 做固定大小的重要性抽樣,錨點數上限 ρ = 512。抽樣機率與反機率權重互相抵消,所以抽樣後的損失與完整 EDR 損失有相同的期望梯度。實驗設定也沿用這個上限,每條軌跡最多 512 個錨點。

點任一階段,讀它負責什麼、不管什麼 · 4 stages

EDR 訓練一步的四個階段,從目標模型的 rollout 到梯度

EDR 訓練一步的四個階段,從目標模型的 rollout 到梯度 1 · rollout 與錨點目標模型生成軌跡,每條軌跡以重要性抽樣取至多 512 個錨點rho = 512 2 · 局部量每個狀態算局部拒絕成本 c(排除 EOS、正規化的 TV)與接受機率 Ac, A 3 · 前向遞迴由接受機率遞迴出每個狀態的占據度 ω,stop-gradient 之後當權重occupancy 4 · 損失與梯度損失 1 加占據度乘成本的期望;梯度只留 ∇c、∇A 與價值差TD form

click a stage above

rollout 與錨點 · 負責的事

用目標模型的取樣軌跡當訓練資料。每條軌跡上可放的錨點太多,附錄 C.2 的做法是固定大小的重要性抽樣,上限 512;抽樣機率與反機率權重抵消,期望梯度與完整損失相同。

不管的事:草稿模型輸出什麼,這一階段只決定在哪些位置算。

局部量 · 負責的事

在每個狀態算兩個量:局部拒絕成本 c,是排除 EOS、正規化後的目標與草稿 TV 距離;以及接受機率 A。梯度會經過的就是這兩個量。

不管的事:這個狀態被走到的機率,那是下一階段的事。

前向遞迴 · 負責的事

用接受機率遞迴算出每個狀態的占據度。輪起點的占據度只取決於已提交前綴。Algorithm 1 對占據度與價值做 stop-gradient,把它們當成固定權重。

不管的事:局部成本長什麼樣,只負責「走到這裡的機率」。

損失與梯度 · 負責的事

損失是 1 加上占據度乘局部成本的期望總和,等於期望輪數。Theorem 2 的梯度是 TD 形式,只含局部項 ∇c 與 ∇A,由占據度與價值差加權。

不管的事:不需要把梯度反向傳播過整條占據度遞迴。

損失之外,論文還附上一個精確的離線評估器:只用目標模型的 rollout 就能算出輪數與 MAL,不必每換一個草稿模型就重跑一次完整的推測解碼。同一批 rollout 可以拿來比較多個草稿模型,比較的雜訊來源因此少了一層取樣。對要在幾個 checkpoint 之間做取捨的人,這個評估器的實用價值可能不比損失本身小,不過這是我的判斷,論文的實驗沒有拿它單獨做消融。

成本也要記上一筆。論文在結論裡承認 EDR「is more computationally expensive than block-local objectives」,原因是它要在多個錨點上算占據度與價值。論文沒有給出訓練時間或 GPU 小時的比較,我讀到的版本裡只有這句定性的說法,所以「貴多少」這個問題,現有材料答不了。

兩組配對、九個基準、0.00 到 0.04

實驗用了兩組配對:Qwen3-4B 搭 DSpark,Qwen3-8B 搭 DFly,區塊大小 B = 7。訓練資料是 Open-PerfectBlend 的 prompt,目標模型即時重新生成軌跡,訓練一個 epoch,全域 batch size 96,每條軌跡至多 512 個錨點。對照組是區塊局部的 E2E TV 目標,論文說明兩者用同樣設定。九個基準涵蓋數學(GSM8K、MATH、AIME25)、程式(MBPP、HumanEval、LCB)與對話(MT-Bench、Alpaca、Arena-Hard)。

結果表裡每個配對有三列:公開的草稿模型、用 E2E 目標重訓的版本、用 EDR 重訓的版本。Qwen3-4B 在 GSM8K 上三者分別是 6.23、6.32、6.32,在 Arena-Hard 上是 3.59、3.67、3.70。Qwen3-8B 在 AIME25 上是 5.15、5.18、5.22,在 Arena-Hard 上是 3.18、3.21、3.25。EDR 在 18 格(兩個配對乘九個基準)裡都不低於 E2E;依我對表格的逐格比對,其中 14 格嚴格較高,4 格持平。下圖把兩種差距並排:淺色是 E2E 比公開版多出多少,橘色是 EDR 比 E2E 再多出多少。

Qwen3-4B + DSpark GSM8K+0.090.00 MATH+0.080.00 AIME25+0.11+0.02 MBPP+0.060.00 HumanEval+0.06+0.01 LCB+0.08+0.02 MT-Bench+0.05+0.03 Alpaca+0.04+0.04 Arena-Hard+0.08+0.03 00.050.100.15 Qwen3-8B + DFly GSM8K+0.04+0.01 MATH+0.04+0.02 AIME25+0.03+0.04 MBPP+0.060.00 HumanEval+0.04+0.01 LCB+0.03+0.03 MT-Bench+0.04+0.04 Alpaca+0.04+0.03 Arena-Hard+0.03+0.04 00.050.100.15 E2E 減公開草稿模型(MAL 差) EDR 減 E2E(MAL 差)
差距由論文結果表的 MAL 逐格相減得出,單位是平均接受長度。EDR 相對 E2E 的差距最大 0.04,E2E 相對公開版的差距最大 0.11;兩個配對的基準順序相同,方便上下對照。

這張圖有兩個讀法。第一個是尺度:EDR 相對 E2E 的增量平均約 0.02(Qwen3-4B 九格平均約 0.017,Qwen3-8B 約 0.024,皆為我由表格算出),而 E2E 本身相對公開版已經多出 0.03 到 0.11。也就是說,在這個實驗設計下,重新用同樣的資料與設定訓練,帶來的提升比換成 EDR 再多出的部分更大;論文的主張是 EDR 在這個基礎上穩定地再往前一點,而不是大幅甩開。第二個是分佈:增量較大的幾格多半落在 MT-Bench、Alpaca、Arena-Hard 這幾個對話基準(0.03 到 0.04),這些基準的 MAL 在 3.2 到 3.8 之間,比數學與程式基準的 5 到 6 低很多;例外是 Qwen3-8B 的 AIME25,增量同樣是 0.04。合理的推測是 MAL 較低的任務有更多拒絕,輪間耦合有更多發揮空間,但論文摘錄沒有針對這點做驗證。

拖動每格接受率,看玩具模型的 MAL 怎麼動 · B = 7

2468 論文表中最高 6.35 論文表中最低 3.18 0.50.60.70.80.91.0 每格接受率 p(假設各格相同且互相獨立) MAL
0.930
玩具模型的 MAL = 6.29 接受率再加 0.01,MAL 多 0.22 要多出 0.04 的 MAL,接受率只需再加約 0.002
玩具模型假設區塊裡每格的接受機率都是同一個 p、彼此獨立,一輪提交的 token 數期望是 1 + p + p^2 + … + p^7。這是我為了說明尺度加的簡化,不是論文的模型;虛線是論文結果表裡出現過的最高與最低 MAL。

玩具模型假設區塊裡每格的接受機率都是同一個 p、彼此獨立,一輪提交的 token 數期望是 1 + p + p^2 +…

區塊大小 7 時,每格接受率從 0.93 提高到 0.94,MAL 約增加 0.22,論文最大的 0.04 增量只對應約 0.002 的接受率。

玩具模型想說明的是尺度。在每格接受率相同且獨立的假設下,B = 7 的 MAL 是 1 + p + p² + … + p⁷;p 約 0.93 時是 6.29,大致落在論文表中最高的那一格(6.35)附近。p 從 0.93 加到 0.94,MAL 多 0.22,而論文最大的 0.04 增量,只對應約 0.002 的接受率變化。換句話說,0.04 這個數字雖然小,在接近飽和的區間裡也不算是零;但真實模型各格的接受率既不相同也不獨立,這個換算只能當量級參考。

限制要一併記下。論文自己列出的有:區塊大小固定,自適應區塊大小留作未來工作;EDR 比區塊局部目標貴;哪些目標分佈本來就難以草擬,論文沒有刻畫。我另外讀到的兩點屬於對證據強度的判斷,不是論文的自述:實驗只有兩組目標與草稿模型的配對,結果表是單次實驗的數字,我讀到的版本沒有附變異數或顯著性檢定,0.00 到 0.04 的差距因此很難判斷多少來自訓練的隨機性。Theorem 3 說明局部目標在最壞情況下可能吃虧,實驗顯示在這兩組配對上吃虧不大,兩者並不矛盾,但也沒有互相證明。

如果你在訓練或評估平行草稿模型,這篇論文有三個可以直接拿走的東西。第一,用 MAL 評估時,分母才是草稿模型能影響的量,把輪數當成要追蹤的指標比只看逐輪接受長度更貼近目標。第二,離線評估器讓你在同一批 rollout 上比較 checkpoint,不必每次重跑推測解碼。第三,EDR 的梯度只含局部項,實作上可以在現有的區塊局部訓練流程上加占據度與價值的計算,代價是論文承認的額外計算,成本多寡則要自己量。

What this enables:訓練平行草稿模型時,可以直接以期望解碼輪數為目標、在同一批目標模型 rollout 上離線比較結果;目前的證據是兩組配對上 0.00 到 0.04 的 MAL 增量,更大規模的驗證還沒有出現。