You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于hypertune包report_hyperparameter_tuning_metric的global_step参数的疑问

关于hypertune.report_hyperparameter_tuning_metric的global_step参数说明
  • 实际含义:global_step指的是模型训练过程中累计的参数更新步数(即每完成一个batch的训练、更新一次模型参数就算一步),和epoch数不是同一个概念。比如你的训练集有1000个样本,batch size设为100,那么1个epoch对应10步。
  • 教程中用NUM_EPOCHS的原因:部分教程这么做是简化场景——如果只在每个epoch结束时汇报调优指标,且固定batch size,有人会偷懒用epoch数代替步数。但这不符合参数的实际语义,若不同trial的batch size不同,用epoch数会导致Vertex AI无法准确判断训练进度,影响调优的公平性。
  • 源码中的作用:这个参数是给Vertex AI的调优系统传递指标产生的时序节点,系统会根据步数来对齐不同trial的训练进度,只对比相同训练阶段的指标(比如只比较所有trial在第500步、1000步时的指标),避免拿训练进度差异大的指标做对比。
  • 默认值1000的意义:这是一个兜底值,当你未明确传入时,系统默认该指标是在第1000步产生的。但实际训练中必须传入真实的累计步数,否则调优逻辑会出现偏差,导致选出的超参数不是最优的。
  • 正确用法示例:
    • TensorFlow中可以直接调用tf.train.get_global_step()获取当前累计步数;
    • PyTorch中需要自己维护一个计数器,每完成一个batch的训练就将计数器加1,再传入该参数。

内容的提问来源于stack exchange,提问作者RichMash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 22:15:40