更新时间:2022-12-08 GMT+08:00

如何关闭Mox的warmup

问题现象

训练作业mox的Tensorflow版本在运行的时候,会先执行“50steps” 4次,然后才会开始正式运行。

warmup即先用一个小的学习率训练几个epoch(warmup),由于网络的参数是随机初始化的,如果一开始就采用较大的学习率会出现数值不稳定的问题,这是使用warm up的原因。等到训练过程基本稳定之后就可以使用原先设定的初始学习率进行训练。

原因分析

Tensorflow分布式有多种执行模式,mox会通过4次执行50 step记录执行时间,选择执行时间最少的模型。

处理方法

创建训练作业时,在“运行参数”中增加参数“variable_update=parameter_server”来关闭Mox的warmup。