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

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


                 调优, 所收集的数据在对齐后被用于计算模型性能期望并选择最优模型.
                  2.2   模型选择阶段
                    由于倾向评分匹配算法可以通过加权对齐操作将不同分布数据转化为相同分布的数据, 本文使用该方法对齐
                 独立采样阶段收集的不同分布的数据, 并以此构建倾向评分与性能预测器, 用于预测各模型性能期望以选择最优
                 模型. 其流程如图     5  所示. 对于图  5  中的变量, 数字为下角标表示第几条数据, 数字为上角标表示数据的第几个维
                 度. (1) 为样本数据中的每条数据项计算所属向量; (2) 冻结性能私有层, 同时训练共享层和倾向评分私有层, 构建
                 倾向评分预测器; (3) 然后为样本数据中的每条数据项使用训练好的模型预测倾向评分; (4) 基于倾向评分计算权
                 重值; (5) 冻结共享层, 同时训练性能私有层, 构建加权性能预测器; (6) 使用梯度采样或随机采样为各个模型收集
                 大量解码参数配置并基于性能预测器预测其性能, 以每个模型性能的平均值作为该模型的性能期望, 以此选择最
                 优模型.

                    样本数据                                          倾向评分与性能预测器
                                                                    共享层
                   Conf Perf  ModelID  1. 基于样本数据模型编号  Conf MV  2. 训练倾向      倾向评分
                   →                       →
                   x 1  y 1  mod 1         x 1  mv 1                        私有层           倾向评分预测器
                      ...       标注所属向量      ...   评分预测器                            mv 1
                                                    →        x 1                   mv 2
                                            3. 预测倾向评分G
                                                             x 2                   mv 3
                                                             x 3                          加权性能预测器
                   Conf Perf ModelID PS  Conf Perf ModelID Weight  5. 训练性能
                   →         → 4. 使用倾向评  →       →                                  y          6. 计算性能期望
                   x 1  y 1  mod 1  g 1  →  x 1  y 1  mod 1  w 1                               以选择最优模型
                        ...    分G计算权重       ...      预测器    mod
                                                                                           获选模型
                                                                           性能私有层
                                           图 5 多任务学习构建模型性能期望预测模型

                    (1) 基于样本数据被采样时的模型编号标注所属向量
                    对于如何处理不同分布的样本数据, 以计算平均因果效应                    (ATE) 为例: 本文假设因变量为       T, 果变量为  Y, 其
                 他能观察到的变量集合为         X, 而因变量取值范围为       S = {0,1}. 解决此类问题的直观方法是通过收集尽量多的数据,
                 以满足条件独立性假设        T⊥(Y(0),Y(1))|X, 即  Exact matching  方法, 如图  6(a) 所示  (绿点表示匹配需要的样本点, 绿
                 线表示样本点之间的匹配关系). 然而考虑到统计开销与可实现性后该方法并不可行, 因此倾向评分匹配方法
                 (propensity score matching, PSM) [35] 被用于解决该问题. 如图  6(b) 所示  (绿点、绿线表征内容同图  6(a)), 在  PSM  方
                                                                                        T⊥(Y(0),Y(1))|X  放松
                 法中, 首先对每一个个体计算一个倾向评分              g(X) (propensity score), 此时将条件独立性假设
                 为  T⊥(Y(0),Y(1))|g(X), 接着根据倾向性得分对于个体进行匹配. 此时该方法要求对于每一个                 T = 1 的个体, 都能从
                 T = 0 的分组里找一个或多个倾向评分相同的个体而非               X  变量一模一样的个体以进行匹配.


                                                                                Model 2
                                             Model 2
                                                                                  G(X)=0.67
                               Performance                        Performance



                                                                   G(X)=0.33    Model 1
                                             Model 1
                                       Configuration space               Configuration space
                               (a) Exact matching算法为每条样木收集       (b) PSM方法按照倾向评分切分参数空间,
                                    对应数据点, 以绿点表示                    并匹配各个子空间内的样本数据
                                             图 6 Exact matching  与  PSM  方法示意图

                    考虑到当前倾向评分估计方法假设模型总数为                 2, 而实际使用中通常无法满足这一要求, CodeLLMTuner 使用
                            −−−→   1    2
                                               |M|
                 倾向评分向量     G(x) = (G (x),G (x),...,G (x)) 而非单个值来表示解码参数配置    X = x 在每个模型上的倾向评分, 其
   253   254   255   256   257   258   259   260   261   262   263