Pytorch GPU 示例脚本内存不足

Pytorch GPU Out of memory on example script

我尝试了 运行 the example script 来自 官方 huggingface t运行sformers 存储库并安装了 Python 3.10.2,PyTorch Sber GPT-3 Large 的 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能解决吗?

GPT-3 模型的参数非常多,因此非常memory-heavy。只是想了解一下,如果我理解 Sber AIs documentation 正确,大型模型在 128/16 V100 GPU(每个 32GB)上 pre-trained 多天。 Model-finetuning 显然,推理在内存上会容易得多,但即便如此,也需要一些严肃的硬件,至少对于较大的模型而言。

您可以尝试使用 Medium 和 Small 模型,看看是否适合您。此外,您始终可以尝试在 Google Colab 等云服务中 运行 它,他们也有一个 notebook 来演示这一点。确保在 Google Colab 的笔记本设置中激活 GPU 使用。在免费版本中,你可以获得一些不错的 GPU,如果你对此更认真,你可以在他们的云中获得更好的硬件的专业版本。可能比以当前价格购买比 RTX 2060 更强大的 GPU 便宜很多。当然有很多云硬件服务可以运行大型号training/fine-tuning,不仅Google.