跳到主要内容

1 篇博文 含有标签「model-rollout」

查看所有标签

毫无意义的影子部署:当并行调用错失对话语境时

· 阅读需 10 分钟
Tian Pan
Software Engineer

影子部署(Shadow deployment)是每个人都公认的负责任的验证方式。你将实时流量镜像到一个候选模型中,记录其输出,但从不向用户展示结果。仪表盘数据一致,候选模型的响应在聚合质量指标上看起来与现有模型(incumbent)一样好,团队收到了新模型是“生产等效”的绿色信号,然后你将其推广到一小部分真实的流量中。在一天之内,在那些影子运行评估为匹配的查询类别上,面向用户的指标全面崩溃。

团队的第一反应是归咎于发布过程:也许是功能标志(feature flag)出错了,也许是路由器(router)路由错误,或者新模型在生产环境中的性能在某种程度上悄无声息地下降了,而影子部署时却没有发现。这些都不是真的。影子部署完全按设计运行。团队衡量的是候选模型孤立的输出——字符串对字符串——而推向生产环境的候选模型,其输出会重塑用户的下一条消息、下一轮对话、放弃决策以及整个会话的路径。影子部署衡量的是模型。生产环境衡量的是对话。这两者并非同一维度。