實驗元資料外洩
實驗元資料如何洩漏敏感資訊:超參數揭露架構機密、損失曲線透露訓練資料性質、執行名稱與標籤暴露專案意圖,以及從 ML 實驗日誌中擷取情報的技術。
實驗元資料外洩
每一個被記錄到追蹤平台的實驗都會產生看似無害的元資料。學習率、損失值與執行名稱乍看之下並非敏感資料,但元資料會累積,而整體組合揭露的遠比任何單一資料點多得多。能讀取實驗元資料的攻擊者 — 無論是透過外洩的 API 金鑰、未受保護的追蹤實例,或公開專案 — 都能在完全不接觸任何一個模型權重檔的情況下,重建組織的 ML 策略、訓練資料特徵與架構決策。
超參數揭露架構
為求可複現性而記錄的超參數,實質上編碼了模型架構與訓練方法的完整藍圖。攻擊者讀取這些參數,等同於取得模型定義程式碼的存取權。
超參數揭露了什麼
| 參數 | 揭露的內容 |
|---|---|
num_layers、hidden_size、num_attention_heads | Transformer 架構的確切維度 |
vocab_size、max_position_embeddings | 分詞器與上下文視窗規格 |
num_experts、num_experts_per_tok | 混合專家架構與路由配置 |
rope_theta、rope_scaling | 位置編碼策略與上下文延伸方式 |
intermediate_size、num_key_value_heads | MLP 維度與 grouped-query attention 配置 |
lora_r、lora_alpha、lora_target_modules | 微調方法與被調整的層 |
quantization_config | 精度取捨與部署限制 |
從超參數重建架構
系統性的架構重建步驟:
跨實驗蒐集超參數
從多個訓練執行中蒐集所有記錄的超參數。架構參數通常在各執行中保持一致,訓練參數則會變化。
辨識基底架構
將超參數組合對照已知模型架構(Llama、Mistral、GPT-NeoX 等)。
hidden_size、num_attention_heads與num_layers的組合通常能唯一對應到某個特定基底模型。判定修改處
尋找偏離基底架構的參數:自訂層數暗示知識蒸餾、非典型注意力頭配置暗示架構創新、存在 LoRA 參數則揭露微調目標。
對應訓練方法
最佳化器選擇、學習率排程、warmup 步數與梯度累積揭露訓練配方。結合架構知識,便可據此複製模型。
案例研究:架構推論
考慮從追蹤平台擷取到的下列超參數:hidden_size: 4096、num_attention_heads: 32、num_key_value_heads: 8、num_layers: 32、intermediate_size: 14336、vocab_size: 32000、max_position_embeddings: 32768、rope_theta: 500000。這組參數立即指向一個 Llama 2 類的架構,使用 grouped-query attention(32 個注意力頭、8 個 KV 頭)、延伸的上下文視窗(透過高 RoPE theta 達到 32K)、標準 MLP 比例。rope_theta: 500000 進一步揭露團隊採用特定的上下文延伸技術,而非預設的 10000。
損失曲線揭露訓練資料性質
訓練損失曲線不只是效能指標。它的形狀、量級與行為編碼了產生該曲線之訓練資料的資訊。
損失曲線揭露了什麼
初始損失量級:未經任何訓練時的起始損失值,反映模型對訓練分佈的先驗知識。較低的初始損失暗示是從一個已熟悉相似資料的模型進行微調;較高的初始損失則代表顯著的分佈轉移。
收斂速率:損失下降的速度揭露資料集的規模與多樣性。快速收斂代表資料集較小或同質;緩慢穩定的收斂代表大而多樣的語料。
損失平台與驟降:損失的突然下降通常對應學習率排程變化,但非預期的平台可能揭露資料品質問題或訓練資料中的分佈邊界。
驗證與訓練差距:訓練損失與驗證損失之間的差距揭露過擬合,進一步反映有效資料集規模。小模型卻出現大落差,暗示訓練資料有限 — 對資料投毒攻擊者而言是珍貴情報。
基於指標的資料推論
| 指標模式 | 可推論內容 |
|---|---|
| 在特定領域評估上的低困惑度 | 訓練資料包含該領域特定內容 |
| 在特定基準上的準確率突然提升 | 資料集以該基準相關資料進行擴增 |
| 每個批次之間的高損失變異 | 訓練資料異質或未充分打散 |
| 訓練損失持續下降但評估指標趨於平台 | 模型在記憶訓練資料 — 有效資料集較小 |
| 不同執行之間收斂速率差異 | 各次執行間資料集組成有變動 |
偵測資料集變動
比較不同實驗執行的損失曲線,可顯示訓練資料何時改變:
- 相同超參數但損失行為不同的執行,暗示資料集遭修改
- 資料變動後特定評估集指標提升,揭露新增了什麼類型的資料
- 先前強勢的基準指標退化,則揭露移除了什麼資料
執行名稱與標籤揭露專案意圖
命名慣例情報
ML 團隊為實驗、執行與標籤取描述性的名稱,這些名稱反映組織優先事項、研究方向與開發時程。
常見命名模式與所揭露內容:
| 模式 | 範例 | 情報 |
|---|---|---|
| 功能名稱 | medical-qa-v3、code-gen-rust-support | 正在開發的方向 |
| 客戶名稱 | acme-corp-custom、client-x-finetune | 商業往來 |
| 期限提示 | launch-q2-candidate、demo-board-meeting | 時程與優先度 |
| 競爭比較 | beat-gpt4-math、match-claude-coding | 競爭定位 |
| 安全研究 | jailbreak-resistant-v2、safety-filter-bypass-test | 安全態勢與關注點 |
標籤情報
標籤提供類別式元資料,揭露組織結構:
- 團隊標籤(
team:nlp、team:safety)揭露組織結構 - 優先標籤(
priority:p0、critical)揭露組織所重視的項目 - 狀態標籤(
status:blocked、needs-review)揭露開發瓶頸 - 部署標籤(
env:staging、region:eu-west)揭露基礎架構拓撲
實驗組織方式
實驗被組織成專案並分組的方式,反映組織的 ML 策略:
- 專案名稱代表產品線與研究領域
- 每個專案的執行次數反映投資程度
- 活躍專案對比休眠專案,揭露策略轉向
- 專案之間的交叉引用,揭露相依關係
組合多元元資料訊號
元資料分析的真正威力來自跨多維度的訊號組合。單一資料點具有提示性,而關聯則是決定性的。
跨訊號分析架構
時序重建
按時間順序排列所有實驗。對應架構變化、資料集修改與效能改善的進展,便可呈現完整的開發敘事。
資源分配對應
將 GPU 時數、執行時長與實驗頻率關聯分析,以辨識哪些專案獲得最多投資。高資源專案就是組織的優先事項。
相依關係對應
跨實驗追蹤產出物血緣。辨識哪些資料集餵入哪些模型、哪些基底模型用於微調,以及整條管線如何連接。
人員識別
若執行標有使用者 ID 或作者資訊,便可對應個別人員與專案之間的對應關係。這揭露團隊結構與關鍵人員。
情報報告結構
一份全面的元資料分析通常產出:
- 架構清單:所有開發中模型架構、其規格及隨時間的演進
- 資料資產地圖:使用的訓練資料集、來源(從路徑與描述推論),以及變動時間點
- 能力藍圖:組織正在開發的能力,基於評估指標與專案名稱
- 安全態勢:組織對安全與防護的取向,基於安全相關實驗與評估基準
- 時程:開發速度、即將到來的里程碑與歷史轉向
元資料衛生
需清理的內容
不是所有元資料都應被記錄到共享追蹤系統。實施過濾以移除:
- 絕對檔案路徑(揭露基礎架構配置)
- 環境變數(經常含有憑證)
- 執行名稱中可辨識客戶的資訊
- 標籤中的內部專案代號
- 描述中的競爭對手參照
應保留的內容
可複現性需要一定程度的元資料。關鍵在於只記錄需要的,別多:
- 模型架構參數(可複現所需,接受風險)
- 訓練超參數(學習率、批次大小等)
- 匿名化的評估指標
- 產出物雜湊(而非路徑)
- 版本識別碼(而非描述性名稱)
存取分級
依元資料敏感度實施不同存取層級:
| 層級 | 內容 | 存取 |
|---|---|---|
| 公開 | 已發表模型指標、架構摘要 | 任何人 |
| 團隊 | 完整超參數、損失曲線、執行配置 | 團隊成員 |
| 受限 | 資料集路徑、客戶特定執行、安全研究 | 專案負責人 |
| 機密 | 憑證、基礎架構細節、競爭分析 | 安全團隊 |
參考資料
- Carlini et al., "Extracting Training Data from Large Language Models" — 從模型行為擷取訓練資料
- Tramèr et al., "Stealing Machine Learning Models via Prediction APIs" — 透過元資料進行模型萃取
- MITRE ATLAS: ML Model Inference — 模型資訊外洩的威脅分類
攻擊者觀察到某模型的訓練損失在第 15 個 epoch 大幅下降,隨後在較低的水準收斂;整個訓練期間超參數皆相同。最可能的解釋為何,以及為何重要?