Angel:深度學習在騰訊廣告推薦系統中的實踐

導讀: Angel是騰訊自研的分佈式高性能的機器學習平臺,支持機器學習、深度學習、圖計算以及聯邦學習等場景。Angel的深度學習平臺已應用在騰訊的很多個場景中。所以今天會爲大家介紹Angel:深度學習在騰訊廣告推薦系統中的應用實踐,介紹的內容會圍繞着下面幾點展開。

  • Angel機器學習平臺
  • 廣告推薦系統與模型
  • 模型訓練和優化
  • 優化效果

01 Angel機器學習平臺

1. Angel機器學習平臺架構

Angel機器學習平臺是騰訊自研的基於傳統Parameter Server架構的高性能分佈式的機器學習平臺如圖1所示,詳細架構圖如圖2所示。它是一個全棧機器學習平臺,支持特徵工程、模型訓練、模型服務、參數調優等,同時支持機器學習、深度學習、圖計算和聯邦學習等場景。已經應用在衆多業務如騰訊內部廣告、金融和社交等場景,吸引了包括華爲、新浪、小米等100多家外部公司的用戶和開發者。

Fig1 Angel機器學習平臺

Fig2 Angel機器學習平臺架構圖

Angel機器學習平臺設計時就考慮到了很多問題,首先是易用性,Angel機器學習平臺編程接口簡單,可快速上手使用,支持訓練數據和模型的自動化切分,減少用戶的干預,簡單易用。然後是可擴展性方面,Angel提供了PsFun接口,繼承特定的類可實現自定義參數更新邏輯和自定義數據格式和模型切分方式等。之後是靈活性,Angel實現了ANGEL_PS_WORKER和ANGEL_PS_SERVICE兩種模式,ANGEL_PS_WORKER模式下模型的訓練和推理服務由Angel平臺自身的PS和Worker完成,這種模式主打速度。而ANGEL_PS_SERVICE模式下,Angel只啓動Master和PS,具體的計算交給其他計算平臺(如Spark,TensorFlow)負責,Angel只負責提供Parameter Server的功能,主打生態來擴展Angel機器學習平臺的生態位。Angel通信模式支持BSP、SSP、ASP等通信協議,滿足各種複雜的實際通信環境的要求。最後是穩定性,Angel的PS容錯採用CheckPoint模式,Angel每隔一段時間會將PS承載的參數寫入到分佈式存儲系統中,如果某個PS實例掛掉,PS會讀取最後一個CheckPoint重新進行服務。Angel的Worker容錯方面,如果Work掛掉,Master會重新啓動一個Work實例,該實例會從Master上獲取掛掉時參數迭代信息。Angel的Master任務信息也會定期存儲到分佈式存儲系統中,如果Mater掛掉,會藉助Yarn Master重啓機制重新拉起一個Master並加載信息從之前的斷點開始任務。Angel還有有慢work檢測機制,如果某個Work運行過慢其任務會被調度到其他的Work上進行。

原文鏈接:【https://www.infoq.cn/article/INYH6QNt6xpusrhr3wAE】。未經作者許可,禁止轉載。

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