Page 266 - 《软件学报》2026年第5期
P. 266

曲慕子 等: CodeLLMTuner: 基于样本重用的代码大模型选择与解码参数调优框架                                    2145


                 解码参数调优过程中所选择的模型与解码参数对应的性能,                    Y max  为各候选模型参数空间中的真实最优性能, 本文
                 通过为各候选模型的参数空间遍历采样并评估                 1 875  个参数配置以从中选择最优解的方式确定该数据. RP               值越
                 低, 调优过程所选择的模型与解码参数性能越接近理想性能. 本文选择目标相对性能                            (0.24、0.20、0.16、0.12、
                 0.08、0.04) 作为性能要求, 比较达到目标       RP  值的最少采样次数作为各基线方法成本的衡量标准. 本实验为各个
                 基线方法自低向高地分配成本以进行代码大模型选择与解码参数调优, 并基于上述公式计算各基线方法在不同成
                 本下的相对性能, 由此记录各基线方法满足不同性能要求的最小成本, 即实验相对性能小于目标相对性能的最少
                 的采样次数, 其结果如表       3  所示. 其中, N/A  表示在可控成本范围内该方法无法达到性能要求.

                   2.6                           1.8                          2.2
                   2.4                           1.6
                   2.2                           1.4                          2.0
                   2.0
                                                 1.2
                  组合评分  1.8                     组合评分  1.0                    组合评分  1.8
                                                 0.8
                   1.6
                                                                              1.6
                   1.4
                   1.2                           0.6                          1.4
                                                 0.4
                   1.0                           0.2
                   0.8                            0                           1.2
                     0  20 40 60 80 100 120 140 160  0  20 40 60 80 100 120 140 160  0  20 40 60 80 100 120 140 160
                              迭代次数                          迭代次数                         迭代次数
                            (a) 平均组合场景                (b) 关注代码生成任务场景               (c) 关注测试用例生成场景
                            (MultiTask-70%)              (MultiTask-70%)               (MultiTask-70%)
                   2.2                           1.6                          2.0
                   2.0                           1.4                          1.8
                   1.8                           1.2                          1.6
                  组合评分  1.6                     组合评分  0.8                    组合评分  1.4
                                                 1.0
                   1.4
                   1.2                           0.6
                                                 0.4                          1.2
                   1.0                           0.2
                   0.8                            0                           1.0
                     0  20 40 60 80 100 120 140 160  0  20 40 60 80 100 120 140 160  0  20 40 60 80 100 120 140 160
                              迭代次数                          迭代次数                         迭代次数
                            (d) 平均组合场景                (e) 关注代码生成任务场景                (f) 关注测试用例生成场景
                            (MultiTask-30%)              (MultiTask-30%)               (MultiTask-30%)
                                 DivBO     EcoOptiGen  Transfer learning  AutoRAG-HP  CodeLLMTuner
                          图 11 各基线方法在       MultiTask-70%  和  MultiTask-30%  上所选择的最优模型与参数性能

                                      表 3 各基线方法为达到相同性能要求所需要的最小成本

                                                               Relative performance
                     Baseline method
                                         0.24       0.20       0.16        0.12       0.08       0.04
                     CodeLLMTuner        20          20         20         25          30         55
                        DivBO            20          20         20         30         135        N/A
                       EcoOptiGen        20         195        245         N/A        N/A        N/A
                      AutoRAG-HP         20          20         20         240        N/A        N/A
                     Transfer learning   25          30         45         50         100        N/A

                    在不同的性能要求下, CodeLLMTuner 所消耗的成本更少, 而             EcoOptiGen  所消耗的成本最多, 其原因在于序
                 列化方法容易陷入局部最优点导致难以实现全局最优; 在可接受的成本范围内, CodeLLMTuner 可以达到更高的
                 性能要求, 而   DivBO  和  transfer learning  效果次之, 其原因在于  CASH  方法与迁移学习方法虽然会避免陷入局部最
                 优, 但这两种方法会消耗更多成本.
                  3.4   消融实验
                    考虑到   CodeLLMTuner 可以与不同的成本分配方式、参数调优方法与模型选择方法相结合, 本节探讨上述因
   261   262   263   264   265   266   267   268   269   270   271