《2019年微博在線機器學習和深度學習實踐.pdf》由會員分享,可在線閱讀,更多相關《2019年微博在線機器學習和深度學習實踐.pdf(34頁珍藏版)》請在三個皮匠報告上搜索。
1、微博在線機器學習和深度學習實踐目錄1.推薦篇2.平臺篇3.總結篇1目錄推薦場景推薦在線機器學習深度學習平臺背景平臺架構平臺效果微博技術里程碑微博業務生態推薦篇APPLICATION推薦場景、在線機器學習和深度學習1 11 推薦場景 信息流熱門流視頻流關系流 推薦流圖片推薦流正文推薦流視頻推薦流1 推薦場景 推薦在特定場景下,根據用戶行為和特點,向用戶推薦感興趣的對象集模型:趨勢實時化:在線機器學習深度化:深度學習平臺化:機器學習平臺2 推薦 實時化特征實時化:更及時反饋用戶行為,更細粒度刻畫用戶模型實時化:根據線上樣本實時訓練模型,及時地反映對象的線上變化模型推理預測服務實時特征實時數據3 在
2、線機器學習實時樣本實時模型訓練實時更新參數Task訓練預處理Node實時樣本拼接Node在線模型訓練Node離線樣本拼接Node在線模型評估Node模型上線Node實時特征處理Node離線特征處理TaskKafka輸入inputprocessprocessoutputWeiFlow工作流Task模型訓練Task模型訓練TaskMetrics輸出3 在線機器學習-工作流互動行為日志數據處理點擊行為日志閱讀行為日志曝光行為日志數據過濾樣本拼接定時輪詢KafkaHdfs樣本輸出3 在線機器學習-實時樣本生成 多流拼接曝光,互動,點擊,真實閱讀等多種數據流接入并多流拼接 如何解決日志延時問題延遲等待機
3、制,先到先走定時輪尋,最長N分鐘等待Kafka 堆積監控,實時報警 如何解決內存問題調整內存參數關閉多余的監控點 如何異常處理自動化監控與修復系統Checkpoint 節點異常修復3 在線機器學習-實時樣本生成在線機器學習模型訓練:Flink/Blink+WeiPS樣本生成和特征處理1.配置化2.多標簽樣本3.支持高維HASH訓練預處理1.標簽選擇2.標簽UDF3.樣本過濾4.特征過濾模型訓練1.支持回歸和分類2.支持LR、FM、DeepFM等模型3.支持SGD、FTRL、Adagrad等優化算法模型評估1.獨立模型評估2.配置化3.UI展示3 在線機器學習-實時模型訓練 模型選擇LR:基礎模
4、型,對特征工程依賴較強FM:大規模稀疏數據下的特征組合問題DeepFM 優化算法選擇FTRL:調節學習率,突出低頻特征,非batch優化Adagrad:調節學習率,突出低頻特征,實現簡單SGD:參數少,效率高,固定學習率 ID特征處理Hash:BKDRhash/CityHash,ID高維度稀疏+實時3 在線機器學習-實時模型訓練servingservingserverserverserverworkerModel Serving SystemServing PSTraing PSTraing Model SystemPredict ScoreSample Dataworkerworkerwor
5、ker3 在線機器學習-參數服務器servingservingservingserverserverserverserverserverworkerworkerworkerPSschedulerPSserverPSserverPSserverPSagentPSagentzookeeperPSproxyPSproxyPSsubmitFile SystemcheckpointModel Training SystemModel registerStatus set/getModel deleteModel SaveModel LoadHAFault tolerancecheckpointLocal
6、HDFSParam Server SystemModel Serving System3 在線機器學習-參數服務器 參數規模支持百億特征維度,千億參數 模型版本多模型多版本:多組實驗并行執行,提高實驗迭代效率在線版本切換:基于ZK的版本感知機制,動態進行版本切換,實現BASE模型的熱更新,實時訓練與離線訓練周期模型融合模型結構訓練與推理兼容:在線PS與離線PS模型結構兼容,自動模型參數轉換 穩定性優化模型快照:基于ps-scheduler的周期模型版本探測與保存,模型稀疏化分片存儲冷備容災:基于checkpoint機制(Local模式&Remote模式),實現參數服務的高可用,支持基于模型的異
7、構集群遷移,支持集群擴縮容 性能優化通信優化:數據請求(PULL&PUSH)聚合,同模型多矩陣并發,鎖粒度優化,性能提升5-10倍緩存優化:使用堆外內存與LRU過期機制,解決GC引起的性能損耗,性能提升3-5倍分區優化:支持多種分區策略(RANGE/HASH/MOD),解決數據傾斜導致的流量熱點瓶頸問題,性能提升2-5倍存儲優化:自定義存儲方式(ByRow&ByKey),基于row進行矩陣壓縮存儲,參數內存占用減少90%3 在線機器學習-參數服務器模型驗證離線訓練實時訓練模型訓練模型部署在線服務離線驗證在線發布在線驗證在線一致性/模型穩定性/一鍵打包端口探測藍綠部署/灰度發布AUC/準確率/召
8、回率/流量切換版本更新全量發布 verson1verson2kubenetes/olsubmit模型庫3 在線機器學習-模型服務部署 模型評估模型上線部署前指標評估周期使用驗證樣本進行點擊率預估待部署模型與線上模型進行指標對比,評估是否滿足上線條件 一鍵部署基于K8S的deployment模式,一鍵端口分配與模型服務部署基于ZK的服務發現,一鍵進行流量灰度與發布 性能優化通信優化:特征請求與模型計算單元化,在線樣本格式壓縮計算優化:基于SSEAVX 指令優化3 在線機器學習-模型服務部署 模型更新頻次效果對比FM:數據越新,效果越好相同數據規模,時間越新,效果越好,且時間差距越大,差異越明顯月
9、級規模數據,時間相差一周,效果相差約3+%(隨數據規模增大,差距縮?。祿幠T酱?,效果越好月級數據規模相比周級數據模型,效果相差5+%在線和離線模型效果對比在線FM相比于離線FM,相關指標提升5+%完全在線初始化模型參數增量在線FM相比于離線FM,相關指標提升8+%增量在線FM:即依托于離線模型初始化在線FM模型參數3 在線機器學習-效果 深度化特征深度化:特征embedding模型深度化:深度學習模型,Wide&Deep;DeepFM4 深度學習物料粗排特征向量化基于Item2vec的博主召回和微博召回物料精排向量索引DSSM/FM/FFM生成博主與物料向量,采用向量進行召回特征向量化:I
10、tem2vec向量索引:FM/FFM/DSSM模型召回:DIN/DIEN/TDM模型召回融入用戶近期互動行為的深度模型召回單目標:LR-W&D-FM-DeepFM多目標:點擊FM+互動FM排序損失:DeepFM+Pair-Wise Rank Loss多目標融合點擊模型和互動模型單目標LR、W&D、FM和DeepFM等模型排序排序損失針對信息流業務場景,從點擊損失升級到排序損失,基礎模型為DeepFM,排序損失為BPR召回排序 深度學習模型訓練:WeiLearn樣本庫WeiLearn-深度學習模型訓練CTR樣本自然語言樣本視頻與圖像樣本樣本處理CTRNLP圖片視頻VGGYoloinception
11、resnetGRU LSTMWide&DeepDeepFMDeep Cross NetworkSpark超參數資源算法BERT配置Tensorflow4 深度學習-深度學習模型訓練 通信優化PS:BSP/SSP/ASP多種通信模式支持MPI&RingAllreduce:Horovod,使用 MPI替換grpc,同步通信模式;帶寬優化,增加延時;PS&MPI:DistributionStrategy API,統一分布式語義,解耦分布式架構與模型訓練框架使用FP16通信,使用FP32做計算,帶寬壓力降低一倍 IO優化多線程樣本并發讀取,樣本讀取與計算PIPELINE,實現計算與IO的overlap
12、4 深度學習-深度學習模型訓練 分布式模型推理框架:WeiServing異構CPU集群kubernetes/ol-submitRPC服務框架LR/GBDTDNN/DeepFM/W&D負載均衡/統一版本管理/動態加載/批量化機制特征映射Embedding數據處理異構GPU集群CNN業務應用模型服務框架排序模型服務多媒體分析服務自然語言分析服務集群調度層核心架構層算法模型層4 深度學習-分布式模型推理 推理性能優化 減少計算量:operator fusion/XLA/TVM/prune/float16/quantization 加快計算速度:batching/TensorRT/MPS/SSE/AV
13、X/Neon operator fusion 針對特定場景重寫耗時算子 重構tensorflow計算引擎 batching批量調度請求到GPU,增大并發和吞吐量4 深度學習-分布式模型推理 深度特征效果對比文本Embedding特征,相比于文本標簽,相關指標提升約3+%基于word2vec、bert等生成embedding向量,提高了語義編碼的準確性,降低了訓練成本指標提升主要來源于Embedding特征保留了更多原始信息,避免了標簽帶來的信息損失User/Item Embedding 協同召回Item2vec相比于傳統協同過濾MF等,稀疏樣本下表現極好同時該特征可用于排序部分特征輸入 深度模
14、型效果對比DeepFM相比于FM模型,相關指標提升4+%Wide&Deep相比于LR模型,相關指標提升5+%效果提升主要來源于Deep部分高階特征組合但同時對模型服務的性能要求更高4 深度學習-效果平臺篇PLATFORM平臺背景、平臺架構和平臺效果1 2 平臺背景-平臺化成本效率效果實時機器人力時間開發運行迭代規模深度1 平臺背景算法/模型計算數據/特征存儲基礎/IDE業務調度集群2 平臺架構計算機器學習平臺Feed排序推薦流文本分類/檢測Hadoop/Spark集群數據倉庫集群高性能GPU集群Hdfs/OdpsTensorFlow/Caffe圖像/視頻分類阿里云計算集群實時計算集群業務Sto
15、rm/FlinkYarn/K8s調度Docker存儲PS/WeiPS基礎/IDE(WeiIDE)開發套件控制臺控制中心算法/模型(WeiFlow)模型訓練/評估樣本庫模型庫模型服務/推薦引擎數據/特征(WeiData)數據/特征生成數據/特征存儲數據/特征服務2 平臺架構用戶微博曝光/閱讀點擊/互動Feed流排序數據樣本正樣本:曝光有互動負樣本:曝光無互動樣本數據推薦引擎業務引擎用戶特征女性,19-22歲,北京愛好娛樂,明星,高活躍特征數據數據樣本模型參數求解:損失函數誤差最?。禾荻认陆档鹊蠼饽P陀柧歐eiFlow控制臺實時計算實時統計,特征計算微博特征9點發布,帶視頻,北京,奧運,時事新
16、聞,高熱度批量計算靜態特征,批量統計,控制中心WeiIDE數據計算模型Y=f(x1,x2,xn)模型服務特征服務微博機器學習平臺灰度系統3 平臺效果 成本/效率建設平臺(業務A)業務開發模型開發特征工程建設平臺接入平臺(業務B)接入平臺業務開發模型開發特征工程3 平臺效果總結篇SUMMARY微博技術里程碑和業務生態1 32008年Hadoop2009年微博Feed2011年開放平臺2013年大數據2015年機器學習2016年機器學習平臺2017年大規模機器學習深度學習平臺2018年在線機器學習2019年在線深度學習1 微博技術里程碑關注/興趣分發/推薦生產/傳播優質內容普通用戶優質用戶潛力挖掘關系拓展內容理解興趣挖掘內容生產內容組織AI2 微博業務生態以微博之力,讓世界更美謝謝!