当前提供的超参数优化能力支持Random、ASHA、BOHB、BOSS、PBT等HPO算法,适用于常见的深度神经网络的超参数优化,包括单目标优化和随机帕累托的多目标超参选择,详细介绍请参考Vega官网。以下为搜索算法配置示例,请参考配置。
search_algorithm: type: RandomSearch objective_keys: 'accuracy' policy: num_sample: 10 #可选,超参采样的总组数,默认值为10
search_algorithm: type: AshaHpo objective_keys: 'accuracy' policy: total_epochs: 50 max_epochs: 81 min_epochs: 1 num_samples: 9 eta: 3
各配置项均为可选项,样例中的取值为默认值此处配置规则如下:
total_rungs = int(log(max_epochs)) / log(eta) + 1 # 总轮数,由max_epochs和eta决定 epoch = math.pow(eta, rung_id) # 第rung_id轮获得的计算资源,由eta和rung_id决定
search_algorithm: type: BohbHpo policy: total_epochs: 81 min_epochs: 1 max_epochs: 81 repeat_times: 1 num_samples: 40 eta: 3 objective_keys: 'accuracy' random_samples: 32 prob_crossover: 0.6 prob_mutatation: 0.2 tuner: "RF" # TPE | GP | RF
search_algorithm: type: BossHpo policy: total_epochs: 81 max_epochs: 81 repeat_times: 2 num_samples: 40 objective_keys: 'accuracy' tuner: "RF" # TPE | GP | RF
BossHpo算法不支持多目标优化,配置方式和参数说明可参见•BohbHpo。
search_algorithm: type: PBTHpo policy: each_epochs: 3 #每个训练任务的总epoch数量 config_count: 16 #超参采样组数 total_rungs: 200 #超参搜索的总轮数
PBTHpo算法不支持多目标优化。