週三上午九點,3號會議室。
陳博士比林晨先到,正坐在會議桌旁翻看打印出來的實驗資料。幾頁A4紙上用紅色筆標註了密密麻麻的批註,看得出他昨晚花了時間。
陳博士抬起頭,表情看不太出喜怒,資料我看了,先說結論。
林晨坐下來,筆記本攤開。
離線結果不錯,效果和可解釋性同時提升,這個方向站得住。陳博士放下筆,但是——
他頓了一下,看著林晨。
離線結果不等於線上結果。你知道CTR在離線和線上之間的差異通常有多大嗎?
林晨想了想:離線和線上的CTR差異,受特徵偏移、資料分佈變化、以及使用者即時行為反饋的影響,通常會有10%到30%的衰減。
陳博士點頭,你的離線CTR提升1.5個百分點,線上可能在這個範圍上下浮動。即使考慮衰減,最終線上效果也應該在1到1.5個百分點之間。這個數字在推薦系統裡已經很不錯了,但前提是——線上表現真的跟離線一致。
他站起來,走到白板前,寫下三個詞:灰度、監控、回滾。
上線之前,你要回答我三個問題。他放下筆,看著林晨,第一,你的灰度方案是什麼?從多少流量開始,怎麼放量?第二,你的監控指標有哪些?出了問題怎麼第一時間發現?第三,你的回滾預案是什麼?如果線上指標崩潰,怎麼在最短時間內切回舊模型?
三個問題,像三記悶錘,砸得林晨的腦子嗡了一下。
他昨晚一直在想實驗資料,想消融實驗的結果,想超引數搜尋的策略——但他還沒有認真想過上線的事。在他的潛意識裡,模型訓練完了、效果驗證了,上線不就是部署一下的事嗎?
但他馬上意識到自己錯了。上線,才是最關鍵的一步。
在量化系統裡,他也走過同樣的路——回測結果再漂亮,實盤第一天就可能出現滑點、延遲、市場風格切換等回測無法預見的問題。推薦系統也是一樣,離線指標再好看,線上環境有無數的變數是實驗室裡模擬不了的。
第一,灰度方案。林晨迅速冷靜下來,翻開筆記本開始記錄,我的想法是——5%流量灰度三天,觀察核心指標;如果指標正常,10%流量再跑三天;然後30%、50%、100%,每次間隔兩到三天。整個灰度週期大約兩週。
陳博士沒有表態,繼續問:灰度使用者的選取策略呢?隨機分流還是按使用者特徵分層?
我傾向隨機分流,但需要排除新使用者和高活躍使用者兩類特殊群體。林晨說,新使用者的推薦策略跟老使用者差異很大,灰度期間不應該把新使用者納入實驗組。高活躍使用者對推薦結果更敏感,如果灰度組裡高活躍使用者佔比異常,可能會放大效果。
陳博士微微點頭,示意他繼續。
第二,監控指標。林晨在筆記本上畫了一個分層圖,核心指標三層:第一層是業務指標——CTR、CVR、人均消費時長、使用者留存率;第二層是模型指標——AUC、NDCG、歸因一致性和穩定性;第三層是系統指標——推理延遲、QPS、GPU利用率、錯誤率。
歸因一致性和穩定性怎麼在線上監控?陳博士追問。
這個問題讓林晨停了幾秒。歸因指標在離線評估中很容易計算,但線上環境要求即時性,Shapley值計算代價太高——雖然他們用了注意力權重歸因的近似方案,但在線上每個請求都做一次歸因計算,還是會有額外延遲。
線上不做即時歸因計算,林晨想了想,我們在灰度期間對取樣日誌做離線歸因評估。每天凌晨跑一批取樣資料,計算歸因一致性和穩定性,作為監控的補充維度。即時監控只看業務指標和系統指標。
可以。陳博士終於說了一個肯定的字,取樣比例呢?
千分之一。
夠了。
第三,回滾預案。林晨翻到下一頁筆記,兩種回滾方案。方案A:模型熱切換,新模型掛載失敗時自動切回舊模型,切換時間不超過30秒。方案B:流量回切,灰度期間任何一輪指標異常,立刻將灰度流量切回舊模型,回切時間不超過5分鐘。兩種方案都需要跟工程側配合,提前把舊模型的部署包和配置保留在線上。
陳博士沒有立刻回應。他走到窗邊,看了一眼窗外的南山科技園,然後轉過身。
。者用使批大一了響影經已能可候時的現發你等,萎漸逐長時者用使,降下慢緩RTC——的式進漸是而,的式潰崩是不題問些有。況的化惡慢緩果效但功載掛型模新慮考沒但,況的敗失載掛型模新了慮考你,A案方滾回
。制機控監的敏靈更要需,化惡式進漸於對,敗失的難災理能隻換切熱。對得說他。下一了愣晨林
。滾回否是定決工人,警告發自,點分百個5.0過超降下比環比同的天兩續連現出標指何任果如。比對做段時一同、天一同的前度灰跟,長時、RVC、RTC的天每。比環比同的標指務業——制機控監個一加要需還你,旁桌回走士博陳,以所
。全完有沒還他,殊特的己自它有險風線上的統系薦推但。高極度敏的險風對他,裡統系化量在——險風線上過慮考沒是不他。緒的雜複一起湧心,點要些這下記地快飛上本記筆在晨林








