随笔分类 -  001_机器学习

摘要:本文和上文以 [Automatic Differentiation in Machine Learning: a Survey](https://arxiv.org/pdf/1502.05767.pdf )为基础,逐步分析自动微分这个机器学习的基础利器。 阅读全文
posted @ 2021-10-14 17:21 罗西的思考 阅读(5411) 评论(0) 推荐(5) 编辑
摘要:本文和下文以 Automatic Differentiation in Machine Learning: a Survey 这篇论文为基础,逐步分析自动微分这个机器学习的基础利器。 阅读全文
posted @ 2021-10-12 17:25 罗西的思考 阅读(6929) 评论(3) 推荐(7) 编辑
摘要:前几篇文章我们介绍了 PyTorch 流水线并行的基本知识,自动平衡机制和切分数据等,本文我们结合论文内容来看看如何实现流水线依赖,核心就是如何建立这些小批次之间的跨设备依赖关系。 阅读全文
posted @ 2021-10-07 10:54 罗西的思考 阅读(2625) 评论(4) 推荐(3) 编辑
摘要:前几篇文章我们介绍了 PyTorch 流水线并行的基本知识,自动平衡机制和切分数据,本文我们结合论文内容来看看如何保证前向计算执行顺序。 阅读全文
posted @ 2021-09-28 21:24 罗西的思考 阅读(1409) 评论(0) 推荐(0) 编辑
摘要:前几篇文章我们介绍了 PyTorch 流水线并行的基本知识和自动平衡机制,本文我们介绍如何切分数据和运行时系统。 阅读全文
posted @ 2021-09-26 20:38 罗西的思考 阅读(1454) 评论(2) 推荐(0) 编辑
摘要:上一篇文章我们介绍了 PyTorch 流水线并行的基本知识,本文我们介绍其自动平衡机制和模型分割。 阅读全文
posted @ 2021-09-24 16:24 罗西的思考 阅读(1873) 评论(0) 推荐(0) 编辑
摘要:本系列开始介绍PyTorch的流水线并行实现。实质上,PyTorch就是 GPipe 的PyTorch版本。 阅读全文
posted @ 2021-09-22 08:45 罗西的思考 阅读(4070) 评论(0) 推荐(0) 编辑
摘要:本文以 PyTorch on Horovod 为切入点,分析一下 Horovod 弹性训练的恢复流程,具体涉及知识点有:ElasticSampler与PyTorch 原生DistributedSampler 的区别,Horovod 弹性训练如何恢复等。 阅读全文
posted @ 2021-09-18 15:47 罗西的思考 阅读(665) 评论(0) 推荐(0) 编辑
摘要:在前文中,我们介绍了PipeDream的总体架构,Profile阶段,计算分区阶段,模型转换阶段,运行时引擎和通信模块,本文是 PipeDream 系列最后一篇,介绍 1F1B 策略,这是 PipeDream 最大的贡献。 阅读全文
posted @ 2021-09-15 16:46 罗西的思考 阅读(6321) 评论(0) 推荐(3) 编辑
摘要:在前文中,我们介绍了PipeDream的总体架构,Profile阶段,计算分区阶段,模型转换阶段和运行时引擎,本文我们介绍PipeDream 的通信模块,通信模块是引擎的基础,同时也是PyTorch DDP,P2P 如何使用的一个万花筒和完美示例。 阅读全文
posted @ 2021-09-13 10:13 罗西的思考 阅读(1329) 评论(0) 推荐(0) 编辑
摘要:在前文中,我们介绍了PipeDream的总体架构,Profile阶段,计算分区阶段和模型转换阶段,本文我们介绍运行时执行引擎,这是一个统一基础设施层。 阅读全文
posted @ 2021-09-11 09:39 罗西的思考 阅读(999) 评论(0) 推荐(0) 编辑
摘要:在前文中,我们介绍了PipeDream的总体架构,Profile阶段和计算分区阶段。本文我们介绍模型转换阶段。 阅读全文
posted @ 2021-09-07 20:27 罗西的思考 阅读(1205) 评论(0) 推荐(0) 编辑
摘要:在前文中,我们介绍了PipeDream的总体架构和Profile阶段,本文我们继续介绍计算分区阶段。 阅读全文
posted @ 2021-09-03 17:06 罗西的思考 阅读(1659) 评论(2) 推荐(1) 编辑
摘要:继 GPipe 之后,我们开一个流水线并行训练新系列,介绍微软的PipeDream。本文介绍其总体思路,架构和Profile阶段。 阅读全文
posted @ 2021-09-01 19:24 罗西的思考 阅读(4872) 评论(3) 推荐(1) 编辑
摘要:GPipe是一个基于 Google Brain 开发的,支持超大规模模型的神经网络训练并行库,本文介绍其重计算功能,同时可以和其他实现一起印证。 阅读全文
posted @ 2021-08-30 19:43 罗西的思考 阅读(4709) 评论(3) 推荐(2) 编辑
摘要:梯度累积是一种增大训练时 batch size的技术,在本地使用 micro-batch 多次进行正向和反向传播积累梯度后,再进行梯度规约和优化器更新,这是用来均摊通信成本的一种常用策略。本文通过几个框架/库的实现对比,让大家对这个技术有进一步的了解。 阅读全文
posted @ 2021-08-26 08:27 罗西的思考 阅读(2549) 评论(0) 推荐(2) 编辑
摘要:GPipe 是一个基于 Lingvo (Lingvo 是 Google 基于 TensorFlow 二次开发的重点针对序列模型的框架)开发的,支持超大规模模型的神经网络训练并行库,本文介绍其基本功能和流水线机制。 阅读全文
posted @ 2021-08-23 08:24 罗西的思考 阅读(8038) 评论(4) 推荐(4) 编辑
摘要:Paracel是豆瓣开发的一个分布式计算框架,它基于参数服务器范式,用于解决机器学习的问题。前文介绍了PyTorch 的数据处理部分,本文接着介绍Paracel的数据处理部分,正好可以与PyTorch做一下印证。 阅读全文
posted @ 2021-08-21 09:11 罗西的思考 阅读(451) 评论(0) 推荐(0) 编辑
摘要:为了更好的介绍参数服务器Paracel的数据加载,我们临时插入两篇PyTorch的数据加载,主要是从分布式的角度进行切入。本文介绍 DataLoader。 阅读全文
posted @ 2021-08-18 08:12 罗西的思考 阅读(4148) 评论(2) 推荐(1) 编辑
摘要:为了更好的介绍参数服务器Paracel的数据加载,我们临时插入两篇PyTorch的数据加载(因为字数太长,所以拆成两篇),主要是从分布式的角度进行切入。本文介绍 DistributedSampler。 阅读全文
posted @ 2021-08-15 10:32 罗西的思考 阅读(9512) 评论(0) 推荐(1) 编辑

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