Skip to main content

超参数优化

Pro Plan Offering

ClearML HPO 应用程序可在 ClearML Pro 计划下使用。

超参数优化应用程序找到一组参数值,这些值可以优化您模型的特定指标。

它接收一个ClearML实验及其需要优化的参数。参数搜索空间可以通过特定的(离散)值和/或值范围(均匀参数)来指定。

优化应用程序启动原始实验的多个副本,每次采样不同的参数集,应用用户选择的优化策略(随机搜索、贝叶斯等)。

使用高级配置选项控制优化过程,包括时间、迭代和实验限制。

HPO实例配置

  • 导入配置 - 导入一个应用实例配置文件。这将用文件中的值填充实例启动表单,可以在启动应用实例之前进行修改。

  • 初始任务优化 - 要优化的ClearML任务的ID。此任务将被克隆,每个克隆将采样一组不同的超参数值

  • 优化方法 - 采用的优化策略(例如:随机、网格、超带)

  • 目标 - 设置优化目标,以最小化或最大化指定指标的值

    • 优化目标指标的标题 - 要优化的指标的标题
    • 优化目标指标的系列 - 要优化的指标系列(变体)
    • 优化目标趋势 - 选择优化目标,是最大化还是最小化上述指定的指标值
    • + 添加项目 - 添加一个目标
  • 执行队列 - ClearML 队列,优化任务将被加入该队列(确保有代理被分配到该队列)

  • 需要优化的参数 - 构成优化空间的参数

    • Type
      • Uniform Parameters - A value range to sample
        • Minimum Value
        • Maximum Value
        • Step Size - Step size between samples
      • Discrete Parameters - A set of values to sample
        • Values - Comma separated list of values to sample
    • Name - The original task's configuration parameter name (including section name e.g. Args/lr)
    Hydra Parameters

    对于使用Hydra的实验,输入参数来自OmegaConf,格式如下: Hydra/。使用点符号指定。例如,如果你的OmegaConf看起来像这样:

    dataset:
    user: root
    main:
    number: 80

    使用Hydra/dataset.main.number指定number参数。

    此外,请确保初始实验的_allow_omegaconf_edit_参数设置为False(在实验的配置 > 超参数 > Hydra中)。

  • 优化作业标题(可选)- HPO实例的名称。这将出现在实例列表中

  • 优化实验目标项目(可选)- 优化任务将保存到的项目。 留空以使用与初始任务相同的项目。

  • 最大并发任务数 - 同时运行的优化实验的最大数量

  • 高级配置 (可选)

    • 限制总HPO实验次数 - 优化实验的最大总数
    • 保存的顶级实验数量 - 保存的最佳实验数量(其余实验将被归档)
    • 限制单个实验运行时间(分钟) - 每个优化实验的时间限制。实验将在指定时间后停止
    • 单个实验的最小迭代次数 - 一些搜索方法,如Optuna,会修剪表现不佳的实验。这是在实验停止之前的最小迭代次数。迭代基于实验自身的报告(例如,如果实验每轮报告一次,则迭代次数=轮次)
    • 单个实验的最大迭代次数 - 每个实验的最大迭代次数,超过此次数后实验将停止。迭代基于实验自身的报告(例如,如果实验每轮报告一次,则迭代次数=轮次)
    • 限制总优化实例时间(分钟) - 整个优化过程的时间限制(以分钟为单位)
  • 导出配置 - 将应用程序实例配置导出为JSON文件,稍后可以导入以创建具有相同配置的新实例

HPO应用实例启动表单

仪表盘

一旦HPO实例启动,仪表板将显示优化过程的摘要。

HPO仪表板

HPO仪表板显示:

  • 优化指标 - 目标指标随时间变化的最后报告值和最大/最小值
  • 优化目标 - 每个实验的目标指标值
  • 平行坐标 - 参数值对优化目标影响的可视化
  • 摘要 - 实验摘要表:实验执行信息、目标指标和参数值。
  • 预算 - 可用的迭代和任务预算(百分比,基于HPO实例高级配置中定义的值)
  • 资源 - 服务于HPO执行队列的工作者数量,以及当前正在运行的优化任务数量
EMBEDDING CLEARML VISUALIZATION

您可以将应用程序实例仪表板中的图表嵌入到ClearML 报告中。这些可视化内容会随着应用程序实例的更新而实时更新。企业计划和托管服务支持将资源嵌入到外部工具中(例如 Notion)。将鼠标悬停在图表上并点击Embed code以复制嵌入代码,然后导航到报告并粘贴嵌入代码。