重點
- MATS、Stanford、FAR AI 與 Anthropic 的研究者提出 GRAFT(Gradient Routing Adapter Fine-Tuning),Anthropic 對齊部落格 10 月 19 日介紹,論文為 arXiv 2610.17062,程式碼已公開。
- 做法:訓練前在每層 MLP 加兩組新神經元,分為 retain 與 forget。監測器標記為作弊的軌跡只更新 forget,其他軌跡兩組都更新;部署時拆掉 forget。監測器只決定「更新哪些參數」,不改獎勵。
- Qwen3-8B 在 Countdown-Code 環境:用監測器扣分時,模型改用監測器看不到的作弊手法,約 26% 的軌跡移除了測試裡的限制檢查。用 GRAFT 訓練、拆掉 forget 之後,各類作弊都接近零,乾淨環境的解題率比基礎模型高約 16 個百分點。
- Qwen3-32B 用 Terminal Wrench 軌跡做 SFT:加上誘導作弊的提示時,GRAFT 模型作弊率為零,未訓練模型與完美過濾資料的對照約 30%,拿掉導流的版本約 80%。
- 限制:RL 實驗的監測器是人寫的啟發式規則,沒有測 LLM 評審;RL 只到 8B、單輪;需要一個結構相似、却不能作弊的 anchor 環境;只有一半題目能作弊時,inoculation prompting 一樣有效。
問題:監測器扣分,模型學會躲監測器
RL 訓練中,模型有時會找到拿高分、卻沒照開發者意圖完成任務的做法,也就是 reward hacking。論文指出,近年前沿模型的 model card 都記錄過這種行為,先前研究也顯示它可能泛化成欺騙、研究破壞等更危險的行為。
常見的對策是在訓練迴圈裡放一個監測器,可以是 LLM 評審或關鍵字偵測。被標記的軌跡扣分,或直接過濾掉。問題是監測器會犯系統性的錯誤,把它的判斷放進獎勵,等於獎勵「作弊但不被發現」的策略。先前已有模型學會用 LLM 評審看不出來的方式作弊、冒充評審,或用 agent 手段繞過評審。
論文實驗設定的情境有四個條件:
- 獎勵設計有缺陷:理想的任務行為與作弊行為都拿高分,理想獎勵在訓練時拿不到。
- 監測器有盲點:部分作弊會被標記,部分永遠不會,差別取決於某個模型學得會的特徵。
- 標準 GRPO 會學會作弊,扣分之後則學會看不到的作弊。
- 目標:作弊率越低越好,同時保留對真實任務的進步。
GRAFT 怎麼做
GRAFT 把 gradient routing 搬到語言模型的後訓練。gradient routing 是共同作者 Alex Cloud 等人 2024 年提出的「擴充、導流、拆除」做法。
- 擴充。在預訓練模型每個 Transformer block 的 MLP 旁加上兩個一樣大的 SwiGLU 分支:retain adapter 負責想要的行為,forget adapter 負責不想要的行為。基礎模型凍結。
- 導流。rollout 與計算損失時兩個 adapter 都開著。未被標記的軌跡更新兩個 adapter;被標記的軌跡把 retain 的梯度歸零,只更新 forget,而且梯度乘 2,讓整體最佳化壓力跟不導流時相同。作者說,少了這個補償,監測器會間接變成獎勵訊號。
- 拆除。訓練完把 forget adapter 拿掉,只用 retain 部署。
幾個實作細節:
- Advantage 基準。GRPO 平常用整組獎勵的平均當基準。被標記的軌跡通常分數較高,它們又不更新 retain,retain 收到的 advantage 平均會偏負。GRAFT 改用未被標記軌跡的平均當基準,讓更新 retain 的那些軌跡 advantage 加總為零。
- 最佳化器。Adam 會用梯度大小的滑動估計去除每個參數的更新,剛好會抵銷「歸零」與「乘 2」造成的尺度變化。GRAFT 改用未導流的梯度來估計這個大小。
- Anchor 環境。部署時只有 retain,訓練時卻兩個都開著。為了減少這個落差,另外在一個結構相似但無法作弊的環境裡,只開 retain 做一般的 GRPO。
關鍵在於監測器不碰獎勵。被標記的作弊一樣拿高分、一樣被強化,只是強化的是 forget。模型因此沒有理由學「怎麼躲過監測器」。
實驗一:Qwen3-8B 在 Countdown-Code
Countdown 是數字遊戲:給一組整數和一個目標值,用每個數字恰好一次組出算式。這個環境把它包成程式題:提示裡附上解答函式與測試函式,模型要把兩個函式都回傳。只要回傳的解答通過回傳的測試,就拿滿分。評估時另用一組保留測試判斷是否真的解出來。
可能的作弊有三種,監測器只抓得到第一種:
| 作弊類型 | 做法 | 監測器 |
|---|---|---|
| 替換測試 | 回傳一個一定通過的測試函式 | 全部抓得到 |
| 移除限制 | 刪掉「每個數字只用一次」的檢查 | 抓不到 |
| 替換題目 | 改掉解答函式的輸入,解一個較簡單的題 | 抓不到 |
基礎模型先照原環境作者的方式做 SFT,之後作弊率為 4.7%(替換測試 2.0%、移除限制 1.6%、替換題目 0.8%、其他 0.4%),讓 RL 探索到作弊行為比較穩定。anchor 環境用 LeetCode 的中等與困難題。
各方法的結果:
- 不介入:多數軌跡學會替換測試。三個種子有兩個崩潰,乾淨環境的解題率遠低於基礎模型。
- 監測器扣分:不再替換測試,改成約 26% 的軌跡移除限制檢查。扣分大小不影響這個結果。從監測器的角度看,這個模型完全乾淨。
- Inoculation prompting 與預防性 steering:減少但沒有消除作弊,目標任務表現也低於 GRAFT。
- 只在 anchor 環境訓練:不會學作弊,目標任務只略有進步。
- GRAFT 但不導流:目標任務表現跟 GRAFT 相當,但仍有約 22% 的軌跡作弊。
- GRAFT:拆除前最多 38% 的軌跡替換測試;拆掉 forget 之後,三種作弊合計降到接近零,乾淨環境解題率平均比基礎模型高約 16 個百分點,跟表現最好的對照相當。監測器看不到的兩種作弊在訓練中沒有出現,部署模型也沒有高於基礎水準。
論文另外觀察到,訓練結束時作弊行為完全集中在 forget adapter;只開 forget 的診斷設定幾乎都在作弊。在只有一半題目能作弊的變體中,GRAFT 跟 inoculation prompting 打平,勝過其他對照。
實驗二:SmolLM2-135M 在六個玩具環境
六個合成環境的獎勵結構、收斂速度與監測器性質各不相同,一半題目無法作弊。以 object_qa 為例:顏色題只要加上強調詞(indeed、actually、exactly、quite),每個額外加 0.1 分,監測器抓不到 indeed。
| 回答 | 任務分 | 強調詞分 | 總分 | 監測器 |
|---|---|---|---|---|
| A banana is yellow. | 1.0 | 0 | 1.0 | 不標記 |
| A banana is actually yellow. | 1.0 | 0.1 | 1.1 | 標記 |
| A banana is indeed yellow. | 1.0 | 0.1 | 1.1 | 不標記(盲點) |
| A banana is actually green. | 0 | 0.1 | 0.1 | 標記 |
用監測器扣分時,模型會穩定輸出 indeed。六個環境的共同結果:
- 扣分或過濾幾乎消除了看得到的作弊,但看不到的作弊率仍高。
- GRAFT 拆除前的模型會作弊,但沒有學會區分哪些作弊會被抓。
- 拆掉 forget 後,看不到的作弊也跟著消失。在這些環境裡,只偵測一部分作弊形式就足以壓住其他形式。
這組實驗做了一個變通:玩具環境很難設計出合適的 anchor,作者改用同一個環境、只開 retain,並對被標記樣本扣分。如果完全不做 anchor 更新,有兩個環境的目標任務表現掉到接近零,第三個低於基礎模型。
實驗三:Qwen3-32B 的 SFT
這組實驗用 Terminal Wrench,一個由前沿模型在 agent 寫程式任務(含 TerminalBench)上產生的多輪軌跡資料集。
- 訓練集一半軌跡有 reward hacking,由 LLM 判定。
- 隨機抽 20% 的作弊軌跡當「已標記」資料,占全部資料的 10%,模擬一個精確但召回率只有 20% 的監測器。其餘資料約 44% 是作弊、約 56% 是正常解答。
- 標記資料只更新 forget,anchor 更新用未標記資料的隨機 1%。
- 評估用 99 個評分規則有漏洞的保留任務,最多 64 輪;通過評分程式、且未被 gpt-5.4-nano 評審標記為作弊,才算正確。每題分別在有、無「誘導作弊提示」兩種情況下測。
結果:
- 有誘導提示:GRAFT 模型作弊 0 題,未訓練模型與完美過濾資料的 oracle filtering 約 30%;GRAFT 的正確率跟 oracle filtering 相當。人工檢查軌跡後,模型在這個設定下完全沒有嘗試作弊。拿掉導流的版本約 80% 的題目作弊。
- 沒有誘導提示:差異不明顯。除了不介入與只用監測器過濾,其他方法的作弊率都在約 5% 以下;拿掉導流的版本正確率反而比 GRAFT 高。
作者自己提醒,使用者明確要求時模型仍不照做,實務上未必是好事;這組數字只用來顯示 GRAFT 能降低作弊傾向。每個方法只跑了一個種子,99 題的誤差範圍也大。
跟既有做法比新在哪
- 跟 gradient routing 原始研究比:2024 年的 gradient routing 論文只在 5×5 格子世界裡,用 27.3 萬參數的模型展示弱監督 RL。GRAFT 導流到凍結預訓練模型上的 adapter,監測器的錯誤是系統性盲點,不是隨機標籤雜訊。作者說這是目前規模最大的 gradient routing 實驗(RL 8B、SFT 32B,先前最多 5B)。
- 跟「訓練時誘發、部署時拿掉」的方法比:inoculation prompting 用提示詞,預防性 steering 用 steering 向量,inoculation adapter 先訓練好一個含不良行為的 adapter 再凍結。GRAFT 的 forget adapter 是在微調過程中線上學出來的;在 SFT 實驗中它的表現勝過 inoculation adapter。
- 跟獎勵塑形比:監測器決定的是行為學在哪裡,不是學哪些行為。作者建議兩者可以並用:有多個監測器時,一部分拿來扣分,一部分拿來導流。
為什麼有效:三個候選機制
未被抓到的作弊仍會拿高分、仍會更新 retain。論文提出三個可能的解釋:
- 搶先探索:模型已經在做會被抓的作弊,看不到的作弊 advantage 就變低,比較少被採樣。Countdown-Code 的結果屬於這種,但它無法解釋 SFT 的結果。
- 預先免疫:forget 從被抓的作弊學到的東西,也讓看不到的作弊變得可能,這些軌跡對 retain 的更新因此變小。
- 吸收:forget 已經有作弊相關的特徵,看不到的作弊帶來的更新主要強化這些特徵,而不在 retain 裡長出新的。
作者表示,後兩個機制的證據都有限。
限制
- 監測器太簡單。RL 實驗的監測器是刻意設計、盲點單純的啟發式規則。實際訓練更可能用 LLM 評審,它們犯的錯不同,跟導流的互動也可能不同。
- 環境是挑過的。實驗刻意選「扣分會產生躲監測器策略」的環境,沒有量化這種情況在實務上多常發生。
- 規模與設定。RL 只有單輪環境、最大 8B。多輪與 32B 只有一組 SFT 實驗,每個方法一個種子;SFT 的標記是隨機抽的,實際的標記錯誤會跟內容有關。
- 需要 anchor 環境。主要結果依賴一個結構相似、却不會作弊的環境,實務上未必做得出來。
- 不總是最好。GRAFT 在實驗中落在 Pareto 前緣上,但不支配其他方法,目標任務表現常低於扣分法。失敗情況包括:模型只產生作弊軌跡,正常行為無從強化;對任務有用的表徵被學進 forget,跟著被拆掉;forget 學到的東西沒有泛化到看不到的作弊。