周三上午九点,3号会议室。
陈博士比林晨先到,正坐在会议桌旁翻看打印出来的实验数据。几页A4纸上用红色笔标注了密密麻麻的批注,看得出他昨晚花了时间。
陈博士抬起头,表情看不太出喜怒,数据我看了,先说结论。
林晨坐下来,笔记本摊开。
离线结果不错,效果和可解释性同时提升,这个方向站得住。陈博士放下笔,但是——
他顿了一下,看着林晨。
离线结果不等于线上结果。你知道CTR在离线和线上之间的差异通常有多大吗?
林晨想了想:离线和线上的CTR差异,受特征偏移、数据分布变化、以及用户实时行为反馈的影响,通常会有10%到30%的衰减。
陈博士点头,你的离线CTR提升1.5个百分点,线上可能在这个范围上下浮动。即使考虑衰减,最终线上效果也应该在1到1.5个百分点之间。这个数字在推荐系统里已经很不错了,但前提是——线上表现真的跟离线一致。
他站起来,走到白板前,写下三个词:灰度、监控、回滚。
上线之前,你要回答我三个问题。他放下笔,看着林晨,第一,你的灰度方案是什么?从多少流量开始,怎么放量?第二,你的监控指标有哪些?出了问题怎么第一时间发现?第三,你的回滚预案是什么?如果线上指标崩溃,怎么在最短时间内切回旧模型?
三个问题,像三记闷锤,砸得林晨的脑子嗡了一下。
他昨晚一直在想实验数据,想消融实验的结果,想超参数搜索的策略——但他还没有认真想过上线的事。在他的潜意识里,模型训练完了、效果验证了,上线不就是部署一下的事吗?
但他马上意识到自己错了。上线,才是最关键的一步。
在量化系统里,他也走过同样的路——回测结果再漂亮,实盘第一天就可能出现滑点、延迟、市场风格切换等回测无法预见的问题。推荐系统也是一样,离线指标再好看,线上环境有无数的变量是实验室里模拟不了的。
第一,灰度方案。林晨迅速冷静下来,翻开笔记本开始记录,我的想法是——5%流量灰度三天,观察核心指标;如果指标正常,10%流量再跑三天;然后30%、50%、100%,每次间隔两到三天。整个灰度周期大约两周。
陈博士没有表态,继续问:灰度用户的选取策略呢?随机分流还是按用户特征分层?
我
(本章节未完结,点击下一页翻页继续阅读)