Categories
程式開發

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


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

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

01 Angel機器學習平台

1. Angel機器學習平台架構

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

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

Fig1 Angel機器學習平台

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

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】。未經作者許可,禁止轉載。