12 2021 档案

摘要:本文分析如何处理节点变化。即对成员更改作出反应,并使用新的成员来重启所有workers,从而实现弹性训练。 阅读全文
posted @ 2021-12-31 14:31 罗西的思考 阅读(827) 评论(0) 推荐(0) 编辑
摘要:关于PyTorch弹性训练,迄今为止我们已经分别介绍了 Agent 和 rendezous,但是有些部分并没有深入,比如监控,本文就把它们统一起来,对弹性训练做一个整体逻辑上的梳理。 阅读全文
posted @ 2021-12-29 18:02 罗西的思考 阅读(2438) 评论(0) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,介绍了官方的几个例子,我们接下来会介绍PyTorch的弹性训练,本文是第五篇,看看Rendezvous 的内部引擎,比如如何处理节点加入,节点离开,等待,心跳等等。 阅读全文
posted @ 2021-12-28 09:55 罗西的思考 阅读(1543) 评论(0) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,介绍了官方的几个例子,我们接下来会介绍PyTorch的弹性训练,本文是第四篇,看看Rendezvous 的结构和总体逻辑。 阅读全文
posted @ 2021-12-27 10:15 罗西的思考 阅读(2453) 评论(0) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,介绍了官方的几个例子,我们接下来会介绍PyTorch的弹性训练,本文是第三篇,看看弹性代理的基本功能。 阅读全文
posted @ 2021-12-25 10:15 罗西的思考 阅读(1814) 评论(0) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,介绍了官方的几个例子,我们接下来会介绍PyTorch的弹性训练,本文是第二篇,重点关注的是如何启动弹性训练,并且可以对系统总体架构有所了解。 阅读全文
posted @ 2021-12-24 09:01 罗西的思考 阅读(4539) 评论(0) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,介绍了官方的几个例子,我们接下来会介绍PyTorch的弹性训练,本文是第一篇,介绍其历史和设计理念,也会与Horovod做一下对比。 阅读全文
posted @ 2021-12-22 09:36 罗西的思考 阅读(2785) 评论(0) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,接下来我们通过几篇文章来看看如何把这些模块应用到实践之中,顺便把PyTorch分布式逻辑整体梳理一下。本文介绍如何使用 RPC 来完成分布式管道并行。 阅读全文
posted @ 2021-12-20 10:03 罗西的思考 阅读(1319) 评论(0) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,接下来我们通过几篇文章来看看如何把这些模块应用到实践之中,顺便把PyTorch分布式逻辑整体梳理一下。本文介绍如何把DDP和RPC framework结合起来。 阅读全文
posted @ 2021-12-16 20:38 罗西的思考 阅读(1666) 评论(0) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,接下来我们通过几篇文章来看看如何把这些模块应用到实践之中,顺便把PyTorch分布式逻辑整体梳理一下。本文介绍如何使用异步执行操作来实现批处理 RPC,大家可以学习到PyTorch对参数服务器一个新的实现方式。 阅读全文
posted @ 2021-12-15 21:04 罗西的思考 阅读(1084) 评论(3) 推荐(1) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,接下来我们通过几篇文章来看看如何把这些模块应用到实践之中,顺便把PyTorch分布式逻辑整体梳理一下。本文介绍如何使用分布式 RPC 框架实现参数服务器。 阅读全文
posted @ 2021-12-14 17:03 罗西的思考 阅读(1548) 评论(2) 推荐(0) 编辑
摘要:在前面的文章之中,我们已经学习了PyTorch 分布式的基本模块,接下来我们通过几篇文章来看看如何把这些模块应用到实践之中,顺便把PyTorch分布式逻辑整体梳理一下。本文介绍如何把分布式自动微分和分布式优化器结合起来训练一个模型。 阅读全文
posted @ 2021-12-13 09:39 罗西的思考 阅读(1050) 评论(0) 推荐(1) 编辑
摘要:本系列介绍分布式优化器,分为三篇文章,分别是基石篇,DP/DDP/Horovod 之中数据并行的优化器,PyTorch 分布式优化器,按照深度递进。本文介绍PyTorch 分布式优化器和PipeDream之中的优化器,主要涉及模型并行(流水线并行)。 阅读全文
posted @ 2021-12-09 19:08 罗西的思考 阅读(2439) 评论(0) 推荐(0) 编辑
摘要:本系列介绍分布式优化器,分为三篇文章,分别是基石篇,DP/DDP/Horovod 之中数据并行的优化器,PyTorch 分布式优化器,按照深度递进。本文介绍数据并行DP/DDP/Horovod 之中的优化器。 阅读全文
posted @ 2021-12-08 19:36 罗西的思考 阅读(1447) 评论(0) 推荐(2) 编辑
摘要:我们接下来通过几篇文章来看看分布式优化器。本系列分为三篇文章,分别是基石篇,DP/DDP/Horovod 之中数据并行的优化器,PyTorch 分布式优化器,按照深度递进。 本文是基石篇,通过本文,大家可以了解到模型的构造,优化器的基本原理,两者之间的交互,如何优化更新模型等等,这为后面的逐级分析打下了一个基础。 阅读全文
posted @ 2021-12-07 19:26 罗西的思考 阅读(1339) 评论(1) 推荐(0) 编辑
摘要:上文我们介绍了引擎如何获得后向计算图的依赖,本文我们就接着看看引擎如何依据这些依赖进行后向传播。 阅读全文
posted @ 2021-12-06 18:12 罗西的思考 阅读(1051) 评论(0) 推荐(1) 编辑
摘要:上文已经分析了如何启动/接受反向传播,如何进入分布式autograd 引擎,本文和下文就看看如何分布式引擎如何运作。通过本文的学习,读者可以对 dist.autograd 引擎基本静态架构和总体执行逻辑有所了解。 阅读全文
posted @ 2021-12-04 10:11 罗西的思考 阅读(760) 评论(0) 推荐(1) 编辑
摘要:上文我们看到了AutogradMetadata,DistAutogradContainer 和 DistAutogradContext 等一系列基础类。我们知道了分布式autograd如何基于RPC进行传递,如何在节点之间交互,节点如何区分维护这些Session。本文继续分析,主要目的是看看反向传播如何切入到引擎之中。 阅读全文
posted @ 2021-12-03 08:59 罗西的思考 阅读(622) 评论(0) 推荐(1) 编辑
摘要:我们已经知道 dist.autograd 如何发送和接受消息,本文再来看看如何其他支撑部分,就是如何把发送接受两个动作协调起来,如何确定每个发送/接受节点,如何确定每一个消息交互Session。 阅读全文
posted @ 2021-12-01 21:08 罗西的思考 阅读(666) 评论(0) 推荐(0) 编辑