使用 Ansible 在 GPU VM 上简化 GPT-2 模型训练

就在大约两个月前,我对语言模型非常着迷。它从 GPT 3.5 Plus 帐户开始,然后回滚到GPT2,这样我就可以测试自己使用语言模型的能力。我很快就遇到了障碍。

我有一个相当强大的家庭实验室服务器,有 32 个以 4 GHz 运行的超快 AMD Threadripper 内核、256GB DDR4 内存、27TB 可用 ZFS 存储和一个 6GB RTX 1660 GPU。这就是问题开始的地方。

如果您对使用PyTorch处理语言模型一无所知,那么您已经知道我在说什么。即使是最简单的模型也可能需要数小时才能在 24 个 CPU 内核上进行处理,而我的 Nvidia 1660 GPU 上的 6GB Ram 足以处理非常小的批次。尽管 GPU 处理数据的速度甚至比 24 个 CPU 内核快 10 倍,但您必须以非常小的批次处理所有内容,同时加载前一批次作为训练模型。它缓慢且耗时,在人力和处理器方面都是明智的。然后我开始研究云 GPU。他们拥有我需要的能力,但配备 4 个 RTX6000 的 VM 需要 6 美元,费用很快就会增加。

我通常知道我可以使用 Ansible 自动执行此过程,但是在运行模型之前必须进行大量准备工作。因此,我想出了这本 Ansible 剧本,现在我正在与全世界分享。

我已经对这本 playbook 进行了至少十几次测试,并且它在一个具有 200 个 epoch 的小型数据集的测试中工作了几分钟到几个小时。

该剧本使用Hugging Face run_clm.py脚本来处理数据。本手册假设您有一个干净的数据集,其格式适用于Hugging Face Transformers。我有一个 Python 脚本来清理我的数据,但它特定于我的数据集。如果您想帮助清理您的数据,请通过社交媒体或本网站的联系页面与我联系。

而不是我的一篇冗长而曲折的帖子解释这个项目的深层原因,我们将直接跳到这个。首先是

猜你喜欢

转载自blog.csdn.net/iCloudEnd/article/details/131226867