圆桌会回顾 | SecureBoost:挑战千万级别样本训练之性能提升篇
【私信獲取圓桌會視頻】
5月26日,FATE開源社區第九期圓桌會圓滿落幕。本次圓桌會,微眾陳偉敬為我們分享了SecureBoost:挑戰千萬級別樣本訓練之性能提升篇。
接下來帶大家回顧經典問答環節,為新老朋友答疑解惑。
?
問答環節
?
● Q1:
想問下fast-sbt在不同數據上和hetero-sbt對比?
● A1:
以fast sbt的mix模式為例,mix模式下,一代用guest的特征建樹,一代用host的特征建樹,以此往復,這樣很像是跑hetero-sbt時對特征做一個列采樣。我們在幾份樣例數據上測試fast-sbt,最終達到的效果是差不多的,但是fast-sbt它可能會需要多跑一些代數,最終才能達到hetero-sbt的效果。
● Q2:
為什么沒有使用lightGBM的優化呢,Xgboost只是lifewise,leafwise ?
● A2:
Xgboost是層優先的,layer-wise,是一層一層的構建的,lightgbm的是leafwise,lightgbm用到的goss, 直方圖相減FATE-1.6都是用到了的。
● Q3:
1.7的升級會在架構上和1.6有很大差別嗎?還是側重于訓練過程優化?
● A3:
4月圓桌我們有對1.7進行展望,有興趣可以去回顧(文末有鏈接),1.7fate-flow等會拆分,架構會有比較大的變動。
● Q4:
想問下sbt安全性問題,目前像mix模式, host方的完整樹結構是需要發給guest,這會不會有一定安全性問題。
● A4:
mix模式,host樹結構是不會發給guest的。
● Q5:
有沒有考慮實現密文下比大小的操作?這樣host就不需要回傳分裂點給guest。
● A5:
是在host做分裂點收益比較嗎?目前在同態加密的情況下,在host沒有辦法計算出分裂點收益,所以也就沒辦法進行比較了。
● Q6:
用eggroll來做的計算框架,用單機standalone的時候,按照我的CPU的核數來分配的,就是單機的,后來我變成集群模式的時候,也是相當于核數有幾臺就擴充了幾臺,總核數都利用上,但是在效果上發現訓練時長甚至比原來單機的時間還要長,不知道有沒有這方面的一個排查問題的思路?
● A6:
配置里面會有一些并發參數,有兩個參數,一個是 computing_partition: 數據的分塊,分了幾個partition;還有一個是task_cores:并行的時候,用上多少個核,如果沒有配上的話,確實有可能是跑得比較慢的,另外一個情況是集群模式下有調度和網絡傳輸開銷。
● Q7:
(接上一個問題)這兩個參數都是有配置的,而且配置了48,和我們的核數符合。
● A7:
在運行Hetero-SBT的時候,我們這邊也碰到一種情況,partition越大的時候,寫出的時候,每個partition就會涉及一個加密直方圖寫出的過程,這個過程每個partition根據key將結果分發到不同的nodemanager上,這是一個shuffle的過程。那么這種情況下涉及IO開銷和調度開銷。所以當你數據量不是很大,計算已經很快了,那增大partition可能會導致其他方面有出現瓶頸。
● Q8:
(接上一個問題)所以其實有的時候是需要去減少分區數量?
● A8:
是的,數據量比較小,或者計算性能提升到極致后,會導致有其他瓶頸的情況出現。
● Q9:
(接上一個問題)所以你建議的一個優化的方案就是說適當去減小分區數嗎?
● A9:
理論上來說計算和IO調度等消耗是有一個平衡點的,并不是無限的增大資源,就一定會提升速度。
?
以下為本次圓桌會的部分內容介紹,添加小助手可獲取詳細資料:
?
?
?
?
?
?
?
?
?
?
?
以上就是本次圓桌會互動環節內容。
想報名參與下一期的圓桌會?
或者對以上內容還有疑問,
私信獲取協助。
總結
以上是生活随笔為你收集整理的圆桌会回顾 | SecureBoost:挑战千万级别样本训练之性能提升篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 研究下DFD
- 下一篇: 情人节程序员用HTML网页表白【冬季雪花