随笔分类 -  006_深度学习

深度学习
摘要:FSDP是Facebook 深度借鉴微软ZeRO之后提出的PyTorch DDP升级版本,可以认为是对标微软 ZeRO,目标是训练超大规模模型,本文我们介绍 Activation recomputation 相关知识。 阅读全文
posted @ 2022-01-26 08:47 罗西的思考 阅读(1403) 评论(0) 推荐(0) 编辑
摘要:FSDP是Facebook 深度借鉴微软ZeRO之后提出的PyTorch DDP升级版本,可以认为是对标微软 ZeRO,目标是训练超大规模模型,之前文章之中我们谈到了FSDP支持混合精度训练,所以我们再来看看相关知识。 阅读全文
posted @ 2022-01-24 18:44 罗西的思考 阅读(1392) 评论(3) 推荐(0) 编辑
摘要:FSDP是Facebook 深度借鉴微软ZeRO之后提出的PyTorch DDP升级版本,可以认为是对标微软 ZeRO,目标是训练超大规模模型。前文我们介绍了 FSDP 如何使用,本文从源码角度来介绍 FSDP 如何实现 offload。 阅读全文
posted @ 2022-01-21 14:35 罗西的思考 阅读(3608) 评论(6) 推荐(0) 编辑
摘要:FSDP是Facebook 深度借鉴微软ZeRO之后提出的PyTorch DDP升级版本,可以认为是对标微软 ZeRO,目标是训练超大规模模型。前文我们介绍了 FSDP 如何使用,本文从源码角度来介绍 FSDP 如何实现参数分区。 阅读全文
posted @ 2022-01-19 19:53 罗西的思考 阅读(2989) 评论(2) 推荐(0) 编辑
摘要:FSDP(Fully Sharded Data Parallel)是Facebook 深度借鉴微软ZeRO之后提出的PyTorch DDP升级版本,可以认为是对标微软 ZeRO,其本质是 parameter sharding。 阅读全文
posted @ 2022-01-17 19:47 罗西的思考 阅读(4697) 评论(0) 推荐(0) 编辑
摘要:本文以Google 论文 [Automatic Cross-Replica Sharding of Weight Update in Data-Parallel Training]为主来学习Parameter Sharding。 阅读全文
posted @ 2022-01-13 19:48 罗西的思考 阅读(1166) 评论(2) 推荐(0) 编辑
摘要:本文以论文和官博为主来进行分析ZeRO,这是微软开发的一个可以高效利用显存的优化器,其会将模型状态量(优化器状态,梯度和模型参数)分布在多个并行 GPU 之上,目的是在不使用模型并行的情况下对让数十亿参数模型进行训练。 阅读全文
posted @ 2022-01-11 10:13 罗西的思考 阅读(5373) 评论(6) 推荐(1) 编辑
摘要:PyTorch Zero Redundancy Optimizer 是一类旨在解决数据并行训练和模型并行训练之间权衡问题的算法。Zero Redundacy Optimizer 的思想来源于微软的ZeRO,具体实现是基于 Fairscale 的OSS。 阅读全文
posted @ 2022-01-10 16:47 罗西的思考 阅读(5073) 评论(0) 推荐(2) 编辑
摘要:“Bagua“ 是快手和苏黎世理工(ETH Zürich)联合开发的分布式训练框架。其专门针对分布式的场景设计特定的优化算法,实现算法和系统层面的联合优化,力图极致化分布式训练的效率。 阅读全文
posted @ 2022-01-06 20:13 罗西的思考 阅读(1061) 评论(5) 推荐(0) 编辑
摘要:“Bagua“ 是快手和苏黎世理工(ETH Zürich)联合开发的分布式训练框架。其专门针对分布式的场景设计特定的优化算法,实现算法和系统层面的联合优化,力图极致化分布式训练的效率。 阅读全文
posted @ 2022-01-05 21:08 罗西的思考 阅读(919) 评论(0) 推荐(0) 编辑
摘要:“Bagua“ 是快手和苏黎世理工(ETH Zürich)联合开发的分布式训练框架。其专门针对分布式的场景设计特定的优化算法,实现算法和系统层面的联合优化,力图极致化分布式训练的效率。 阅读全文
posted @ 2022-01-04 19:18 罗西的思考 阅读(1421) 评论(0) 推荐(0) 编辑
摘要:本文分析如何处理节点变化。即对成员更改作出反应,并使用新的成员来重启所有workers,从而实现弹性训练。 阅读全文
posted @ 2021-12-31 14:31 罗西的思考 阅读(915) 评论(0) 推荐(0) 编辑
摘要:关于PyTorch弹性训练,迄今为止我们已经分别介绍了 Agent 和 rendezous,但是有些部分并没有深入,比如监控,本文就把它们统一起来,对弹性训练做一个整体逻辑上的梳理。 阅读全文
posted @ 2021-12-29 18:02 罗西的思考 阅读(2598) 评论(0) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,介绍了官方的几个例子,我们接下来会介绍PyTorch的弹性训练,本文是第五篇,看看Rendezvous 的内部引擎,比如如何处理节点加入,节点离开,等待,心跳等等。 阅读全文
posted @ 2021-12-28 09:55 罗西的思考 阅读(1658) 评论(0) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,介绍了官方的几个例子,我们接下来会介绍PyTorch的弹性训练,本文是第四篇,看看Rendezvous 的结构和总体逻辑。 阅读全文
posted @ 2021-12-27 10:15 罗西的思考 阅读(2703) 评论(0) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,介绍了官方的几个例子,我们接下来会介绍PyTorch的弹性训练,本文是第三篇,看看弹性代理的基本功能。 阅读全文
posted @ 2021-12-25 10:15 罗西的思考 阅读(2032) 评论(0) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,介绍了官方的几个例子,我们接下来会介绍PyTorch的弹性训练,本文是第二篇,重点关注的是如何启动弹性训练,并且可以对系统总体架构有所了解。 阅读全文
posted @ 2021-12-24 09:01 罗西的思考 阅读(5053) 评论(0) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,介绍了官方的几个例子,我们接下来会介绍PyTorch的弹性训练,本文是第一篇,介绍其历史和设计理念,也会与Horovod做一下对比。 阅读全文
posted @ 2021-12-22 09:36 罗西的思考 阅读(3176) 评论(0) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,接下来我们通过几篇文章来看看如何把这些模块应用到实践之中,顺便把PyTorch分布式逻辑整体梳理一下。本文介绍如何使用 RPC 来完成分布式管道并行。 阅读全文
posted @ 2021-12-20 10:03 罗西的思考 阅读(1369) 评论(0) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,接下来我们通过几篇文章来看看如何把这些模块应用到实践之中,顺便把PyTorch分布式逻辑整体梳理一下。本文介绍如何把DDP和RPC framework结合起来。 阅读全文
posted @ 2021-12-16 20:38 罗西的思考 阅读(1779) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示