2BP: 2-Stage Backpropagation

Christopher Rae, Joseph K. L. Lee, James Richings
5/28/2024
cs.LGcs.AIcs.DC

No confident code implementation found for this paper. 1 possible match can be shown below.

Abstract

As Deep Neural Networks (DNNs) grow in size and complexity, they often exceed the memory capacity of a single accelerator, necessitating the sharding of model parameters across multiple accelerators. Pipeline parallelism is a commonly used sharding strategy for training large DNNs. However, current implementations of pipeline parallelism are being unintentionally bottlenecked by the automatic differentiation tools provided by ML frameworks. This paper introduces 2-stage backpropagation (2BP). By splitting the backward propagation step into two separate stages, we can reduce idle compute time. We tested 2BP on various model architectures and pipelining schedules, achieving increases in throughput in all cases. Using 2BP, we were able to achieve a 1.70x increase in throughput compared to traditional methods when training a LLaMa-like transformer with 7 billion parameters across 4 GPUs.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. 1 weaker match is hidden by default — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{rae2024bp,
  title  = {2BP: 2-Stage Backpropagation},
  author = {Christopher Rae and Joseph K. L. Lee and James Richings},
  year   = {2024},
  eprint = {2405.18047},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2405.18047v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2405.18047.svg)](https://codeofpaper.com/paper/2405.18047)

Discussion