Speculative Decoding数学验证
普通几何分布
定义:在独立重复的伯努利试验(只有两种可能结果,如成功或失败,且每次试验相互独立,成功概率 p 固定 )中,用于描述试验进行到首次成功时的试验次数的概率分布。假设随机变量 X 表示首次成功时的试验次数,X 取值为正整数 1,2,3,⋯ ,其概率质量函数为 P(X=k)=(1−p)k−1p ,其中 k 是试验次数,p 是每次试验成功的概率 ,0<p<1 。例如抛硬币,设正面朝上为成功,若硬币质地均匀,p=0.5 ,那么抛 3 次才首次正面朝上(前 2 次反面,第 3 次正面 )的概率 P(X=3)=(1−0.5)3−1×0.5=0.125 。
性质:
期望:E(X)=p1 ,意味着成功概率 p 越大,平均来说达到首次成功所需的试验次数越少。比如 p=0.2 时,平均要试验 5 次才首次成功;p=0.5 时,平均 2 次就首次成功 。
方差:D(X)=p21−p ,反映了试验次数的离散程度。
无记忆性:若 m,n 为正整数,在已经进行了 m 次试验且都失败的条件下,再进行 n 次试验才首次成功的概率,等于从一开始就进行 n 次试验才首次成功的概率,即 P(X=m+n∣X>m)=P(X=n) 。
截尾几何分布
定义:对普通几何分布进行限制得到的分布。普通几何分布中试验次数理论上可以无穷大,但截尾几何分布限定了试验次数的上限。设随机变量 Y 服从截尾几何分布,上限为 N (N 为正整数 ) ,成功概率为 p 。其概率质量函数为:当 k<N 时,P(Y=k)=(1−p)k−1p ;当 k=N 时,P(Y=N)=(1−p)N−1 (表示前 N−1 次都失败 ) 。例如,规定抛硬币最多抛 5 次,若 5 次内有正面朝上(设正面朝上为成功 ),按普通几何分布概率计算;若 5 次都是反面,也作为一种结果,其概率为前 4 次反面的概率 。
作用:在实际应用中,当我们知道试验次数不会超过某个值时,截尾几何分布更贴合实际情况。比如在一些有时间限制或资源限制的试验场景中,试验次数不能无限进行下去,就可以用截尾几何分布建模 。 它相比普通几何分布,由于限定了上限,概率分布会发生变化,计算相关概率和统计量时也需要考虑上限的影响 。
1. 数学推导
Fast Inference from Transformers via Speculative Decoding.(ICML 2023)


t a r g e t m o d e l : M p p ( x ) d r a f t m o d e l : M q q ( x ) target \ model: M_p \quad p(x) \\ draft \ model: M_q \quad q(x) target model:Mpp(x)draft model:Mqq(x)
x ∼ p ( x ) = > x ∼ q ( x ) = { i f q ( x ) ≤ p ( x ) , x ∼ q ( x ) e l s e q ( x ) ≥ p ( x ) , 以 1 − p ( x ) q ( x ) 概率拒绝, 再从调整后的分布 p ′ ( x ) 中采样 其中, p ′ ( x ) = n o r m ( m a x ( 0 , p ( x ) − q ( x ) ) ) x \sim p(x) => x \sim q(x) = \left\{ \begin{aligned} if \ q(x) \leq p(x), &x \sim q(x) \\ else \ q(x) \geq p(x), &以 1- \frac{p(x)}{q(x)}概率拒绝,\\ &再从调整后的分布p'(x)中采样 \end{aligned} \right. \\ 其中,p'(x) = norm(max(0, p(x)-q(x))) x∼p(x)=>x∼q(x)=⎩
⎨
⎧if q(x)≤p(x),else q(x)≥p(x),x∼q(x)以1−q(x)p(x)概率拒绝,再从调整后的分布p′(x)中采样其中,p′(x)=norm(max(0,p(x)−q(x)))
相关证明:
P ( x = x ′ ) = P ( d r a f t 生成被接受, x = x ′ ) + P ( d r a f t 生成被拒绝, x = x ′ ) P(x=x') = P(draft生成被接受,x=x') + P(draft生成被拒绝,x=x') P(x=x′)=P(draft生成被接受,x=x′)+P(draft生成被拒绝,x=x′)
解释:
运用 s p e c u l a t i v e 采样得到某特定 x ′ 的概率 = { d r a f t 生成结果被接受 d r a f t 生成结果被拒绝 运用speculative采样得到某特定x'的概率 = \left\{ \begin{aligned} draft 生成结果被接受 \\ draft 生成结果被拒绝 \end{aligned} \right. 运用speculative采样得到某特定x′的概率={
draft生成结果被接受draft生成结果被拒绝
则:
P ( x = x ′ ) = P ( d r a f t 生成被接受, x = x ′ ) + P ( d r a f t 生成被拒绝, x = x ′ ) = q ( x ′ ) ∗ 接受的概率 + p ′ ( x ′ ) ∗ 拒绝的概率 ↓ x ′ 从 q ( x ) 中 采样这个事件 \begin{aligned} P(x=x') =& P(draft生成被接受,x=x') + P(draft生成被拒绝,x=x') \\ =&q(x') * 接受的概率 + p'(x') * 拒绝的概率\\ &\downarrow \\ x'从q(x)中&采样这个事件 \end{aligned} P(x=x′)==x′从q(x)中P(draft生成被接受,x=x′)+P(draft生成被拒绝,x=x′)q(x′)∗接受的概率+p′(x′)∗拒绝的概率↓采样这个事件
定义: β : 接受的概率 \beta : 接受的概率 β:接受的概率

最低0.47元/天 解锁文章
1173

被折叠的 条评论
为什么被折叠?



