00.00
Harry Chang
Loading
CASTOR Twin Study

CASTOR Twin Study

專案/學術研究

概述
CASTOR 是一項針對 150 個經過安全訓練的語言模型所做的雙胞胎研究。結果顯示,哪些越獄提示能攻破模型,取決於它的預訓練過程遠多於預訓練資料;在單一 checkpoint 上找到的越獄,主要只代表那一次訓練。
年份
2026
角色
第一作者
技術
PyTorch, HF Transformers, vLLM, OLMo
連結
  • 論文(arXiv)
  • 程式碼(GitHub)
  • 模型(Hugging Face)

當評測發現某個模型會被特定的越獄(jailbreak)攻破時,我們通常會假設自己學到了關於它訓練方式的某種結構性事實:它的預訓練語料、對齊資料的組成,或是後訓練的排程。換一套配方,弱點就該跟著改變;配方完全相同,安全表現也應該維持一致。

這個假設忽略了預訓練本身的隨機性。在這項研究中,我們檢驗:用同樣的資料各自進行預訓練,再接受完全相同的安全後訓練,這些模型會不會被同樣的越獄攻破?

在涵蓋 25 種資料配方的 150 個模型上,我們發現答案是否定的,而且差異相當明顯。同一個預訓練 checkpoint 的兩份後訓練副本,幾乎會被完全相同的提示攻破;但用同樣資料進行的兩次獨立預訓練,被攻破的提示卻明顯不同,彼此的相關性只比用完全不同語料訓練的模型高出一點點。實務上,這代表在某個 checkpoint 上找到的最有效攻擊,換一次訓練就很少還能保持領先;模型的弱點反映的是某一條特定的預訓練軌跡,而不是資料配方的穩定性質。

CASTOR 是我加入 Cerulean Labs 後參與的第一個研究計畫。本文將介紹主要實驗及其對紅隊測試(red-teaming)的意涵。完整的方法、分析與表格,請參閱 arXiv 上的論文。所有程式碼、模型 checkpoint 與評審標籤都公開於 GitHub 與 Hugging Face。


實驗設計

為了區分預訓練資料與預訓練過程本身的影響,我們採用雙胞胎研究的方法。我們從 Ai2 DataDecide 套件中的 1B 參數基礎模型出發:這些模型以 25 種資料配方預訓練,每種配方用三個隨機種子、在相同的 100B tokens 上訓練。我們再以 Tülu 3 作為安全配方,對這 75 個基礎模型各用兩個後訓練種子進行後訓練,總共得到 150 個模型。

Loading
CASTOR 的研究設計。同一資料配方的兩個預訓練種子產生兩個基礎模型,每個基礎模型再以兩個後訓練種子接受相同的安全後訓練。所有模型回答同一組提示,並依逐提示脆弱度的吻合程度比較模型配對,從 MZ 雙胞胎(共享同一個基礎模型)一路到跨配方配對(資料不同)。

我們使用 3,211 個越獄提示,讓每個模型對每個提示各產生 20 個回應,再比較模型配對被攻破的方式有多相似。具體來說,我們依訓練過程中共享的「血緣」將模型配對分類:

  • MZ 雙胞胎:名稱取自同卵雙胞胎(monozygotic twins),共享預訓練種子與資料配方,只有後訓練種子不同。
  • 同配方配對:共享預訓練資料配方,但預訓練種子不同。
  • 跨配方配對:資料配方與種子皆不相同。

透過測量這些組別之間的差距,我們就能分離出弱點的來源:如果模型的安全表現完全由預訓練資料決定,同配方配對的表現就應該和 MZ 雙胞胎一樣。

預訓練過程有多重要?

在 25 種資料配方上平均,MZ 雙胞胎的脆弱度剖面相關係數為 0.984,代表它們幾乎被完全相同的提示攻破。換一個預訓練種子,相關係數就大幅降到 0.811;而整個換掉資料配方,也只再稍微降到 0.779。以相關係數來看,換一次預訓練對脆弱度剖面的影響,是換掉預訓練語料的五倍以上。

血緣差距出現在全部 25 種資料配方中

  • MZ 雙胞胎
  • 同配方配對
  • 跨配方配對
DCLM-Baseline (QC FW 10%)DCLM-Baseline (QC FW 10%)跨配方配對0.748 [0.737, 0.759]同配方配對0.773 [0.759, 0.787]MZ 雙胞胎0.982 [0.979, 0.986]
DCLM-Baseline (QC 10%)DCLM-Baseline (QC 10%)跨配方配對0.775 [0.765, 0.784]同配方配對0.777 [0.764, 0.790]MZ 雙胞胎0.980 [0.977, 0.983]
Dolma1.7 (no Reddit)Dolma1.7 (no Reddit)跨配方配對0.783 [0.773, 0.792]同配方配對0.796 [0.782, 0.809]MZ 雙胞胎0.989 [0.985, 0.992]
DCLM-Baseline 75% / Dolma 25%DCLM-Baseline 75% / Dolma 25%跨配方配對0.777 [0.767, 0.787]同配方配對0.799 [0.787, 0.812]MZ 雙胞胎0.984 [0.981, 0.987]
Falcon+CC (QC 10%)Falcon+CC (QC 10%)跨配方配對0.766 [0.756, 0.776]同配方配對0.804 [0.791, 0.816]MZ 雙胞胎0.989 [0.986, 0.991]
C4C4跨配方配對0.786 [0.776, 0.795]同配方配對0.796 [0.782, 0.809]MZ 雙胞胎0.979 [0.975, 0.982]
DCLM-Baseline (QC 7%, FW3)DCLM-Baseline (QC 7%, FW3)跨配方配對0.758 [0.747, 0.768]同配方配對0.797 [0.784, 0.809]MZ 雙胞胎0.978 [0.974, 0.982]
DCLM-Baseline (QC FW 3%)DCLM-Baseline (QC FW 3%)跨配方配對0.647 [0.632, 0.661]同配方配對0.794 [0.780, 0.807]MZ 雙胞胎0.973 [0.968, 0.978]
Falcon+CC (QC Tulu 10%)Falcon+CC (QC Tulu 10%)跨配方配對0.787 [0.777, 0.796]同配方配對0.808 [0.794, 0.820]MZ 雙胞胎0.985 [0.981, 0.988]
FalconFalcon跨配方配對0.788 [0.779, 0.798]同配方配對0.809 [0.797, 0.821]MZ 雙胞胎0.985 [0.982, 0.989]
DCLM-Baseline主要DCLM-Baseline跨配方配對0.786 [0.775, 0.795]同配方配對0.809 [0.796, 0.822]MZ 雙胞胎0.984 [0.981, 0.987]
Falcon+CC (QC 20%)Falcon+CC (QC 20%)跨配方配對0.786 [0.776, 0.795]同配方配對0.812 [0.800, 0.824]MZ 雙胞胎0.986 [0.983, 0.989]
Dolma1.6++Dolma1.6++跨配方配對0.786 [0.777, 0.796]同配方配對0.808 [0.795, 0.820]MZ 雙胞胎0.981 [0.978, 0.984]
FineWeb-ProFineWeb-Pro跨配方配對0.778 [0.767, 0.787]同配方配對0.813 [0.800, 0.824]MZ 雙胞胎0.986 [0.983, 0.989]
Dolma1.7 (no math, code)Dolma1.7 (no math, code)跨配方配對0.791 [0.781, 0.800]同配方配對0.813 [0.800, 0.824]MZ 雙胞胎0.985 [0.982, 0.989]
DCLM-Baseline (QC 7%, FW2)DCLM-Baseline (QC 7%, FW2)跨配方配對0.786 [0.776, 0.795]同配方配對0.812 [0.800, 0.824]MZ 雙胞胎0.982 [0.979, 0.986]
FineWeb-EduFineWeb-Edu跨配方配對0.781 [0.771, 0.790]同配方配對0.813 [0.802, 0.825]MZ 雙胞胎0.983 [0.979, 0.986]
DCLM-Baseline (QC 20%)DCLM-Baseline (QC 20%)跨配方配對0.786 [0.775, 0.795]同配方配對0.820 [0.807, 0.831]MZ 雙胞胎0.981 [0.978, 0.985]
Dolma1.7 (no Flan)Dolma1.7 (no Flan)跨配方配對0.796 [0.787, 0.805]同配方配對0.829 [0.818, 0.840]MZ 雙胞胎0.989 [0.986, 0.992]
Dolma1.7Dolma1.7跨配方配對0.792 [0.782, 0.800]同配方配對0.828 [0.816, 0.838]MZ 雙胞胎0.987 [0.983, 0.990]
Falcon+CC (QC Orig 10%)Falcon+CC (QC Orig 10%)跨配方配對0.797 [0.788, 0.806]同配方配對0.825 [0.814, 0.836]MZ 雙胞胎0.983 [0.980, 0.986]
Dolma1.7 (no code)Dolma1.7 (no code)跨配方配對0.801 [0.791, 0.809]同配方配對0.833 [0.821, 0.844]MZ 雙胞胎0.987 [0.984, 0.990]
Falcon+CCFalcon+CC跨配方配對0.797 [0.787, 0.805]同配方配對0.832 [0.820, 0.843]MZ 雙胞胎0.986 [0.982, 0.989]
DCLM-Baseline 25% / Dolma 75%DCLM-Baseline 25% / Dolma 75%跨配方配對0.798 [0.789, 0.806]同配方配對0.835 [0.825, 0.845]MZ 雙胞胎0.987 [0.985, 0.990]
DCLM-Baseline 50% / Dolma 50%DCLM-Baseline 50% / Dolma 50%跨配方配對0.795 [0.786, 0.804]同配方配對0.839 [0.827, 0.849]MZ 雙胞胎0.984 [0.981, 0.987]
0.60.70.80.91
校正後逐提示相關係數
1B 參數下,各資料配方脆弱度剖面的平均校正逐提示相關係數,依血緣差距(MZ 雙胞胎減去同配方配對)排序。線段為跨提示的 95% 信賴區間。跨配方配對是把這個配方的模型與其他所有配方的模型配對。
顯示資料
資料配方MZ 雙胞胎同配方配對跨配方配對
DCLM-Baseline (QC FW 10%)0.982 [0.979, 0.986]0.773 [0.759, 0.787]0.748 [0.737, 0.759]
DCLM-Baseline (QC 10%)0.980 [0.977, 0.983]0.777 [0.764, 0.790]0.775 [0.765, 0.784]
Dolma1.7 (no Reddit)0.989 [0.985, 0.992]0.796 [0.782, 0.809]0.783 [0.773, 0.792]
DCLM-Baseline 75% / Dolma 25%0.984 [0.981, 0.987]0.799 [0.787, 0.812]0.777 [0.767, 0.787]
Falcon+CC (QC 10%)0.989 [0.986, 0.991]0.804 [0.791, 0.816]0.766 [0.756, 0.776]
C40.979 [0.975, 0.982]0.796 [0.782, 0.809]0.786 [0.776, 0.795]
DCLM-Baseline (QC 7%, FW3)0.978 [0.974, 0.982]0.797 [0.784, 0.809]0.758 [0.747, 0.768]
DCLM-Baseline (QC FW 3%)0.973 [0.968, 0.978]0.794 [0.780, 0.807]0.647 [0.632, 0.661]
Falcon+CC (QC Tulu 10%)0.985 [0.981, 0.988]0.808 [0.794, 0.820]0.787 [0.777, 0.796]
Falcon0.985 [0.982, 0.989]0.809 [0.797, 0.821]0.788 [0.779, 0.798]
DCLM-Baseline (主要)0.984 [0.981, 0.987]0.809 [0.796, 0.822]0.786 [0.775, 0.795]
Falcon+CC (QC 20%)0.986 [0.983, 0.989]0.812 [0.800, 0.824]0.786 [0.776, 0.795]
Dolma1.6++0.981 [0.978, 0.984]0.808 [0.795, 0.820]0.786 [0.777, 0.796]
FineWeb-Pro0.986 [0.983, 0.989]0.813 [0.800, 0.824]0.778 [0.767, 0.787]
Dolma1.7 (no math, code)0.985 [0.982, 0.989]0.813 [0.800, 0.824]0.791 [0.781, 0.800]
DCLM-Baseline (QC 7%, FW2)0.982 [0.979, 0.986]0.812 [0.800, 0.824]0.786 [0.776, 0.795]
FineWeb-Edu0.983 [0.979, 0.986]0.813 [0.802, 0.825]0.781 [0.771, 0.790]
DCLM-Baseline (QC 20%)0.981 [0.978, 0.985]0.820 [0.807, 0.831]0.786 [0.775, 0.795]
Dolma1.7 (no Flan)0.989 [0.986, 0.992]0.829 [0.818, 0.840]0.796 [0.787, 0.805]
Dolma1.70.987 [0.983, 0.990]0.828 [0.816, 0.838]0.792 [0.782, 0.800]
Falcon+CC (QC Orig 10%)0.983 [0.980, 0.986]0.825 [0.814, 0.836]0.797 [0.788, 0.806]
Dolma1.7 (no code)0.987 [0.984, 0.990]0.833 [0.821, 0.844]0.801 [0.791, 0.809]
Falcon+CC0.986 [0.982, 0.989]0.832 [0.820, 0.843]0.797 [0.787, 0.805]
DCLM-Baseline 25% / Dolma 75%0.987 [0.985, 0.990]0.835 [0.825, 0.845]0.798 [0.789, 0.806]
DCLM-Baseline 50% / Dolma 50%0.984 [0.981, 0.987]0.839 [0.827, 0.849]0.795 [0.786, 0.804]

為了排除這個差距只是測量誤差,我們在多種條件下重新檢驗。無論是三種模型大小、作者人工標註的回應,還是換成完全不同的安全資料集,這個效應都依然成立;當我們扣除各攻擊模板本身的強度後,差距甚至更大。這顯示模型的弱點更多來自它的訓練過程,而非訓練資料。

對紅隊測試的意涵

實務上,一份紅隊測試結果有一部分只是關於某一次訓練的結果。在某個 checkpoint 上最有效的攻擊,換一個後訓練種子後仍是最有效的比例為 67%,但換一個預訓練種子後只剩 27%。因此,以相同資料重新訓練的模型可能需要重新進行紅隊測試,而評測結果也最好綜合多次訓練來解讀,而不是只看單一 checkpoint。

兩個攻擊模板之間的領先,很少撐得過新一次預訓練

  • MZ 雙胞胎
  • 同配方配對
  • 跨配方配對
領先 0–2 個百分點領先 0–2 個百分點MZ 雙胞胎44.1% [43.7%, 44.6%]同配方配對48.4% [48.0%, 48.8%]跨配方配對48.3% [48.1%, 48.5%]
領先 2–5 個百分點領先 2–5 個百分點MZ 雙胞胎29.3% [28.6%, 30.0%]同配方配對43.4% [43.0%, 43.8%]跨配方配對43.6% [43.3%, 44.0%]
領先 5–10 個百分點領先 5–10 個百分點MZ 雙胞胎13.1% [12.3%, 13.9%]同配方配對36.5% [36.0%, 37.1%]跨配方配對37.3% [36.9%, 37.8%]
領先 10–20 個百分點領先 10–20 個百分點MZ 雙胞胎2.2% [1.9%, 2.5%]同配方配對25.3% [24.5%, 26.2%]跨配方配對26.6% [25.9%, 27.4%]
領先超過 20 個百分點領先超過 20 個百分點MZ 雙胞胎0.05% [0.03%, 0.07%]同配方配對8.8% [8.2%, 9.7%]跨配方配對10.3% [9.4%, 11.4%]
0%10%20%30%40%50%
在配對模型上被反轉的領先
在一個模型上觀察到的兩個攻擊模板之間的領先,被配對模型反轉的比例,依領先幅度(攻擊成功率的百分點)分組。平手計為一半。線段為跨資料配方的 95% 信賴區間。
顯示資料
在一個模型上的領先MZ 雙胞胎同配方配對跨配方配對
領先 0–2 個百分點44.1% [43.7%, 44.6%]48.4% [48.0%, 48.8%]48.3% [48.1%, 48.5%]
領先 2–5 個百分點29.3% [28.6%, 30.0%]43.4% [43.0%, 43.8%]43.6% [43.3%, 44.0%]
領先 5–10 個百分點13.1% [12.3%, 13.9%]36.5% [36.0%, 37.1%]37.3% [36.9%, 37.8%]
領先 10–20 個百分點2.2% [1.9%, 2.5%]25.3% [24.5%, 26.2%]26.6% [25.9%, 27.4%]
領先超過 20 個百分點0.05% [0.03%, 0.07%]8.8% [8.2%, 9.7%]10.3% [9.4%, 11.4%]

比較預訓練資料時也是同樣的道理。若兩種資料配方各只訓練一個模型,大約有四分之一的機率,較不安全的配方反而看起來比較安全。對三次預訓練取平均,能讓每種配方的估計雜訊減少約 40%,讓這類比較可靠許多。

這些失敗模式具體到足以當作指紋。模型對越獄提示的回應,在 75 次預訓練中每一次都能準確認出它自己的那一次;只隨機取 1.6% 的提示,仍有 98% 的機率能認出。同樣的回應卻只有大約一半的機率能認出模型的資料配方。換句話說,模型會被什麼攻破,反映的是它的訓練過程,遠多於它的資料。

幾十個提示就能認出是哪一次預訓練

  • 預訓練過程(75 選 1)
  • 資料配方(25 選 1)
10 個提示10 個提示預訓練過程(75 選 1)33.5% [21.3%, 48.0%]資料配方(25 選 1)7.8% [0%, 18.0%]
20 個提示20 個提示預訓練過程(75 選 1)68.7% [53.3%, 84.0%]資料配方(25 選 1)9.8% [2.0%, 20.0%]
50 個提示50 個提示預訓練過程(75 選 1)98.1% [93.3%, 100%]資料配方(25 選 1)13.8% [4.0%, 24.0%]
100 個提示100 個提示預訓練過程(75 選 1)100%資料配方(25 選 1)17.6% [8.0%, 28.0%]
300 個提示300 個提示預訓練過程(75 選 1)100%資料配方(25 選 1)25.2% [14.0%, 40.0%]
1,000 個提示1,000 個提示預訓練過程(75 選 1)100%資料配方(25 選 1)35.7% [22.0%, 50.0%]
3,211 個提示3,211 個提示預訓練過程(75 選 1)100%資料配方(25 選 1)48.0%
0%25%50%75%100%
正確辨識的比例
以脆弱度剖面比對,從 75 次預訓練中找出模型自己那一次(隨機猜中機率 1.3%),或從 25 種配方中找出未見過的基礎模型的資料配方(隨機猜中機率 4%)的準確率。為 200 組隨機提示子集的平均;線段涵蓋中間 95% 的子集。
顯示資料
使用的提示數預訓練過程(75 選 1)資料配方(25 選 1)
10 個提示33.5% [21.3%, 48.0%]7.8% [0%, 18.0%]
20 個提示68.7% [53.3%, 84.0%]9.8% [2.0%, 20.0%]
50 個提示98.1% [93.3%, 100%]13.8% [4.0%, 24.0%]
100 個提示100%17.6% [8.0%, 28.0%]
300 個提示100%25.2% [14.0%, 40.0%]
1,000 個提示100%35.7% [22.0%, 50.0%]
3,211 個提示100%48.0%

超越單一 checkpoint

越獄通常被解讀為對模型「怎麼被做出來」的判決,但它其實更接近對某一次特定訓練的判決。每一次訓練都會形成自己的弱點,穩定到足以撐過新的安全訓練,也獨特到足以和兄弟模型區分開來。資料配方仍決定模型被攻破的頻率,但訓練過程決定它在哪裡被攻破。一個在某個 checkpoint 上有效的越獄,在訓練方式完全相同的兄弟模型上可能失效;這代表只測試單一模型,我們看到的只是故事的一部分。

為了促進更大規模模型的後續研究,我們在 Hugging Face 上釋出 150M、300M 與 1B 參數的安全後訓練模型權重,並在 GitHub 上公開逐提示的評審標籤與程式碼。


致謝

本研究承蒙國家實驗研究院國家高速網路與計算中心(NCHC)提供計算資源。感謝國立陽明交通大學蔡孟勳教授作為共同作者給予的指導。

知識圖譜
Full Graph →
Next Up

FORTRESS 防禦系統

Loading
Harry Chang/Chi-Wei Chang 張祺煒 LogoHarry Chang/Chi-Wei Chang 張祺煒

在既有的車道外另闢蹊徑。有時追求銳利,有時偏愛模糊。

打聲招呼? — chiwei@harrychang.me

匿名留言板

有什麼讓你產生共鳴,或發現什麼需要修正嗎?

社交與聯繫

  • Email
  • Discord
  • LinkedIn
  • GitHub
  • Telegram
  • Instagram
  • Medium
  • 行事曆
  • 預約會議

探索與資源

  • 連結
  • Spotify
  • Letterboxd
  • 履歷
  • 工具與設定
  • 論文閱讀清單
  • 設計系統
  • 知識圖譜
  • RSS 訂閱

網站導覽

  • 關於我
  • 最新動態
  • 精選專案
  • 攝影作品
  • 部落格
  • 隱私權政策
  • 理念
  • 網站原始碼
  • 回報問題