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

2134                                                       软件学报  2026  年第  37  卷第  5  期


                    ● 针对代码生成、代码摘要、测试用例生成等关键任务的                    Benchmark  对  CodeLLMTuner 与其他基线方法进
                 行了详尽的实验比较评估. 结果表明, 相较于基线方法所选择的候选模型与参数, CodeLLMTuner 在相同成本下可
                 提高  10%–15%  的性能, 或达到相同性能效果节省         20%  以上的成本.
                  1   相关工作

                    本节分别介绍大语言模型参数调优方法与多模型选择及参数调优方法.
                  1.1   大语言模型参数调优方法
                    在机器学习与深度学习领域已有大量超参数调优的工作, 在大语言模型领域这方面的研究刚刚起步, 相关研
                 究工作可分为推理过程参数调优与训练过程参数调优.
                    在大语言模型推理阶段, 解码参数会极大影响大语言模型输出结果, 这种对推理时输出的直接控制是确保语
                 言模型在实际应用中实用性的有力工具, 相关工作对如何选择解码参数进行了探索. EcoOptiGen                         [15] 通过高斯过程
                 建立大语言模型性能与其解码配置之间的关系, 并使用贝叶斯优化解决配置调优问题; 文献                             [16] 自主确定输入样
                 本的最佳解码策略和配置, 实现大语言模型的自我调优; 文献                   [17] 将超参数调整表述为在线多臂老虎机             (multi-
                 armed bandit, MAB) 问题, 并引入两级分层方法以有效探索配置空间. 除此之外, 若将提示词作为参数考虑, 大语言
                 模型推理结果的质量与提供的提示词的信息数量和完善度有关, 因此相关工作对如何选择提示词进行了探索:
                 EvoPrompt [18] 借鉴进化算法思想, 通过为提示种群迭代生成新提示以改进种群, 从而实现大语言模型提示调优;
                 MPT [19] 从多个源提示中提炼知识并使用迁移学习方法更新可迁移提示以使其适应每个下游目标任务.
                    大语言模型参数调优还包括训练阶段参数调优, 在大语言模型进行训练或微调时, 超参数会对模型最终性能
                 有重要影响, 因此相关工作对如何选择微调超参数进行了探索: PandaLM                   [20] 提供了一个用于大语言模型微调超参
                 数调优的自动、稳健且可靠的评估            Benchmark; 而文献  [21] 使用  MADS  与  NOMAD  两个黑盒调优算法对低秩自
                 适应 (LoRA) 微调方法进行超参数调优.
                    然而, 上述方法仅针对特定的单一大语言模型进行配置调优, 而实际应用中常需在多个大语言模型间进行选
                 择, 并同时进行解码配置调优.
                  1.2   多模型选择及参数调优方法
                    如图  2  所示, 目前关于多模型选择及参数调优的相关工作可分为                 4  类: 联合算法选择和超参数优化         (combined
                 algorithm selection and hyperparameters optimization, CASH)、模型序列化方法、迁移学习方法与多阶段组合方法.

                                                           Cost Total =K×Cost ModSel +Cost ConfTune  (dim Comb =N+1)
                         Cost Total =Cost ConfTune  (dim CASH =N×K)  Codex    Sampled points
                                                     模型选择:
                        Codex  ...  LLM ...  CodeGen             Code Llama   Sampled points
                                                         LLM_id                             opt_LLM
                                                                    ...          ...
                   Temp  ...  top-k  ...  Temp  ...  top-k  配置调优:  CodeGen    Sampled points
                                                         opt_Conf    Sampled points  Temp  ...  top-k
                                参数空间
                 (a) CASH方法 (支持绝大多数参数调优方法, 如贝叶斯优化)        (c) 组合方法 (支持绝大多数参数调优方法, 如贝叶斯优化)
                                                                 Cost Total =((K−1)×ε+1)×Cost ConfTune  (ε<1, dim Tuner =N+1)
                         Cost Total =Cost ConfTune  (dim Seri =N+1)  独立  Codex  Temp  ...  top-k  Sampled points  模型选择:
                                                    采样:
                     Codex                               Code Llama Temp  ...  top-k  Sampled points  Performance
                                                            ...        ...             ...        predictor
                    Code Llama
                              LLM   Temp  ...  top-k             Temp  ...  top-k  Sampled points
                      ...                                 CodeGen
                    CodeGen                         获选模型
                                   参数空间                     opt_Conf  Sampled points  Temp  ...  top-k opt_LLM
                                                    参数调优:
                  (b) 序列化方法 (仅支持如梯度采样等少数参数调优方法)           (d) CodeLLMTuner (支持绝大多数参数调优方法, 如贝叶斯优化)
                                             图 2 多模型选择及参数调优方法概述
   250   251   252   253   254   255   256   257   258   259   260