助力數據安全:螞蟻攜手英特爾共同打造驗證PPML解決方案

機器學習(ML)和深度學習(DL)在衆多真實的應用場景中愈發重要。這些模型使用已知數據進行訓練,並部署在圖像分類、內容推薦等場景中進行新數據的處理。總體而言,數據越多,ML/DL 模型就越完善。但囤積和處理海量數據也帶來了隱私、安全和監管等風險。 隱私保護機器學習(PPML)有助於化解這些風險。其採用加密技術差分隱私、硬件技術等,旨在處理機器學習任務的同時保護敏感用戶數據和訓練模型的隱私。 在英特爾® 軟件防護擴展(英特爾® SGX)和螞蟻集團用於英特爾® SGX 的內存安全多進程用戶態操作系統 Occlum 的基礎上,螞蟻集團與英特爾合作搭建了 PPML 平臺。在本篇博客中,我們將介紹這項運行在 Analytics Zoo 上的解決方案,並展示該解決方案在第三代英特爾® 至強® 可擴展處理器上得到英特爾® 深度學習加速(英特爾® DL Boost)技術助力時的性能優勢。

英特爾® SGX 是英特爾的受信任執行環境(TEE),它提供基於硬件的內存加密,隔離內存中的特定應用代碼和數據。英特爾® SGX 使得用戶層代碼可以分配內存中的受保護區域,即 “飛地”,這些區域不受更高權限等級程序運行的任何影響(如圖一所示)。

圖一 通過英特爾® SGX 加強防護

與同態加密和差分隱私相比,英特爾® SGX 在操作系統、驅動、BIOS、虛擬機管理器或系統管理模型已癱瘓的情況下仍可幫助防禦軟件攻擊。因此,英特爾® SGX 在攻擊者完全控制平臺的情況下仍可增強對隱私數據和密鑰的保護。第三代英特爾® 至強® 可擴展處理器可使 CPU 受信任內存區域增加到 512GB,使得英特爾® SGX 技術能夠爲隱私保護機器學習解決方案打下堅實的基礎。

2014 年正式成立的螞蟻集團服務於超 10 億用戶,是全球領先的金融科技企業之一。螞蟻集團一直積極探索隱私保護機器學習領域,併發起了開源項目 Occlum。Occlum 是用於英特爾® SGX 的內存安全多進程用戶態操作系統(LibOS)。使用 Occlum 後,機器學習工作負載等只需修改極少量(甚至無需修改)源代碼即可在英特爾® SGX 上運行,以高度透明的方式保護了用戶數據的機密性和完整性。用於英特爾® SGX 的 Occlum 架構如圖二所示。

圖二 用於英特爾® SGX 的 Occlum 架構(圖片來源:Occlum · GitHub)

Analytics Zoo 賦能端到端 PPML 解決方案

Analytics Zoo 是面向基於 Apache Spark、Flink 和 Ray 的分佈式 TensorFlow、Keras 和 PyTorch 的統一的大數據分析和人工智能平臺。使用 Analytics Zoo 後,分析框架、ML/DL 框架和 Python 庫可以在 Occlum LibOS 以受保護的方式作爲一個整體運行。此外,Analytics Zoo 還提供安全數據訪問、安全梯度與參數管理等安全性功能,賦能聯邦學習等隱私保護機器學習用例。端到端 Analytics Zoo PPML 解決方案如圖三所示。

圖三 端到端 PPML 解決方案爲金融服務、醫療衛生、雲服務等應用領域提供安全分佈式計算

在 Analytics Zoo PPML 平臺上,螞蟻集團與英特爾共同打造了一個更加安全的分佈式端到端推理服務流水線(如圖四所示)。 該流水線採用 Analytics Zoo Cluster Serving 打造,後者是輕量級分佈式實時服務解決方案,支持多種深度學習模型,包括 TensorFlow、PyTorch、Caffe、BigDL 和 OpenVINOTM。 Analytics Zoo Cluster Serving 包括 web 前端、內存數據結構存儲 Redis、推理引擎(如面向英特爾® 架構優化的 TensorFlow 或 OpenVINO™ 工具套件),以及分佈式流處理框架(如 Apache Flink)。 推理引擎和流處理框架在 Occlum 和英特爾® SGX “飛地” 上運行。web 前端和 Redis 受到傳輸層安全(TLS)協議加密,因此推理流水線中的數據(包括用戶數據和模型)在存儲、傳輸、使用的過程中都受到更多地保護。

圖四 推理服務流水線

共創美好未來:英特爾® DL Boost 加速端到端 PPML 解決方案

1.該解決方案執行如下端到端推理流水線: RESTful http API 接收用戶輸入,Analytics Zoo pub/sub API 將用戶輸入轉化成輸入隊列,並由 Redis 管理。用戶數據受加密保護。 2.Analytics Zoo 從輸入隊列中抓取數據。它在分佈式流處理框架(如 Apache Flink)上採用推理引擎進行推理。英特爾® SGX 使用 Occlum 來保護推理引擎和分佈式流處理框架。英特爾® oneAPI 深度神經網絡庫(oneDNN)利用支持 Int8 指令集的英特爾® DL Boost 提高分佈式推理流水線的性能。 3.Analytics Zoo 從分佈式環境中收集推理輸出,並送回到由 Redis 管理的輸出隊列。隨後,解決方案使用 RESTful http API 將推理結果作爲預測返回給用戶。輸出隊列中的數據和 http 通信內容都被加密。

性能分析

Analytics Zoo PPML 解決方案的性能進行了驗證。

表一 測試配置

圖五爲測試結果。與不受英特爾® SGX 保護的推理流水線相比,當推理解決方案受到英特爾® SGX 保護,ResNet50 推理流水線的吞吐量會有少許損失。而採用支持 INT8 指令集的英特爾® DL Boost 後,受英特爾® SGX 保護的推理流水線吞吐量翻了一番。

圖五 英特爾® SGX、英特爾® DL Boost 和第三代英特爾® 至強® 可擴展處理器提供高性能安全能力

基於英特爾® SGX 打造的 Analytics Zoo PPML 解決方案繼承了受信任執行環境(TEE)的優點。和其它數據安全解決方案相比,它的安全性和數據效用性十分突出,性能方面僅略遜於純文本。英特爾® DL Boost 和英特爾® oneDNN 則進一步提升了 Analytics Zoo PPML 推理解決方案的性能。表二總結了該解決方案(TEE)相對於同態加密(HE)、差分隱私(DP)、安全多方計算(MPC)和純文本的優勢。

表二 Analytics Zoo PPML 解決方案(TEE)與其他方案的比較

總結

在日益複雜的法律和監管環境中,對於企業和組織來說,保護客戶數據隱私比以往任何時候都更加重要。在隱私保護機器學習的助力下,企業和組織就能在繼續探索強大的人工智能技術的同時,面對大量敏感數據處理降低安全性風險。 Analytics Zoo 隱私保護機器學習解決方案基於 Occlum、英特爾® SGX、英特爾® DL Boost 和 Analytics Zoo 打造,爲助力確保數據的安全性和大數據人工智能工作負載性能提供了平臺解決方案。螞蟻集團和英特爾共同打造並驗證了這一 PPML 解決方案,並將繼續合作探索人工智能和數據安全性領域的最佳實踐。

測試配置

系統配置 :2 節點,雙路英特爾® 至強® 鉑金 8369B 處理器,每路 32 核心,超線程開啓,睿頻開啓,總內存 1024 GB(16 個插槽/ 64GB/ 3200 MHz),EPC 512GB,SGX DCAP 驅動程序 1.36.2,微代碼: 0x8d05a260,Ubuntu 18.04.4 LTS,4.15.0-112-generic 內核,英特爾截至 2021 年 3 月 20日的測試。

軟件配置:LibOS Occlum 0.19.1,Flink 1.10.1,Redis 0.6.9,OpenJDK 11.0.10,Python 3.6.9.

工作負載配置:模型:Resnet50,深度學習框架:Analytics Zoo 0.9.0,OpenVINOTM 2020R2,數據集:Imagenet,BS=16/實例,16 個實例/雙路,數據類型:FP32/INT8.

所有性能數據均爲實驗室環境下測試所得。

本週推薦閱讀

更多文章請掃碼關注“金融級分佈式架構”公衆號

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章