分布式和并行训练教程¶
分布式训练是一种模型训练范式,它涉及将训练工作负载分布在多个工作节点上,从而显著提高训练速度和模型精度。虽然分布式训练可用于任何类型的 ML 模型训练,但它在大型模型和计算量大的任务(如深度学习)中最为有利。
在 PyTorch 中,您可以使用几种方法执行分布式训练,每种方法在某些用例中都有其优势
详细了解这些选项,请参阅 分布式概述。
学习 DDP¶
一个关于如何开始使用 DistributedDataParallel 并进入更复杂主题的逐步视频系列
本教程简要介绍了 PyTorch 分布式数据并行。
本教程介绍了 Join 上下文管理器,并展示了它在分布式数据并行中的使用。
学习 FSDP¶
本教程演示了如何在 MNIST 数据集上使用 FSDP 进行分布式训练。
在本教程中,您将学习如何使用 FSDP 对 HuggingFace (HF) T5 模型进行微调以进行文本摘要。
学习张量并行 (TP)¶
本教程演示了如何使用张量并行和完全分片数据并行,跨数百到数千个 GPU 训练大型 Transformer 类模型。
学习 DeviceMesh¶
在本教程中,您将了解 DeviceMesh 以及它如何帮助进行分布式训练。
学习 RPC¶
本教程演示了如何开始使用基于 RPC 的分布式训练。
本教程将带您逐步完成使用 PyTorch 的分布式 RPC 框架实现参数服务器的简单示例。
在本教程中,您将使用 @rpc.functions.async_execution 装饰器构建批处理 RPC 应用程序。
在本教程中,您将学习如何将分布式数据并行与分布式模型并行相结合。
自定义扩展¶
在本教程中,您将学习如何实现自定义 ProcessGroup 后端,并使用 cpp 扩展将其插入 PyTorch 分布式包。