日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Facebook开源差分隐私库Opacus,可保护数据隐私且高效训练Prytorch模型

發(fā)布時間:2023/11/23 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 Facebook开源差分隐私库Opacus,可保护数据隐私且高效训练Prytorch模型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  如何保護(hù)數(shù)據(jù)集隱私,是深度學(xué)習(xí)訓(xùn)練必須要解決的問題之一。

  近日,F(xiàn)acebook 開源了一個名為 Opacus 的高速庫,該庫可用于訓(xùn)練具有差分隱私的 PyTorch 模型。

  差分隱私(Differential Privacy ,簡稱 DP)是保護(hù)數(shù)據(jù)集隱私的重要工具。在此之前,谷歌、微軟等也陸續(xù)開源了其核心產(chǎn)品使用的差分隱私庫。

  不同的是,與現(xiàn)有方法相比,Opacus 具有可擴(kuò)展性,支持大多數(shù)類型的 PyTorch 模型,并且只需對神經(jīng)網(wǎng)絡(luò)進(jìn)行最少的代碼更改。同時它允許客戶端實(shí)時監(jiān)控任何給定時間花費(fèi)的隱私預(yù)算(Privacy Budget,DP 中的核心數(shù)學(xué)概念)。

  保護(hù)隱私的 Opacus 庫

  蘋果在 2016的開發(fā)者大會上首次提出了“差分隱私(DP)”的概念。即通過算法來打亂個體用戶數(shù)據(jù),讓任何人都不能憑此追蹤到具體的用戶,但又可以允許機(jī)構(gòu)成批分析數(shù)據(jù)以獲得大規(guī)模的整體趨勢用于機(jī)器學(xué)習(xí)。

  換句話說,DP 有效地限制了某些用于匯總數(shù)據(jù)集信息的算法。

  Facebook 在博客中稱,他們通過計算精確答案并添加隨機(jī)采樣噪聲來執(zhí)行計數(shù)查詢的差分隱私。以最簡單的形式,可以使用從拉普拉斯分布中提取的噪聲來實(shí)現(xiàn)隱私保護(hù)機(jī)制。

  同時,他們在此基礎(chǔ)上,引入差分私有隨機(jī)梯度下降算法(Differentially Private Stochastic Gradient Descent,簡稱,DP-SGD),該算法通過小批量隨機(jī)優(yōu)化過程,使其具有差分私有性。

  具體而言,Opacus 庫在保護(hù)數(shù)據(jù)隱私方面有以下特性:

  • 速度:通過利用 PyTorch 中的 Autograd Hook,Opacus 可以計算成批的單個樣本梯度,與微批量(Microbatching.)處理的現(xiàn)有 DP 庫相比,實(shí)現(xiàn)了數(shù)量級的加速。

  • 安全:Opacus 對其安全關(guān)鍵代碼使用加密的偽隨機(jī)數(shù)生成器,在 GPU 上對整批參數(shù)進(jìn)行高速處理。

  • 靈活性:Opacus 可以與 Pythorch 代碼和純 Python 代碼相互混合和匹配,來快速構(gòu)建工程師的想法原型。

  • 生產(chǎn)力:Opacus 附帶教程,在訓(xùn)練開始前警告不兼容層的幫助函數(shù),以及自動重構(gòu)機(jī)制。

  • 交互性:Opacus 可以跟蹤任何給定時間點(diǎn)花費(fèi)的隱私預(yù)算,從而能夠提早停止和實(shí)時監(jiān)控。

  Opacus 通過引入 Privacy Engine 抽象定義了一個輕量級 API,它既可以跟蹤隱私預(yù)算,也可以處理模型的梯度。

  同時,它的使用方法也非常簡單,無需調(diào)用,用戶只需要將 Opacus 附加到標(biāo)準(zhǔn)的 PyTorch 優(yōu)化器上,并在訓(xùn)練代碼的開頭添加以下代碼即可:

  訓(xùn)練后,生成的就是一個標(biāo)準(zhǔn)的 PyTorch 模型,沒有部署私有模型的任何額外步驟或障礙:在使用 DP 對其進(jìn)行訓(xùn)練之后部署,無需更改任何代碼。

  另外,Opacus 庫還包括了經(jīng)過預(yù)訓(xùn)練和微調(diào)的模型,用于大型模型的教程,以及用于隱私研究實(shí)驗的基礎(chǔ)結(jié)構(gòu)。

  高效訓(xùn)練的核心算法

  Opacus 能夠在保護(hù)每個訓(xùn)練樣本私密性的同時,限制對最終模型準(zhǔn)確性的影響。它通過修改標(biāo)準(zhǔn)的 PyTorch 優(yōu)化器來做到這一點(diǎn)。具體來說,是采用一種差分私有隨機(jī)梯度下降的算法。

  Facebook 在博客中稱,“該算法的核心思想是,我們可以通過干預(yù)模型來更新權(quán)重的參數(shù)梯度(而不是直接獲取數(shù)據(jù))來保護(hù)訓(xùn)練數(shù)據(jù)集的隱私。通過在每次迭代中將噪聲添加到梯度中,可以防止模型記住其訓(xùn)練示例,同時仍可進(jìn)行匯總學(xué)習(xí),(無偏)噪聲自然會在訓(xùn)練中看到的許多批次而抵消。

  需要強(qiáng)調(diào)的是,由于 PyTorch 優(yōu)化器可以查看參數(shù)梯度,因此,可以直接將噪聲添加到其中,并允許任何人簡單地訓(xùn)練差分私有模型,其代碼如下:

  此外,噪聲的定量問題是這一解決方案的關(guān)鍵。因為過多的噪聲會破壞信號,過少的噪聲將無法保證隱私。

  為了確定合適的比例,首先要查看小批量中梯度的最大范數(shù)。因為離群值比大多數(shù)樣本具有更大的梯度,需要確保這些異常值的私密性。

  通常研究人員會采用微批量(microbatch)的方法。該方法是在小批量處理中計算每個樣本的梯度,分別裁剪梯度,將其累積回單個梯度張量,然后將噪聲添加到總和中。該方法具有簡單性和兼容性和特點(diǎn),但計算每個樣本的梯度,限制了訓(xùn)練的速度。

  在這里,Opacus 采用了另一種更高效的解決方案。該方案由谷歌于 2015 年提出,其論文為《EFFICIENT PER-EXAMPLE GRADIENT COMPUTATIONS》,對于所有 ML 樣本而言,它可以計算整個批次的梯度向量,同時優(yōu)化性能。

  Facebook 在論文中表示,他們在訓(xùn)練標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò)時,采用該方法獲得了所有需要的梯度向量。該方法的不同之處在于,對于模型參數(shù),可以單獨(dú)返回給定批次中每個示例的損耗梯度,如下所示:

  通過在運(yùn)行各層時跟蹤一些中間數(shù)量,可以使用適合內(nèi)存的任何批次大小進(jìn)行訓(xùn)練,這種方法比其他軟件包中的微批量方法快一個數(shù)量級。

  安裝方法

  目前,這款 Opacus 高速庫已經(jīng)在 Github 開源。所有機(jī)器學(xué)習(xí)從業(yè)者和差異隱私科學(xué)家都可以下載使用。

  Github 地址:https://github.com/pytorch/opacus

  Facebook 表示,他們希望通過開發(fā) Opacus 之類的 PyTorch 工具,可以使對此類隱私保護(hù)資源的訪問民主化,同時通過使用 PyTorch 的更快,更靈活的平臺彌合了安全社區(qū)和通用機(jī)器學(xué)習(xí)工程師之間的鴻溝。

  用戶可以直接從 Github 安裝最新版本,代碼如下:

git clonehttps://github.com/pytorch/opacus.git

cd opacus

pip install -e .

  另外,需要注意的是,要使用差分隱私訓(xùn)練模型,需要聲明 PrivacyEngine,并將其附加到優(yōu)化器,再運(yùn)行,例如:

  引用鏈接:

  https://venturebeat.com/2020/08/31/facebook-open-sources-opacus-a-pytorch-library-for-differential-privacy/

  https://ai.facebook.com/blog/introducing-opacus-a-high-speed-library-for-training-pytorch-models-with-differential-privacy

  https://medium.com/pytorch/differential-privacy-series-part-1-dp-sgd-algorithm-explained-12512c3959a3

總結(jié)

以上是生活随笔為你收集整理的Facebook开源差分隐私库Opacus,可保护数据隐私且高效训练Prytorch模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。