百度大數據RecSys架構模式分析

百度作為國內最早發力大數據,人工智能領域的公司,很多大數據服務都走在國內的行業前列。今天詳細看了下百度提供的服務,覺得很多地方都值得我們學習借鑒。

百度大數據服務系統架構

平臺架構

RecSys提供了的服務包括:數據錄入,數據存儲系統,推薦策略離線計算,推薦索引,在線推薦。

對于用戶,需要提供以下數據:

  1. item相關信息,比如電影的meta信息。
  2. 用戶的行為日志,比如產品線的點展日志。

數據的提供和服務的使用都是通過Rest API,推薦策略生成,數據存儲管理對于用戶來說都是一個黑盒子,無需用戶干預。后臺使用Hbase來存儲和管理用戶提供的訓練數據,對于pb級別的數據,也只有Hbase這樣的分布式存儲解決方案才能滿足需求。

離線計算模塊提供了多種推薦算法的解決方案,每個算法的簡介,適用場景,優缺點,都在官網有著詳細介紹。

推薦算法介紹

用戶通過Rest API提交數據后,需要等待一定時間,整個系統會自動進行離線計算,生成推薦模型,也就是架構圖中的推薦索引系統。隨后用戶使用約定好的Rest API, 調用推薦服務。

平臺服務架構優缺點

優點:

  1. 操作簡單,整個平臺架構通過Rest API進行數據交換,服務調用,用戶無需關心復雜的算法實現, 不用去做性能調優,最大的簡化了項目開發人員的壓力。
  2. 所有數據,模型存儲在百度的分布式存儲平臺,用戶不用去關注數據存儲,負載均衡, 沒有服務器維護壓力。
  3. 對于百度來說,大量高質量的數據匯聚,存儲在自身云平臺,這些數據具備再次分析的價值。
  4. 平臺代碼,細節保密。由于現在流行的機器學習工具都使用Python, Python源碼可見,無法像C/C++這樣這樣的語言,把源代碼編譯成二進制文件,因此通過web services調用的方式,可以避免用戶直接接觸源碼。

缺點:

  1. 無法個性化定制,所有服務都被限定死了,無法根據實際需求更改。
  2. 如果后臺完全純自動化的進行模型訓練,沒有做特征工程,沒有模型調優,最終的準確率不會很高。
  3. 如果是敏感數據,不安全。

總體來說RecSys的推薦系統非常適合不具備人工智能開發能力,但對智能的推薦有著比較強烈需求的公司。其通用的架構模式,與傳統軟件服務模式的差別,也值得我們參考。

</br>
Reference

文中相關細節,截圖來自百度RecSys文檔。

http://recsys.baidu.com/recsys/doc?tpl=index&doc=SystemIntroduction&castk=LTE%3D#

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容