從0到1到無窮,vivo大規模機器學習實踐
相信大家都對IT大廠的機器學習應用的建設很感興趣,如果有技術大咖們能夠從零開始和大家詳細分享一下他們大規模機器學習實踐,是不是一件再好不過的事情了。2017年10月19日-21日,由IT168主辦的第九屆系統架構師大會,就邀請到了vivo網際網路演算法團隊負責人李珂和我們分享vivo從0到1再到無窮的機器學習實踐。
▲vivo網際網路演算法團隊負責人 李珂
機器學習演算法在vivo落地的時候,李珂團隊遇到了所有初創團隊都會遇到的問題——人少坑多技術弱。當時整個vivo網際網路演算法團隊只有李珂和應屆畢業生兩個人,但是他們克服了這些種種困難在2016年推出了第一代解決方案架構。
這個解決方案很好的利用了現有大資料架構,不僅對演算法團隊的技能要求單一,而且對於工程團隊的要求也很低,出錯的機率也較小。但是由於離線預測,很多實時特徵用不了,而且離線訓練,模型更新也較慢,使用Spark進行訓練,可選模型少,效率低,訓練資料的規模有瓶頸。
為了解決第一代離線使用的弊端,vivo網際網路演算法團隊在2017年上半年推出了第二代解決方案。與第一代相比,第二代最顯著的特點就是實現了實時預測和線上訓練,不僅能夠使用上下文,時間等場景資訊,而且能夠學習新廣告,適應概念漂移。
但是第二代解決方案大量使用實時資料,工程端承擔線上預測部分開發,出錯的可能性增大,而且演算法迭代涉及大資料和工程改動,成本高週期長。李珂表示在第二代解決方案開發的過程中得到了重要的經驗,實時特徵工程一定要存原始資料,客戶端上傳日誌的時候要透傳預測的CTR和requestID,模型要先做線下驗證,不光是整體的,還要單個item的。
現在vivo使用的是第三代解決方案,這個方案主要增加了召回模組,支援多條拉鍊的並行召回,支援離線或者線上更新拉鍊,支援灰度拉鍊熱拔插。據李珂介紹該解決方案主要應用在vivo資訊流推薦、關聯廣告和搜尋廣告等業務中。
李珂認為現在的解決方案也不是完美的,還存在很多不足,主要問題還是出在Spark上,Spark不支援FM,DNN等業界較先進的模型,而且因為沒有Parameter Server,executor的CPU利用率最多到30%。所以未來會考慮選擇TensorFlow CPU Cluster來做替補,通過Kubernetes+Docker彈性部署。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31137683/viewspace-2154041/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 學習seo如何從0到1
- gtest學習教程(從0到1)
- 從Spark MLlib到美圖機器學習框架實踐Spark機器學習框架
- Python從0到1的學習之道Python
- 從0到1,如何在6周內成為機器學習工程師機器學習工程師
- 從0到1實現PromisePromise
- 雲開發實踐:從 0 到 1 帶你玩 AIAI
- 《從0到1學習Flink》—— 如何自定義 Data Source ?
- Flink 從 0 到 1 學習 —— 如何自定義 Data Sink ?
- PHash從0到1
- 從0到1開發實戰手機站(二):Git提交規範配置Git
- Flink 從 0 到 1 學習 —— Flink 配置檔案詳解
- 從0到1實現VueUI庫思路VueUI
- node專案從0到1實戰
- 從0到1,資料治理一週年大紀實
- 測試開發:從0到1學習如何測試API閘道器API
- 0到1,Celery從入門到出家
- [譯] Flutter 從 0 到 1Flutter
- 從0到1實現一個簡單計算器
- RecyclerView從認識到實踐(1)View
- 從 0 到 1:我的 Flutter 技術實踐 | 掘金技術徵文Flutter
- 【機器學習】--Adaboost從初始到應用機器學習
- 《從0到1學習Flink》—— Flink 讀取 Kafka 資料批量寫入到 MySQLKafkaMySql
- 大規模機器學習在愛奇藝視訊分析理解中的實踐機器學習
- webpack從0到1超詳細超基礎學習教程Web
- 吳恩達機器學習筆記 —— 18 大規模機器學習吳恩達機器學習筆記
- 從0到1搭建DeltaLake大資料平臺大資料
- 從 0 到 1 認識 TypescriptTypeScript
- 工業「嫁衣」,從0到1
- 《從 0 到 1:搭建一個完整的 Kubernetes 叢集》實踐踩坑
- 從0到1搭建域名郵件伺服器伺服器
- 【機器學習篇】--SVD從初始到應用機器學習
- 【機器學習】--xgboost從初識到應用機器學習
- vivo大規模Kubernetes叢集自動化運維實踐運維
- vivo大規模 Kubernetes 叢集自動化運維實踐運維
- 做產品,選擇從0到1還是從1到N?
- Hadoop 從 0 到 1 學習 ——第一章 Hadoop 介紹Hadoop
- Flink 從 0 到 1 學習 —— 第一章 Flink 簡介