微軟推EzPC框架:在AI模型驗證中增強數據安全性
在數據科學領域工作過的人都知道,開發一個人工智能模型通常可以概括為3 個階段:訓練、驗證和測試。在測試模型的準確性時,選擇驗證集來調整超參數(hyperparameters)時,通常有很多考慮。
為了進行準確的模型評估,企業傾向於使用一部分真實數據進行驗證,但自然會有很多安全和隱私方面的考慮,特別是在處理個人身份信息(PII)方面。
如果你的模型是由一個外部公司開發的,你基本上有兩個選擇。要么該公司與你分享其模型,這將對其知識產權保護構成風險;要么你與他們分享你的真實數據,這對你來說是一種隱私風險,也可能導致模型對真實數據過度擬合。在做出這兩種困難的選擇時,也有很多法律障礙需要跳過。因此,雖然企業希望盡快採用人工智能,但在處理數據時,模型開發過程無論是內部還是外部,他們都面臨著挑戰。
為了解決這個問題,微軟正在研究一個名為EzPC 的新框架,它代表著“輕鬆安全的多方計算”。從本質上講,EzPC 是基於安全的多方計算(MPC)的。MPC 使多方能夠使用加密技術聯合計算一個函數,而不向對方透露他們的數據。
雖然MPC 已經存在多年,但事實證明它很難實現,因為在計算多個函數時,使其具有可擴展性和高效性的挑戰。EzPC 通過使用MPC 作為構建塊來解決這些問題,並使開發者–不僅僅是密碼學專家–能夠在此基礎上進行擴展。
微軟表示
EzPC 的核心是兩項創新。
● CrypTFlow 模塊化編譯器
將用於ML 推理的TensorFlow 或Open Neural Network Exchange(ONNX)代碼作為輸入,並自動生成類似C 的代碼,然後可以將其編譯為各種MPC 協議。這個編譯器既是“MPC感知”的,也是優化的,確保了MPC 協議的高效和可擴展。
●高性能的加密協議
第二個創新是一套高性能的加密協議,用於安全地計算複雜的ML函數。
微軟吹噓說,EzPC 在與斯坦福大學研究人員的測試中實現了“有史以來第一次對生產級人工智能模型的安全驗證”,從而證明你不需要分享數據來進行驗證。儘管微軟的EzPC模型在“兩個標準的雲端虛擬機”上用了15分鐘做帶有驗證元素的安全推理–這比普通推理要長3000 倍,但該公司表示,這並不重要,因為計算並行可以解決這個問題。
根據目前的方法,驗證集中的500 多個圖像在五天的時間內完成了推理,總成本不到100 美元。微軟聲稱,如果所有的數據都是並行運行的,它可以在15 分鐘內完成對整個集合的推理。你可以在這裡發表的論文中探討這些發現。