[源码解析] PyTorch 分布式(18) --- 使用 RPC 的分布式管道并行 目录 [源码解析] PyTorch 分布式(18) --- 使用 RPC 的分布式管道并行 0x00 摘要 0x01 综述 1.1 先决条件 1.2 基础知识 0x02 启动 0x03 定义训练循环 0x04 将 ResNet50 模型分片拼接成一个模块 0x05 对 ResNet50 模型进行分区 0xFF 参考 0x00 摘要 在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,接下来我们通过…
[源码解析] PyTorch 分布式 Autograd (2) ---- RPC基础 目录 [源码解析] PyTorch 分布式 Autograd (2) ---- RPC基础 0x00 摘要 0x01 示例 0x02 RPC 基础 2.1 初始化 2.1.1 初始化后端 2.1.2 生成代理 2.1.3 设置代理 2.1.4 静态类变量 2.2 RPC 代理 2.2.1 RpcAgent 2.2.2 ProcessGroupAgent 2.2.3 TensorPipeAgent 2.2.4 回…
[源码解析] PyTorch 分布式(15) --- 使用分布式 RPC 框架实现参数服务器 目录 [源码解析] PyTorch 分布式(15) --- 使用分布式 RPC 框架实现参数服务器 0x00 摘要 0x01 综述 0x02 基础网络 0x03 辅助函数 0x04 启动 4.1 启动方式 4.2 启动脚本 4.3 启动参数服务器 4.4 启动worker 4.5 建立参数服务器 0x05 TrainerNet 5.1 总体代码 5.2 生成参数服务器 5.3 建立rref 5.4 前向…
[源码解析] PyTorch 分布式(16) --- 使用异步执行实现批处理 RPC 目录 [源码解析] PyTorch 分布式(16) --- 使用异步执行实现批处理 RPC 0x00 摘要 0x01 前言 1.1 先决条件 1.2 基础知识 1.3 代码 0x02 启动 2.1 总体启动 2.2 启动参数服务器 0x03 参数服务器 0x04 Trainer 0x05 对比 0xFF 参考 0x00 摘要 在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,接下来我们通过几篇文…
[源码解析] PyTorch 分布式(17) --- 结合DDP和分布式 RPC 框架 目录 [源码解析] PyTorch 分布式(17) --- 结合DDP和分布式 RPC 框架 0x00 摘要 0x00 综述 0x01 启动 0x03 支撑系统 3.1 功能 3.2 使用 3.2.1 混合模型 3.2.2 使用 3.3 定义 3.4 主要函数 0x04 HybridModel 0x05 训练 5.1 初始化 5.2 训练循环 0x06 比对 0xFF 参考 0x00 摘要 在前面的文章之中,…
[源码解析] PyTorch 分布式(10)------DistributedDataParallel之Reducer静态架构 目录 [源码解析] PyTorch 分布式(10)------DistributedDataParallel之Reducer静态架构 0x00 摘要 0x01 引论 1.1 调用 0x02 Reducer 定义 0x03 Bucket 3.1 设计 3.2 定义 3.2.1 BucketReplica有几个 3.2.2 关键 3.2.3 具体定义 3.3 设置 0x03…
[源码解析] PyTorch 分布式(11) ----- DistributedDataParallel 之 构建Reducer 目录 [源码解析] PyTorch 分布式(11) ----- DistributedDataParallel 之 构建Reducer 0x00 摘要 0x01 引论 1.1 调用 1.2 参数说明 0x02 Reducer 初始化 2.1 构造函数 2.2 初始化桶 2.3 初始化视图 2.3.1 BucketReplica成员变量 2.3.2 调用 2.4 初始化…
[源码解析] PyTorch 分布式之弹性训练(1) --- 总体思路 目录 [源码解析] PyTorch 分布式之弹性训练(1) --- 总体思路 0x00 摘要 0x01 痛点 0x02 难点 0x03 TorchElastic 3.1 历史 3.1.1 PyTorch 1.7 3.1.2 PyTorch 1.9 3.2 设计理念 3.2.1 基本功能 3.2.2 新设计概述 3.2.3 bare-bones 3.3 小结 0x04 问题 4.1 VS Horovod 4.2 TE 问题 0…
[源码解析] PyTorch 分布式(1)------历史和概述 目录 [源码解析] PyTorch 分布式(1)------历史和概述 0x00 摘要 0x01 PyTorch分布式的历史 1.1 Multiprocessing 1.2 THD 底层库 1.3 torch.distributed 库 1.4 c10d库 1.5 RPC框架 1.6 弹性训练 1.7 流水线训练 0x02 分布式概述 2.1 引论 2.1.1 torch.distributed 包 2.1.2 知识链接 2.2…
[源码解析] PyTorch 分布式(4)------分布式应用基础概念 目录 [源码解析] PyTorch 分布式(4)------分布式应用基础概念 0x00 摘要 0x01 基本概念 0x02 设计思路 2.1 通信需求 2.2 概念 0x03 设置 0x04 点对点通信 0x05 集合通信 0x06 分布式训练 0x07 Ring-Allreduce 0x08 高级主题 8.1 通信后端 8.1.1 后端种类 8.1.2 使用哪个后端? 8.1.3 Gloo 后端 8.1.4 MPI后端…