Pytorch GPU 示例脚本内存不足

原文标题Pytorch GPU Out of memory on example script

我尝试从官方拥抱面转换器存储库运行示例脚本,其中安装了适用于 Sber GPT-3 Large 的 Python 3.10.2、PyTorch 1.11.0 和 CUDA 11.3。没有任何文件修改,我使用参数运行了这个脚本:

--output_dir out --model_name_or_path sberbank-ai/rugpt3large_based_on_gpt2 --train_file dataset.txt --do_train --num_train_epochs 15 --overwrite_output_dir 

并得到

RuntimeError: CUDA out of memory. Tried to allocate 512.00 MiB

也试过--block_size 32--per_device_train_batch_size 1但不成功。我的GPU是RTX 2060 6GB。可能真的是显存不足?不买新GPU就可以解决吗?

原文链接:https://stackoverflow.com//questions/71456511/pytorch-gpu-out-of-memory-on-example-script

回复

我来回复
  • ewz93的头像
    ewz93 评论

    GPT-3 模型具有大量参数,因此非常占用内存。只是想了解一下,如果我正确理解 Sber AI 文档,大型模型已在 128/16 V100 GPU(每个 GPU 有 32GB)上进行了多天的预训练。模型微调和推理显然会在内存上变得更容易,但即使这样也需要一些严肃的硬件,至少对于较大的模型来说是这样。

    您可以尝试使用中型和小型模型,看看是否适合您。您也可以随时尝试在像 Google Colab 这样的云服务中运行它,他们也有一个笔记本来演示这一点。确保在 Google Colab 的笔记本设置中激活 GPU 使用。在免费版本中,您可以获得一些不错的 GPU,如果您对此更认真,您可以在他们的云中获得专业版以获得更好的硬件。可能比以当前价格购买比 RTX 2060 更强大的 GPU 便宜很多。当然,有很多云硬件服务可以运行大型模型训练/微调,不仅仅是谷歌。

    2年前 0条评论