rectangle-history使用 Unsloth 的多 GPU 微调

了解如何在多个 GPU 上使用 Unsloth 进行微调和并行训练。

Unsloth 当前通过 Accelerate 和 DeepSpeed 等库支持多 GPU 配置。这意味着您已经可以利用诸如 FSDPDDP 与 Unsloth 一起使用。

请参阅我们新的分布式数据并行 (DDP)多 GPU 指南在此处.

我们知道这个过程可能很复杂并且需要手动设置。我们正在努力让多 GPU 支持变得更简单、更易用,并且我们将很快发布 Unsloth 的正式多 GPU 支持。

目前,您可以使用我们的 Magistral-2509 Kaggle 笔记本 作为示例,该示例利用多 GPU Unsloth 来适配 24B 参数模型,或者参考我们的 DDP 指南.

与此同时,要为 DDP 启用多 GPU,请执行以下操作:

  1. 将您的训练脚本创建为 train.py (或类似文件)。例如,您可以使用我们的其中一个 训练脚本arrow-up-right 从我们各种笔记本创建的!

  2. 运行 accelerate launch train.pytorchrun --nproc_per_node N_GPUS train.py 其中 N_GPUS 是您拥有的 GPU 数量。

流水线 / 模型拆分加载

如果您没有足够的显存让 1 块 GPU 加载例如 Llama 70B,不用担心——我们会在每块 GPU 上为您拆分模型!要启用此功能,请使用 device_map = "balanced" 标志:

from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
    "unsloth/Llama-3.3-70B-Instruct",
    load_in_4bit = True,
    device_map = "balanced",
)

敬请期待我们的正式公告! 欲了解更多详情,请查看我们正在进行的 Pull Requestarrow-up-right 讨论多 GPU 支持。

最后更新于

这有帮助吗?