Page 128 - 《软件学报》2026年第6期
P. 128

舒善富 等: 基于自适应知识蒸馏的代码大模型轻量化                                                       2447


                 如表  11  所示, M1  仅采用自适应知识蒸馏方法,         β  值虽是可学习参数, 但未进行额外的控制, 在             HumanEval 和
                 MBPP  数据集上的准确率分别为        18.9%  和  25.2%, 虽相较原始学生模型精度有所提升, 但增幅有限.


                                           β 值控制策略对基于      AKD  方法的模型性能的影响        (%)
                                     表 11

                                                          HumanEval                     MBPP
                        模型             方法
                                                    Pass@1        精度损失          Pass@1        精度损失
                     StarCoder-7B     教师模型           29.3           -             32            -
                                      学生模型           13.4          54.2           14.0          56.3
                                        M1           18.9          35.4           25.2          21.3
                     StarCoder-1B
                                        M2           19.5          33.4           27.8          13.1
                                        M3           20.7          29.3           30.4          5.0

                    M2  在  M1  基础上引入负损失函数作为       β 值的学习目标, 如公式      (15)–(17) 所述, 该策略的引入旨在引导      β 值向
                 最大化模型损失的方向优化. 该策略在             HumanEval 上将准确率提升至      19.5%, 在  MBPP  上达到  27.8%, 较  M1  提
                 升  2.6%, 说明负损失函数有助于优化模型性能.
                    M3  在  M2  基础上, 在每个训练轮次开始前重置         β 值及其学习率, 以增强参数的探索能力, 避免陷入局部最优.
                 实验结果显示, M3     在  HumanEval 上准确率升至    20.7%, 为  3  种策略中最高; 在  MBPP  上达到  30.4%, 精度损失降
                 至  5.0%. 相较  M2, M3  在  HumanEval 和  MBPP  数据集上的精度损失进一步降低了     4.1%  和  8.1%.
                    综上所述, 对于     AKD  方法, 参数  β  学习策略中的自适应学习、负损失函数和参数重置都是必要的, 均会对
                 AKD  方法的代码生成效果产生显著影响.
                  4.4.7    RQ7: AKD  方法的学习策略学习的参数是否优于固定参数?
                    为验证自适应学习的        β 值能够学习到更优的参数, 本文进一步探讨了固定                 β 值对模型性能的影响. 通过将        β
                 值固定为特定值, 直接评估在不同          KL  和  RKL  散度权重组合下模型的表现, 验证        AKD  方法的优势.
                    本文在实验中保持       β 为固定值, 并以   0.2  为采样点在数据集上进行测试, 实验结果如表             12  所示.

                                                β 值对基于   AKD  方法的模型性能的影响        (%)
                                      表 12 固定

                                                          HumanEval                     MBPP
                        模型              β值
                                                    Pass@1        精度损失          Pass@1        精度损失
                     StarCoder-7B     教师模型           29.3           -             36.2          -
                                      学生模型           13.4          54.2           14.0          56.3
                                       0 (KD)        17.1          41.7           24.6          23.1
                                        0.2          18.9          35.4           8.2           74.4
                                        0.4          17.1          41.7           18.6          41.9
                     StarCoder-1B
                                        0.6          18.9          35.4           16.6          48.1
                                        0.8          18.3          37.5           11.8          63.1
                                      1 (RKD)        16.4          44.0           19.4          39.4
                                       AKD           20.7          29.3           30.4          5.0

                    实验结果表明, 固定的       θ 值难以实现最优性能. 当       β = 0 (仅用  KD  方法) 时, 模型在  HumanEval 和  MBPP  上的
                 准确率分别为     17.1%  和  24.6%; 而  β = 1 (仅用  RKD  方法) 时, 准确率降至  16.4%  和  19.4%. 随着  β 从  0  增至  1, 性能
                 呈先升后降趋势. KD      擅长捕捉代码细节, RKD      则有助于建模趋零概率区域的分布, 二者各有优势, 但固定                  β 难以
                 兼顾, 限制了性能.
                    相比之下, AKD    方法通过自适应学习        β, 显著提升了效果. 在    HumanEval 中, 精度损失降至     29.3%, 比固定  β =
                 0.6 的方法低  6.1%; 在  MBPP  中, 精度损失为  5.0%, 较  KD  方法低  18.1%. AKD  通过动态调整  KD  与  RKD  权重, 在
                 高概率区域依赖      KD  提升精度, 在低概率区域借助        RKD  提取有用信息, 从而整体提升模型表现.
                    此外, AKD  克服了固定     β 的局限性. 如   MBPP  中, 当  β 偏向  KD (0.2) 或  RKD (0.8) 时, 性能均明显下降. 说明
                 固定权重难以适应不同数据特性, 而           AKD  能根据数据分布灵活调整策略, 有效避免性能瓶颈. 总体来看, AKD                  的
   123   124   125   126   127   128   129   130   131   132   133