1. 程式人生 > 其它 >The Non-IID Data Quagmire of Decentralized Machine Learning閱讀筆記

The Non-IID Data Quagmire of Decentralized Machine Learning閱讀筆記

簡介

機器學習演算法需要的資料往往會在不同的裝置上產生,並且將資料集中起來是非常困難的,因此,分散式計算就成為了一種可行性方案。但分散式的計算學習會出現各種各樣的問題,如下:

困難

  • 分散式訓練會導致不同裝置訓練出來的模型具有不同的分佈特性,例如小明喜歡貓,小紅喜歡狗,若進行圖片分類,小明的模型對識別貓的效果非常好,但識別狗的效果並不好。
  • 分散式訓練的不同訓練裝置之間會進行頻繁的通訊,而通訊時間對效能的影響十分嚴重

作者對以上的問題進行的非常細緻的研究,並提出了他們在實驗過程中的一些發現。

實驗發現

  • Label distribution skew很常見

    Label distribution skew:不同客戶端的\(P_i(y)\)

    分佈不同,\(P(x|y)\)分佈相同,即\(P_i(y)\)標籤分佈不同,而當\(y\)給定時,對應的特徵大概率都是\(x\).

    以MNIST資料集為例,Client1中含有90%的數字1圖片,其餘10%隨機;Client2中含有90%的數字7圖片,其餘10%隨機;即\(P_i(y)\)標籤分佈不同。而當給定識別結果7時,對應的特徵大概率都是7的特徵.

  • Label distribution skew對Depp Neural Network的影響十分嚴重

  • 資料the degree of skew對模型的影響十分嚴重,是一個決定性因素

解決方案:SkewScout

作者根據以上的困難與實驗發現,提出了一種解決方案:SkewScout

,SkewScout能夠:

  • 調整通訊頻率來調整模型的精度損失
  • 通過Group Normalization來有效提高準確率

SkewScout

Overview of SkewScout

作者將SkewScout設計為一個通用模組,可以與不同的分散學習演算法、ML訓練框架和ML應用程式無縫整合

SkewScout通過三個模組來實現兩個效果,最後達到目的:

  • Estimating the degree of skew. 在簡介的實驗發現中提到,the degree of skew對模型的影響十分嚴重,是一個決定性的因素。因此,為了知道這個資訊,SkewScout週期性地通過Model Traveling將模型從一個客戶端傳送到另一個客戶端中測試準確度accuracy. 由於我們已經知道該模型在其原始資料分割槽中的訓練精度accuracy,我們可以推斷在遠端資料分割槽中的精度損失accuracy loss
  • Adaptive communication control. 根據已經估計到的精度損失accuracy loss,SkewScout動態的調整通訊的次數,從而保證模型的質量。SkewScout將其看作一個最優化問題,該優化問題旨在最小化資料分割槽之間的通訊,同時將精度損失保持在合理的閾值內。

Details of SkewScout

Accuracy Loss

資料分割槽之間的Accuracy Loss代表了模型之間的差異。作者用[Gaia](Gaia Geo-Distributed Machine Learning Approaching LAN Speeds閱讀筆記 - Aegsteh - 部落格園 (cnblogs.com))研究了IID分佈和Non-IID分佈下,超引數選擇為=2%、5%、10%、20%時的Accuracy Loss. 作者發現,從IID分佈(Accuracy Loss平均0.4%)到Non-IID設定分佈(Accuracy Loss平均39.6%),Accuracy Loss急劇變化,而在Non-IID設定下,低閾值的準確度損失較小。

Communication Control

Communication Control的目標是保持模型質量,同時最小化資料分割槽之間的通訊。SkewScout通過解決一個優化問題來實現這一點,該問題旨在最小化通訊,同時將精度損失保持在一個小閾值以下,以便控制Non-IID資料分割槽導致的模型差異。Model Traveling估計精度損失後,SkewScout週期性地解決這個優化問題。目標函式:

\[\underset{\theta}{argmin} (\lambda_{AL}(max(0,AL(\theta) - \sigma_{AL})) + \lambda_{C}\frac{C(\theta)}{CM}) \]

\(AL(\theta)\)是引數為\(\theta\)的精度損失,\(C(\theta)\)是引數為\(\theta\)時的通訊次數,\(CM\)時整個模型的通訊費用,\(\lambda_{AL},\lambda_{C}\)是超引數.

思考

優點:

  • 通過Accuracy Loss量化了模型之間的差異性
  • 通過平衡通訊次數來保證模型質量,即保持了模型質量,又減小了通訊所需要的時間

缺點:

  • 只研究了Non-IID之中的Label Skew,對其他型別沒有進行研究
  • Model Traveling之間可採用梯度壓縮排行進一步嘗試

一些問題:

  • 通訊次數為什麼可以保證模型的質量