vivo互聯網機器學習平臺的建設與實踐

vivo 互聯網產品團隊 - Wang xiao
隨著廣告和內容等推薦場景的擴展 , 算法模型也在不斷演進迭代中 。業務的不斷增長 , 模型的訓練、產出迫切需要進行平臺化管理 。vivo互聯網機器學習平臺主要業務場景包括游戲分發、商店、商城、內容分發等 。本文將從業務場景、平臺功能實現兩個方面介紹vivo內部的機器學習平臺在建設與實踐中的思考和優化思路 。
一、寫在前面隨著互聯網領域的快速發展,數據體量的成倍增長以及算力的持續提升 , 行業內都在大力研發AI技術,實現業務賦能 。算法業務往往專注于模型和調參,而工程領域是相對薄弱的一個環節 。建設一個強大的分布式平臺,整合各個資源池,提供統一的機器學習框架,將能大大加快訓練速度,提升效率 , 帶來更多的可能性,此外還有助于提升資源利用率 。希望通過此文章,初學者能對機器學習平臺,以及生產環境的復雜性有一定的認識 。
二、業務背景截止2022年8月份,vivo在網用戶2.8億 , 應用商店日活躍用戶數7000萬+ 。AI應用場景豐富,從語音識別、圖像算法優化、以及互聯網常見場景,圍繞著應用商店、瀏覽器、游戲中心等業務場景的廣告和推薦訴求持續上升 。
如何讓推薦系統的模型迭代更高效,用戶體驗更好,讓業務場景的效果更佳,是機器學習平臺的一大挑戰,如何在成本、效率和體驗上達到平衡 。
從下圖可以了解到,整個模型加工運用的場景是串行可閉環的,對于用戶的反饋需要及時進行特征更新,不斷提升模型的效果,基于這個鏈路關系的基礎去做效率的優化,建設一個通用高效的平臺是關鍵 。
vivo互聯網機器學習平臺的建設與實踐

文章插圖
三、vivo機器學習平臺的設計思路3.1 功能模塊基于上圖業務場景的鏈路關系,我們可以對業務場景進行歸類,根據功能不同,通用的算法平臺可劃分為三步驟:數據處理「對應通用的特征平臺,提供特征和樣本的數據支撐」、模型訓練「對應通用的機器學習平臺,用于提供模型的訓練產出」、模型服務「對應通用的模型服務部署,用于提供在線模型預估」,三個步驟都可自成體系,成為一個獨立的平臺 。
本文將重點闡述模型訓練部分,在建設vivo機器學習平臺過程中遇到的挑戰以及優化思路 。
vivo互聯網機器學習平臺的建設與實踐

文章插圖
1.數據處理 , 圍繞數據相關的工作,包括采集、加工、標記和存儲 。
其中,采集、加工、存儲與大數據平臺的場景相吻合,標記場景是算法平臺所獨有的 。
  • 數據采集,即從外部系統獲得數據,使用Bees{vivo數據采集平臺}來采集數據 。
  • 數據加工,即將數據在不同的數據源間導入導出,并對數據進行聚合、清洗等操作 。
  • 數據標記 , 是將人類的知識附加到數據上 , 產生樣本數據,以便訓練出模型能對新數據推理預測 。
  • 數據存儲 , 根據存取的特點找到合適的存儲方式 。
2. 模型訓練,即創建模型的過程,包括特征工程、試驗、訓練及評估模型 。
  • 特征工程,即通過算法工程師的知識來挖掘出數據更多的特征,將數據進行相應的轉換后,作為模型的輸入 。
  • 試驗,即嘗試各種算法、網絡結構及超參,來找到能夠解決當前問題的最好的模型 。
  • 模型訓練,主要是平臺的計算過程,平臺能夠有效利用計算資源,提高生產力并節省成本 。
3.模型部署,是將模型部署到生產環境中進行推理應用,真正發揮模型的價值 。
通過不斷迭代演進,解決遇到的各種新問題,從而保持在較高的服務水平 。
4. 對平臺的通用要求,如擴展能力,運維支持,易用性 , 安全性等方面 。
由于機器學習從研究到生產應用處于快速發展變化的階段,所以框架、硬件、業務上靈活的擴展能力顯得非常重要 。任何團隊都需要或多或少的運維工作 , 出色的運維能力能幫助團隊有效的管理服務質量 , 提升生產效率 。
易用性對于小團隊上手、大團隊中新人學習都非常有價值 , 良好的用戶界面也有利于深入理解數據的意義 。
安全性則是任何軟件產品的重中之重,需要在開發過程中盡可能規避 。
3.2 模型訓練相關模型訓練包括了兩個主要部分,一是算法工程師進行試驗,找到對應場景的最佳模型及參數 , 稱之為“模型試驗” , 二是計算機訓練模型的過程,主要側重平臺支持的能力 , 稱之為“訓練模型” 。

推薦閱讀