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

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


                    CASH  方法已成为    AutoML [22] 中的关键研究问题, 针对该领域目前已经开展了大量工作. 此类研究假设每个
                 候选算法的参数空间不同, 由此将不同算法的参数空间重新组织成一个大型联合参数空间, 并在该联合参数空间
                                               [23]                                                   [24]
                 上进行参数调优. 例如, Auto-WEKA 2.0      采用贝叶斯优化自动搜索最佳联合参数以最大化性能. Rising Bandits
                 将贝叶斯优化与多臂老虎机相结合, 在联合参数空间内分阶段对不同的模型进行调优. DivBO                            [25] 引入了算法间多
                 样性的概念     (即其最优配置的相似性), 并使用该指标作为加权函数来指导基于贝叶斯优化的搜索过程. Auto-
                 Model [26] 利用现有研究构建信息网络, 为给定任务选择最合适的机器学习算法, 将贝叶斯优化与遗传算法相结合
                 进行参数调优. 尽管目前研究人员在           CASH  问题上进行了广泛的研究, 但在大模型选择和解码参数调优的组合问
                 题中, 由于每个模型都有着相同的参数空间, 因此直接应用上述算法所构建的联合参数空间所需成本过高.
                    序列化方法仅支持模型参数空间相同的场景, 该方法将模型序列号作为一维新参数加入参数空间, 以此将多
                 模型的参数调优问题转化为单模型的参数调优问题. 例如, OtterTune                [14] 提出将多模型作为一个新的特征加入参数
                 空间的特征集; ResTune   [27] 提出使用  lasso  模型来简化该特征集; 而    Ant [28] 使用贝叶斯优化方法实现模型与参数的
                 调优. 由于此类方法为模型序列号分配的参数可能并不恰当, 这类方法在使用贝叶斯优化等复杂方法进行探索时
                 可能困于局部最优, 而在使用网格搜索等简单策略时探索效率低下.
                    迁移学习方法认为不同模型对应的参数空间上的性能分布是相似的, 以此将模型划分为源环境和目标环境.
                 该方法在源环境上通过采样与评估收集样本数据以训练性能模型, 然后将源环境上的性能模型经过微调后迁移至
                 目标环境中, 以此预测不同环境的性能并选择最优模型与参数. 例如, Bodin                   等人  [29] 基于随机森林实现性能模型迁
                 移; L2S [30] 根据源环境的信息在目标中简化特征集以选择更好的数据点进行采样, 该方法通过缩减性能空间的方
                 式减少成本; 而    Tighineanu  等人  [31] 使用高斯过程拟合性能模型并使用贝叶斯优化为后续采样提供决策. 然而, 此
                 类方法通常缺少可解释性, 因此难以保证性能预测的准确性; 而且此类算法预测精度受源环境下性能预测模型的
                 准确度影响大, 当源环境与最优环境性能分布不一致时会加大性能预测的误差.
                    多阶段组合方法将多模型参数调优问题分为模型选择问题和参数调优问题加以解决, 前者需要模型选择方法
                 来选择最优模型, 而后者需要参数调优方法选择最优参数. 对于参数调优方法, 当前通常采用“采样-评估-再采样”的
                 迭代方法收集样本数据并以此选择最优点, 如贝叶斯优化、演化算法等; 对于模型选择方法, 目前已有大量关于如
                 何选择用于定量描述未来观测的最优模型的研究, 如: 赤池信息量准则                      (Akaike information criterion, AIC) [32] 将样
                 本外预测损失近似为样本内损失和校正项之和; 贝叶斯信息准则                     (Bayesian information criterion, BIC) [33] 用样本大
                 小的对数代替了      AIC  惩罚项中的常数; 桥接准则       (bridge criterion, BC) [34] 还能在渐近状态下结合  AIC  和  BIC  的优
                 势, 有着较好的效果. 然而, 上述方法仅适用于机器学习模型, 而并不适用于大语言模型这一类生成式模型, 这导致
                 大语言模型所能采用的模型选择方法受限, 造成难以承受的调优成本.
                    考虑到   CASH  方法、序列化方法与迁移学习方法存在的问题, 本文采用组合方法, 将模型选择与参数调优相
                 结合以解决代码大模型选择与参数调优问题. 由于现有的模型选择方法不适用于代码大模型, 考虑到性能期望更
                 高的代码大模型所选择的解码参数在参数调优成本相同的情况下性能最优的概率更高, 本文以模型性能期望作为
                 选择最优模型的指标以减少误差.

                  2   CodeLLMTuner

                    本节介绍    CodeLLMTuner 框架, 由图  3  中的  3  个阶段组成. 其中, 绿色三角形表示执行参数调优过程, 橙色长
                 方形表示暂停参数调优过程, 红色正方形表示终止参数调优过程.
                    独立采样阶段: CodeLLMTuner 对每个候选模型并行独立采用解码参数调优策略                     (如贝叶斯优化等方法) 迭代
                 采样和评估以收集样本数据, 在         K  次迭代后暂停上述参数调优过程.
                    模型选择阶段: 基于      PSM  方法, CodeLLMTuner 使用样本数据构建多任务学习倾向评分与性能预测器, 该预
                 测器输入解码参数并预测每个候选模型上该解码参数的倾向评分和性能, 由此可计算每个模型的性能期望并选择
                 最优模型.
                    获选模型的解码参数调优阶段: CodeLLMTuner 在获选模型上重用样本数据以继续执行第                        1  阶段中暂停的参
                 数调优过程, 在    N  次迭代后停止参数调优过程并选择最优解码参数.
   251   252   253   254   255   256   257   258   259   260   261