Ray----Tune(3):Tune试验(trial)调度

本文介绍了Ray Tune中的试验调度算法,包括Population Based Training (PBT)、Asynchronous HyperBand、HyperBand及其详细实现,以及Median Stopping Rule。这些算法用于高效地优化超参数并实现早期停止。PBT在训练过程中动态调整超参数,而HyperBand和异步HyperBand通过分阶段提前停止低效试验。Median Stopping Rule则依据中值性能指标决定试验的终止。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇介绍Tune中trial调度算法。主要介绍了Population Based Training (PBT)、Asynchronous HyperBand、 HyperBand及实现、Median Stopping Rule四种试验调度。

默认情况下,Tune使用FIFOSchscheduler类按顺序安排试验。不过,您还可以指定一个自定义调度算法,该算法可以提前停止试验或干扰参数。

tune.run( ... , scheduler=AsyncHyperBandScheduler())

Tune包括早期停止算法的分布式实现,例如中值停止规则,HyperBand和HyperBand的异步版本。这些算法具有很高的资源效率,在很多情况下都优于贝叶斯优化方法。目前,所有调度程序都采用一个度量标准metric,该度量标准是您的Trainable的结果字典中返回的值,并且根据模式mode而最大化或最小化。(老版本中是所有调度程序都接受一个reward_attr,即目标参数标准,该值假定为最大化。)。由于此篇写的比较早,故后边的例子主要是按照老版本进行说明的。

目前可用的试验调度程序:

  • Population Based Training (PBT)
  • Asynchronous HyperBand
  • HyperBand--------HyperBand Implementation Details
  • Median Stopping Rule
    下面介绍这四种调度算法。

1.Population Based Training (PBT)

Population Based Training (PBT)的分布式实现。这可以通过设置tune.runscheduler参数来启动,例如:

pbt_scheduler = PopulationBasedTraining(
        time_attr='time_total_s',
        reward_attr='mean_accuracy',
        perturbation_interval=600.0,
        hyperparam_mutations={
            "lr": [1e-3, 5e-4, 1e-4, 5e-5, 1e-5],
            "alpha": lambda: random.uniform(0.0, 1.0),
            ...
        })
tune.run( ... , scheduler=pbt_scheduler)

启用PBT调度程序后,每个试验变体都将被视为总体的成员。 定期检查性能最佳试验(这需要Trainable支持检查点,故用此调度的训练使用基于函数API时需要在函数中加上检查点相关代码)。 低性能的试验克隆了表现最佳者的试验的参数并添加配置,以期发现更好的参数变体。
可以通过运行一个小 PBT 例子了解PBT的工作。当在PBT模型下进行训练时,单个试验可能会在其生命周期中看到许多不同的超参数,并将其记录在result.json文件。单个实验过程中优化LR调度的PBT生成了下图:

在这里插入图片描述

class ray.tune.schedulers.PopulationBasedTraining(time_attr='time_total_s', 
		reward_attr='episode_reward_mean', perturbation_interval=60.0, 
		hyperparam_mutations={}, resample_probability=0.25, custom_explore_fn=None)

PopulationBasedTraining源码PBT论文
PBT并行地训练一组模型(或代理)。性能较差的模型会周期性地克隆性能最好的模型的状态(

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值