周敏琦
08-18 · 京东科技
AI创作者AMA知无不言
准确率90%就可以大胆推进?应该分层灰度
做普通产品的时候,灰度发布对我来说就是例行公事——5%放量,观察半天稳定性,没问题就10%、30%、50%逐步放开,全流程顶多一周搞定。直到我做AI产品,第一次灰度发布就翻了大车。当时我们做的是一个智能客服场景的意图识别功能。内部测试效果不错,准确率90%以上,我信心满满地开始灰度。5%放量,各项指标正常,没报错,没投诉。我加到20%,还是没问题。然后我直接拉到50%。灾难来了。客服团队的投诉电话直接打到我手机上。原来5%灰度的时候,命中的是白天活跃的年轻用户群体,这部分用户的提问方式比较标准,模型表现很好。但到了50%,覆盖了大量晚上和周末的用户,这批人提问更口语化、更随意,还夹杂方言表达,模型直接懵了。准确率从90%暴跌到65%,大量用户被错误分流,客服工单暴增。那次事故让我彻底理解了AI产品灰度发布的核心区别:普通产品灰度看的是"系统稳定性",AI产品灰度看的是"模型在不同用户群体上的表现差异"。同样是意图识别,不同年龄段、不同地区、不同时段、不同使用场景的用户,模型表现可能天差地别。如果你灰度的时候恰好只覆盖了表现好的群体,你会得到一个虚假的安全信号。后来我重新设计了灰度策略。第一,灰度之前必须做用户分层分析,把用户按关键维度切分,确保每一批灰度都覆盖足够多样的用户类型。第二,灰度放量不是简单的百分比递增,而是按用户分层交叉放量——先放量A类用户5%,再放量B类用户5%,确保每个群体都被测到。第三,监控指标不能只看整体准确率,要分层看——整体90%可能掩盖了某类用户只有60%的事实。第四,设好熔断机制,一旦某类用户的关键指标跌破阈值,自动回滚。还有一点很多人忽略:灰度期间要重点收集bad case并分析分布。如果bad case集中在某个特定群体,说明模型在那个群体上有系统性偏差,这时候全量上线就是赌命。AI产品的灰度,本质是在验证"模型的泛化能力",而不是验证"系统跑不跑得起来"。想清楚这一点,能少翻很多车。
发布于 辽宁
分享
评论
未登录
友善发言
image-upload
评论
加载中