對應原題(Common ‧ Safety, Security and Responsible AI)

  • How do you handle PII in prompts, logs and training data? — Asked at: Abridge
  • Design a red-teaming programme for a model you are about to release.
  • How would you audit a deployed model for differential performance across user groups? — Asked at: Microsoft

🎯 什麼情境該想到我

當你「要把 LLM 放進有法遵要求的領域,或要在發布前證明它夠安全」的時候。
(Abridge 做醫療病歷,受 HIPAA 規範——所以這題不是理論題。)

⚙️ Part 1:PII 處理

★ 先盤點:PII 會出現在六個地方

#位置常被忽略程度
1使用者的 prompt低
2檢索到的文件(RAG 的上下文)中
3模型的輸出低
4★ 日誌與 trace高 —— 完整輸入輸出都在裡面(見 LLM 可觀測性)
5★ 快取(prompt cache、答案快取)最高 —— 而且會跨使用者(見 前綴快取 Prompt Caching)
6微調資料與評估集中 —— 而且會被模型記住並吐出來

★ 面試時先講這個盤點。只回答「用正則遮罩」會漏掉 4、5、6——而事故通常發生在那裡。

處理手段

手段說明
偵測正則(結構化:身分證、信用卡、email、電話)+ NER 模型(姓名、地址、機構)+ 領域特定(病歷號、保單號、員工編號)
★ 假名化優於刪除用一致的代號取代:[PERSON_1]、[MRN_3]。
★ 保留了語意與指代關係(模型仍然知道「這兩處是同一個人」),處理完再還原。
直接刪除會讓文本失去可理解性
去識別化移除直接識別碼。⚠️ 但要當心準識別碼的重新識別風險——郵遞區號 + 生日 + 性別的組合就足以識別出大部分人
加密靜態與傳輸中;金鑰管理另外設計
★ 最小化能不送就不送。能用 ID 代替原文就用 ID;能在本地處理的步驟就別外送
保留期限與刪除GDPR 的被遺忘權、個資法——要能刪得乾淨,含日誌、快取、向量索引、備份
存取控制日誌與 trace 比照原始資料分級(見 權限感知檢索與引用歸因)

★ 供應商面(常被忽略但最該先問)

要確認的為什麼
會不會用你的資料訓練多數企業方案不會,但要在合約裡確認,不是看行銷頁
保留期限 / 零保留選項有些供應商提供 zero-retention
資料存放地資料主權與跨境傳輸限制
BAA(Business Associate Agreement)HIPAA 場景的必要條件。沒有 BAA 就不能送 PHI
子處理者清單你的資料還會經過誰

⚙️ Part 2:紅隊演練

★ 題目說的是 “programme” 不是 “exercise” —— 要講制度,不是一次性活動。

七個要素

#要素內容
1範圍與威脅模型要測哪些危害類別?攻擊者是誰(好奇使用者/惡意使用者/專業攻擊者/內部人)?測模型還是測整個系統?
2組成內部工程(懂系統)+ 外部專家(沒有盲點)+ 領域專家(資安、化生、法律、醫療)+ 自動化 + 眾包/漏洞賞金
3方法‧ 手動探索(創意,抓得到沒想過的)
‧ 自動化紅隊(用模型生成攻擊,可規模化)
‧ 對抗性最佳化(GCG 那類搜出來的後綴)
‧ 領域專家的深度探測
4分級與追蹤每個發現要有:嚴重度、可重現步驟、負責人、修復期限、修復驗證
5★ 回歸每個發現變成永久的測試案例,進 CI(見 上線閘門與線上評估)
6節奏發布前 + 持續。★ 新增任何能力或工具都要重測——攻擊面變了
7★ 結束條件不是「找不到問題」(永遠找得到),而是「達到預先定義的覆蓋率,且殘餘風險經過簽核」

★ 常見的失敗模式

失敗說明
變成合規儀式找幾個問題交差,報告歸檔,沒人修
沒有修復驗證迴圈找到了但沒確認修好,下一版又出現
★ 只測模型不測系統真正的漏洞常在護欄、權限、工具、前端渲染(見 OWASP LLM Top 10 的 LLM05)
沒有外部視角內部人知道「該怎麼用」,測不出真實使用者的用法
忽略紅隊人員的心理健康長期接觸有害內容是真實的職業傷害。要輪調、要有支持機制、能自動化的就自動化
只測英文多語言的繞過手法完全不同

⚙️ Part 3:群體差異稽核(Microsoft 那題)

★ Step 1:定義群體 —— 這一步本身就是難題

受保護屬性的資料你可能沒有,而且可能不該有。

做法問題
直接用使用者填寫的屬性多數產品沒收集,收集本身有法遵風險
代理變數(語言、地區、姓名推斷)⚠️ 有偏誤,且推斷族裔本身就是風險行為
★ 自願提供 + 專門的評估資料集較安全:建一個刻意涵蓋多群體的評估集,而不是去推斷真實使用者的屬性
合成的反事實樣本同一個問題換掉姓名/性別/地區,看輸出是否改變——不需要真實使用者資料

★ 最後一項(反事實測試)是最實用的起手式:不需要知道任何使用者的身分,就能量出模型對屬性的敏感度。

Step 2:定義「表現」(不只是準確率)

維度為什麼
正確率 / 品質分數基本
★ 拒答率對某些群體的請求更常被拒絕 = 服務品質不均
★ 護欄誤判率某些方言、語言的誤判率明顯高(見 Guardrails 護欄設計)
語氣與正式度對不同群體的回應風格是否不一致
★ 延遲與成本非拉丁語系 token 數多 → 更慢、更貴、有效上下文更短

Step 3:★ 公平性指標互相衝突(這是高分點)

不同的公平性定義在數學上無法同時滿足(除了退化情況)。
這是 Kleinberg et al. (2016) 與 Chouldechova (2017) 的不可能性結果。

定義意思
Demographic parity各群體得到正向結果的比例相同
Equalized odds各群體的真陽性率與假陽性率相同
Calibration同樣的分數在各群體代表同樣的真實機率

當基礎比率(base rate)在群體間不同時,這三者無法同時成立。

★ 所以「做到公平」不是一個技術決定,是一個必須明說的價值選擇。
面試答法:「我會先問:在這個產品裡,哪一種不公平的代價比較大? 再選對應的指標,並把選擇與理由寫進文件。宣稱『我們的系統是公平的』而不指明是哪個定義,是沒有意義的。」

Step 4:★ 找機制性原因(不要停在「模型有偏見」)

原因可檢驗的機制
★ Tokenizer 效率非拉丁語系每字 token 數高 → 有效上下文短、成本高、長文表現差。
這是一個可以直接量出來的具體原因(見 分詞與 BPE),比「有偏見」有用得多
訓練資料代表性某語言/某領域的資料量
評估集本身偏誤你的評估集只有英文,自然測不出問題
檢索語料的覆蓋RAG 的知識庫本身就不含某些群體的資訊
護欄的訓練資料分類器在某些方言上誤判率高

Step 5:修復與持續監控

分群體的線上指標 + 定期重稽核 + 把發現變成回歸測試(見 上線閘門與線上評估 的子群 gate)。

⚠️ 注意 / 什麼時候不適用

  • ★ 稽核本身可能需要收集敏感屬性 —— 這是個真實的兩難。優先用反事實測試與專門評估集,避免對真實使用者做屬性推斷。
  • PII 偵測不會 100%。要有縱深:偵測 + 最小化 + 存取控制 + 保留期限,不能只靠偵測。
  • 假名化的對應表本身是最敏感的資產,要單獨保護。
  • 刪除要能真的刪掉:日誌、快取、向量索引、備份、下游資料倉儲——「刪掉主表」不算刪除。
  • 紅隊找不到問題不代表沒問題。它是下界,不是保證。
  • 法規因地而異(GDPR、HIPAA、各地個資法、AI 法規)。這一頁是工程觀點,不是法律意見——高風險領域要有法務參與。
  • 不要為了公平性犧牲所有群體的品質。「把好的拉下來」通常不是使用者要的結果。

🧪 我實際套用的紀錄

  • 2026-09-20:從面試題庫展開。待辦:確認日誌與快取這兩處有沒有做 PII 處理(最容易漏的兩個)。

🔗 相關