SSDTrain: An Activation Offloading Framework to SSDs for Faster Large Language Model Training

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Wu, Kun, Park, Jeongmin Brian, Zhang, Xiaofan, Hidayetoğlu, Mert, Mailthody, Vikram Sharma, Huang, Sitao, Lumetta, Steven Sam, Hwu, Wen-mei
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866913691900837888
author Wu, Kun
Park, Jeongmin Brian
Zhang, Xiaofan
Hidayetoğlu, Mert
Mailthody, Vikram Sharma
Huang, Sitao
Lumetta, Steven Sam
Hwu, Wen-mei
author_facet Wu, Kun
Park, Jeongmin Brian
Zhang, Xiaofan
Hidayetoğlu, Mert
Mailthody, Vikram Sharma
Huang, Sitao
Lumetta, Steven Sam
Hwu, Wen-mei
contents The growth rate of the GPU memory capacity has not been able to keep up with that of the size of large language models (LLMs), hindering the model training process. In particular, activations -- the intermediate tensors produced during forward propagation and reused in backward propagation -- dominate the GPU memory use. This leads to high training overhead such as high weight update cost due to the small micro-batch size. To address this challenge, we propose SSDTrain, an adaptive activation offloading framework to high-capacity NVMe SSDs. SSDTrain reduces GPU memory usage without impacting performance by fully overlapping data transfers with computation. SSDTrain is compatible with popular deep learning frameworks like PyTorch, Megatron, and DeepSpeed, and it employs techniques such as tensor deduplication and forwarding to further enhance efficiency. We extensively experimented with popular LLMs like GPT, BERT, and T5. Results demonstrate that SSDTrain reduces 47% of the activation peak memory usage. Meanwhile, SSDTrain perfectly overlaps the I/O with the computation and incurs negligible overhead. Compared with keeping activations in GPU memory and layerwise full recomputation, SSDTrain achieves the best memory savings with negligible throughput loss. We further analyze how the reduced activation memory use may be leveraged to increase throughput by increasing micro-batch size and reducing pipeline parallelism bubbles.
format Preprint
id arxiv_https___arxiv_org_abs_2408_10013
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle SSDTrain: An Activation Offloading Framework to SSDs for Faster Large Language Model Training
Wu, Kun
Park, Jeongmin Brian
Zhang, Xiaofan
Hidayetoğlu, Mert
Mailthody, Vikram Sharma
Huang, Sitao
Lumetta, Steven Sam
Hwu, Wen-mei
Distributed, Parallel, and Cluster Computing
Neural and Evolutionary Computing
The growth rate of the GPU memory capacity has not been able to keep up with that of the size of large language models (LLMs), hindering the model training process. In particular, activations -- the intermediate tensors produced during forward propagation and reused in backward propagation -- dominate the GPU memory use. This leads to high training overhead such as high weight update cost due to the small micro-batch size. To address this challenge, we propose SSDTrain, an adaptive activation offloading framework to high-capacity NVMe SSDs. SSDTrain reduces GPU memory usage without impacting performance by fully overlapping data transfers with computation. SSDTrain is compatible with popular deep learning frameworks like PyTorch, Megatron, and DeepSpeed, and it employs techniques such as tensor deduplication and forwarding to further enhance efficiency. We extensively experimented with popular LLMs like GPT, BERT, and T5. Results demonstrate that SSDTrain reduces 47% of the activation peak memory usage. Meanwhile, SSDTrain perfectly overlaps the I/O with the computation and incurs negligible overhead. Compared with keeping activations in GPU memory and layerwise full recomputation, SSDTrain achieves the best memory savings with negligible throughput loss. We further analyze how the reduced activation memory use may be leveraged to increase throughput by increasing micro-batch size and reducing pipeline parallelism bubbles.
title SSDTrain: An Activation Offloading Framework to SSDs for Faster Large Language Model Training
topic Distributed, Parallel, and Cluster Computing
Neural and Evolutionary Computing
url https://arxiv.org/abs/2408.10013