Page 156 - 《软件学报》2024年第4期
P. 156
1734 软件学报 2024 年第 35 卷第 4 期
现在梯度优化方法中, 例如, 梯度下降通常用于学习神经网络的权重和偏置, 当训练集很大时, 由于每步梯
度都需要在整个训练集上计算, 梯度下降的迭代成本高昂. 为此, 随机梯度下降(SGD) [28] 和小批量梯度下
降(MBGD) [29] 等优化策略被提出. 相较于全量训练样本集上的梯度下降法, 这些优化策略可以在不明显影
响解的质量的同时, 显著减少算法迭代时间与计算成本, 达到绿色高效的目的. 然而, 黑盒目标函数难以直
接照搬梯度方法进行求解 [30] , 与梯度优化中使用的批量梯度下降算法不同, 无梯度优化方法中自适应动态
调整评估所需训练数据子集大小的策略目前较为匮乏. 尽管已有静态地设定不同大小的训练数据子集作为
不同评估保真度的优化方法 [25,31] , 以及将小规模训练子集上的评估建模成全量训练集上评估的带噪优化等
方法 [32,33] , 但设计出能主动、自适应地动态选择训练样本子集以实现绿色有效动态批量评估的无梯度优化
方法仍迫在眉睫.
鉴于此, 本文提出一种基于动态批量评估的绿色无梯度优化方法框架(green derivative-free optimization
with dynamic batch evaluation, GRACE). 优化过程中, GRACE 会动态调整训练子集中的样本数, 并根据不同
训练子集下的解的评估情况, 动态决定使用哪批样本构成训练子集用于当前解的评估, 进而在优化过程中只
使用有代表性的少批量样本, 在较低的评估代价下实现较好的优化性能, 达到绿色低碳高效优化的目标. 具
体而言, 为了充分利用解的评估信息, GRACE 构造了动态评估表这一特殊的数据结构, 以实时记录不同样本
子集上解的评估值. 解的评估值既要返回给黑盒优化器, 又要用于评估不同样本子集之间的相似程度. 算法
通过比较不同样本子集对同一个解的评估值之间的差异, 评估样本子集之间的关系, 进而构造批量相似树来
表征不同样本子集之间的相似程度. 在优化过程中, 算法每隔一定的时间会动态更新批量相似树的结构, 每
次优化前通过批量索引选择策略从批量相似树中选择出差异性较大、代表性较强的样本子集, 使得解的评估
过程中使用的样本子集尽可能仅包括高度凝练的、具有代表性的少批量样本, 实现绿色低碳且高效准确的优
化过程. 我们在语言模型即服务提示词黑盒微调(BBT)和模型超参数优化任务上开展了系列实验, 通过与多
种对比方法及 GRACE 算法的消融版本进行比较分析, 实验结果展示了 GRACE 算法在运行效率、优化有效性
以及绿色低碳性等方面的优势.
本文首先介绍相关工作, 回顾无梯度优化基础知识, 定义问题形式, 然后详细介绍本文提出的基于动态
批量评估的绿色无梯度优化方法, 设计实验并分析结果, 最后总结全文.
1 相关工作
目前已有一些以静态方式选择样本子集用于解的评估的优化方法, 相关研究通过将不同大小的训练子集
建模为多保真度评估或带噪评估来处理该问题.
• 多保真度优化
当优化过程中存在多个不同准确度和成本的评估器时, 基于不同准确度的评估器的优化问题称为多保真
度优化问题 [25−27,34−39] , 可采用多保真度优化方法来权衡评估准确性和评估成本之间的矛盾(高保真度评估准
确但费时费力、低保真度评估不准确但省时省力). 例如, BOCA 算法 [34] 是一种典型的多保真度优化方法, 其
能够有效地共享不同保真度的评估信息, 进而有针对性地选择评估来源以获得更好的优化性能. 其他多保真
度优化方法, 例如使用 Hyperband 调度算法选择保真度评估源的 BOHB 算法 [35] 、使用 Successive Halving 资源
分配算法确定保真度评估源的 ASHA 算法 [36] 、基于神经网络 [34,37] 或熵搜索 [38,39] 的方法等, 均在超参数优化等
任务上展现出较好的结果. 多保真度优化可将在不同大小的训练子集上的解的评估作为不同保真度的评估
源, 通过对低潜力解使用低保真度评估器、高潜力解使用高保真度评估器来权衡优化的效率与性能, 但现有
方法往往难以在优化过程中动态自适应调整用于当前解的评估的训练子集的大小.
• 噪声优化
对于解的评估, 在全量训练集的不同子集上的评估结果往往不同, 此时可将这种评估偏差建模成带噪评
估, 采用噪声优化方法进行处理 [32,33,40] . 噪声优化方法通过将不同训练子集评估结果之间的差异建模为带噪
的目标函数来处理训练子集评估不精确的问题. 在无梯度优化中常用的噪声处理方法有: 通过多次采样取平