CMU AI AGENTS / 长轨迹训练为什么又慢又容易偏 / 第 49 课

采样时还是旧模型,训练时已经换了新模型,这条数据还能用吗?

异步采样减少等待但带来策略陈旧;新旧动作概率的比率用于重要性校正,方差、历史分布偏移和数据过旧仍需处理。

完整讲解 · 条件对照 · 理解检查所在单元与学习顺序官方课件全页浏览

采样时还是旧模型,训练时已经换了新模型,这条数据还能用吗?

一张记录里必须写下“谁生成了它”

一个工具调用要等十秒,训练器却可能每两秒更新一次参数。第12版策略开始的轨迹,返回时学习器已经到了第16版。若仍把这些动作当作第16版刚刚采样的结果,频率就错了。比如旧策略喜欢重复搜索,新策略已经很少这样做;队列里的重复搜索不能证明当前策略仍然同样偏好它。

这里用μ表示真正生成样本的行为策略,用π表示正在更新的策略。记录不应只有文本与奖励,还要有策略版本、动作token、采样时log概率、掩码等。没有旧概率,事后通常无法仅凭一段答案可靠恢复它当时的采样概率。

重要性比率先修正一个动作的频率

在同一历史h,旧策略对动作a给概率0.2,新策略给0.3。比率 ρ=π(a|h)/μ(a|h)=0.3/0.2=1.5。旧分布中这个动作偏少,重用时把它的贡献乘1.5。若新概率为0.1,比率0.5,贡献减半。在log空间计算是 exp(logπ−logμ),不是log概率相除。

用三种动作核对总量:旧概率0.4、0.4、0.2,新概率0.7、0.2、0.1,比率1.75、0.5、0.5。旧分布按权重重加总得到 0.4×1.75+0.4×0.5+0.2×0.5=1。这个恒等式依赖旧策略覆盖新策略可能选择的动作;若旧概率为0而新概率非0,就没有旧样本可重加权来补那个区域。

整条历史也变了,局部比率并不万能

一条轨迹的完整概率包含很多动作。环境动态一致且可相消时,整条轨迹比率是各动作比率相乘。哪怕每步只有1.05,100步后 1.05^100≈131.5。少数样本可能拥有巨大权重,方差非常高。完整校正理论上清楚,长轨迹里却难以稳定估计。

官方原课件 · Lecture 11 · PDF 第 24 页小偏差连乘,会成为大权重
原课第11讲第24页:完整轨迹的重要性比率是逐步比率的乘积,长轨迹会产生高方差。

沿连乘符号数动作,而不是只盯某一token的比率。每步略大于1就可能累积到很大;局部看起来接近,并不能保证轨迹权重稳定。

很多实际训练使用每个token或动作的局部比率,这能控制一部分偏移,却没有完全恢复历史分布。假设旧策略以0.4概率走到“打开错误文件”这一历史,新策略只有0.1;到达后,两者选择“读取”的概率都是0.5。局部比率是1,看似不用修正,但这段历史在新策略下只应出现旧策略的四分之一。丢掉前面动作的比率就遗漏了这个差别。

官方原课件 · Lecture 11 · PDF 第 26 页同一动作概率,可能对应不同历史频率
原课第11讲第26页:局部动作比率无法单独校正到达历史的概率变化。

先比较左侧到达历史的分支概率,再比较右侧该历史下的动作概率。右侧相同不代表整条路径分布相同,这正是离策略近似的局限。

观察过程 · 改变条件

旧记录进入训练前的三次检查

先预测结果,再逐步查看;切换条件时留意是哪一个中间量改变。案例是教学构造的规则回放,不是模型训练实测。

教学构造场景 · 按下方规则逐步回放;不调用真实模型,不代表实际成功率。

这一轮的输入

旧动作概率0.2,新0.3,版本差2,阈值3

  1. 1. 识别来源

    版本差2允许进入候选批次。

  2. 2. 计算比率

    exp(log0.3−log0.2)=1.5。

  3. 3. 核对历史

    仍需确认此前路径偏移与权重分布,局部校正不是完整保证。

识别来源

版本差2允许进入候选批次。

1 / 3
先预测,再核对结果与原因可按声明的近似策略使用。

保留来源和旧log概率,才能知道重加权在修什么。

异步系统需要数据新鲜度预算

给每条轨迹标记生成版本v,训练版本为u,版本差u−v是一个可操作但粗糙的新鲜度指标。设最大差为3,版本16处理版本12样本时差4,按规则丢弃或隔离;版本14样本差2可以候选使用。版本差不是严格的概率距离:一次大更新可能比五次小更新偏得更多,所以还需监测实际比率、KL或其他漂移指标。

条件一是放慢工具:队列里老数据更多,采样吞吐看似没降,真正可用的新数据却减少。条件二是加快权重同步:新轨迹更接近当前策略,但同步占用带宽并可能打断推理。没有一个固定同步间隔适用于所有模型和环境。合理系统有有界队列、背压、超时、版本标签与丢弃统计,避免无限积压。

能继续用,不等于应该全部用

少量偏旧数据可能提高设备利用率;过旧数据的高方差、历史偏移和策略覆盖不足可能抵消收益。把权重裁小又会引入偏差,这是稳定性与无偏估计的权衡。评价时要同时看单位时间有效轨迹、陈旧丢弃率、权重极值、任务成功和计算成本。

下一课的PPO裁剪正是在局部目标中限制某些激进变化,但它不会把这节所有分布问题一笔勾销。先记住三个不同层次:动作频率的比率、历史分布的变化、系统队列的版本差。把它们都叫“旧数据修正”会隐藏真正的边界。

旧概率为零的问题不能靠分母加数治好

若行为策略从未选择某个动作,历史数据没有该动作的结果。给分母加一个很小ε虽然能得到有限数字,却没有创造缺失的样本,也不能恢复这个动作的真实期望回报。重要性采样需要覆盖条件,而不是纯粹数值稳定技巧。探索不足与分布校正是相互关联、却不能互相替代的问题。

用自己的话核对一次

问题 1

新旧log概率相除能得到重要性比率吗?

展开解释

不能。比率是exp(new_logp−old_logp),因为log把概率的除法变成减法。

问题 2

每个动作比率都不超过1.05,整条轨迹就很稳定吗?

展开解释

不保证。100个1.05连乘约131.5,长轨迹权重会累积,高方差可能严重。

问题 3

局部比率为1说明不存在离策略偏差吗?

展开解释

不说明。到达该历史的概率可能已经改变;局部比率只比较给定这个历史时的动作分布。