当你拉取多模型网关的日志,把“任务是否完成”对“是否路由到高级模型”跑一次线性回归,发现高级路由带来14个百分点的提升——先别急着写提案要全线切到高级模型。这件事背后,藏着一个统计学上典型的因果混淆,而你无意中已经踩了进去。
问题就在于:网关在老老实实干自己的活。它通常会根据置信度阈值把“难”的查询送到高级模型,把“简单”的送到便宜模型。这样做的结果是,两个模型接收的查询,从根上就不是同质同难度的。复杂查询本身就更容易失败,跟处理它的模型是谁都没关系。回归方程同时吸收了两种信号——模型切换带来的因果效应,和查询自带难度差异——最终揉成一个系数,14个百分点的“提升”里,既包含模型真实质量,也包含了一堆原本就更容易出错的烂查询。
换句话说,你测量到的是一个混合体:因为复杂查询更容易失败,而复杂查询又更多地被送到了高级模型,所以高级模型的回归系数被“污染”了。这就叫路由混淆。任何尽职尽责的路由规则,都必然引入这种混淆,因为分配规则让两组查询具有系统性差异,幼稚的组间比较根本无法反映真实的因果效果。
那怎么办?工具变量。你需要找到一个变量,它影响路由决策,却和查询本身的质量、复杂度没有半毛钱关系。速率限制触发的回退,恰好就是这样一个天然工具。当高级模型被限流,网关会直接把查询丢给便宜模型,这完全是因为基础设施原因,与用户究竟问了个天才问题还是智障问题无关。这种随机性一旦被捕捉,就能用两阶段最小二乘法(2SLS)从中提炼出干净的因果效应。
根据教程透露的实操路径,完整的修复流程大致可以拆成这么几步:
1. 确认你的OLS估计已经被路由规则污染——只要看到分配和查询特征存在明显关联,就要怀疑那14个百分点的含金量。
2. 构建一个速率限制回退的指示变量作为工具,通过第一阶段回归,把“是否真正使用了高级模型”的概率给算出来。
3. 检查第一阶段F统计量,确保工具够强,不是弱工具陷阱。
4. 在第二阶段回归里,用第一阶段的预测值去估计任务完成率,得到的就是局部平均处理效应(LATE)。
5. 注意别把LATE当成平均处理效应(ATE)来用,它只代表那些被工具变量“驱动”的那部分群组的效应。
教程的结尾干脆得很:一旦你学会了从自己的日志里揪出这种混淆、用基础设施信号构建有效工具,就能带着正确尺寸的置信区间去解释模型效果,而不是被一个高度误导的回归系数牵着走。
热门跟贴