首页 > 解决方案 > 变形金刚:ResourceExhaustedError:分配内存失败 [Op:AddV2]

问题描述

我正在尝试使用使用转换器库的文本生成模型。我特别关注HuggingFace的教程,但我遇到了内存问题。

问题:

下载模型时出现问题:

model = TFGPT2LMHeadModel.from_pretrained("gpt2", pad_token_id=tokenizer.eos_token_id)

这会导致以下错误:

ResourceExhaustedError: failed to allocate memory [Op:AddV2]

我尝试了什么:

我使用两个数据块集群(一个 CPU,另一个 GPU)来运行它。为了确保 GPU 可用,我使用了以下命令:

tf.test.is_gpu_available()

输出:

True

为了检查 NVIDIA-SMI,我运行了以下命令:

!nvidia-smi

输出:

Fri Sep 24 18:11:37 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.80.02    Driver Version: 450.80.02    CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla V100-SXM2...  Off  | 00000000:00:1E.0 Off |                    0 |
| N/A   39C    P0   172W / 300W |  16140MiB / 16160MiB |     73%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+

除了检查内存,我还尝试了其他一些“更轻”的模型,而不是“gpt2”,例如“distilgpt2”。

我在问什么:

我知道它内存不足。我不知道是什么原因或下一步该做什么。

我对内存、GPU 和 CPU 的了解不够,因为它们与深度学习模型有关。任何关于我可以做些什么来解决这个问题的指导,或者我接下来可以检查的内容将不胜感激!

谢谢!

标签: python-3.xtensorflowgpuout-of-memoryhuggingface-transformers

解决方案


推荐阅读