TrainingArguments 的ignore_data_skip解释
创始人
2024-11-13 15:40:39
0

文章目录

  • 0. 背景
  • 1. 官方解释
  • 2. 查看源码
  • 3. 验证
  • 4. 总结


0. 背景

在采用 HuggingFace 提供的 Transformers 库来训练模型时,如果出现模型训练中断的情况,此时我们希望断点接训,TraningArguments 有一个参数:resume_from_checkpoint=True,用来将保存的 Checkpoint 重新拉起接着训练,Checkpoint 保存了模型的状态参数信息。

此时有一个疑问,再次恢复训练后,模型状态恢复了,但是之前训练过的数据还会重头再训练一遍吗?会不会跳过这部分数据?

查询了网上对这个问题的讲解,发现有一个参数: ignore_data_skip ,但是解释不清楚,最终发现很多是错误的,下面就这个参数进行详细解释。

1. 官方解释

我们先看一下 HuggingFace 的官方对 ignore_data_skip 参数的解释,详情参考这里:
在这里插入图片描述
翻译一下:

ignore_data_skip (bool, 可选, 默认 False) 恢复训练时,是否跳过epochs和batches,以便在与前一次训练相同的阶段加载数据。如果设置为True,训练将开始得更快(因为跳过步骤可能需要很长时间),但不会产生与中断训练相同的结果。

从上面的解释来看,默认情况下即 False,会跳过已经处理过的数据,即从新的数据开始处理;如果设置为 True,那么不会跳过已经处理过的数据,还会从已训练过的数据再来开始训练。

2. 查看源码

为了进一步验证上面的解释,只能看一下源码关于这个参数的处理了,在 Python 库的 transformers/trainer.py
在这里插入图片描述
在这里插入图片描述
从上图中可以看出几点:

  1. 当设置了 resume_from_checkpoint=True 之后,epochs 都会恢复,ignore_data_skip 并不会影响已经训练过的 epoch。例如,之前模型训练了2个epoch,并且在第3个epoch的1000步中断了,那么恢复后的epoch还是从第3个开始;
  2. 设置 ignore_data_skip=True 会在恢复后的 epochs 从头开始训练。例如,之前模型训练了2个epoch,并且在第3个epoch的1000步中断了,那么设置 ignore_data_skip=True,就会从第3个epoch的0步开始训练。如果设置 ignore_data_skip=False 则接着1000步训练。

3. 验证

例如此次训练,中间断了很多次,重新拉起训练后还是基本上接着后面训练,并未从0开始。
在这里插入图片描述

4. 总结

断点重训,设置了 resume_from_checkpoint=True 后,一般情况下 ignore_data_skip 保持默认 False 即可。

相关内容

热门资讯

必看攻略!wepoker怎么开... 必看攻略!wepoker怎么开辅助,wepoker有辅助功能吗,技巧教程(确实有挂)能透视中分为三种...
近日!红龙poker辅助工具,... 近日!红龙poker辅助工具,wpk透视辅助,竟然确实有挂(真的有挂)1、近日!红龙poker辅助工...
推荐一下!边锋干瞪眼辅助器,小... 推荐一下!边锋干瞪眼辅助器,小唐家乐园辅助,其实真的是有挂(哔哩哔哩)1、在边锋干瞪眼辅助器插件功能...
揭秘关于!wpk真的有透视嘛,... 揭秘关于!wpk真的有透视嘛,hhpoker有没有辅助,攻略教程(今日头条)1、完成辅助器v3.3的...
现有说明如下!约局吧德州可以透... 现有说明如下!约局吧德州可以透视吗,如何下载wpk透视版,果然存在有挂(有挂技术)暗藏猫腻,小编详细...
解迷一下!科乐天天踢有没有作比... 解迷一下!科乐天天踢有没有作比,家乡大二辅助免费,切实真的是有挂(哔哩哔哩)1、首先打开科乐天天踢有...
实测教程!hhpoker视频巡... 实测教程!hhpoker视频巡查真的假的,hhpoker德州有挂吗,技巧教程(有挂工具)1、免费辅助...
此事引发网友热议!wepoke... 此事引发网友热议!wepoker透视苹果系统,哈糖大菠萝助手,原来真的有挂(有挂神器)1、下载好we...
必备一下!jj斗地主麻将外卦挂... 必备一下!jj斗地主麻将外卦挂,九游破解辅助插件,其实是真的有挂(哔哩哔哩)1、游戏颠覆性的策略玩法...
必看攻略!hh poker插件... 必看攻略!hh poker插件下载,hhpoker辅助挂,插件教程(有挂总结)1、用户打开应用后不用...