unilm Kosmos 2 - 当no_prefetch=False时,训练挂起,

but5z9lq  于 6个月前  发布在  其他
关注(0)|答案(3)|浏览(73)

描述bug

我使用的模型(UniLM,MiniLM,LayoutLM等):Kosmos 2
问题出现在使用以下情况时:

  • 官方示例脚本:我尝试根据说明运行最简单的微调。
    一个清晰简洁的描述bug是什么:

训练脚本在以下情况下挂起:

2023-09-10 16:12:56 | WARNING | infinibatch.iterators | trying to fetch item, but prefetch buffer is empty

当我使用no_prefetch=True加载数据加载器时,脚本可以正常工作。这是否可能是因为没有足够的tsv文件?当使用no_prefetch=False时,可能导致脚本挂起的原因是什么?

重现

重现行为所需的步骤:

  1. 创建一个单独的tsv文件,并运行给定的训练命令。
yqhsw0fo

yqhsw0fo1#

你好,Yuval Kirstain。我们建议你使用多个tsv文件进行训练和调试。此外,no_prefetch=False可以提高数据加载速度,但在调试模式下不能使用。警告信息是正常的,它只应该出现在训练的开始阶段。

z6psavjg

z6psavjg2#

感谢您的帮助 @wenhui0924。

  1. 推荐用于调试和训练的最小tsv文件数量是多少?
  2. 当看到 infinibatch.iterators | trying to fetch item, but prefetch buffer is empty 警告时,我们预计需要等待多长时间?
  3. 什么是调试模式?是否有相应的标志?或者您是指当用户尝试调试时的情况?
    此外,发布一些示例数据文件(比最初用于训练模型的数据要小得多)可能会对用户有所帮助,这些文件将使用户能够快速运行代码并了解数据应该是什么样子以及数据的结构。目前,用户必须从代码本身理解这一点。
abithluo

abithluo3#

你好,@yuvalkirstain。

  1. 你可以尝试使用多个tsv文件。此外,配置文件中不应多次包含相同的tsv文件。
  2. 经过几批处理后。
  3. 是的,当用户尝试调试(例如使用pdb)时。

感谢你的建议!我们会尝试这样做。

相关问题