滑滑蛋
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

【论文阅读】Reducing Activation Recomputation in Large Transformer Models

链接:: https://arxiv.org/pdf/2205.05198.pdf 发表会议:MLSYS’22(CCF-B) 团队:NVIDIA 背景在论文发表的2022年看来,一些研究在Transformer大模型训练中会采用激活重计算而不是存储的方式来减少激活值所占存储,但是其问题在于会引入很多冗余计算的开销,导致训练效率降低。故本文提出了序列并行和选择性激活重计算方法,
2025-12-08
LLM > 基础知识
#论文阅读 #LLM

【论文阅读】Megatron-LM论文阅读

Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelismhttps://arxiv.org/abs/1909.08053 背景在2019年就出现了大语言模型规模越来越大,单个GPU的显存难以放下的情况,过去已有方法提出了一些关于模型并行的方法,但是其往往需要重写模型,依赖于自定义编译
2025-12-07
LLM > Megatron-LM
#论文阅读 #LLM #Megatron-LM

【k8s APIServer 源码阅读(一)】-对象缓存

Cacher结构cacher的结构如下,已将注释翻译成了中文,关键的内容有 incoming chan watchCacheEvent:事件分发的管道 这里事件的结构如下: 123456789101112131415161718192021222324252627// watchCacheEvent is a single "watch event" that is s
2025-08-24
k8s > ApiServer
#k8s

【k8s kubelet 源代码阅读(二)】-节点状态上报

主处理流程在kubelet的Run中会调用相应的代码进行节点状态更新,代码如下: 123456789101112131415161718192021222324252627282930if kl.kubeClient != nil { // Start two go-routines to update the status. // // The first will
2025-08-19
k8s > kubelet
#k8s

【k8s kubelet 源代码阅读(一)】-Pod管理

关键组件介绍probeManager当一个pod被kubelet感知到之后,就会调用probeManager的AddPod来为各个容器启动探针,监控状态变化。具体执行如下: 获取所有的pod.Spec.Containers以及pod中支持重新启动的initContainers,然后逐个处理 如果这个容器配置了StartupProbe或者ReadinessProbe或者LivenessProbe
2025-08-11
k8s > kubelet
#k8s

【pytorch-fsdp 源代码阅读(二)】-参数流转

初始化 获取module下需要展开的tensors 将tensors放入到一个数组中,然后使用cat拼接到一起。这部分展开的数据会放到FlatParamHandle.flat_param中 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555
2025-07-12
LLM > FSDP
#LLM

【pytorch-fsdp 源代码阅读(一)】-全流程概览

专有名词解释 warp:对模型进行包裹,使其具备fsdp的相关的分布式能力 shard: 对参数进行切分,得到每个rank sharded的参数 unshard: 将切分的参数allgather,得到完整的参数 reshard:将完整的参数释放,只保留每个rank的sharded的参数 sharded:切分后的参数 unsharded:完整的参数 fsdp概览如下图所示,首先对于Ze
2025-07-02
LLM > FSDP
#LLM

【Picotron-Tutorial】上下文并行

理论分析上下文并行的核心思想是将序列并行的方法(也就是沿序列长度进行拆分)的思路应用到已经采用张量并行的模块上。 对于上下文并行,就像序列并行一样,我们将沿序列维度拆分输入,但这次我们对整个模型进行拆分,而不仅仅是对之前Tensor+Sequence并行中涉及的部分模型。 拆分序列是横向的切割,所以不会影响大多数模块,如MLP和LayerNorm,因为它们对每个token的处理是独立的。 在计算梯
2025-06-28
LLM > Picotron-Tutorial
#LLM

【Picotron-Tutorial】流水线并行

Afab并行理论分析最简单的pipeline并行就是将模型划分为好几层,然后分别放置在不同的GPU上依次进行前向传播和后先传播,如下图所示。但是这带来的最大的问题是效率过低,存在很多空闲时刻。 一个16层模型的流水线并行示例,该模型分布在4块GPU上。数字表示层编号。 假设$t_f$ 和$t_b$ 分别是单个微批次在流水线的一个阶段上进行前向传播和反向传播所需的时间(通常假设 $t_b\ap
2025-06-24
LLM > Picotron-Tutorial
#LLM

【Picotron-Tutorial】数据并行

原生数据并行理论分析在原生的数据并行中,每个数据并行的组都会自己处理自己的数据,这带来的一个问题在于我们需要及时同步训练过程中的梯度以及优化器的状态。 最原生的方法就是我们在前向传播后,在对每一个层进行反向传播后进行一次同步,如下图所示。由于梯度得到了及时的同步,所有优化器的状态自然也就会变得相同。 代码分析 修改dataloader为分布式,从而使得每个dp进程每次获取到的数据batch是不相
2025-06-14
LLM > Picotron-Tutorial
#LLM
12345…9

搜索

Hexo Fluid
总访问量 次 总访客数 次