ChatPaper.aiChatPaper

Het toevoegen van NVMe SSD's om het finetunen van 100B-modellen op een enkele GPU mogelijk te maken en te versnellen.

Adding NVMe SSDs to Enable and Accelerate 100B Model Fine-tuning on a Single GPU

March 11, 2024
Auteurs: Changyue Liao, Mo Sun, Zihan Yang, Kaiqi Chen, Binhang Yuan, Fei Wu, Zeke Wang
cs.AI

Samenvatting

Recente vooruitgang in grote taalmodellen heeft enorme waarde gebracht aan de wereld, met hun superieure capaciteiten die voortkomen uit het enorme aantal parameters dat ze gebruiken. Echter, zelfs de GPU's met de hoogste geheugencapaciteiten, die momenteel een maximum van 80GB bereiken, zijn lang niet voldoende om deze enorme parameters en hun bijbehorende optimizerstatussen te accommoderen bij het uitvoeren van stochastische gradiëntdaling-gebaseerde optimalisatie. Een benadering om dergelijke enorme modellen te hosten, is het samenvoegen van apparaatgeheugen van veel GPU's. Deze benadering brengt echter onoverkomelijke kosten met zich mee voor de meeste academische onderzoekers, die altijd een beperkt budget hebben voor veel high-end GPU-servers. In dit artikel richten we ons op het finetunen van enorme modellen op een enkele, zelfs low-end, GPU in een standaard server, die toegankelijk is voor de meeste AI-onderzoekers. In een dergelijk scenario lijdt het state-of-the-art werk ZeRO-Infinity aan twee ernstige problemen bij het draaien op een standaard server: 1) lage GPU-utilisatie door inefficiënt swappen, en 2) beperkte trainbare modelgrootte door CPU-geheugencapaciteit. De onderliggende reden is dat ZeRO-Infinity is geoptimaliseerd voor het draaien op high-end GPU-servers. Daarom presenteren we Fuyou, een low-cost trainingsframework dat efficiënt finetunen van 100B enorme modellen mogelijk maakt op een low-end server met een low-end GPU en beperkte CPU-geheugencapaciteit. Het kernidee is om de SSD-CPU-communicatie toe te voegen als een optimalisatiedimensie en zo zorgvuldig berekening en data-swapping te co-optimaliseren vanuit een systematische benadering om GPU-utilisatie te maximaliseren. De experimentele resultaten tonen aan dat 1) Fuyou in staat is om 175B GPT-3 te finetunen op een consumenten-GPU RTX 4090 met hoge GPU-utilisatie, terwijl ZeRO-Infinity hierin faalt; en 2) bij het trainen van een klein GPT-3 13B-model, Fuyou 156 TFLOPS bereikt op een RTX 4090 GPU, terwijl ZeRO-Infinity slechts 45 TFLOPS bereikt.
English
Recent advances in large language models have brought immense value to the world, with their superior capabilities stemming from the massive number of parameters they utilize. However, even the GPUs with the highest memory capacities, currently peaking at 80GB, are far from sufficient to accommodate these vast parameters and their associated optimizer states when conducting stochastic gradient descent-based optimization. One approach to hosting such huge models is to aggregate device memory from many GPUs. However, this approach introduces prohibitive costs for most academic researchers, who always have a limited budget for many high-end GPU servers. In this paper, we focus on huge model fine-tuning on a single, even low-end, GPU in a commodity server, which is accessible to most AI researchers. In such a scenario, the state-of-the-art work ZeRO-Infinity suffers from two severe issues when running in a commodity server: 1) low GPU utilization due to inefficient swapping, and 2) limited trainable model size due to CPU memory capacity. The underlying reason is that ZeRO-Infinity is optimized for running on high-end GPU servers. To this end, we present Fuyou, a low-cost training framework that enables efficient 100B huge model fine-tuning on a low-end server with a low-end GPU and limited CPU memory capacity. The key idea is to add the SSD-CPU communication as an optimization dimension and thus carefully co-optimize computation and data swapping from a systematic approach to maximize GPU utilization. The experimental results show that 1) Fuyou is able to fine-tune 175B GPT-3 on a consumer GPU RTX 4090 with high GPU utilization, while ZeRO-Infinity fails to fine-tune; and 2) when training a small GPT-3 13B model, Fuyou achieves 156 TFLOPS on an RTX 4090 GPU while ZeRO-Infinity only achieves 45 TFLOPS.
PDF564February 7, 2026