在深度學習時代,算力的需求和消耗日益增加,如何下降算力成本,提升算力效率,逐漸成爲一個重要的新課題。智能算力旨在對算力進行精細化和個性化分配,實現最優化資源利用。本文主要分享美團外賣廣告在智能算力探索和實踐過程當中積累的經驗,但願能給你們帶來一些幫助或者啓發。前端
目前,美團外賣日訂單量已突破4000萬,成爲美團最爲重要的業務之一。外賣廣告服務也從最初的支撐單一業務線發展到如今的十餘條業務線,服務總體承受的流量日益增加,所消耗的機器資源也達到了必定的規模。算法
在外賣場景下,流量呈現明顯的雙峯結構,即午飯和晚餐兩個時段爲流量波峯,其他時段流量較小。在這種流量特色下,外賣廣告服務在高峯時段面臨較大的性能壓力,在非高峯時段存在大量算力冗餘,從全局來看,機器算力分配效率低,流量價值仍然具備較大的挖掘空間。一方面,流量消耗的算力沒有根據流量價值進行動態的分配,形成系統在高價值流量上算力分配不足,價值沒有獲得充分的挖掘,而在低價值流量上,卻存在浪費大量算力的現象;另外一方面,在非高峯時段,系統流量較低,致使系統的總體資源利用率偏低,限制了系統獲取更高的業務收益。後端
所以,算力須要進行更合理的分配來獲得更加高效的利用。當前業界對於動態算力分配的研究較少,以阿里巴巴定向廣告平臺的DCAF[1]爲表明,該方案根據流量價值進行差別化的算力分配,對不一樣價值的流量分配不一樣的候選隊列長度,實現有限資源約束下的收益最大化。DCAF提供了一種優秀的解決方案,但該方案在外賣廣告場景下存在必定的侷限性。安全
針對外賣廣告場景,外賣廣告技術團隊在DCAF方案的基礎上進行了一系列探索和改進,首次進行了隊列彈性分配和模型彈性分配相結合的嘗試,並取得了不錯的收益。一方面,在機器資源持平的狀況下,CPM能夠提高2.3%;另外一方面,在業務收益持平的狀況下,機器資源能夠減小40%,最後咱們在外賣列表廣告精排階段推全了機器資源持平的方案。架構
在外賣廣告投放引擎中,爲應對極大的在線流量壓力和龐大的候選集,咱們將整個檢索過程設計成候選集依次遞減的漏斗型級聯架構,主要包含召回、粗排、精排、機制等模塊。框架
實現智能算力的總體思路,是在系統算力容量約束下,對不一樣價值流量進行差別化算力分配,從而提升在廣告檢索過程當中的算力分配效率,實現收益的最大化。智能算力主要包括如下四個要素:運維
1. 流量價值量化:流量價值指流量爲平臺、廣告商家、用戶三方帶來的收益,系統須要具有量化流量價值的能力。異步
2. 流量算力量化:流量算力指流量在系統內消耗的機器資源,在外賣廣告場景下,流量消耗的算力和候選集大小、召回通道數量、模型大小、鏈路複雜度等系統變量緊密相關,一樣系統須要具有量化流量算力的能力。函數
3. 系統算力容量量化:系統算力容量指系統的機器資源總和,和流量算力量化的量綱一致,一般能夠經過壓測等手段獲取系統的算力容量;在系統算力分配過程當中,須要保證整體流量算力消耗不超過系統的算力容量。性能
4. 智能算力分配:基於以上三個要素,在廣告投放引擎全鏈路進行智能算力分配,咱們把算力分配的手段定義爲「彈性動做」,在外賣廣告場景下,咱們主要概括瞭如下四種動做:
彈性鏈路:在檢索鏈路上,不一樣價值流量能夠分配不一樣複雜度的檢索鏈路。
這些彈性動做的可選範圍,定義爲「彈性檔位」,如隊列長度100和200對應彈性隊列的兩個不一樣檔位。在智能算力下,算力的分配過程即彈性動做和彈性檔位的智能決策過程。
爲了讓智能算力在外賣廣告場景下落地,咱們主要面臨着以下的挑戰:
問題求解
系統穩定性保障
通用性&擴展性
通過工程團隊和算法團隊深度Co-Design後,咱們設計了一套多動做組合決策的智能算力框架。整個框架由決策組件、採集組件和調控組件組成,其中決策組件做爲智能算力框架的核心,以SDK形式嵌入應用服務,提供可複用可擴展的多動做組合最優檔位決策能力和系統穩定性保障能力,爲廣告投放引擎的各階段賦能;採集組件和調控組件爲系統穩定性保障提供支撐。下面主要對最優檔位決策和系統穩定性保障兩個模塊進行詳細介紹。
在業內已有彈性隊列求解方案的基礎上,咱們進行一系列探索和改進:
基於以上策略,咱們實現了多彈性動做組合最優化檔位決策。
現有方案
DCAF[1]將該問題轉化爲對應的對偶問題進行求解,獲得決策公式,實現彈性隊列分配。
方案改進
上述建模方案在外賣廣告場景中存在如下問題:
如圖所示,因爲檔位$j=j_0$的算力和價值已知,無需對不一樣模型的價值和算力進行預估,後續的流量價值預估和流量算力預估工做都面向彈性隊列便可。
如圖所示,最優檔位決策模塊分爲離線和在線兩個階段,包含以下四個子模塊:
流量價值預估是智能算力決策的核心,要求具有必定準確性。而線上進行模型預估會增長檢索鏈路耗時,咱們採用離線XGB模型預估+在線查找詞表的方案,既保證了預估的準確性,又足夠輕量。
價值評估指標選取:通常來講,流量價值指當前流量爲廣告平臺帶來的收入;在外賣廣告場景中,咱們關注平臺收入的同時,也關注商家的收入,所以咱們的流量預估的指標選定爲$k_1 * 平臺收入 + k_2 * 商家收入$。
如圖所示,流量價值預估模塊包含離線和在線兩個階段。
離線階段:
模型訓練
在線階段:
業內智能算力的落地以彈性隊列爲主,通常採用隊列長度做爲流量算力評估指標,而隊列長度做爲流量算力評估指標面臨如下兩個問題:
算力評估指標選取:爲了解決以上問題,咱們採用流量消耗的CPU時間做爲流量算力評估指標。
如圖所示,流量算力預估包括離線和在線兩個階段。
離線階段:
模型訓練
訓練過程:首先將樣本劃分到不一樣特徵分桶中(同一分桶中隊列長度不一樣,其餘特徵相同),而後分別對不一樣分桶擬合算力和隊列長度的關係。
在線階段:
1. 離線 λ 求解
基於價值預估和算力預估模塊,經過回放歷史流量,利用二分查找算法求解最優 λ。
離線 λ 求解的核心步驟是流量回放:經過重放歷史同時段流量,複用線上邏輯,爲每一個請求模擬決策當前 λ 下的最優檔位。
主要問題及解決方案
2. 在線檔位決策
在智能算力下,系統從等額算力分配轉換成動態算力分配,爲保障系統服務穩定性,咱們提供了熔斷降級等常規措施,還實現了基於系統狀態的PID實時調控功能。
PID(Proportion Integration Differentiation)是一個經過比例、積分、微分進行控制的主流控制算法,咱們經過對系統狀態的實時監控和變化感知,基於PID算法對系統狀態進行實時調控,保證系統狀態的穩定。
系統狀態一般能夠用系統的CPU/GPU利用率、QPS、RT(Avg、TP9九、TP999等)、調用失敗率(FailRate)等指標衡量。
調控目標
調控目標應該選取最可以快速反映出系統狀態變化的指標,基於這個原則,咱們選取了TP99九、FailRate、CpuUtils做爲調控目標。
調控策略
基於PID調控器,支持多種調控策略:
調控過程
智能算力接入PID實時調控後,在系統負載偏高時,能夠快速穩定有效的反饋調節,將系統性能保持在目標水位。
CPM | ROI | CTR | CVR | 機器資源 | |
---|---|---|---|---|---|
Baseline(系統算力容量=C) | +0.00% | +0.00% | +0.00% | +0.00% | +0.00% |
智能算力(系統算力容量=C) | +2.36% | -1.40% | +0.94% | +0.09% | +0.46% |
收益來源分析
CPM | ROI | CTR | CVR | 機器資源 | |
---|---|---|---|---|---|
Baseline(系統算力容量=C) | +0.00% | +0.00% | +0.00% | +0.00% | +0.00% |
智能算力(系統算力容量=60% * C) | +0.70% | -1.22% | +0.15% | +0.85% | -40.8% |
收益來源分析:
這篇文章主要從最優檔位決策和系統穩定性保障兩個方面,介紹了智能算力在外賣廣告從0到1建設過程當中的思考和優化思路。
將來在算法策略上,咱們將嘗試基於進化算法和強化學習算法,對系統全鏈路組合下的算力最優分配問題進行建模和求解;在引擎架構上,對系統仿真能力、在線決策能力和穩定性保障能力進行持續優化,同時嘗試和公司彈性伸縮系統相結合,發揮智能算力的更大價值。
[1] Jiang, B., Zhang, P., Chen, R., Luo, X., Yang, Y., Wang, G., ... & Gai, K. (2020). DCAF: A Dynamic Computation Allocation Framework for Online Serving System. arXiv preprint arXiv:2006.09684.
順輝、家宏、宋偉、國樑、乾龍、樂彬等,均來自美團外賣廣告技術團隊。
美團外賣廣告技術團隊大量崗位持續招聘中,誠招廣告後臺/算法開發工程師及專家,座標北京。歡迎感興趣的同窗加入咱們。可投簡歷至:maoshunhui@meituan.com(郵件主題請註明:美團外賣廣告技術團隊)
閱讀美團技術團隊更多技術文章合集
前端 | 算法 | 後端 | 數據 | 安全 | 運維 | iOS | Android | 測試
| 在公衆號菜單欄對話框回覆【2020年貨】、【2019年貨】、【2018年貨】、【2017年貨】等關鍵詞,可查看美團技術團隊歷年技術文章合集。
| 本文系美團技術團隊出品,著做權歸屬美團。歡迎出於分享和交流等非商業目的轉載或使用本文內容,敬請註明「內容轉載自美團技術團隊」。本文未經許可,不得進行商業性轉載或者使用。任何商用行爲,請發送郵件至tech@meituan.com申請受權。