分布式数据并行 (DDP) 训练

重要

此功能在 Beta 版中。

本页包含用于在无服务器 GPU 计算上使用 分布式数据并行(DDP) 训练的笔记本示例。 DDP 是分布式训练的最常见并行技术,其中,完整模型在每个 GPU 上复制,数据批处理在 GPU 之间拆分。

何时使用 DDP

在以下情况下使用 DDP:

  • 您的模型可以完全安装在单个 GPU 的内存中
  • 想要通过增加数据吞吐量来扩大训练规模
  • 你需要最简单的分布式训练方法,该方法在大多数框架中都具有自动支持。

对于不适合单个 GPU 内存的大型模型,请考虑改用 FSDPDeepSpeed

使用 PyTorch DDP 训练简单的多层感知器(MLP)神经网络

以下笔记本演示了使用具有无服务器 GPU 资源的 Azure Databricks 上的 PyTorch 的 DDP 模块对简单的多层感知器(MLP)神经网络进行分布式训练。

PyTorch DDP

获取笔记本

使用 TRL 和 DDP 在 8xH100 上训练 OpenAI GPT-OSS 20B 模型

此笔记本演示如何使用 无服务器 GPU Python API 通过 转换器强化学习(TRL) 库对 Hugging Face 的 GPT-OSS 20B 模型进行监督微调(SFT)。 此示例利用节点上所有 8 个 H100 GPU 中的 DDP 来缩放全局批大小。

TRL DDP

获取笔记本

分布式微调 Llama 3.2 3B 使用 Unsloth

此笔记本演示如何使用 无服务器 GPU Python API 在 8 个 A10 GPU 中使用 Unsloth 库微调 Llama 3.2 3B 模型。 Unsloth 提供内存高效的训练过程优化,并在 Hugging Face Accelerate 的支持下使用 DDP。

Unsloth DDP

获取笔记本

使用 Ray Train 进行分布式训练(计算机视觉)

此笔记本演示了在 FashionMNIST 数据集上使用 Ray Train 和 Ray Data on Databricks 无服务器 GPU 群集对 PyTorch ResNet 模型的分布式训练。 Ray Train 提供高级分布式训练业务流程,并使用 DDP 作为基础并行度策略。 此示例介绍如何设置 Unity 目录存储、为多节点 GPU 训练配置 Ray、使用 MLflow 记录和注册模型,以及评估模型性能。

Ray DDP

获取笔记本

使用 PyTorch Lightning 训练双塔推荐系统

此笔记本演示如何在无服务器 GPU 计算上使用 PyTorch Lightning 训练双塔建议模型。 PyTorch Lightning 提供了一个高级接口,用于自动处理多 GPU 训练的 DDP 配置。 该示例包括使用马赛克流式处理(MDS)格式的数据准备,以及跨 A10 或 H100 GPU 进行分布式训练。

请参阅深度学习推荐示例页面以获取完整笔记本,包括:

  • 数据准备和 MDS 格式转换
  • 使用 PyTorch Lightning 进行双塔推荐器训练