在深度学习模型训练的中间修改学习率

伍迪

以下是配置HuggingFace转换器库中使用的TrainingArguments的代码以微调GPT2语言模型的代码。

training_args = TrainingArguments(
        output_dir="./gpt2-language-model", #The output directory
        num_train_epochs=100, # number of training epochs
        per_device_train_batch_size=8, # batch size for training #32, 10
        per_device_eval_batch_size=8,  # batch size for evaluation #64, 10
        save_steps=100, # after # steps model is saved
        warmup_steps=500,# number of warmup steps for learning rate scheduler
        prediction_loss_only=True,
        metric_for_best_model = "eval_loss",
        load_best_model_at_end = True,
        evaluation_strategy="epoch",
        learning_rate=0.00004, # learning rate
    )

early_stop_callback = EarlyStoppingCallback(early_stopping_patience  = 3)
    
trainer = Trainer(
        model=gpt2_model,
        args=training_args,
        data_collator=data_collator,
        train_dataset=train_dataset,
        eval_dataset=test_dataset,
        callbacks = [early_stop_callback],
 )

历元的数目100learning_rate0.00004,也是early_stopping配置有耐心值3

该模型运行了5/100个纪元,并注意到loss_value的差异可以忽略不计。最新的检查点另存为checkpoint-latest

现在,我是否learning_rate可以修改“可能0.01来自”0.00004并从最新保存的检查点-开始恢复训练checkpoint-latest这样做会有效吗?

还是要以新的learning_rate价值进行培训我应该从头开始培训吗?

无神经儿童

不,您不必重新开始培训。

改变学习率就像改变模型在损失函数所确定方向上迈出的一大步

您也可以将其视为转移学习,其中模型具有一定的经验(无论多少或无关),并且weights处于最有可能比随机初始化的模型更好的状态

事实上,在中等学习中改变学习率是一门深度学习的艺术,如果您有很好的理由应该改变它。

如果您或其他人想“复制”模型的结果,则可能要写下何时(为什么,做什么等)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在云中调度GPU以训练深度学习模型

来自分类Dev

使用 AMD 训练深度学习模型

来自分类Dev

深度 Q 学习修改

来自分类Dev

如何在深度学习模型中训练不同尺度的特征

来自分类Dev

我的深度学习模型不是培训。我该如何训练?

来自分类Dev

Pytorch根据时代数更改学习率

来自分类Dev

如何在PyTorch(1.6)中更改学习率

来自分类Dev

深度学习训练集的图像增强算法

来自分类Dev

如何让深度学习训练误差收敛?

来自分类Dev

如何训练深度学习网络

来自分类Dev

Numpy- 深度学习、训练示例

来自分类Dev

Spacy在训练自定义模型时会使用哪种深度学习算法?

来自分类Dev

姿势网是机器学习模型还是深度学习模型

来自分类Dev

如何避免重新训练机器学习模型

来自分类Dev

深度学习模型权重的初始化

来自分类Dev

确定深度学习模型的最佳分类阈值

来自分类Dev

如何在云端部署深度学习模型?

来自分类Dev

人脸识别深度学习有哪些模型?

来自分类Dev

张量流2.0自定义训练循环的学习率

来自分类Dev

转移学习:模型给出不变的损失结果。不训练吗?

来自分类Dev

训练基于个性化的机器学习模型

来自分类Dev

使用Celery或RESTful API服务深度学习模型?

来自分类Dev

复杂模式识别的深度学习模型

来自分类Dev

Q学习代理的学习率

来自分类Dev

OpenCL / AMD:深度学习

来自分类Dev

简单的深度学习预测

来自分类Dev

图解深度学习

来自分类Dev

学习深度学习的最佳来源是什么?

来自分类Dev

多处理无法训练超过65536字节训练数据的Scikit学习模型