形式化系统不变量

各章用一句话陈述许多结果,并提供工程师应用这些结果所需的直觉,而将推导留给希望核验或扩展结果的读者。本附录汇集了这些推导:轨迹的形式化模型、运行时能够保证循环终止的条件、评估与发布决策背后的统计学、验证频率、信用分配和模仿误差的数学原理,以及投票和高维检索的局限。每节都会陈述结果、给出推导,并注明使用该结果的章节,使读者无需通读正文或本附录,即可在正文的论述与此处的证明之间切换。

如何使用本附录

请查阅与当前问题相对应的章节。

  • 当你需要描述智能体观察内容与决策行为的形式化模型时,请参阅 节 1.1。
  • 当你需要证明运行时的预算与进度检查能够使每个循环终止时,请参阅 节 1.2。
  • 当你需要分析不可信数据进入上下文时污点如何组合时,请参阅 节 1.3。
  • 当长轨迹延误短轨迹,或轨迹长度呈现重尾特征时,请参阅 节 1.4 和 节 1.5。
  • 当你需要选择验证或检查点的执行频率时,请参阅 节 1.9 和 节 1.13。
  • 当你需要评估与发布门控背后的估计量和检验方法时,请参阅 节 1.11、节 1.14 和 节 1.15。
  • 当你需要基于轨迹进行训练所涉及的梯度或误差界时,请参阅 节 1.6、节 1.7、节 1.8 和 节 1.17。
  • 当你需要了解投票、多智能体加速或升级处理阈值的局限时,请参阅 节 1.20、节 1.19 和 节 1.18。
  • 当你需要约束解码、代码仓库排序、低秩压缩或高维搜索的数学原理时,请参阅 节 1.12、节 1.10、节 1.16 和 节 1.21。

轨迹的 POMDP 形式化

形式上,智能体在由以下七元组定义的部分可观测马尔可夫决策过程(POMDP)中运行:

\[\langle \mathcal{S}, \mathcal{A}, \mathcal{T}, \mathcal{R}, \Omega, \mathcal{O}, \gamma \rangle\]

其中:

  • \(\mathcal{S}\) 是隐藏环境状态的集合(例如,完整的虚拟机文件系统、远程数据库状态和网络套接字缓冲区)。
  • \(\mathcal{A}\) 是智能体可执行的离散动作集合(例如,shell 命令、代码编辑和 HTTP 请求)。
  • \(\mathcal{T}(s' \mid s, a) = \mathbb{P}(S_{t+1} = s' \mid S_t = s, A_t = a)\) 是外部环境的状态转移概率分布。
  • \(\mathcal{R}(s, a)\) 是用于评估朝用户目标推进程度的奖励函数。
  • \(\Omega\) 是返回给智能体的观测集合(例如,stdout 日志、编译器错误消息和 API 响应 JSON)。
  • \(\mathcal{O}(o \mid s', a) = \mathbb{P}(O_{t+1} = o \mid S_{t+1} = s', A_t = a)\) 是以底层状态为条件的观测概率分布。
  • \(\gamma \in [0, 1)\) 是折扣因子。

由于智能体无法直接检查完整状态 \(s \in \mathcal{S}\),它会维护一个内部的信念状态或轨迹上下文 \(b_t \in \mathcal{B}\),以过去的词元序列表示:

\[b_t = (x_0, a_0, o_0, x_1, a_1, o_1, \dots, x_t)\]

其中,\(x_t\) 表示模型在步骤 \(t\) 生成的推理词元。信念根据智能体已看到的内容构建,而非根据环境当前包含的内容构建,因此,一旦工具或其他写入者改变环境,信念就可能过时。正是这一差距,使得使过时观测失效的责任由运行时而非模型承担(上下文失效),也使得计划被视为可修订的假设,而非固定程序(作为可修订状态的计划)。

李雅普诺夫活性验证

为了在数学上证明活性并保证随机控制图中的执行终止,运行时构造一个单调递减的变式函数(李雅普诺夫函数或排名函数)\(V: \mathcal{S} \times \mathcal{B} \to \mathbb{R}^+\)。如果对于每个执行步骤 \(t\),\(V\) 的期望值都至少减少一个严格为正的常数 \(\delta > 0\),则该控制拓扑满足终止保证:

\[\mathbb{E}\left[ V(S_{t+1}, b_{t+1}) \mid S_t, b_t \right] \le V(S_t, b_t) - \delta\]

运行时通过在显式的执行资源复合向量上定义 \(V\) 来强制满足这一条件:

\[V(t) = \mathbf{w}^T \begin{bmatrix} K_{\max} - k_t \\ T_{\text{budget}} - T_{\text{consumed},t} \\ \mathcal{D}_{\text{goal}}(S_t, S^*) \end{bmatrix}\]

其中:

  • \(K_{\max} - k_t\) 是剩余步数上限。
  • \(T_{\text{budget}} - T_{\text{consumed},t}\) 是剩余的 token 预算和计算经费余额。
  • \(\mathcal{D}_{\text{goal}}(S_t, S^*)\) 是衡量距目标状态完成还有多远的指标。

如果智能体执行的动作未能减小 \(\mathcal{D}_{\text{goal}}\),步数预算项和 token 预算项仍会使 \(V(t)\) 严格递减。当 \(V(t) \le 0\) 时,运行时终止该轨迹。预算项是 预算与上限 中每条轨迹的上限,距离项则是 语义看门狗定时器 中基于环境的进度信号。由于仅靠预算项就能保证终止,距离项的作用在于及早检测循环,而非终止循环。

信息流安全格

信息流安全格将数据和权限在智能体系统中的流动方式形式化,并将其建模为偏序集:

\[\mathcal{L} = \langle S, \sqsubseteq, \sqcup, \sqcap \rangle\]

其中,\(S\) 是安全标签集合,\(\sqsubseteq\) 定义流动关系(“可以流向”),\(\sqcup\) 是并运算符(最小上界),\(\sqcap\) 是交运算符(最大下界)。

在自主智能体运行时中,我们定义两个相互正交的标签维度:保密性(机密性)和完整性(可信性)。对于我们的威胁模型,以动态污点标签 \(\tau \in \{\text{Trusted}, \text{Untrusted}\}\) 表示完整性:

\[\text{Trusted} \sqsubset \text{Untrusted}\]

  • 由经过验证的系统操作员编写的用户提示带有标签 \(\tau = \text{Trusted}\)。
  • 从环境中摄入的任何文本,包括网页、议题评论、拉取请求差异、编译器错误输出和数据库记录,都带有标签 \(\tau = \text{Untrusted}\)。

在上下文组装期间,智能体上下文窗口中的每个片段 \(x_i\)(窗口记为 \(C_t\))都关联一个污点标签 \(\tau(x_i)\)。累积上下文污点 \(\tau(C_t)\) 是所有组成 token 的标签的并:

\[\tau(C_t) = \bigsqcup_{i=1}^{|C_t|} \tau(x_i)\]

只要有一份不可信文档进入上下文窗口,累积上下文就会转变为 \(\tau(C_t) = \text{Untrusted}\)。由于并运算具有单调性,污点只能通过模型之外的步骤清除,例如由隔离的读取器返回带类型的字段,而绝不能通过追加上下文清除。跟踪不可信数据 应用这一规则,判定哪些工具调用可以接受从受污染上下文派生的参数。

重尾排队论

排队延迟取决于服务时间的变异程度,而不仅仅取决于其均值。在 \(M/G/1\) 队列中,Pollaczek-Khinchine 公式表明,平均等待时间与服务时间 \(\mathbb{E}[S^2]\) 的二阶矩成正比:

\[\mathbb{E}[W_{\text{queue}}] = \frac{\lambda \mathbb{E}[S^2]}{2 (1 - \rho)}\]

当服务时间呈重尾分布时,\(\mathbb{E}[S^2]\) 非常大或无界(节 1.5)。在集群中,这表现为队头阻塞。当先进先出队列接纳一条需要 200 步的轨迹时,该轨迹会占用其工作进程、沙箱和缓存内存长达数十分钟,排在它后面的数百个只需两步的任务则只能等待。通过优先级通道或按类别设置准入限制,将长轨迹与短轨迹分离,是 并发轨迹调度 和 轨迹容量 中提出的解决办法。

重尾帕累托服务时间

单次模型调用的长度受其输出上限约束。轨迹的步数长度没有这样的界限,因为轮次数取决于智能体发现的内容,而轨迹长度通常被建模为重尾分布。帕累托模型可以精确说明其后果。任务所需步数超过 \(x\) 的概率为

\[\mathbb{P}(N > x) \approx \left( \frac{x_{\min}}{x} \right)^\alpha \quad \text{for } x \ge x_{\min}\]

其中,\(x_{\min} \ge 1\) 是最小任务长度,\(\alpha\) 是帕累托尾部指数。

尾部指数 \(\alpha\) 必须根据工作负载自身的轨迹长度估计。只要 \(\alpha \le 2\),步数的方差就是无穷大:

\[\operatorname{Var}(N) = \begin{cases} \infty & \text{if } 1 < \alpha \le 2 \\ \text{undefined} & \text{if } \alpha \le 1 \end{cases}\]

当方差无穷大时,无论利用率多低,节 1.4 中的平均等待时间都无上界,且轨迹长度的样本均值收敛缓慢,因此容量规划和预算上限应依据实测百分位数而非平均值设定(原则 23)。

LoRA 矩阵分解

参数高效微调(PEFT)技术依赖于将稠密权重更新分解为低秩矩阵。对于稠密权重矩阵 \(W_0 \in \mathbb{R}^{d \times k}\),LoRA 将累积权重更新 \(\Delta W\) 分解为两个低秩矩阵 \(B \in \mathbb{R}^{d \times r}\) 和 \(A \in \mathbb{R}^{r \times k}\) 的乘积,其中秩满足 \(r \ll \min(d, k)\):

\[W = W_0 + \Delta W = W_0 + \frac{\alpha}{r} (B \cdot A)\]

其中,\(\alpha\) 是一个常数缩放超参数。

对输入激活向量 \(x\) 进行前向计算时:

\[h = W_0 x + \Delta W x = W_0 x + \frac{\alpha}{r} B (A x)\]

矩阵 \(A\) 从高斯分布 \(\mathcal{N}(0, \sigma^2)\) 初始化,而矩阵 \(B\) 初始化为零,从而确保训练开始时 \(\Delta W = 0\)。由于适配器包含的参数量为 \(r(d + k)\),而非 \(dk\),模型服务系统可以保留一份基础模型副本以及多个小型适配器,每种智能体角色对应一个适配器,这就是 智能体适配器 的部署模式。

在反向传播过程中,使用矩阵链式法则计算标量损失 \(\mathcal{L}\) 对适配器投影矩阵 \(A\) 和 \(B\) 的梯度:

\[\frac{\partial \mathcal{L}}{\partial A} = \frac{\alpha}{r} B^T \left( \frac{\partial \mathcal{L}}{\partial h} \right) x^T, \quad \frac{\partial \mathcal{L}}{\partial B} = \frac{\alpha}{r} \left( \frac{\partial \mathcal{L}}{\partial h} \right) (x^T A^T)\]

冻结的基础权重 \(W_0\) 的梯度累积为零,从而消除了 \(W_0\) 所需的优化器状态内存,同时保留精确的激活梯度 \(\frac{\partial \mathcal{L}}{\partial x} = W_0^T \left( \frac{\partial \mathcal{L}}{\partial h} \right) + \frac{\alpha}{r} A^T B^T \left( \frac{\partial \mathcal{L}}{\partial h} \right)\),以便通过前面的层进行反向传播。

广义优势估计与 KL 散度

在由中间奖励 \(r_t\) 和可能的终局结果 \(R\) 决定的强化学习轨迹中,时间维度上的信用分配使用广义优势估计(GAE) (Schulman 等 2016年) 进行形式化建模。

Schulman, John, Philipp Moritz, Sergey Levine, Michael Jordan, 和 Pieter Abbeel. 2016年. 《High-dimensional continuous control using generalized advantage estimation》. International Conference on Learning Representations (ICLR).

令 \(\delta_t^V = r_t + \gamma V(s_{t+1}) - V(s_t)\) 表示时间步 \(t\) 的时序差分(TD)残差,其中 \(\gamma \in [0, 1]\) 为折扣因子。广义优势估计量 \(\hat{A}_t^{\text{GAE}(\gamma, \lambda)}\) 定义为 \(k\) 步优势估计量的指数加权平均:

\[\hat{A}_t^{\text{GAE}(\gamma, \lambda)} = \sum_{l=0}^{\infty} (\gamma \lambda)^l \delta_{t+l}^V = \delta_t^V + (\gamma \lambda) \hat{A}_{t+1}^{\text{GAE}(\gamma, \lambda)}\]

其中,\(\lambda \in [0, 1]\) 控制偏差与方差之间的权衡。

在 GRPO 等方法中优化策略时,目标函数使用词元级 Kullback-Leibler(KL)散度惩罚来约束策略相对于参考模型 \(\pi_{\text{ref}}\) 的偏离程度。该 KL 散度通过解析方式计算,或通过下式近似:

\[D_{\text{KL}}(\pi_\theta \parallel \pi_{\text{ref}}) = \frac{\pi_{\text{ref}}(o_{i,t} \mid q, o_{i,<t})}{\pi_\theta(o_{i,t} \mid q, o_{i,<t})} - \log \frac{\pi_{\text{ref}}(o_{i,t} \mid q, o_{i,<t})}{\pi_\theta(o_{i,t} \mid q, o_{i,<t})} - 1\]

该惩罚使优化后的策略 \(\pi_\theta\) 保持接近参考模型 \(\pi_{\text{ref}}\),从而限制优化向那些奖励评分高、但参考模型极少生成的输出偏移的程度(组相对策略优化)。它降低了奖励投机的风险,但并未消除这一风险;隔离验证器才能消除最直接的途径(隔离验证器)。

轨迹优化中的信用分配方差

如何将结果的信用分配给轨迹中的各个动作,决定了训练所需的轨迹采样次数。

设长度为 \(T\) 的智能体轨迹记为 \(\tau = (s_0, a_1, s_1, \dots, a_T, s_T)\)。在结果奖励模型(ORM)中,信用以标量终局奖励 \(R_{\text{ORM}}(\tau) \in [0, 1]\) 的形式提供,该奖励以在叶节点状态 \(s_T\) 完成任务为条件。在策略梯度优化(REINFORCE)下,带有基线 \(b\) 的梯度估计量为:

\[g_{\text{ORM}} = \sum_{t=1}^T \nabla_\theta \log \pi_\theta(a_t \mid s_{t-1}) \cdot \left(R_{\text{ORM}}(\tau) - b\right)\]

由于终局奖励 \(R_{\text{ORM}}(\tau)\) 是整个轨迹的函数,因此它作为全局乘子作用于所有步骤的梯度。该估计量的方差随所有步骤之间的两两协方差之和增大:

\[\operatorname{Var}\left(g_{\text{ORM}}\right) = \sum_{t=1}^T \operatorname{Var}\left(\mathbf{\psi}_t \Delta R\right) + 2 \sum_{1 \le t < t' \le T} \operatorname{Cov}\left(\mathbf{\psi}_t \Delta R, \mathbf{\psi}_{t'} \Delta R\right)\]

其中,\(\mathbf{\psi}_t = \nabla_\theta \log \pi_\theta(a_t \mid s_{t-1})\),且 \(\Delta R = R_{\text{ORM}}(\tau) - b\)。由于每个动作 \(a_t\) 都会影响终局结果,并以此前的所有步骤为条件,因此跨步骤相关性不会消失。对于长度为 \(T\) 的无引导轨迹,协方差项的数量呈二次增长:

\[\operatorname{Var}\left(g_{\text{ORM}}\right) = \mathcal{O}\left(T^2\right)\]

这种 \(\mathcal{O}(T^2)\) 增长意味着,当轨迹延长至数百轮时,策略梯度的信噪比会下降,而获得给定精度的梯度所需的轨迹采样次数会随时间跨度的平方增长。

相反,过程奖励模型(PRM)提供密集、局部化的步骤奖励 \(r_t = r_{\text{PRM}}(s_{t-1}, a_t)\)。在局部化信用分配下,策略梯度使用步骤优势 \(\hat{A}_t = \sum_{k=t}^T \gamma^{k-t} r_k - V(s_{t-1})\):

\[g_{\text{PRM}} = \sum_{t=1}^T \nabla_\theta \log \pi_\theta(a_t \mid s_{t-1}) \cdot \hat{A}_t\]

根据全期望定律和因果性,给定中间状态 \(s_t\) 时,未来奖励与过去动作条件独立。对于折扣因子 \(\gamma < 1\),相关性的时间跨度受有效时间跨度 \(1 / (1 - \gamma)\) 的约束。因此,跨步骤协方差随时间间隔 \(|t' - t|\) 呈指数衰减,从而大幅降低方差:

\[\operatorname{Var}\left(g_{\text{PRM}}\right) = \mathcal{O}\left(\frac{T}{1 - \gamma}\right) = \mathcal{O}(T)\]

步骤级奖励下的线性扩展,是密集的逐步信号能够使长轨迹上的信用分配比单一终局奖励更具样本效率的形式化依据。这一结论仅在步骤奖励准确时成立;学习得到的步骤评分器本身也存在误差,会以偏差为代价降低方差,而这正是 跨轮次的信用分配 所权衡的取舍。

验证的连续成本函数

每一步之后都进行验证成本过高,而仅在结束时验证,则会让早期错误导致其后的所有步骤都被浪费。成本函数可以明确表达这一权衡。

令 \(N\) 表示以步骤数计的轨迹总长度。令 \(K\) 表示沿轨迹安排的验证点数量。智能体任务的总计算成本和延迟成本建模为:

\[C_{\text{total}} = N \cdot C_{\text{gen}} + K \cdot C_{\text{ver}} + \mathbb{E}[N_{\text{wasted}}] \cdot C_{\text{gen}} + \mathbb{E}[N_{\text{rollback}}] \cdot C_{\text{rollback}}\]

其中:

  • \(C_{\text{gen}}\) 是生成单个动作步骤的成本。
  • \(C_{\text{ver}}\) 是验证开销。
  • \(\mathbb{E}[N_{\text{wasted}}]\) 是从错误发生到被检测到之间所执行步骤数的期望值。
  • \(C_{\text{rollback}}\) 是回退状态的开销。

最优验证次数 \(K^*\) 在验证的边际成本与被丢弃的前向推进工作的预期成本之间取得平衡:

\[K^* = N \sqrt{\frac{\lambda_{\text{error}} \cdot C_{\text{gen}}}{2 \cdot C_{\text{ver}}}}\]

其中,\(\lambda_{\text{error}}\) 是每一步的错误到达率。验证次数随轨迹长度线性增长,换言之,最优验证间隔与轨迹运行的长度无关:

\[\frac{N}{K^*} = \sqrt{\frac{2 \cdot C_{\text{ver}}}{\lambda_{\text{error}} \cdot C_{\text{gen}}}}\]

因此,运行时系统仅根据验证开销和环境的错误率来设定验证频率,无需预先知道轨迹长度。

离散块延迟的解析最小化

同样的权衡也可以用离散模型来描述。将一次包含 \(N\) 个步骤的运行划分为若干块,每块包含 \(m\) 个步骤,在每个块结束时进行验证,并在验证失败时重新执行该块。设每步可靠性为 \(p\),每步耗时为 \(T_{\text{step}}\),每块验证耗时为 \(T_{\text{ver}}\),则期望耗时为

\[T(m) = \frac{N}{m} \cdot \frac{m \cdot T_{\text{step}} + T_{\text{ver}}}{p^m} = N \cdot p^{-m} \left( T_{\text{step}} + \frac{T_{\text{ver}}}{m} \right)\]

为求出验证间隔 \(m^*\) 的最优值,使 \(T(m)\) 最小,我们取自然对数,并对 \(m\) 求导:

\[\ln T(m) = \ln N - m \ln p + \ln \left( T_{\text{step}} + \frac{T_{\text{ver}}}{m} \right)\]

\[\frac{d}{dm} \ln T(m) = -\ln p - \frac{T_{\text{ver}} / m^2}{T_{\text{step}} + T_{\text{ver}} / m} = 0\]

乘以 \(m^2 (T_{\text{step}} + T_{\text{ver}} / m)\),得到特征二次方程:

\[m^2 T_{\text{step}} (-\ln p) + m T_{\text{ver}} (-\ln p) - T_{\text{ver}} = 0\]

对于高可靠性模型(\(p \approx 1\)),我们采用一阶泰勒近似 \(-\ln p = -\ln(1 - (1 - p)) \approx 1 - p\)。两边同除以 \(T_{\text{step}} (1 - p)\):

\[m^2 + m \left(\frac{T_{\text{ver}}}{T_{\text{step}}}\right) - \frac{T_{\text{ver}}}{(1 - p) T_{\text{step}}} = 0\]

当故障率 \((1 - p)\) 较小时,常数项 \(\frac{T_{\text{ver}}}{(1 - p) T_{\text{step}}}\) 相对于线性项 \(m \frac{T_{\text{ver}}}{T_{\text{step}}}\) 占主导地位。求解正根,得到基于第一性原理的平方根规模定律:

\[m^* \approx \sqrt{\frac{T_{\text{ver}}}{(1 - p) T_{\text{step}}}}\]

如果故障在发生时就被检测到,且平均损失为自上次验证以来执行的 \(m/2\) 个步骤,而非整个块,那么同样的权衡就会得到 Young 检查点公式中的因子 2 (Young 1974年; Daly 2006年):

Young, John W. 1974年. 《A first order approximation to the optimum checkpoint interval》. Communications of the ACM 17 (9): 530~31. https://doi.org/10.1145/361147.361115.

\[m^* \approx \sqrt{\frac{2 \cdot T_{\text{ver}}}{(1 - p) \cdot T_{\text{step}}}}\]

因此,最优验证间隔遵循的平方根定律,与容错计算中用于确定检查点间隔的定律相同,检查点 正是以这种形式使用该定律(equation)。

用于仓库映射的 PageRank 符号图构建

为在 token 预算内构建紧凑的仓库映射,运行时可以将代码库建模为由符号定义和引用构成的有向图 \(G = (V, E)\)。系统计算个性化 PageRank 向量 \(\mathbf{r} \in \mathbb{R}^{|V|}\),其计算范围为 \(G\):

\[\mathbf{r} = (1 - d) \mathbf{p} + d A^T D^{-1} \mathbf{r}\]

其中,\(d \approx 0.85\) 为阻尼因子,\(A\) 为邻接矩阵,\(D\) 为度矩阵,\(\mathbf{p}\) 为个性化偏好向量,其初始化方式使其偏向用户问题描述或近期 git 差异中提及的文件。

按得分对符号排序,再以贪心方式将其装入,直到用尽预算,这会优先选取被任务所指文件引用最多、且与这些文件最接近的定义。多跳检索 将这种排序用于代码的图检索,而 智能体检索 会在智能体开始搜索前预先准备好这样的映射。

统计显著性与蒙特卡洛自助法

智能体在某项任务上的结果会因运行而异(重采样层级),因此,只有当测得的改进超出这种波动可能偶然产生的范围时,才能将其视为证据。

所需样本量 \(N\),用于检测效应量 \(\Delta p = p_2 - p_1\),并达到统计显著性 \(\alpha\) 和统计功效 \(1 - \beta\),在形式上由双比例假设检验决定:

\[N \ge \frac{\left( z_{1 - \alpha/2} \sqrt{2 \bar{p}(1 - \bar{p})} + z_{1 - \beta} \sqrt{p_1(1 - p_1) + p_2(1 - p_2)} \right)^2}{(p_2 - p_1)^2}\]

其中,\(\bar{p} = (p_1 + p_2) / 2\),\(z_{1 - \alpha/2}\) 为标准正态临界值,\(z_{1 - \beta}\) 为功效临界值。

对于智能体,若基线成功率 \(p_1\) 为 0.30,目标是将成功率 \(p_2\) 提高至 0.35,且满足 \(\alpha = 0.05\) 和 \(\beta = 0.20\),则所需的 \(N\) 为每组 1,375 个任务。

每条轨迹的成本或轮次等指标通常呈重尾分布,因此,假定正态分布的区间可能产生误导。非参数自助法 (Efron 和 Tibshirani 1994年) 通过有放回地抽取 \(B\) 个自助重采样样本,并计算经验百分位置信区间,避免了这一假设:

Efron, Bradley, 和 Robert J. Tibshirani. 1994年. An Introduction to the Bootstrap. Routledge. https://doi.org/10.1201/9780429246593.

\[[\theta_{\text{lower}}, \theta_{\text{upper}}] = \left[ \hat{\theta}^*_{\lfloor 0.025 B \rfloor}, \; \hat{\theta}^*_{\lfloor 0.975 B \rfloor} \right]\]

有限样本不确定性 使用这些区间及上述样本量公式,确定一次评估需要多少个任务,才能认为观察到的差异可信。

确定性有限自动机与语法约束 Logit 解码

语法约束解码(文法引导解码)通过将正则文法(例如从 JSON 模式推导出的文法)编译为确定性有限自动机(DFA)(Willard 和 Louf 2023年),在每个采样步骤强制确保生成结果符合形式语言。上下文无关文法需要下推自动机,但下述掩码论证保持不变。

Willard, Brandon T., 和 Rémi Louf. 2023年. 《Efficient Guided Generation for Large Language Models》. arXiv preprint arXiv:2307.09702.

形式化地,将目标文法编译为一个 DFA 五元组:

\[\mathcal{D} = \langle Q, \Sigma, \delta, q_0, F \rangle\]

其中:

  • \(Q\) 是解析器自动机状态的有限集合。
  • \(\Sigma\) 是由原始字节序列(\(\Sigma = \{0, \dots, 255\}\))组成的输入字母表。
  • \(\delta: Q \times \Sigma \to Q\) 是确定性状态转移函数。
  • \(q_0 \in Q\) 是指定的起始状态。
  • \(F \subseteq Q\) 是接受状态的集合。

令 \(\mathcal{V}\) 表示模型的词表,其大小为 \(|\mathcal{V}|\),其中每个词元 \(v \in \mathcal{V}\) 对应一个不可变字节序列 \(s(v) = (b_1, b_2, \dots, b_m)\),且满足 \(b_j \in \Sigma\)。扩展转移函数 \(\delta^*: Q \times \Sigma^* \to Q \cup \{\bot\}\) 计算从状态 \(q\) 开始依次读入一个字节序列时的状态转移:

\[\delta^*(q, \epsilon) = q, \quad \delta^*(q, (b_1, \dots, b_m)) = \delta^*(\delta(q, b_1), (b_2, \dots, b_m))\]

其中,\(\bot\) 表示非法转移(语法错误)。

在生成步骤 \(t\),设自动机处于状态 \(q_t \in Q\),此时已读入前缀词元 \(x_{<t}\)。有效后续词元集合 \(\mathcal{V}_{\text{valid}}(q_t) \subseteq \mathcal{V}\) 包含词表中所有字节序列不会导致 \(\bot\) 的词元:

\[\mathcal{V}_{\text{valid}}(q_t) = \left\{ v \in \mathcal{V} \;\middle|\; \delta^*(q_t, s(v)) \ne \bot \right\}\]

在 softmax 之前,对未归一化的 logit 向量 \(\mathbf{z}_t \in \mathbb{R}^{|\mathcal{V}|}\) 逐元素进行变换:

\[z_{t, v}' = \begin{cases} z_{t, v} & \text{if } v \in \mathcal{V}_{\text{valid}}(q_t) \\ -\infty & \text{if } v \notin \mathcal{V}_{\text{valid}}(q_t) \end{cases}\]

归一化后的概率分布为:

\[\Pr(x_t = v \mid x_{<t}) = \frac{\exp(z_{t, v}')}{\sum_{w \in \mathcal{V}} \exp(z_{t, w}')}\]

由于 \(\exp(-\infty) = 0\),采样到任何词元 \(v \notin \mathcal{V}_{\text{valid}}(q_t)\) 的概率严格为零:

\[\forall v \notin \mathcal{V}_{\text{valid}}(q_t), \quad \Pr(x_t = v \mid x_{<t}) = 0\]

对序列长度进行归纳可知,每个完整生成序列 \(x_{1:T}\),只要以 \(q_T \in F\) 结束,就属于该文法所接受的形式语言 \(\mathcal{L}(\mathcal{D})\)。这一保证仅限于语法层面;属于该语言的字符串仍可能指向不存在的文件,或执行错误的操作。在运行时,针对每个自动机状态,将有效集合预先计算为一个位掩码 \(\mathbf{M} \in \{0, 1\}^{|Q| \times |\mathcal{V}|}\),因此,每个步骤的掩码只需通过一次查表即可获得。解码循环机制 估算了该表的大小,并解释了为何必须将其放置在采样器旁。

高阶 Daly 检查点间隔推导

检查点 根据 Young 对检查点开销与损失工作量之间的一阶平衡(equation),设定检查点间隔:

\[T_{\text{opt}} = \sqrt{2 \cdot T_{\text{save}} \cdot M_{\text{MTBF}}}\]

当重启延迟 \(T_{\text{restart}}\) 不可忽略,且系统在检查点提交阶段本身也可能发生故障时,Daly (2006年) 通过对到达率为 \(\lambda = 1 / M_{\text{MTBF}}\) 的泊松故障过程进行微扰展开,扩展了 Young 的模型。

Daly, J. T. 2006年. 《A higher order estimate of the optimum checkpoint interval for restart dumps》. Future Generation Computer Systems 22 (3): 303~12. https://doi.org/10.1016/j.future.2004.11.016.

令 \(\tau\) 表示检查点间隔。期望总实际运行时间 \(\mathbb{E}[T_{\text{total}}]\),即完成一个单位的有效工作 \(T_{\text{work}}\) 所需的时间,在检查点序列化延迟为 \(T_{\text{save}}\)、恢复重启延迟为 \(R = T_{\text{restart}}\) 的条件下满足:

\[\mathbb{E}[T_{\text{total}}] = T_{\text{work}} \cdot \frac{e^{\lambda (\tau + T_{\text{save}})} - 1}{\lambda \tau} + \lambda \mathbb{E}[T_{\text{total}}] \cdot R\]

将指数项 \(e^{\lambda (\tau + T_{\text{save}})}\) 展开为关于 \(\lambda\) 的泰勒级数,保留至二阶项:

\[e^{\lambda (\tau + T_{\text{save}})} \approx 1 + \lambda (\tau + T_{\text{save}}) + \frac{\lambda^2 (\tau + T_{\text{save}})^2}{2} + \mathcal{O}(\lambda^3)\]

代入期望执行时间,并对 \(\tau\) 求导,以求得使其最小的间隔 \(\tau^*\):

\[\frac{\partial \mathbb{E}[T_{\text{total}}]}{\partial \tau} = 0 \implies \tau^* = \sqrt{\frac{2 T_{\text{save}}}{\lambda}} \left[ 1 + \frac{1}{3}\sqrt{\frac{\lambda T_{\text{save}}}{2}} \right] - T_{\text{save}} + \mathcal{O}(\lambda)\]

代入 \(\lambda = 1 / M_{\text{MTBF}}\),得到 Daly 的高阶解析方程:

\[T_{\text{opt}}^{\text{Daly}} = \sqrt{2 \cdot T_{\text{save}} \cdot M_{\text{MTBF}}} \cdot \left[ 1 + \frac{1}{3}\sqrt{\frac{T_{\text{save}}}{2 M_{\text{MTBF}}}} \right] - T_{\text{save}}\]

当检查点操作相对于故障间隔耗时很短时(\(T_{\text{save}} \ll M_{\text{MTBF}}\)),修正量很小。例如,在 \(T_{\text{save}} = 2.5\text{ s}\) 和 \(M_{\text{MTBF}} = 1{,}600\text{ s}\) 的情况下,二阶项 \(\frac{1}{3}\sqrt{\frac{T_{\text{save}}}{2 M_{\text{MTBF}}}} \approx \frac{1}{3}\sqrt{0.00078} \approx 0.0093\) 对间隔的改变量小于 1%,因此,对于检查点耗时远小于故障间隔的智能体运行时,Young 的一阶公式是实用的准则。

无偏 Pass@\(k\) 的组合推导与数值稳定性

估计 pass@\(k\) 时,若将某项任务观测到的成功率 \(\hat{p} = c/n\) 代入 \(1 - (1 - \hat{p})^k\),则在 \(n\) 较小时会产生偏差。Chen 等 (2021年) 将评估视为无放回抽取 \(k\) 次尝试的过程,抽样总体为 \(n\) 次尝试,从而推导出无偏估计量。

Chen, Mark, Jerry Tworek, Heewoo Jun, Qiming Yuan, Henrique Ponde de Oliveira Pinto, Jared Kaplan, Harri Edwards, 等. 2021年. 《Evaluating Large Language Models Trained on Code》. arXiv preprint arXiv:2107.03374.

令 \(n\) 表示针对给定基准任务生成并评估的候选轨迹总数(\(n \ge k\)),令 \(c\) 表示成功满足验证判定器要求的轨迹数(\(0 \le c \le n\))。

假设评估系统以均匀随机、无放回的方式选取一个包含 \(k\) 条轨迹的子集。在 Pass@\(k\) 指标下,只要所选的 \(k\) 条轨迹中至少有一条成功,该任务就被计为已解决。反之,当且仅当所选的全部 \(k\) 条轨迹均来自 \(n - c\) 条失败轨迹构成的集合时,才满足失败条件。

抽取 \(k\) 条轨迹时,若候选集合的大小为 \(n\),则抽取方式总数为 \(\binom{n}{k}\)。若 \(n - c < k\),则集合中的失败轨迹少于 \(k\) 条,无法选出 \(k\) 条失败轨迹;因此,全部失败的概率严格为零,且 \(\text{Pass}@k = 1.0\)。

若 \(n - c \ge k\),则抽取 \(k\) 条失败轨迹时,从 \(n - c\) 条失败轨迹中抽取的方式数为 \(\binom{n - c}{k}\)。在均匀随机、无放回抽样下,抽取的全部 \(k\) 条轨迹均失败的概率为:

\[\Pr(\text{all } k \text{ selections fail}) = \frac{\binom{n - c}{k}}{\binom{n}{k}}\]

\(k\) 条轨迹中至少有一条成功的无偏概率为其补概率:

\[\text{Pass}@k = 1 - \frac{\binom{n - c}{k}}{\binom{n}{k}}\]

对包含 \(M\) 项基准任务的测试集取平均,得到全局无偏估计量:

\[\text{Pass}@k = \mathbb{E}_{\text{tasks}}\left[ 1 - \frac{\binom{n - c}{k}}{\binom{n}{k}} \right]\]

通过对数求和展开实现数值稳定性

通过直接计算阶乘(\(\binom{n}{k} = \frac{n!}{k!(n-k)!}\))来求二项式系数,在标准 64 位硬件上会很快导致浮点溢出,因为阶乘在 \(171! \approx 7.26 \times 10^{306}\) 时便会超出 IEEE 754 浮点数的表示范围。将该比值展开为可约消的乘积:

\[\frac{\binom{n - c}{k}}{\binom{n}{k}} = \frac{\frac{(n - c)!}{k! (n - c - k)!}}{\frac{n!}{k! (n - k)!}} = \frac{(n - c)! (n - k)!}{n! (n - c - k)!} = \prod_{i=1}^k \frac{n - c - k + i}{n - k + i}\]

当 \(k\) 较大时,直接计算该乘积可能导致算术下溢。将乘积转换到对数域,可得到数值稳定的求和形式:

\[\ln\left( \frac{\binom{n - c}{k}}{\binom{n}{k}} \right) = \sum_{i=1}^k \ln\left( \frac{n - c - k + i}{n - k + i} \right)\]

对其取指数,再用 1 减去所得结果,即可得到评估运行框架中实现的标准运行时计算形式:

\[1 - \frac{\binom{n - c}{k}}{\binom{n}{k}} = 1 - \exp\left( \sum_{i=1}^k \ln\left( \frac{n - c - k + i}{n - k + i} \right) \right)\]

该形式可在轨迹采样次数较大(例如 \(n = 1{,}000\) 和 \(k = 100\))时,以 \(\mathcal{O}(k)\) 的时间复杂度稳定地计算该估计量。Pass@k:从 k 个候选方案中择优选择的上限 将 pass@\(k\) 解读为 best-of-\(k\) 选择的性能上限,而 潜在能力解耦 将其与 pass\(^k\) 一并报告。

可靠性估计量 pass\(^k\)

Pass@\(k\) 关注的是 \(k\) 次运行中是否至少有一次成功。可靠性关注的则是 \(k\) 次运行是否全部成功。抽取 \(k\) 次运行,抽样总体为 \(n\) 次运行,且采用无放回抽样;所抽取的 \(k\) 次运行全部成功的必要条件是,它们全部来自 \(c\) 次成功运行,因此无偏估计量为

\[\text{pass}^k = \mathbb{E}_{\text{tasks}}\left[ \frac{\binom{c}{k}}{\binom{n}{k}} \right] = \mathbb{E}_{\text{tasks}}\left[ \prod_{i=0}^{k-1} \frac{c - i}{n - i} \right]\]

只要 \(c < k\),该估计量就为零,并且与 equation 一致。其乘积形式与上文的望远镜乘积一样,可以避免溢出。对于每次运行相互独立且成功概率为 \(p\) 的任务,\(\text{pass}@k = 1 - (1-p)^k\) 随 \(k\) 增大而上升,而 \(\text{pass}^k = p^k\) 则下降,这解释了为什么随着 \(k\) 增大,两者会出现分化,也解释了为什么必须分别报告智能体的潜力和可靠性。

Wald 序贯概率比检验(SPRT)的决策边界

分阶段金丝雀部署 使用 Wald 序贯概率比检验来决定是将金丝雀版本正式上线还是回滚 (Wald 1945年)。本节按照本章的约定,推导该检验的统计量及其两个停止边界。

Wald, Abraham. 1945年. 《Sequential Tests of Statistical Hypotheses》. The Annals of Mathematical Statistics 16 (2): 117~86. https://doi.org/10.1214/aoms/1177731118.

设 \(x_1, x_2, \dots\) 为连续金丝雀轨迹的结果,其中任务被接受时取 \(x_i = 1\),否则取 \(x_i = 0\);各结果相互独立,成功概率为 \(p\)。该检验比较

\[H_0: p = p_0 \quad (\text{the acceptable success rate}), \qquad H_1: p = p_1 = p_0 - \Delta \quad (\text{the degraded rate the gate must catch})\]

单个结果的概率为 \(P(x \mid p) = p^{x} (1 - p)^{1 - x}\)。在完成 \(n\) 条轨迹、其中 \(d_n\) 条被接受后,支持 \(H_0\) 的对数似然比为

\[\Lambda_n = \sum_{i=1}^n \ln \frac{P(x_i \mid p_0)}{P(x_i \mid p_1)} = d_n \ln \frac{p_0}{p_1} + (n - d_n) \ln \frac{1 - p_0}{1 - p_1}\]

每次成功使其增加 \(\ln(p_0/p_1) > 0\),每次失败使其增加 \(\ln\big((1-p_0)/(1-p_1)\big) < 0\),因此 \(\Lambda_n\) 是一个随机游走,在 \(H_0\) 下向上漂移,在 \(H_1\) 下向下漂移。当 \(\Lambda_n \ge A\) 时,检验决定正式上线;当 \(\Lambda_n \le B\) 时,决定回滚;否则继续采样。

边界推导

设 \(\alpha\) 为将性能退化的候选版本正式上线的概率,即 \(\Pr(\text{promote} \mid H_1)\);设 \(\beta\) 为将表现良好的候选版本回滚的概率,即 \(\Pr(\text{roll back} \mid H_0)\)。设 \(\Omega_P\) 为最终决定正式上线的结果序列集合。每个序列 \(\mathbf{x} \in \Omega_P\) 都满足 \(P(\mathbf{x} \mid H_0) \ge e^{A} P(\mathbf{x} \mid H_1)\),因此对 \(\Omega_P\) 求和可得,

\[1 - \beta = \sum_{\mathbf{x} \in \Omega_P} P(\mathbf{x} \mid H_0) \ge e^{A} \sum_{\mathbf{x} \in \Omega_P} P(\mathbf{x} \mid H_1) = e^{A} \alpha \quad\Longrightarrow\quad A \le \ln\frac{1 - \beta}{\alpha}\]

同理,每个序列 \(\mathbf{x}\) 若属于回滚集合 \(\Omega_R\),都满足 \(P(\mathbf{x} \mid H_0) \le e^{B} P(\mathbf{x} \mid H_1)\),因此

\[\beta = \sum_{\mathbf{x} \in \Omega_R} P(\mathbf{x} \mid H_0) \le e^{B} \sum_{\mathbf{x} \in \Omega_R} P(\mathbf{x} \mid H_1) = e^{B} (1 - \alpha) \quad\Longrightarrow\quad B \ge \ln\frac{\beta}{1 - \alpha}\]

忽略 \(\Lambda_n\) 越过边界时的超越量,Wald 近似将边界设定在以下限值处:

\[A = \ln\frac{1 - \beta}{\alpha}, \qquad B = \ln\frac{\beta}{1 - \alpha}\]

这些正是 分阶段金丝雀部署 所采用的边界。由于超越量只会使实际错误率更低,因此该检验是保守的。

检验的期望长度

每一步增加 \(z_i = \ln\big(P(x_i \mid p_0)/P(x_i \mid p_1)\big)\)。在退化后的比率下,\(\mathbb{E}_{p_1}[z] = p_1 \ln(p_0/p_1) + (1 - p_1) \ln\big((1-p_0)/(1-p_1)\big) < 0\),根据 Wald 恒等式,作出决策前所需的金丝雀轨迹数的期望为

\[\mathbb{E}_{p_1}[N] \approx \frac{(1 - \alpha) B + \alpha A}{\mathbb{E}_{p_1}[z]}\]

分阶段金丝雀部署 中的金丝雀测试算例计算了这一表达式。由于金丝雀测试仅接收一部分流量,轨迹数的期望会换算为以小时计的暴露时长,而这一时长决定了金丝雀测试的流量占比。

截断 SVD 与低秩注意力近似

对注意力状态进行低秩压缩,是降低每个词元所存储字节数的模型设计手段之一(从上下文 token 到 KV 状态)。其数学基础是键矩阵和值矩阵的截断奇异值分解(SVD)。

令 \(\mathbf{K}^{(l)} \in \mathbb{R}^{S \times d_{\text{head}}}\) 表示第 \(l\) 层在包含 \(S\) 个词元的活动序列上的未压缩键激活矩阵。奇异值分解通过正交奇异向量将 \(\mathbf{K}^{(l)}\) 分解为:

\[\mathbf{K}^{(l)} = \mathbf{U} \mathbf{\Sigma} \mathbf{V}^T = \sum_{i=1}^{\min(S, d_{\text{head}})} \sigma_i \mathbf{u}_i \mathbf{v}_i^T\]

其中,\(\mathbf{U} \in \mathbb{R}^{S \times S}\) 和 \(\mathbf{V} \in \mathbb{R}^{d_{\text{head}} \times d_{\text{head}}}\) 是标准正交基矩阵,\(\mathbf{\Sigma}\) 包含按顺序排列的奇异值 \(\sigma_1 \ge \sigma_2 \ge \dots \ge \sigma_{\min(S, d_{\text{head}})} \ge 0\)。

秩为 \(r\) 的截断 SVD 近似 \(\hat{\mathbf{K}}_r^{(l)}\) 仅保留前 \(r\) 个主成分(\(r \ll d_{\text{head}}\)):

\[\hat{\mathbf{K}}_r^{(l)} = \mathbf{U}_r \mathbf{\Sigma}_r \mathbf{V}_r^T = \sum_{i=1}^{r} \sigma_i \mathbf{u}_i \mathbf{v}_i^T\]

根据经典的 Eckart-Young-Mirsky 定理,截断矩阵 \(\hat{\mathbf{K}}_r^{(l)}\) 是秩为 \(r\) 的近似,对于 \(\mathbf{K}^{(l)}\),它在谱范数(\(\|\cdot\|_2\))和 Frobenius 范数(\(\|\cdot\|_F\))下均为数学意义上的最优近似。具体而言,最小 Frobenius 重构误差完全由被舍弃的尾部奇异值决定:

\[\min_{\operatorname{rank}(\mathbf{A}) \le r} \|\mathbf{K}^{(l)} - \mathbf{A}\|_F = \|\mathbf{K}^{(l)} - \hat{\mathbf{K}}_r^{(l)}\|_F = \sqrt{\sum_{j=r+1}^{d_{\text{head}}} \sigma_j^2}\]

秩为 \(r\) 的子空间投影所保留的激活总能量比例为:

\[\eta_r = \frac{\sum_{i=1}^r \sigma_i^2}{\sum_{i=1}^{d_{\text{head}}} \sigma_i^2}\]

当奇异值急剧衰减时,远低于 \(d_{\text{head}}\) 的秩便可保留大部分能量,并且每个重构注意力分数 \(\mathbf{q}^T \hat{\mathbf{k}}\) 的误差均不超过 \(\|\mathbf{q}\|_2\) 与最大被舍弃奇异值的乘积。谱衰减的陡峭程度,以及由此决定的模型能够容忍的秩,必须针对每个模型、每一层进行测量;平均来看似乎没有代价的压缩,仍可能改变某一步最关注哪些较早的词元。

轨迹模仿中的二次误差累积

Ross 等 (2011年) 正式确立了自回归分布偏移下序列模仿学习的误差累积界。这里给出完整的测度论推导。

Ross, Stéphane, Geoffrey Gordon, 和 J. Andrew Bagnell. 2011年. 《A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning》. Proceedings of the Fourteenth International Conference on Artificial Intelligence and Statistics (AISTATS) 15: 627~35.

设智能体策略 \(\pi_\theta\) 在时间跨度为 \(H\) 的离散时间马尔可夫决策过程中进行交互。假设该策略的每步期望 0-1 错误率以 \(\epsilon \in (0, 1)\) 为上界,所依据的状态分布 \(d_{\pi^*}^t\) 由最优专家 \(\pi^*\) 诱导:

\[\mathbb{E}_{s \sim d_{\pi^*}^t} \left[ \mathbb{I}\left( \pi_\theta(s) \neq \pi^*(s) \right) \right] \le \epsilon\]

令 \(d_{\pi_\theta}^t\) 表示运行策略 \(\pi_\theta\) 至时间步 \(t\) 所诱导的状态分布。在第 \(t\) 步,学生与专家状态分布之间的全变差距离,以 \(\pi_\theta\) 在任一先前步骤 \(\tau < t\) 中至少犯过一次错误的概率为上界:

\[D_{\text{TV}}\left( d_{\pi_\theta}^t, d_{\pi^*}^t \right) \le 1 - (1 - \epsilon)^t \le t \epsilon\]

期望累积任务损失 \(\mathcal{J}(\pi_\theta)\) 在时间范围 \(H\) 内等于所有时间步的误差期望之和:

\[\mathcal{J}(\pi_\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=1}^H \mathbb{I}\left( \pi_\theta(s_t) \neq \pi^*(s_t) \right) \right] = \sum_{t=1}^H \mathbb{E}_{s \sim d_{\pi_\theta}^t} \left[ \mathbb{I}\left( \pi_\theta(s) \neq \pi^*(s) \right) \right]\]

应用变分不等式 \(\mathbb{E}_{P}[f] \le \mathbb{E}_{Q}[f] + \|f\|_\infty D_{\text{TV}}(P, Q)\),其中 \(\|f\|_\infty = 1\):

\[\begin{aligned} \mathcal{J}(\pi_\theta) &\le \sum_{t=1}^H \left( \mathbb{E}_{s \sim d_{\pi^*}^t} \left[ \mathbb{I}\left( \pi_\theta(s) \neq \pi^*(s) \right) \right] + D_{\text{TV}}\left( d_{\pi_\theta}^t, d_{\pi^*}^t \right) \right) \\ &\le \sum_{t=1}^H \left( \epsilon + t \epsilon \right) \\ &= \epsilon H + \epsilon \frac{H(H+1)}{2} \\ &= \mathcal{O}\left( \epsilon H^2 \right) \end{aligned}\]

在 DAgger 算法下,通过在从策略自身的轨迹采样分布 \(d_{\pi_{\theta_k}}\) 中采样得到的状态上收集纠正性示范,总变差惩罚项消失,因为训练分布直接覆盖了学生策略在运行中的错误。期望累积遗憾简化为:

\[\mathcal{J}(\pi_{\text{DAgger}}) \le \epsilon H + \mathcal{O}(1) = \mathcal{O}(\epsilon H)\]

由此恢复了 暴露偏差与同策略数据 中探讨的最优线性扩展界。

非对称损害下的最优监督升级阈值

判断所提议的动作是否应在审批关卡(审批关卡)等待,而非自动执行,是一个在不确定性下具有非对称成本的二元决策问题。

令 \(a \in \mathcal{A}\) 表示模型提出的候选动作。真实结果状态是二元的:成功(\(Y = 0\))或灾难性的不变量失效(\(Y = 1\))。运行时系统具有一个估计值 \(\hat{p} = \mathbb{P}(Y = 1 \mid \mathbf{x}, a) \in [0, 1]\),该估计值根据其可观测的特征 \(\mathbf{x}\) 计算得出,例如动作的权限级别、近期错误次数或任务所属领域。

我们定义损失矩阵 \(\mathbf{L}(d, y)\),用于决策 \(d \in \{\text{Auto}, \text{Escalate}\}\) 和结果 \(y \in \{0, 1\}\):

  • \(\mathbf{L}(\text{Auto}, 0) = C_{\text{compute}}\):自主执行的直接 token 成本和计算成本。
  • \(\mathbf{L}(\text{Auto}, 1) = C_{\text{compute}} + C_{\text{blast}}\):计算成本加上外部失败造成的不可恢复损害。
  • \(\mathbf{L}(\text{Escalate}, 0) = C_{\text{compute}} + C_{\text{human}}\):计算成本加上人工监督者检查所需的延迟和劳动成本。
  • \(\mathbf{L}(\text{Escalate}, 1) = C_{\text{compute}} + C_{\text{human}}\):人工干预可防止失败,仅产生检查成本。

在风险中性的贝叶斯决策理论下,每个动作的期望风险 \(\mathcal{R}(d \mid \hat{p})\) 为:

\[\mathcal{R}(\text{Auto} \mid \hat{p}) = (1 - \hat{p}) C_{\text{compute}} + \hat{p} (C_{\text{compute}} + C_{\text{blast}}) = C_{\text{compute}} + \hat{p} \cdot C_{\text{blast}}\]

\[\mathcal{R}(\text{Escalate} \mid \hat{p}) = C_{\text{compute}} + C_{\text{human}}\]

最优决策规则将决策升级至人工监督者(\(d^* = \text{Escalate}\)),当且仅当 \(\mathcal{R}(\text{Auto} \mid \hat{p}) > \mathcal{R}(\text{Escalate} \mid \hat{p})\):

\[\hat{p} \cdot C_{\text{blast}} > C_{\text{human}} \iff \hat{p} > \frac{C_{\text{human}}}{C_{\text{blast}}} \equiv P_{\text{threshold}}\]

估计量存在方差时的风险厌恶型升级

当估计的失败概率 \(\hat{p}\) 具有非零估计方差 \(\sigma_p^2\) 时(例如面对分布外提示时),风险中性的阈值决策会低估尾部风险。在显著性水平为 \(\alpha\) 的极小极大或 Neyman-Pearson 风险厌恶框架下,运行时系统对未处理的灾难性失败的概率设定上界:

\[\mathbb{P}\left( Y = 1 \land d = \text{Auto} \right) \le \epsilon\]

使用置信上界 \(p_{\text{UCB}}(\hat{p}, \alpha) \approx \hat{p} + z_{1-\alpha} \sigma_p\),风险厌恶型升级条件变为:

\[d^* = \text{Escalate} \iff p_{\text{UCB}}(\hat{p}, \alpha) > \frac{C_{\text{human}}}{C_{\text{blast}}}\]

随着不确定性 \(\sigma_p\) 在估计器接触较少的领域中增大,该规则会将更多操作升级为需要审批的操作,而无需人工重新调参。该规则决定何时请求批准;它并不取代不可逆操作的审批关卡,枢轴操作的不可逆性 要求始终经过这一关卡,无论 \(\hat{p}\) 如何。

多智能体阿姆达尔定律的驻点根分析

委派的权衡 对将任务拆分给 \(M\) 个智能体所能获得的加速比给出上界,采用的是阿姆达尔定律加上协同开销(equation):

\[\text{Speedup}(M) = \frac{1}{D(M)}, \qquad D(M) = (1 - f) + \frac{f}{M} + \sigma (M - 1) + \kappa M (M - 1)\]

其中,\(f \in (0, 1]\) 是可在智能体之间划分的工作比例,\(\sigma \ge 0\) 是争用系数,\(\kappa \ge 0\) 是一致性系数,且 \(\sigma + \kappa > 0\)。本节证明加速比仅有一个峰值,并确定其位置。

最大化加速比意味着最小化 \(D(M)\),取值范围为 \(M > 0\)。求导可得,

\[\frac{d D}{d M} = -\frac{f}{M^2} + \sigma + \kappa (2M - 1)\]

令导数为零,得到驻点条件

\[P(M) = 2\kappa M^3 + (\sigma - \kappa) M^2 - f = 0\]

  1. 恰有一个正根。 \(P(M)\) 的系数依次为 \(2\kappa\)、\(\sigma - \kappa\)、\(0\) 和 \(-f\)。无论 \(\sigma - \kappa\) 为正还是为负,非零系数的符号序列都恰好变化一次,因此根据笛卡尔符号法则,\(P\) 恰有一个正实根 \(M^*\)。当 \(\kappa = 0\) 时,该条件化简为 \(\sigma M^2 = f\),因此 \(M^* = \sqrt{f / \sigma}\)。
  2. 该根是全局最优解。 二阶导数 \[\frac{d^2 D}{d M^2} = \frac{2f}{M^3} + 2\kappa,\] 对每个 \(M > 0\) 都为正,因此 \(D\) 严格凸,\(M^*\) 是其唯一的最小值点,而 \(M^*\) 使加速比最大化。

有两个推论对设计至关重要。在 \(\kappa > 0\) 的情况下,加速比不会趋于平台;超过 \(M^*\) 后,加速比会下降,因为成对交互项按 \(M^2\) 增长,而收益 \(f/M\) 则不断缩小。此外,拆分要产生收益,就必须满足 \(D(M) < 1\),且至少存在一个 \(M > 1\) 使其成立,这就是 单智能体基线基准测试 的第三道部署关卡。在实践中,\(M^*\) 可通过计算 \(D(M)\) 来确定,计算时采用团队实际可能部署的较小整数取值;其中,\(\sigma\) 和 \(\kappa\) 根据两种或三种集群规模下的实测运行结果拟合得到。

多智能体法定人数投票中的相关失效

在经典分布式系统中,多数法定人数投票依赖于孔多塞陪审团定理(1785 年)。考虑由 \(M = 2f + 1\) 个投票者组成的集成,它们对一个二元命题进行判断。假设每个投票者独立作出决策,且正确概率为 \(p > 0.5\),则集体多数判断正确的概率为:

\[P_{\text{majority}}(M) = \sum_{k = f + 1}^{M} \binom{M}{k} p^k (1 - p)^{M - k}\]

根据弱大数定律,\(\lim_{M \to \infty} P_{\text{majority}}(M) = 1\)。

在神经多智能体系统中,这一独立性公理不成立,因为基于基础模型实例化的智能体共享预训练分布、分词器表示以及训练后对齐先验。我们利用关于任务难度的混合模型,对这种失效相关性进行形式化描述。

将问题空间划分为两种情形:

  1. 标准任务(\(\mathcal{T}_{\text{clean}}\)): 此类任务以概率 \(1 - \rho_{\text{blind}}\) 出现,处于模型的标准泛化边界之内。各智能体以概率 \(p_{\text{clean}} > 0.5\) 成功,其执行轨迹条件独立。
  2. 相关盲点(\(\mathcal{T}_{\text{blind}}\)): 此类任务以概率 \(\rho_{\text{blind}} \in (0, 1)\) 出现,涉及分布外的语法模式、欺骗性提示注入或隐蔽的 API 竞态条件。由于所有智能体共享底层权重和表示,其错误分布完全相关: \[\mathbb{P}(\mathcal{A}_1 = \text{incorrect} \land \mathcal{A}_2 = \text{incorrect} \land \dots \land \mathcal{A}_M = \text{incorrect} \mid \mathcal{T}_{\text{blind}}) = 1\]

在这一混合分布下,规模为 \(M = 2f + 1\) 的集成的期望多数投票准确率为:

\[P_{\text{majority}}(M) = (1 - \rho_{\text{blind}}) \sum_{k = f + 1}^{M} \binom{M}{k} p_{\text{clean}}^k (1 - p_{\text{clean}})^{M - k} + \rho_{\text{blind}} \cdot 0\]

取集成规模趋于无穷的极限:

\[\lim_{M \to \infty} P_{\text{majority}}(M) = (1 - \rho_{\text{blind}}) \cdot 1 = 1 - \rho_{\text{blind}} < 1\]

即使参与表决的神经网络数量无限多,集体准确率仍严格受限于 \(1 - \rho_{\text{blind}}\)。当 \(\rho_{\text{blind}} = 0.15\) 时,多数投票的可靠性都无法超过 \(85\%\),无论计算预算或智能体数量如何。具有共同盲点的模型相互投票,无法消除它们共有的错误;因此,决定提交内容的是确定性检查,而非投票(集成系统中的相关性失效)。

高维测度集中与维度灾难

如 混合检索 所述,高维向量检索会使空间划分树(例如 \(k\)-d 树和 \(R\)-树)失效,使其退化为穷尽式线性扫描。本节推导 \(D\) 维连续欧氏球体体积的闭式表达式,并依据 Beyer 定理形式化描述距离对比度的丧失。

连续超球体的体积与壳层集中

对于 \(D\) 维欧氏球体,若其半径为 \(r\),则其体积由下式给出:

\[V_D(r) = \int_{\|\mathbf{x}\|_2 \le r} d\mathbf{x} = r^D \cdot V_D(1)\]

为计算单位球体的体积 \(V_D(1)\),我们对可分离高斯函数 \(\exp(-\|\mathbf{x}\|_2^2)\) 在整个 \(\mathbb{R}^D\) 上进行积分:

\[\int_{\mathbb{R}^D} e^{-\|\mathbf{x}\|_2^2} d\mathbf{x} = \prod_{i=1}^D \int_{-\infty}^{\infty} e^{-x_i^2} dx_i = (\sqrt{\pi})^D = \pi^{D/2}\]

转换为球极坐标,以 \(S_{D-1}(r) = \frac{d}{dr} V_D(r) = D \cdot r^{D-1} V_D(1)\) 为表面积微元:

\[\int_{\mathbb{R}^D} e^{-\|\mathbf{x}\|_2^2} d\mathbf{x} = \int_0^\infty e^{-r^2} S_{D-1}(r) dr = D \cdot V_D(1) \int_0^\infty r^{D-1} e^{-r^2} dr\]

作变量代换 \(u = r^2\)(\(du = 2r dr\)):

\[\int_0^\infty r^{D-1} e^{-r^2} dr = \frac{1}{2} \int_0^\infty u^{\frac{D}{2} - 1} e^{-u} du = \frac{1}{2} \Gamma\left(\frac{D}{2}\right)\]

令笛卡尔坐标积分与球坐标积分相等:

\[\pi^{D/2} = D \cdot V_D(1) \cdot \frac{1}{2} \Gamma\left(\frac{D}{2}\right) = V_D(1) \cdot \frac{D}{2} \Gamma\left(\frac{D}{2}\right) = V_D(1) \cdot \Gamma\left(\frac{D}{2} + 1\right)\]

解出 \(V_D(1)\),再按 \(r^D\) 缩放,得到体积的闭式表达式:

\[V_D(r) = \frac{\pi^{D/2}}{\Gamma\left(\frac{D}{2} + 1\right)} r^D\]

对于相对厚度为 \(\epsilon\)(\(0 < \epsilon < 1\))的外壳层,半径为 \(r(1 - \epsilon)\) 的内部球体的体积为 \(V_D(r(1 - \epsilon)) = (1 - \epsilon)^D V_D(r)\)。外壳层所占的总体积比例为:

\[\frac{V_D(r) - V_D(r(1 - \epsilon))}{V_D(r)} = 1 - (1 - \epsilon)^D\]

当 \(D \to \infty\) 时,\((1 - \epsilon)^D \to 0\),且这一过程以指数速度发生。当 \(D = 1536\) 且 \(\epsilon = 0.01\) 时,超过 99.99998% 的体积集中在半径最外侧的 1% 范围内。

距离对比度消失(Beyer 定理)

Beyer 等 (1999年) 证明,当最近数据点与最远数据点之间的距离对比度渐近消失时,最近邻搜索在拓扑意义上变得不再良定义。

Beyer, Kevin, Jonathan Goldstein, Raghu Ramakrishnan, 和 Uri Shaft. 1999年. 《When Is 〈Nearest Neighbor〉 Meaningful?》 International Conference on Database Theory (ICDT), 217~35. https://doi.org/10.1007/3-540-49257-7_15.

设 \(\mathbf{x}_1, \dots, \mathbf{x}_N\) 为 \(\mathbb{R}^D\) 中从具有有限阶矩的分布中抽取的相互独立的随机向量,设 \(\mathbf{q}\) 为独立的查询向量。定义 \(D_{\min}(N, D) = \min_{1 \le i \le N} \|\mathbf{x}_i - \mathbf{q}\|_p\) 和 \(D_{\max}(N, D) = \max_{1 \le i \le N} \|\mathbf{x}_i - \mathbf{q}\|_p\)。

如果成对距离的相对方差相对于平均距离呈次二次增长:

\[\lim_{D \to \infty} \frac{\operatorname{Var}(\|\mathbf{x} - \mathbf{q}\|_p)}{\mathbb{E}[\|\mathbf{x} - \mathbf{q}\|_p]^2} = 0\]

那么,对于任意固定的数据集大小 \(N\) 以及任意 \(\epsilon > 0\):

\[\lim_{D \to \infty} \mathbb{P}\left( \frac{D_{\max}(N, D) - D_{\min}(N, D)}{D_{\min}(N, D)} \le \epsilon \right) = 1\]

在此条件下,最近邻距离与最远邻距离之比依概率收敛于 1。在高维潜在空间中,每个已存储的记忆向量到查询向量 \(\mathbf{q}\) 的距离都近似相等。因此,以 \(\mathbf{q}\) 为中心的查询包围球必须扩展至包含几乎所有数据点,才能保证找到精确最近邻,从而迫使空间树索引结构遍历每个叶节点。

回到顶部
← 三卷书架