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

2450                                                       软件学报  2026  年第  37  卷第  6  期


                 StarCoder 系列模型, AKD  方法在  HumanEval(+) 数据集上的精度损失从学生模型的           54.2% (50.2%) 降低至  29.3%
                 (26.6%), 在  MBPP  数据集上的精度损失从     56.3%  降低至  5.0%. 其他方法在  HumanEval(+) 和  MBPP  数据集上的精
                 度损失在   41.7%–44.0% (39.9%–42.5%) 和  23.1%–39.4%. AKD  方法在  3  种评估数据集上较其他基准方法平均降低
                 了  13.6% (14.6%) 和  26.3%  的精度损失.

                           表 15 CodeAlpaca 数据集上不同方法对       StarCoder 和  DeepSeek-Coder 性能的影响  (%)

                                                            HumanEval(+)                  MBPP
                          模型               方法
                                                       Pass@1        精度损失          Pass@1      精度损失
                       StarCoder-7B      教师模型         29.3 (23.3)    - (-)          32.0         -
                                         学生模型         13.4 (11.6)   54.2 (50.2)     14.0        56.3
                                           RKD        16.4 (14.0)   44.0 (39.9)     19.4        39.4
                      StarCoder-1.1B
                                           KD         17.1 (13.4)   41.7 (42.5)     24.6        23.1
                                           AKD        20.7 (17.1)   29.3 (26.6)     30.4         5.0
                    DeepSeek-Coder-6.7B  教师模型         47.6 (40.9)    - (-)          57.6         -
                                         学生模型         29.9 (26.2)   37.2 (35.9)     42.4        26.4
                                           RKD        32.9 (26.2)   30.9 (35.9)     43.6        24.3
                    DeepSeek-Coder-1.3B
                                           KD         31.1 (26.2)   34.7 (35.9)     41.2        28.5
                                           AKD        34.1 (27.4)   28.4 (33.0)     44.2        23.3


                       表 16 Magicoder-OSS-Instruct 数据集上不同方法对   StarCoder 和  DeepSeek-Coder 性能的影响  (%)

                                                            HumanEval(+)                  MBPP
                          模型               方法
                                                       Pass@1        精度损失          Pass@1      精度损失
                       StarCoder-7B      教师模型         29.3 (23.3)    - (-)          32.0         -
                                         学生模型         13.4 (11.6)   54.2 (50.2)     14.0        56.3
                                           RKD        18.3 (12.8)   37.5 (45.1)     24.8        22.5
                      StarCoder-1.1B
                                           KD         18.9 (12.2)   35.4 (47.6)     25.0        21.9
                                           AKD        19.5 (13.4)   33.4 (42.5)     28.8        10.0
                    DeepSeek-Coder-6.7B  教师模型         47.6 (40.9)    - (-)          57.6         -
                                         学生模型         29.9 (26.2)   37.2 (35.9)     42.4        26.4
                                           RKD        33.5 (29.9)   29.6 (26.9)     46.8        18.8
                    DeepSeek-Coder-1.3B
                                           KD         34.8 (32.3)   26.9 (21.0)     47.8        17.0
                                           AKD        36.6 (32.3)   23.1 (21.0)     48.6        15.6

                    对于   DeepSeek-Coder 系列模型, AKD   方法在   HumanEval(+) 数据集上的精度损失从学生模型的             37.2%
                 (35.9%) 降低至  28.4% (33.0%), 在  MBPP  数据集上的精度损失从   26.4%  降低至  23.3%. 其他方法在  HumanEval(+)
                 和  MBPP  数据集上的精度损失则在        31.1%–32.9% (34.7%–35.9%) 和  24.3%–28.5%. AKD  方法在  3  种评估数据集
                 上较其他基准方法平均降低了           4.4% (2.9%) 和  3.1%  的精度损失.
                    从表   16  的实验可以得知, 在     Magicoder-OSS-Instruct 数据集上, 对于  StarCoder 系列模型, AKD   方法在
                 HumanEval(+) 数据集上的精度损失从学生模型的           54.2% (50.2%) 降低至  33.4% (42.5%), 在  MBPP  数据集上的精
                 度损失从    56.3%  降低至  10.0%. 其他方法在   HumanEval(+) 和  MBPP  数据集上的精度损失则在        35.4%–37.5%
                 (45.1%–47.6%) 和  21.9%–22.5%. AKD  方法在  3  种评估数据集上较其他基准方法平均降低了             3.1% (3.9%) 和
                 12.2%  的精度损失.
                    对于   DeepSeek-Coder 系列模型, AKD   方法在   HumanEval(+) 数据集上的精度损失从学生模型的             37.2%
                 (35.9%) 降低至  23.1% (21.0%), 在  MBPP  数据集上的精度损失从   26.4%  降低至  15.6%. 其他方法在  HumanEval(+)
                 和  MBPP  数据集上的精度损失则在        26.9%–29.6% (21.0%–26.9%) 和  17.0%–18.8%. AKD  方法在  3  种评估数据集
                 上较其他基准方法平均降低了           5.2% (3.0%) 和  2.3%  的精度损失.
                    实验结果显示, AKD      方法在不同的训练数据集及评估标准中, 均能显著降低模型的精度损失, 提升代码生成
   126   127   128   129   130   131   132   133   134   135   136