联邦学习(Federated Learning)详解以及示例代码

联邦学习(Federated Learning)详解以及示例代码 联邦学习也称为协同学习,它可以在产生数据的设备上进行大规模的训练,并且这些敏感数据

Vincent Vincent 发布于 2024-08-04

Huggingface|Accelerate分布式训练加速

Huggingface|Accelerate分布式训练加速 PyTorch 很灵活。 它允许您根据需要自定义它。 这意味着您还必须处理所有低级硬件自定义,而在 95% 的项目中您实际上并不关心这些。 PyTorch 的主要痛点之一是使代码适应各种硬件配置(CPU/GPU/TPU)。 您必须维护大量用

Vincent Vincent 发布于 2024-08-03

图解大模型训练系列之:DeepSpeed-Megatron MoE并行训练(源码解读篇)

图解大模型训练系列之:DeepSpeed-Megatron MoE并行训练(源码解读篇) 一、DeepSpeed MoE

Vincent Vincent 发布于 2024-08-03

图解大模型训练系列之:DeepSpeed-Megatron MoE并行训练(原理篇)

图解大模型训练系列之:DeepSpeed-Megatron MoE并行训练(原理篇) 一、为什么选择DeepSpeed-Megatron

Vincent Vincent 发布于 2024-08-03

图解大模型训练系列之:Megatron源码解读3,分布式混合精度训练

图解大模型训练系列之:Megatron源码解读3,分布式混合精度训练 一、谁在占用存储 <

Vincent Vincent 发布于 2024-08-03

图解大模型训练之:Megatron源码解读2,模型并行

图解大模型训练之:Megatron源码解读2,模型并行 一、模型概述 前文说过,用Megatron做分布式训练的开源大模型有很多,我们选用的是THUDM开源的CodeGeeX(代码生成式大模型,类比于openAI Codex)。选用它的原因是“完全开源”与“清晰的模型架构和预训练配置图”,能帮助我们

Vincent Vincent 发布于 2024-08-03

图解大模型系列之:Megatron源码解读1,分布式环境初始化

图解大模型系列之:Megatron源码解读1,分布式环境初始化 一、CodeGeeX模型简述 使用Megatron来训练gpt类大模型的项目有很多。在这个系列里,我选择了由THUDM开发的CodeGeeX项目,它是gpt在代码生成方向上的应用,对标于op

Vincent Vincent 发布于 2024-08-03

图解大模型训练之:数据并行下篇( DeepSpeed ZeRO,零冗余优化)

图解大模型训练之:数据并行下篇( DeepSpeed ZeRO,零冗余优化) 一、存储消耗

Vincent Vincent 发布于 2024-08-03

图解大模型训练之:流水线并行(Pipeline Parallelism),以Gpipe为例

图解大模型训练之:流水线并行(Pipeline Parallelism),以Gpipe为例 一、优化目标 当你从单卡穷人变成多卡富翁时,你做分布式训练的总体目标是什么呢?(虽然

Vincent Vincent 发布于 2024-08-03

图解大模型训练之:数据并行上篇(DP, DDP与ZeRO)

图解大模型训练之:数据并行上篇(DP, DDP与ZeRO) 一、切分权重 设输入数据为X,参数为W。X的维度 = (b, s, h),W的维度 = (h, h')。其中: b:batch_size,表示批量大小 <

Vincent Vincent 发布于 2024-08-03

数据并行 - DP/DDP/ZeRO

数据并行 - DP/DDP/ZeRO 数据并行DP DP - 梯度同步更新 数据并行的核心思想是:在各个GPU上都拷贝一份完整模型,各自吃一份数据,算一份梯度,最后对梯度进行累加来更新整体模型。理念不复杂,但到了大模型场景,巨大的存储和GPU间的通讯量,就是系统设计要考虑的重点了。在本文中,我们将递

Vincent Vincent 发布于 2024-08-03

PyTorch 源码解读之 torch.cuda.amp: 自动混合精度详解

PyTorch 源码解读之 torch.cuda.amp: 自动混合精度详解 Nvidia 在 Volta 架构中引入 Tensor Core 单元,来支持 FP32 和 FP16 混合精度计算。也在 2018 年提出一个 PyTorch 拓展 apex,来支持模型参数自动混合精度训练。自动混合精度

Vincent Vincent 发布于 2024-08-03

浮点数的数据格式

浮点数的数据格式 根据 IEEE754 的标准定义:浮点数的数据格式可以分为最常见的单精度(32位)和双精度(64位)格式,以及半精度(16位)、四精度(128位)和扩展精度格式。 单精度浮点数(Single-Precision Floating-Point):在计算机编程中常用float表示: 通

Vincent Vincent 发布于 2024-08-03

NCCL详解

NCCL详解 linux查询nccl版本号: python -c “import torch; print(torch.cuda.nccl.version())” NCCL是一个实现多GPU的collective communication通信库,做了很多的优化,以在PCle,Nvlink,Infi

Vincent Vincent 发布于 2024-08-03

torch.distributed.init_process_group()详细说明(RANK/WORLD_SIZE)

torch.distributed.init_process_group()详细说明(RANK/WORLD_SIZE) 一、torch.distributed.init_process_group函数定义 torch.distributed.init_process_group( back

Vincent Vincent 发布于 2024-08-03