我們在 Day 18 的文章裡出過 4^6 = 8^n 的題目,其中 teacher trajectory 第一行寫著 $n=3$,後面才完成正確推導並以 \boxed{4} 收尾。Final-answer verifier 接受了最後的 4,實驗 pipeline 也忠實地保留前面的 3。到了今天,我們可以將同一筆資料轉換成三種 SFT target:
answer_only
\boxed{4}
trajectory
$n=3$
To solve the equation 4^6 = 8^n ...
...
\boxed{4}
process_structured_proxy
Step 1: $n=3$
Step 2: To solve the equation 4^6 = 8^n ...
...
\boxed{4}
第三種看起來最像「有過程的解答」,問題也最明顯:錯誤的 $n=3$ 即使加上一層 Step 1 的步驟後,依然是錯的。Deterministic segmentation 只替原本的 trajectory 加上編號,沒有人工 process label,沒有 step-level verifier,也沒有把 final-answer correctness 往前傳遞成每一步都正確。這就是名稱必須保留 proxy 的原因。
Day 19 已經看到完整 trajectory SFT 把 strict format 從 28/640 推到 633/640,正確題數卻從 baseline 的 103 題降成 54 題。接下我們可以深入探討 supervision 的形狀會把模型推向哪裡,SFT 改變了模型什麼地方:只教最後答案,會不會減少錯誤 reasoning 的模仿?保留完整軌跡,是否仍提供了有用的計算線索?把文字切成步驟,又會不會改變退化程度?
這次 ablation 使用 Day 18 完全相同的 320 筆 train examples,每筆都準備三個 views。answer_only 只留下 canonical boxed answer;trajectory 保存 answer-verified teacher output 與必要的 final-line repair;process_structured_proxy 則把同一段 trajectory 依 deterministic rules 切開,再逐行加上 Step N。題目、example order 與 reference answer 都沒有因 variant 改變。
三個模型也都從 pinned revision da87bfb 的 Qwen/Qwen3-0.6B-Base 起跑,使用相同 seed 2919、160 optimizer steps、micro-batch size 1、gradient accumulation 4、AdamW learning rate 1e-5、512-token sequence limit 與同一組 640 題 candidate-unseen development set。全參數訓練在 RTX 3090 Ti 上以 CUDA bfloat16 autocast 完成;trajectory 直接沿用 Day 19 已符合相同契約的 run,沒有為了湊齊表格再訓練一個重複模型。
實驗當時三個 checkpoints 都通過 VRAM gate、完整狀態保存與 exact reload,peak reserved VRAM ratio 介於 0.529 到 0.567,遠低於預先設定的 0.85 上限。工程上的設定是一致的,但 supervision exposure 卻有所不同:
variant supervised tokens train seconds
answer_only 4,718 184.2
trajectory 104,474 177.7
process_structured_proxy 112,632 183.2
相同 examples、seed 與 optimizer steps,並不等於 compute matched。最短的 answer-only 只需要預測 4,718 個 supervised tokens,另外兩組超過十萬;三者的訓練時間即使都在三分鐘左右,也無法消除 target 長度、padding、masked tokens 與 GPU kernel 工作方式的差異。這份實驗比較的是三套完整 training recipes,而非在完全相同 token budget 下,單獨測量「加上 Step 編號」的純效果。
Loss 也可瞥見類似的問題,Answer-only 從 2.5824 降到 0.6359,trajectory 從 0.8555 降到 0.1809,process proxy 從 1.5494 降到 0.2444;三組要預測的 token 分布與序列長度不同,最低的 final loss 沒有資格直接替 supervision 排名。它們共同證明 optimizer 找得到 training signal,泛化仍要回到同一份 evaluation contract 判斷。
640 題 greedy development evaluation 的結果如下:
variant correct strict format output tokens
pretrained Base 103/640 28/640 327,330
answer_only 46/640 638/640 4,701
trajectory 54/640 633/640 10,488
process_structured_proxy 66/640 632/640 16,193
如果只看 SFT variants,排序確實是 process proxy 的 66 題最高,trajectory 54 題居中,answer-only 46 題最低。三組格式合規率卻都接近 99%,甚至以 answer-only 的 638/640 最高。模型再次很快學會共同而穩定的輸出外觀,至於答案內容,換一種 target 只改變退化的幅度,還沒有把任何 SFT checkpoint 推回 Base 的 103 題。
逐題和 Base 配對後,answer-only 救回 22 題、破壞 79 題,淨少 57 題;trajectory 救回 30 題、同樣破壞 79 題,淨少 49 題;process proxy 救回 35 題、破壞 72 題,淨少 37 題。三個 task-bootstrap 95% intervals 分別為 [-11.88, -5.94]、[-10.78, -4.53] 與 [-8.91, -2.66] percentage points,全部落在 0 以下。
換句話說,process proxy 是這次 SFT ablation 實驗裡退化最少的一個。它不是因為多了 Step 1 就勝過 Base,我們也不太能得到「逐步推理已學會」這樣的結論。
三個 SFT variants 彼此之間還可以再做 paired comparison。Process proxy 相對 answer-only 多答對 20 題,其中 46 題由錯轉對、26 題由對轉錯;95% interval 為 [0.47, 5.63] percentage points,exact McNemar p-value 是 0.0245。在這份 development set 上,結構化 proxy 的確比只給答案保留了更多正確性。
其餘兩個差異就沒有那麼明顯,Trajectory 比 answer-only 多 8 題,paired interval [-1.09, 3.59] percentage points;process proxy 比 trajectory 多 12 題,interval [-0.47, 4.22],兩者都跨過 0。這些結果支持「target representation 會影響模型行為」,卻無法總結出已可規劃穩定的三層 supervision hierarchy。
輸出長度提供了另一個可觀察的差異,Answer-only 平均只生成 7.3 tokens,trajectory 是 16.4,process proxy 則是 25.3。較長的輸出可能替計算留下更多空間,也可能只是讓模型模仿更多結構文字;本次資料只看得到它與正確題數同方向變化,還沒有把中間機制拆出來。若要進一步驗證,就得另外控制 response budget、supervised tokens 或 update strength,而非從三個 point estimates 倒推出原因。
更重要的是,process supervision 本來就不只是「答案寫得比較長」。真正的過程監督需要交代每一步的 label 從哪裡來、錯誤步驟能否被定位、誰負責驗證,以及學習演算法如何把 credit 分配到不同步驟。今天的 process proxy 沒有新增任何一步的真值,它測量到的僅是結構化 trajectory imitation,至少就這點來說有其價值。
所有結果仍然來自 internal development set,MATH-500 與 sealed test 都沒有用於模型推論,sealed-test inference count 維持 0。三種 SFT 都使用同一批 answer-verified、step-unverified synthetic data,結論告訴我們資料表示方式會改變遺忘程度,但尚未回答真正的 gold process labels 能帶來什麼。
最終,Process proxy 得到三個 SFT checkpoints 中最好的 66 題,錯誤的第一步卻從未因此變正確;當 final answer 比整段 trajectory 更容易驗證時,下一個合理方向也就不是替文字加上更多標籤,而是直接讓可驗證的結果成為訓練訊號;而這正是下個章節開始想討論的可驗證獎勵強化學習 (Reinforcement Learning with Verifiable Rewards, RLVR),接下來五天鐵人賽都會圍繞在 RLVR 上展開。