使用 NVIDIA DGX Spark 和 Unsloth 对 LLM 进行微调
关于如何在 NVIDIA DGX Spark 上使用 OpenAI gpt-oss 进行微调和强化学习(RL)的教程。
Unsloth 使 LLM 可在本地进行微调,规模最高可达 200B 参数 ,并在 NVIDIA DGX™ Spark 上运行。借助 128 GB 统一内存,你可以训练像 gpt-oss-120b这样的超大模型,并直接在 DGX Spark 上运行或部署推理。
如 OpenAI DevDay所示,gpt-oss-20b 在 DGX Spark 上使用 RL 和 Unsloth 进行了训练,以在 2048 中自动获胜。你可以在 DGX Spark 上的 Docker 容器或虚拟环境中使用 Unsloth 进行训练。


在本教程中,我们将在你的 DGX Spark 上安装 Unsloth 之后,使用 Unsloth 笔记本通过 RL 训练 gpt-oss-20b。gpt-oss-120b 将大约使用 68GB 统一内存。
经过 1,000 步和 4 小时的 RL 训练后,gpt-oss 模型在 2048 上远远优于原始模型,而更长时间的训练还会进一步提升结果。


⚡ 分步教程
从适用于 DGX Spark 的 Unsloth Docker 镜像开始
首先,使用 DGX Spark Dockerfile 构建 Docker 镜像,该文件可在 此处找到。你也可以在 DGX Spark 的终端中运行下面的命令:
然后,使用保存的 Dockerfile 构建训练用 Docker 镜像:

启动容器
启动带有 GPU 访问和卷挂载的训练容器:


启动 Jupyter 并运行笔记本
在容器中,启动 Jupyter 并运行所需的笔记本。你可以使用 Reinforcement Learning gpt-oss 20b 来赢得 2048 笔记本这里。事实上,所有 Unsloth 笔记本 都可在 DGX Spark 上运行,包括 120b 笔记本!只需删除安装单元。

下面的命令也可用于运行 RL 笔记本。启动 Jupyter Notebook 后,打开“gpt_oss_20B_RL_2048_Game.ipynb”

别忘了,Unsloth 还允许你 保存并运行 你的模型在微调之后,因此之后你可以直接在 DGX Spark 上本地部署它们。
非常感谢 Lakshmi Ramesh 和 Barath Anandan 来自 NVIDIA 的帮助,协助 Unsloth 的 DGX Spark 发布并构建 Docker 镜像。
统一内存使用情况
gpt-oss-120b QLoRA 4-bit 微调将使用大约 68GB 统一内存。你的统一内存使用情况应如下所示 之前 (左)和 在 (右)训练:


就这样!祝你在 NVIDIA DGX Spark 上完全本地地训练和运行 LLM 玩得开心!
视频教程
感谢来自 AnythingLLM 提供了一份出色的 DGX Spark 上使用 Unsloth 进行微调的教程:
最后更新于
这有帮助吗?

