跨 Tokenizer 的 On-Policy 蒸餾:與其追求對齊覆蓋率,不如確保監督訊號可靠
Rethinking Cross-Tokenizer On-Policy Distillation: From Alignment Coverage to Supervision Reliability
背景
知識蒸餾(distillation)是把大模型的能力轉移給小模型的標準手法。近年 On-Policy Distillation(OPD)特別受關注:學生模型先自己生成回答,再由老師模型對這些回答逐 token 給出機率分佈作為回饋,學生據此調整。相較於只模仿老師固定輸出的做法,OPD 看的是學生自己會走到的路徑,能減少訓練與推論之間的分佈落差。
只要老師與學生使用同一套 tokenizer,事情就單純:每個位置的詞表一致,可以直接比較兩個機率分佈。但現實中最想配對的組合常常來自不同家族,例如用 Qwen 當老師、Llama 當學生,各自的 tokenizer 切字方式與詞表都不同。這時要比較老師與學生的預測,必須同時在兩個層面做對齊:序列層(同一段文字在兩邊被切成哪些 token)和詞表層(兩邊的詞表怎麼對應)。
過去的跨 tokenizer 方法,如 ULD、Extended ULD、GOLD、SimCT,大多沿著「盡量擴大對齊覆蓋率」的方向設計。如果某段文字兩邊切法不同,就想辦法為它設計損失,讓每個學生生成的 token 都有監督訊號。這篇論文反過來問:擴大覆蓋率真的有幫助嗎?還是多出來的監督其實品質堪慮?
方法
論文並未提出複雜的新架構,而是拆解問題,提出一組簡潔的設計與診斷。
第一,嚴格 1:1 對齊群組(strict 1:1 groups)。 在學生生成的文字中,有些位置剛好是一個學生 token 對應一個老師 token,兩者涵蓋完全相同的文字區間。在這些位置,兩邊預測的是「同一件事」,分佈可以直接比較。其餘位置則是多對多的「不匹配群組」(mismatch groups)。
第二,共享詞表。 在嚴格對齊位置,只取兩邊詞表的交集來比較分佈。論文發現交集保留了幾乎所有的機率質量。
第三,學生自選的 top-16 子集。 在每個嚴格位置,不用整個共享詞表,而是只取學生自己機率最高的 16 個 token,在這個子集上計算 reverse KL。這讓監督既精簡又集中在學生真正會生成的候選上。
第四,span MSE 作為對照。 為了提供完整覆蓋,作者在不匹配群組上額外加入 span log-probability 的 mean squared error:把整段 span 的對數機率加總後,要求老師與學生接近。這是擴大覆蓋率的典型做法,也正是論文要檢驗的對象。
第五,梯度診斷。 作者取用只用嚴格損失訓練的 checkpoint,量測 span 損失的梯度與嚴格損失梯度之間的 cosine similarity(方向一致性)與 norm 比值(相對大小),並用「把嚴格梯度隨機分成兩半互相比較」作為對照組,排除單純梯度雜訊的解釋。
實驗涵蓋三組異質師生配對:Qwen2.5-7B-Instruct → Llama-3.2-3B-Instruct、Granite-4.1-8B → Phi-4-mini-instruct、Granite-4.1-8B → Qwen2.5-7B-Base。另有 Qwen3-235B → Granite-4.1-8B 的大型老師實驗。評測包含數學(MATH500、GSM8K、AIME 2024–2026、AMC23、Minerva-Math)與程式碼(HumanEval、MBPP、LiveCodeBench)。
實驗結果
覆蓋率比想像中高。 詞表差異很大,但嚴格 1:1 群組仍涵蓋多數學生 token。以學生端覆蓋率計:Qwen→Llama 為 93.56%、Granite→Phi 為 96.98%、Granite→Qwen 為 85.57%。值得注意的是,Granite→Phi 的詞表 Jaccard 重疊只有 39.49%,覆蓋率卻接近 97%,說明「詞表差很多」與「嚴格對齊很常見」可以同時成立。
共享詞表幾乎不損失資訊。 在學生訓練前自行取樣的回答上,共享詞表在嚴格位置保留了 98.99–99.90% 的老師機率質量;top-16 子集仍保有 93.54–98.44%。
Top-16 與完整共享詞表幾乎打平。 主要結果(平均準確率):
- Qwen→Llama:完整 32.86%、top-16 32.64%、最佳基線 31.59%(SimCT)
- Granite→Phi:完整 42.49%、top-16 42.26%、最佳基線 41.75%(GOLD)
- Granite→Qwen:完整 47.35%、top-16 47.06%、最佳基線 46.10%(SimCT)
top-16 與完整版只差 0.2–0.3 個百分點,卻一致優於四個被比較的跨 tokenizer 基線,領先幅度約 0.5–1.3 個百分點。論文也指出 top-16 保留了完整版至少 96% 的平均提升。在 Qwen3-235B → Granite-4.1-8B 的實驗中,Strict Top-16 取得 Math 51.29%、Code 73.62%、整體 62.46%。
加了 span 監督反而變差。 在不匹配群組加入 span MSE 後,監督覆蓋率達到 100%,但在 λ 從 0.25 到 1.5 的所有設定下,準確率都比只用嚴格損失低,降幅 0.27–1.20 個百分點。
梯度診斷提供了線索。 span 梯度與嚴格梯度的 cosine similarity 在 Qwen→Llama 與 Granite→Phi 接近 0,在 Granite→Qwen 甚至為負,也就是方向幾乎無關或相互牴觸。對照組(嚴格梯度的兩半互比)的相似度一致較高,顯示問題不在梯度本身噪音大。同時,span 對嚴格梯度的 norm 比值隨訓練急遽上升:Qwen→Llama 從 0.294 升到 1.942(約 6.6 倍),Granite→Phi 從 0.008 升到 0.233(約 29 倍),Granite→Qwen 從 0.015 升到 0.269(約 17.9 倍)。意即訓練越往後,這個方向不一致的訊號就越有話語權。
意義
這篇論文最有價值的地方,是把一個被默認的設計原則拿出來檢驗。「每個 token 都要有監督」聽起來合理,但數據顯示,在老師與學生切字方式不同的位置,硬湊出來的損失可能是弱對齊甚至衝突的訊號,多加反而扣分。對實務者而言,結論相當務實:跨 tokenizer 蒸餾不必處理複雜的多對多對齊,在嚴格位置上做簡單的 top-16 reverse KL 就能達到接近完整版的效果,還勝過現有基線。
這也有工程上的好處。只看 16 個候選 token,計算與記憶體負擔比對整個詞表小得多,適合在大詞表(十萬級以上)下做 OPD;而且讓你可以選擇更大、更強但來自不同家族的老師,不必被 tokenizer 綁住。
不過有幾點需保留。第一,梯度診斷只能「解釋可能的原因」,論文自己也用 "may help explain" 這種保守措辭,並非因果證明。第二,實驗集中在數學推理與程式碼,這類輸出結構相對規整,嚴格對齊本來就高;在多語言、長文生成或詞表差異更極端的情境,覆蓋率與結論是否成立仍待驗證。第三,各組準確率差距多在 1 個百分點內,需要留意不同隨機種子下的穩定性。
整體來說,論文把問題的重心從「如何覆蓋更多」改成「覆蓋的訊號靠不靠譜」,這個視角對未來設計跨模型蒸餾、甚至其他多來源監督的訓練流程,都有參考價值。