LGCLIRJan 18, 2021

Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup

arXiv:2101.06983v2744 citations
Originality Synthesis-oriented
AI Analysis

This is an incremental improvement for researchers and practitioners in deep learning who face GPU memory limitations when scaling contrastive learning batch sizes.

The paper tackles the memory bottleneck in contrastive learning when using large batch sizes by introducing a gradient caching technique that decouples backpropagation, allowing gradients to be computed for batch subsets sequentially. This reduces memory usage to almost constant levels, enabling larger batch sizes under memory constraints.

Contrastive learning has been applied successfully to learn vector representations of text. Previous research demonstrated that learning high-quality representations benefits from batch-wise contrastive loss with a large number of negatives. In practice, the technique of in-batch negative is used, where for each example in a batch, other batch examples' positives will be taken as its negatives, avoiding encoding extra negatives. This, however, still conditions each example's loss on all batch examples and requires fitting the entire large batch into GPU memory. This paper introduces a gradient caching technique that decouples backpropagation between contrastive loss and the encoder, removing encoder backward pass data dependency along the batch dimension. As a result, gradients can be computed for one subset of the batch at a time, leading to almost constant memory usage.

Code Implementations7 repos

Data from Papers with Code (CC-BY-SA-4.0)

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes