赞
踩
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
相同,并且如果是steps
, save_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.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。