摘要:随着大语言模型(LLM)技术的迅速发展, 涌现了众多代码大模型(Code LLM), 以支持代码生成、代码补全、代码测试和代码重构等任务. 不同模型在处理相同任务时可能表现出显著的性能差异, 且推理阶段的解码参数也会对模型性能产生重要影响. 研究如何为特定代码开发任务高效地选择最佳模型及其最优解码参数. 现有方法通常将模型选择和参数调优分为两个独立阶段, 由于不同阶段的采样策略差异导致无法共享样本数据, 采样与评估计算成本较高. 考虑到不同代码大模型解码参数空间相同, 提出利用倾向评分匹配(PSM)算法加权调整和对齐不同分布的样本数据, 以提高样本数据复用效率、降低计算成本. 由此提出了一个基于样本重用的代码大模型选择与解码参数调优框架CodeLLMTuner. 该框架包含3个阶段: (1)独立采样阶段, 对多个代码大模型并行执行解码参数调优(如贝叶斯优化)并进行数据采样与评估以收集样本数据; (2)模型选择阶段, 利用PSM技术对齐不同模型的样本数据, 从中选出性能期望最优的模型; (3)获选模型的解码参数调优阶段, 复用获选模型的样本数据, 并在其基础上继续进行解码参数调优, 以全面探索性能空间并显著降低采样成本. 实验结果表明, 在代码生成、代码摘要和测试用例生成这3项任务上, CodeLLMTuner相比基线方法在相同成本下性能提升10%–15%, 或在达到相同性能下成本降低超过20%.