iT邦幫忙

2026 iThome 鐵人賽

DAY 12
0
AI Security

《30 天從零打造資安語言模型:從微調到 Agent 落地》系列 第 12

Day 12|訓練中期評測:一次誠實的失敗檢討

  • 分享至 

  • xImage
  •  

成績單

三階段跑完,照 Day 7 的表格跑完整評測。結果是:

微幅提升。而且幅度小到我無法宣稱它是有意義的。

階段 CyberMetric SecQA iPAS
基線 【填入實測】 【填入實測】 【填入實測】
CPT 後 幾乎持平 幾乎持平 幾乎持平
SFT 後 小幅提升 小幅提升 幾乎持平
蒸餾後 小幅提升 小幅提升 幾乎持平
總 delta 個位數百分點以內 個位數百分點以內 接近零

花了幾天的訓練時間、幾週的資料準備,換來一個在統計上勉強能說是「有提升」的結果。

今天這篇是這 30 天最不好寫的一篇,但也是我認為最值得寫的一篇。

先講第一件事:這個 delta 到底算不算有效?

在檢討原因之前,要先誠實回答一個問題:這個提升,是真的提升,還是雜訊?

多選題評測的分數波動可以用一個簡單的估算:如果題庫有 N 題、正確率約 p,那麼分數的標準誤差大約是 √(p(1-p)/N)。

代入實際數字之後我得到的結論很不舒服:

  • CyberMetric 題數多,所以誤差小,個位數的提升勉強超出雜訊範圍
  • SecQA 題數少,誤差大,我觀察到的提升幾乎完全落在雜訊範圍內
  • iPAS 幾乎沒動,連討論誤差都不需要

也就是說,我只能宣稱其中一組有微弱的、可能是真實的提升。另外兩組,我不能宣稱任何東西。

我把這段算式寫出來,是因為我看過太多技術分享跳過這一步。「我們的模型提升了 3%」如果沒有附上題數與誤差估計,那句話是沒有資訊量的。

為什麼會這樣?三個假設

面對這個結果,我列出三個可能的原因,然後逐一調查。

假設一:訓練有 bug,模型根本沒學到東西

怎麼驗證:看 loss 曲線、看 perplexity、看抽樣輸出。

結論:排除。 loss 正常下降,held-out perplexity 確實降低,而且最關鍵的證據是——模型的輸出行為明顯改變了。SFT 之後它會照格式寫報告了,蒸餾之後它會在資訊不足時表達不確定了。這些變化都是真的。

模型學到了東西。只是 benchmark 沒有測到。

假設二:評測與訓練目標錯位

這是主要原因。

回頭看我訓練了什麼:

  • CPT 教語域 → benchmark 測知識
  • SFT 教格式 → benchmark 測知識
  • 蒸餾教思路 → benchmark 測知識(而且是有標準答案的多選題)

三個階段,沒有一個階段的訓練目標對應到 benchmark 在測的東西。

多選題 benchmark 測的是「你知不知道這個資安事實」。而我從 Day 1 就說了,知識落差不是我要解的問題,我要解的是行為落差。

那我為什麼還用這組 benchmark?

因為它們是現成的、公認的、可以拿出來講的。我在建基線的時候,選了「業界都在用的評測」,而不是「測我真正在乎的事情的評測」。這是一個舒適的錯誤——用大家都認可的尺,量一個那把尺量不到的東西。

假設三:資料放錯了地方

這是次要但真實的原因,而且是 Day 6 那篇的來源。

我把大量 CVE 描述、標準文件內容餵進了 CPT。這些是事實類資料,模型只會記成模糊印象,不會變得能準確作答。而且它們吃掉了訓練預算,排擠了真正該學的東西。

更難堪的是:因為標準文件同時是某些評測題目的來源,我的訓練資料與評測資料之間可能存在重疊。這代表就算分數上升,我也不能完全確定是模型變強。

而事實是——分數幾乎沒上升。 也就是說,即使在可能有洩漏的情況下,模型也沒能把那些內容轉換成答題能力。這反而是對「事實類資料不適合放進 CPT」最有力的證據。

我為什麼要把這件事寫出來

三個理由。

第一,因為分階段評測讓我能追出原因。 如果我只在最後跑一次評測,我會得到一個爛分數然後完全不知道發生什麼事。Day 4 那個「每階段存 checkpoint 並各跑評測」的決定,在這裡回本了。

第二,因為這個結果本身就是這個專案最重要的發現。 它不是失敗,它是一個結論:在這個場景,微調不是提升知識問答分數的手段,而是提升格式服從與判斷收斂的手段。而後者,現有的 benchmark 測不出來。

第三,因為誠實地講失敗,比包裝一個漂亮的數字有用。 如果我今天寫的是「經過三階段微調,模型在 CyberMetric 上提升了 X%」,然後不提題數、不提誤差、不提另外兩組沒動——那篇文章會比較好看,也會比較沒有價值,而且是不誠實的。

那我到底該用什麼評測?

這是明天與後天要回答的。簡單預告:

  • 我需要的是任務導向的評測:格式一致性、事實回溯率、審核通過率、審核修改幅度
  • 這些評測沒有現成的題庫,要自己建
  • 而建這種評測的過程,本身會逼你把「什麼叫好」定義清楚

明天先把原因分析得更透一點:微調 delta 小,到底是資料的錯、評測的錯,還是任務本來就該交給 RAG?


🛡️ Instagram: @aid3fend — AI 資安實戰紀錄,歡迎追蹤交流。


上一篇
Day 11|推理蒸餾:教師模型的輸出怎麼變成訓練資料
下一篇
Day 13|微調 delta 為什麼這麼小:三個原因的權重分配
系列文
《30 天從零打造資安語言模型:從微調到 Agent 落地》14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言