Page 118 - 《软件学报》2026年第6期
P. 118
舒善富 等: 基于自适应知识蒸馏的代码大模型轻量化 2437
使优化过程更容易.
3.2 KL 散度及 RKL 散度
知识蒸馏的目标是设计合适的散度. 在深度学习领域, 度量散度在模型训练和知识转移中扮演着重要角色.
KL 散度倾向于对分布的主要部分进行建模, 要求当 p > 0 时, q 也必须大于 0. 这种对主要质量的建模特性, 使 KL
散度在需要捕捉数据主要特征时非常有用. 但当分布差距大时, KL 散度会导致学生模型对教师模型中趋零分布区
域分配不合理的高概率, 导致生成错误. Minka 等人 [46] 深入分析了 KL 散度的性质, 指出 RKL 散度具备零强迫特
性, 即当原始分布 p 在某些区域为 0 时, 它会强制近似分布 q 在这些区域也为 0. 这一特性使得 RKL 散度在处理分
布的尾部或低概率事件时非常有效.
t 中第 个词的 teacher , 通过软化教师模型的 logits, 可以得到教师模型的输
i
本文定义教师模型在位置 logits 为 z i,t
( )
出概率分布, 定义为 p y t |y <t , x . 软化后的概率分布定义如下:
( )
exp z teacher /T
( ) t
V ( )
p y t |y <t , x = ∑ (2)
exp z teacher /T
i=1 i,t
{ }
其中, x 表示输入样本, y t 表示教师模型在位置 上生成的目标输出, y t ∈ z teacher ,z teacher ,...,z teacher , V 是词汇表的大小,
t
1,t 2,t V,t
V
∑ ( )
t−1 teacher
t
y <t = {y j } j=1 , 温度参数 T 控制软化的程度. i=1 exp z i,t /T 为教师模型在位置 对所有词 logits 值的指数和. 较高
T 值会使得概率分布更加平滑, 有助于知识的传递.
的
Kim 等人 [42] 将传统的 KL 散度首次应用于序列级任务上, 本文中采用相同的序列级 KL 散度, 定义如下:
( ( ) )
∑ p y|y <t , x
|y| ( )
L KL (p,q θ ) = − p y|y <t , x log ( ) (3)
t=1 q θ y|y <t , x
其中, p(x) 是教师模型生成的概率分布, q θ (x) 是学生模型生成的概率分布, 是学生模型的参数.
θ
RKL 散度的定义如下:
( ( ))
∑ q θ y|y <t , x
|y| ( )
L RKL (p,q θ ) = − q θ y|y <t , x log ( ) (4)
t=1 p y|y <t , x
( )
p(x)
对于 L KL (p,q θ ), 定义 f (p,q θ ) = p(x)log , 当 p(x) 趋向 0 时, 有如下推导公式:
q θ (x)
( ) ( )/
p(x) p(x) 1
lim p(x)log = lim log = − lim p(x) = 0 (5)
p(x)→0 q θ (x) p(x)→0 q θ (x) p(x) p(x)→0
因此, 当学生模型难以拟合教师模型概率分布时, KL 散度会导致学生模型高估教师模型的低概率区域, 造成
生成错误.
p(x) 趋向 0 时, ∞, RKL 散度会让学
对于 L RKL (p,q θ ), 定义 f (p,q θ ) = q θ (x)log(q θ (x)/p(x)), 当 f (p,q θ ) 会趋向
生模型侧重关注教师模型中的低概率区域, 即零强迫特性. RKL 散度的零强迫特性, 使其在领域适应任务中得到
了广泛应用. 例如, Nguyen 等人 [47] 在其研究中使用 RKL 散度来减少源域和目标域表示分布之间的差异, 提高模型
在目标域上的泛化能力. Czarnecki 等人 [48] 探索了强化学习领域如何通过策略蒸馏传递知识, 涉及从教师策略到学
生策略的知识转移, 也是利用了 RKL 散度的零强迫特性. 同理, 当 q θ (x) 趋向 0 时, q θ (x)log(q θ (x)/p(x)) = 0. 因此,
在 RKL 散度中, 存在学生模型很难拟合教师模型分布的主要概率的问题.
3.3 自适应知识蒸馏损失函数
在使用知识蒸馏方法对模型训练的过程中, 学生模型需要有效地学习教师模型的输出概率分布. RKL 散度展
p 在某些区域为 0 q 在这些区域也为 0. 这与 KL 散度
现了一种零强迫特性, 即当原始分布 时, 它会强制近似分布
形成对比, 后者倾向于对分布的主要部分进行建模, 要求当 p 大于 0 时, q 也必须大于 0. 由于在训练过程中这两种
分布特性都会出现, 单纯使用一种散度度量无法全面捕捉教师模型的分布, 因此本文提出了结合 KL 散度和 RKL
散度的自适应知识蒸馏方法.
本文提出了一种自适应知识蒸馏方法, 通过可学习的自适应参数 β 动态调整 KL 散度和 RKL 散度的学习优

