Tensorflow没有在GPT-2程序中充分利用GPU

时间:2019-12-03 05:34:50

标签: python tensorflow

我正在运行大型模型(774M)的GPT-2代码。它用于通过Interactive_conditional_samples.py(链接:here

)生成文本样本。

因此,我给了一个包含提示的输入文件,这些提示被自动选择以生成输出。此输出也将自动复制到文件中。简而言之,我不是在训练它,而是在使用模型生成文本。 另外,我使用的是单个GPU。

我面临的问题是,代码没有充分利用GPU。

通过使用nvidia-smi命令,我可以看到下图

https://imgur.com/CqANNdB

1 个答案:

答案 0 :(得分:1)

这取决于您的应用程序。当batch_size较小时,GPU利用率较低并不罕见。尝试增加batch_size以提高GPU利用率。

对于您而言,您已在程序中设置了batch_size=1。将batch_size增加到更大的数量并验证GPU利用率。

让我解释一下使用MNIST大小的网络。它们很小,因此很难实现较高的GPU(或CPU)效率。批处理数量更大时,您将获得更高的计算效率,这意味着您每秒可以处理更多的示例,但统计效率也将降低,这意味着您需要总共处理更多的示例才能达到目标精度。所以这是一个权衡。对于小角色模型,在batch_size = 100之后,统计效率会很快下降,因此可能不值得尝试增加用于训练的批处理大小。为了进行推断,您应该使用最大的批处理大小。

希望这能回答您的问题。学习愉快。