行业资讯
如何在算力租赁平台微调 LLaMA 2 模型?RTX 4090微调大模型详解
发布时间: 2024-08-06 13:45

Meta 最近推出了 Llama 2,这是广受认可的 Llama 模型的最新版本,训练数据增加了 40%。考虑到像 Llama 这样的开源大型语言模型 (LLM) 的迅速流行,这个新模型的发布令人激动不已。Llama LLM 与其他大型语言模型有一些相似之处,但它是免费的,这为竞争提供了公平的条件。Llama 2 是在一个巨大的公开在线文本和代码数据集上进行预训练的。经过微调的模型 Llama-2-chat 是在该数据集以及超过 100 万条人工注释上进行训练的。这些模型催生了 Vicuna 和 Falcon 等受欢迎的后代。


同时,开源社区推出了大量旨在微调和部署这些语言模型的实用程序。Peft、Bitsandbytes 和 TRL 等工具允许在 GPU RAM 中无法容纳完整精度模型的机器上微调 LLM。


这篇博文的目的是指导您如何在捷智算平台上微调 Llama 2 模型。我们已经在 RTX 3090、RTX 4090 和 A100 SMX4 80GB 上对此进行了基准测试。


RTX 4090微调LLaMA 2 模型


基准


RTX 4090 展示了令人印象深刻的 1.5 8 位样本/秒,批处理大小为 8。考虑到批处理大小,这几乎是在 A100 上运行的两倍!考虑到 RTX 4090 的价格为 0.50 美元/小时,与 A100 的价格 1.50 美元/小时相比,其性能价格大约是 6 倍。


不同GPU处理性能对比


此处,样本/秒的计算方法是将批处理大小乘以 sft_trainer 脚本报告的 s/iter 的倒数。所有训练运行的梯度累积步长都等于 1。


如何在捷智算平台上自行运行


请参阅本帖的其余部分,了解如何使用 TRL 在捷智算平台上微调 LLaMA 2 的指南。


注册 Meta 和 Hugging Face 以获取访问权限:

1- 在此处请求 Meta 访问权限:https://ai.meta.com/resources/models-and-libraries/llama-downloads/

2- 在任意模特页面上向 Hugging Face 请求访问权限:https://huggingface.co/meta-llama/Llama-2-7b

3 - 在此处使用 Hugging Face 设置身份验证令牌:https ://huggingface.co/settings/tokens


您需要同时执行 1 和 2 才能访问 LLaMA 2。


在捷智算平台上租用强大的GPU


捷智算平台提供 RTX 3090、RTX 4090 和 A100 供按需租赁。我们的定价通常是您在网上能找到的最优惠的价格。


要运行 LLaMA 2 微调,您需要在所选机器上使用 Pytorch 映像。为此,请单击网站控制台链接,它将选择我们推荐的 Pytorch 模板,其中启用了 SSH 并启用了其他设置。如果您尚未设置帐户,没问题!您需要先通过注册电子邮件、验证电子邮件,然后购买积分来快速设置捷智算帐户。


要租用机器,选择过滤器,选择 RTX 3090 或 RTX 4090。将界面左侧的存储滑块移至 ~30GB,这样您的实例就有足够的存储空间来下载模型权重。


点击租用按钮启动实例。加载完成后,点击蓝色 < _按钮获取 SSH 详细信息,并通过将该 SSH 命令复制并粘贴到命令行来通过 SSH 进入实例。现在您将通过 SSH 登录到您的实例。如果您在设置 SSH 时遇到问题,请阅读我们的 SSH 文档。


设置环境


设置您需要的软件包:

pip install transformers peft trl bitsandbytes scipy


克隆训练脚本的 TRL repo

git clone https://github.com/lvwerra/trl


通过 CLI 登录 HuggingFace

huggingface-cli login


复制您之前创建的身份验证令牌(来自https://huggingface.co/settings/tokens),并在系统询问时将其粘贴到提示中。您可以拒绝将令牌添加到您的 git 凭据中。


微调!


python trl/examples/scripts/sft_trainer.py --model_name meta-llama/Llama-2-7b-hf --dataset_name timdettmers/openassistant-guanaco --load_in_8bit --use_peft --batch_size 8 --gradient_accumulation_steps 1


这将自动下载模型权重,因此第一次运行时,需要一点时间才能真正开始训练。数据集在此处指定,并使用 openassistant-guanaco 集。如果您想尝试加载 4 位版本或更改批处理大小,请修改该命令。


您最终应该会看到如下输出:

{'loss': 1.6493, 'learning_rate': 1.4096181965881397e-05, 'epoch': 0.0}

{'loss': 1.3571, 'learning_rate': 1.4092363931762796e-05, 'epoch': 0.0}

{'loss': 1.5853, 'learning_rate': 1.4088545897644193e-05, 'epoch': 0.0}

{'loss': 1.4237, 'learning_rate': 1.408472786352559e-05, 'epoch': 0.0}

{'loss': 1.7098, 'learning_rate': 1.4080909829406987e-05, 'epoch': 0.0}

{'loss': 1.4348, 'learning_rate': 1.4077091795288384e-05, 'epoch': 0.0}

{'loss': 1.6022, 'learning_rate': 1.407327376116978e-05, 'epoch': 0.01}

{'loss': 1.3352, 'learning_rate': 1.4069455727051177e-05, 'epoch': 0.01}


概括


与 A100 相比,使用 RTX 4090 在捷智算平台上的性能价格比相当令人印象深刻。在这篇文章中,我们展示了如何轻松启动成本极低的 GPU(每小时 0.20 美元)并微调 LLaMA 2 模型。

  • 捷智算联系人