Bert增量训练——run_mlm.py脚本训练参数中文总结概括

Bert增量训练,run_mlm.py脚本链接如下:https://github.com/huggingface/transformers/tree/main/examples/pytorch/language-modeling

常用训练参数中文总结概括

参数:
output_dir (str) 必填参数: 写入模型预测和检查点的输出目录(必须要有)
overwrite_output_dir (bool) 可选参数,默认bool为False :如果为True,覆盖输出目录的内容。如果’ output_dir ‘指向检查点目录使用此选项继续训练。PS:文档是这么介绍的,实际上好像是在模型上进行重新训练,进度归零了。
do_train(bool) 可选参数,默认bool为False :是否需要进行训练。这个参数没有被Trainer直接使用,通过你的培训/评估脚本特定地去使用它。
do_eval(bool) 可选参数,默认bool为False :是否对验证集运行评估。如果evaluation_strategy 参数的值不是no,do_eval将会被自动设置为True。这个参数没有被Trainer直接使用,通过你的培训/评估脚本特定地去使用它。
evaluation_strategy(str or [~trainer_utils.IntervalStrategy] ) 可选参数,默认str 为no :培训过程中采用的评估策略。可能的值是:no:培训期间不进行评估。steps:每次eval_steps进行评估(并记录)。epoch:在每个epoch的末尾进行评估。
prediction_loss_only(bool) 可选参数,默认bool为False :当执行评估和生成预测时,只返回损失。
per_device_train_batch_size(int) 可选参数,默认int为8:用于培训的每个GPU/TPU/CPU核心的batchsize大小。
per_device_eval_batch_size(int) 可选参数,默认int为8:用于评估的每个GPU/TPU/CPU核心的batchsize大小。
gradient_accumulation_steps(int) 可选参数,默认int为1:在执行向后/更新传递之前,累积梯度的更新步骤数。PS:在使用梯度累加时,每走一步就等于后退一步。因此,日志记录,每个’ gradient_accumulation_steps * xxx_step ‘训练示例都将执行评估和保存。
eval_accumulation_steps(int) 可选参数,默认int为None:在将结果移动到CPU之前,累积输出张量的预测步骤数。如果如果不设置,整个预测将在GPU/TPU上累积,然后移动到CPU(更快,但需要更多的内存)。
eval_delay(float) 可选参数,默认float为0:在执行第一次求值之前等待的epoch或步骤的数量,取决于evaluation_strategy
learning_rate(float) 可选参数,默认float为5e-5:初始的学习率是提供给 AdamW优化器.
weight_decay(float) 可选参数,默认float为0:在 AdamW优化器权重衰减应用(如果不是零)到所有层除了所有偏差和LayerNorm权重
num_train_epochs(float) 可选参数,默认float为3.0:要执行的训练epoch的总数(如果不是整数,将执行的小数部分的百分比停止训练前的最后一个时期)。
max_steps(int) 可选参数,默认int为-1:如果设置为正数,则表示要执行的训练步骤总数。覆盖num_train_epochs。在使用有限可迭代数据集的情况下,训练可能在达到设定的步骤数之前停止当所有数据耗尽时
lr_scheduler_type(str or[SchedulerType] ) 可选参数,默认str 为linear:要使用的调度器类型。有关所有可能的值,请参阅[SchedulerType]的文档。
warmup_steps (int) 可选参数,默认int为0:从0到’ learning_rate ‘的线性预热所使用的步骤数。覆盖warmup_ratio(此参数不做介绍)的任何效果。
save_strategy(str or ~[trainer_utils.IntervalStrategy] ) 可选参数,默认str 为steps:训练中采用的检查点保存策略。可能的值是:no:在训练过程中不进行保存。epoch:保存在每个epoch的末尾。steps:每次’ save_steps ‘保存。
save_steps(int) 可选参数,默认int为500:如果save_strategy参数为steps,则两个检查点保存之前的更新步骤数。
save_total_limit(int) 可选参数,默认int为None:如果传递了一个值,将限制检查点的总数。在 output_dir中删除较旧的检查点
dataloader_drop_last(bool) 可选参数,默认bool为False :是否删除最后一个未完成的批处理(如果数据集的长度不能被批处理大小整除)与否。
eval_steps(int) 可选参数,默认int为None: 如果evaluation_strategy为steps,则两次计算之间的更新步骤数。如果没有设置,默认值将与logging_steps相同。
load_best_model_at_end(bool) 可选参数,默认bool为False :是否在训练结束时加载在训练中找到的最佳模型。PS:当设置为True时,参数save_strategy需要与evaluation_strategy相同,并且如果是stepssave_steps必须是eval_steps的整数倍。
metric_for_best_model(str) 可选参数,默认str为None:与load_best_model_at_end 一起使用,以指定用于比较两个不同的指标模型。必须是由求值返回的度量值的名称,带或不带’ “eval_” ‘前缀。如果未指定,默认为’ "loss ‘,并且’ load_best_model_at_end=True ‘(用于使用评估丢失)。如果你设置了这个值,’ greater_is_better ‘将默认为’ True '。不要忘记将它设置为“False”,你的指标越低越好。
ignore_data_skip(bool) 可选参数,默认bool为False :恢复训练时,是否跳过epoch和batch同时进行数据加载
和之前的训练阶段一样。如果设置为“True”,训练将开始得更快(如跳过的步骤),可能需要很长时间,但不会产生与中断训练相同的结果。
optim(str [training_args.OptimizerNames]) 可选参数,默认str为adamw_hf:优化器为adamw_hf, adamw_torch,adamw_apex_fused, or adafactor.

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值