Bert预训练相关参数梳理
作者:白鹿
第一阶段:CreatePretrainData阶段
参数名称 | 参数说明 |
---|---|
do_lower_case | 是否忽略大小写 |
max_seq_length | 每条训练数据的最大长度,过长的会截取,不够的会进行padding |
max_predictions_per_seq | 每条样本被允许遮蔽token的最大数量 |
masked_lm_prob | 每条样本以15%的概率遮蔽token,具体内部还有8:1:1区分处理 |
short_seq_prob | 命令行中参数, 默认0.1, 以10%的概率生成短训练样本, 以增加鲁棒性 |
dupe_factor | 命令行中的dupe_factor, 最外层循环, 直观理解是同一句话生成了dupe_factor条样本(不过每条样本的next sentence(视text_a 和text_b 文本具体情况有可能不同)和masks不同) |
第二阶段:Pretrain阶段
参数名称 | 参数说明 |
---|---|
max_seq_length | 同上 |
max_predictions_per_seq | 同上 |
train_batch_size | ---- |
eval_batch_size | ---- |
learning_rate | ---- |
num_train_steps | max train step |
num_warmup_steps | 当训练的步数global_steps小于warmup_steps时,将学习率乘以global_steps/warmup_steps这样一个线性增长的系数。如果这个数设的太大(尤其当训练样本超大时)前期学习率会很低基本不优化。 |
iterations_per_loop | 在tpu或者gpu每个评估单元调用过程中要执行多少步骤 |
do_train/do_eval | ----- |