做爲中國線上線下最大的零售商,京東擁有超過 3 億的活躍用戶,數十億的商品。所以海量數據的高效處理和用戶數據的深度洞察是京東面臨的重要課題。「用戶分層、交叉營銷、人羣定向是咱們在數據應用領域的三個重要場景」,鄭瑞峯在演講時表示:「首先在用戶分層上,京東結合互聯網時代營銷學理論與京東多渠道海量數據自身特色,獨創了用戶 4A 成長模型,將用戶劃分爲Awareness、Appeal、Action 和 Advocacy 四種狀態,經過咱們打造的智贏服務,更好地幫助廣告主進行效果分析和人羣資產沉澱;其次京東基於 Spark 的模式挖掘算法,分析出最佳的交叉營銷建議,而且針對現有算法的缺點,加強了 Lift 指標的計算和通用規則模式的挖掘;最後基於京東海量數據進行消費者購買預測,詳細描述了召回 - 排序 - 投放的數據流程」。算法
在不斷實踐的同時,JDIAL 還對 Spark 作出了諸多深度改進,總結了一系列有價值的經驗。主要包括:重構了諸多已有算法以支持 Multi-Column Parallelization,在輸入列較多的狀況下,運行效率提高了 10 倍以上,這些改進已被社區採納;另外經過全面比較 RDD 和 DataFrame/Dataset,首次明確指出 DataFrame/Dataset 並非 Silver Bullet,在某些場景下其效率反而弱於 RDD,並進一步詳細分析了二者各自的適用場景。微信
與此同時,鄭瑞峯指出了 MLlib 機器學習算法庫三個亟待改進的方面:框架
第一,算法須要支持 Warm Start,這將大大提升 Convergence Ratio,支持 Continuous Training,並將加強解的穩定性(特別是在非凸問題中);機器學習
第二,算法須要支持 Callback,這可支持 Model Checkpointing 從而減少非可預見性 Crush 對長時間訓練的影響,並支持 Early Stopping 從而避免過擬合和發散時浪費的計算開銷;學習
第三,算法須要支持 Compact Numeric Format,機器學習算法的容錯性在大部分狀況並不須要以雙精度形式存儲數據和模型,單精度甚至半精度每每足以知足需求,這將大大減小算法的內存開銷並提升計算效率。大數據
據鄭瑞峯介紹,在 ALS 算法上,JDIAL 自主研發了支持 Warm Start 的版本,將訓練效率提高 40% 左右,並經過支持 Model checkpointing 提高了運行的穩定性。在機器學習的核心算法 -GBM 算法上,JDIAL 建立並開源了新項目 SparkGBM,其徹底兼容 MLlib Pipeline,融合了 Spark-GBT、XGBoost 和 LightGBM 各家之長。SparkGBM 採用原生 Spark 做爲底層計算引擎,有效避免了 XGboost 和 LightGBM 等異構 ML 框架帶來的數據在不一樣框架下的 Double Caching 問題、難以對異構框架進行資源監控、須要額外的部署維護成本等一系列問題。SparkGBM 同時也包含了一系列效率優化的努力,如針對海量數據設計了 Partition-Based Sampling 以提高採樣效率,根據數據狀況自動選擇最佳的 Histogram 存儲格式,採用 Histogram Subtraction 技術減小通訊開銷等,經過這一系列的優化,使 SparkGBM 的訓練效率達到 Spark-GBT 的 2~4 倍。優化
京東智能廣告實驗室 (JDIAL) 隸屬京東商業提高事業部,主要從事智能廣告相關的基礎研究和應用研究,研究範疇涵蓋視頻圖像、NLP、大規模機器學習、深度學習、推薦技術、廣告機制等多個領域。實驗室成員包括有學術能力的碩士、博士研究生,以及經由實驗室招募的優秀學者、在行業內和學術圈內有技術影響力的科學家。目前京東智能廣告實驗室累計擁有研究成果幾十項,其中多個項目榮獲京東集團技術創新獎項,多篇論文被國內外知名學術機構收錄。設計