[源码解析] 分布式训练Megatron (1) --- 论文 & 基础 目录 [源码解析] 分布式训练Megatron (1) --- 论文 & 基础 0x00 摘要 0x01 Introduction 1.1 问题 1.2 数据并行 1.3 模型并行 1.3.1 通信 1.3.2 张量并行 1.3.3 流水线并行 1.4 技术组合 1.5 指导原则 0x02 张量模型并行(Tensor Model Parallelism) 2.1 原理 2.1.1 行并行(Row Parallelis…
[源码解析] 分布式任务队列 Celery 之启动 Consumer 目录 [源码解析] 分布式任务队列 Celery 之启动 Consumer 0x00 摘要 0x01 综述 1.1 kombu.consumer 1.2 Celery Consumer 0x02 start in worker 0x03 start in consumer 3.1 start consumer.blueprint 3.2 Connection step 子组件 3.2.1 connect in consumer…
[源码解析] PyTorch 流水线并行实现 (1)--基础知识 目录 [源码解析] PyTorch 流水线并行实现 (1)--基础知识 0x00 摘要 0x01 历史 1.1 GPipe 1.2 torchgpipe 1.3 fairscale 1.4 PyTorch 1.5 基础版本 0x02 基础知识 2.1 流水线并行 2.2 Checkpointing 2.2.1 基本概念 2.2.2 使用 2.2.3 实现概述 2.3 微批次的数目 2.4 检查重计算 0x03 使用 3.1 示例…
前导: 本次主要是关于“基础环境搭建”的内容,分为三个部分,(1)查看源码和项目需要的开发集成环境Intellig IDEA的使用,(2)如何导入源码,(3)在这个过程中梳理出的快捷键 正文:======>>>> 一.查看源码和项目的开发集成环境的使用 1.  下载: 从Spring官网直接下载Spring-framwork的源码:https://spring.io/projects/spring-framework,点击右上角的github图标,进入:https://github…
引言 之前一段时间在参与语义分割的项目,最近有时间了,正好把这段时间的所学总结一下. 在代码上,语义分割的框架会比目标检测简单很多,但其中也涉及了很多细节.在这篇文章中,我以PSPNet为例,解读一下语义分割框架的代码.搞清楚一个框架后,再看别人的框架都是大同小异. 工程来自https://github.com/speedinghzl/pytorch-segmentation-toolbox 框架中一个非常重要的部分是evaluate.py,即测试阶段.但由于篇幅较长,我将另开一篇来阐述测试过程…
[源码解析] 模型并行分布式训练Megatron (2) --- 整体架构 目录 [源码解析] 模型并行分布式训练Megatron (2) --- 整体架构 0x00 摘要 0x01 启动 1.1 分布式启动 1.2 构造基础 1.2.1 获取模型 1.2.2 获取数据集 1.2.3 步进函数 1.2.3.1 广播数据 0x02 Pretrain 0x03 初始化 3.1 initialize_megatron 3.2 初始化分布式环境 3.3 初始化进程组全局变量 0x04 设置模型 4.1…
[源码解析] 模型并行分布式训练 Megatron (3) ---模型并行实现 目录 [源码解析] 模型并行分布式训练 Megatron (3) ---模型并行实现 0x00 摘要 0x01 并行Transformer层 1.1 初始化 1.2 前向传播 0x02 并行MLP 2.1 命名规范 2.2 MLP 代码 2.2.1 初始化 2.2.2 前向操作 0x03 ColumnParallelLinear 3.1 定义 3.2 初始化 3.2.1 切分size 3.2.2 初始化权重 3.3…
[源码解析] 模型并行分布式训练 Megatron (4) --- 如何设置各种并行 目录 [源码解析] 模型并行分布式训练 Megatron (4) --- 如何设置各种并行 0x00 摘要 0x01 前文回顾 0x02 初始化 2.1 全局变量 2.2 初始化代码 0x03 切分样例 3.1 注释 3.2 切分情况 3.3 切分策略 3.4 实验 0x04 起始状态 4.1 GPU 状况 4.2 符号说明 4.3 初始分组 0x05 Tensor model-parallel 5.1 分组…
[源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush 目录 [源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush 0x00 摘要 0x01 背景 0x02 论文 2.1 引论 2.2 背景 2.3 流水线权重问题 2.3.1 问题1 2.3.2 问题2 2.3.3 问题3 2.4 PipeDream-2BW 系统设计 2.4.1 GPipe 2.4.2 Double-Buffered Weight Updates (…
[源码解析] 并行分布式任务队列 Celery 之 消费动态流程 目录 [源码解析] 并行分布式任务队列 Celery 之 消费动态流程 0x00 摘要 0x01 来由 0x02 逻辑 in kombu 2.1 消息循环 -- hub in kombu 2.2 Broker抽象 -- Transport in kombu 2.3 执行引擎 --- MultiChannelPoller in kombu 2.4 解读消息 -- Channel in kombu 2.5 开始回调 -- Transp…