閱讀333 返回首頁    go 技術社區[雲棲]


基於參數服務器(Parameter server)的PS-SMART算法

前天第二屆阿裏雲安全算法挑戰賽終於勝利結束了,得了個季軍,雖然名次不是最理想的,不過很高興能認識一大群數據達人,整個比賽的過程也很讓人享受。這次比賽過程中我在對網頁內容進行分析的時候,部分內容使用了基於Parameter Server的PS-SMART進行分析。我看了一下,好像其他隊伍都沒有用這個算法,就想給大家簡單介紹一下。

我用PS-SMART的原因主要要有2個:
1,節省資源,雖然PS-SMART跑起來感覺比較慢,不過很省資源,很適合這次算法賽(資源有限製)。
2,支持稀疏矩陣,可以直接對三元組轉化的K_V結果進行處理。
3,支持二分類,多分類和回歸,可以滿足多種需求。
大家在資源有限,而且對速度要求不是特別高的場景下可以多考慮一下PS-SMART,用起來結果還是不錯的。不過使用的PS-SMART時候要注意控製維度,如果稀疏矩陣的特征維度過大(我測試是超過25000),很容易發生錯誤。

以下是PAI上關於PS-SMART多分類的幫助:
PS-SMART多分類
PS是參數服務器(Parameter server)的簡稱。PS致力於解決大規模模型的離線、在線訓練任務。SMART是Scalable Multiple Additive Regression Tree的縮寫,是Gradient boosting decesion tree (GBDT)在PS上的一個實現。基於PS的Smart實現可以支持百億樣本、幾十萬特征的訓練任務,可以在上千個節點上運行,且有failover功能,穩定性好。同時,PS-Smart支持多種數據格式、訓練目標和評估目標,以及輸出特征重要性,並包含直方圖近似等加速訓練的優化。

快速上手
https://zos.alipayobjects.com/rmsportal/CqElMhULXnCHLwYfIgug.png
圖中我們使用訓練數據學習了一個PS-SMART多分類模型。輸出樁有3個,依次為

輸出模型:offlinemodel,接統一的預測組件,目前不支持輸出葉子節點編號
輸出模型表:依然是二進製格式,不可讀,是為了兼容已有PS-SMART預測組件,支持輸出葉子節點編號,評估指標等功能。但對數據格式有較多要求,體驗不佳,會逐漸改良或用其他組件代替。
輸出特征重要性表:特征的重要性,有三種重要性類型可選(詳見參數說明)

具體幫助請看幫助: 
https://help.aliyun.com/document_detail/42745.html?spm=5176.doc42747.6.548.L1ghS9#PS-SMART多分類

關於PS(Parameter Server)可以看這篇論文:
https://www.cs.cmu.edu/~muli/file/ps.pdf?spm=5176.doc42745.2.45.WdNXZm&file=ps.pdf

最後更新:2017-10-16 09:33:37

  上一篇:go  Gartner 2018 十大IT預測:未來5年IT專業人才需求縮減到75%
  下一篇:go  Java後端程序員1年工作經驗總結