ChatPaper.aiChatPaper

L'ajout de SSD NVMe pour permettre et accélérer le fine-tuning de modèles de 100 milliards de paramètres sur une seule GPU.

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

Résumé

Les récentes avancées dans les modèles de langage de grande taille ont apporté une immense valeur au monde, leurs capacités supérieures découlant du nombre massif de paramètres qu'ils utilisent. Cependant, même les GPU dotés des plus grandes capacités de mémoire, actuellement limitées à 80 Go, sont loin d'être suffisants pour accueillir ces vastes paramètres et leurs états d'optimisation associés lors de l'optimisation basée sur la descente de gradient stochastique. Une approche pour héberger de tels modèles volumineux consiste à agréger la mémoire des appareils de plusieurs GPU. Cependant, cette approche entraîne des coûts prohibitifs pour la plupart des chercheurs académiques, qui disposent toujours d'un budget limité pour de nombreux serveurs GPU haut de gamme. Dans cet article, nous nous concentrons sur le fine-tuning de modèles volumineux sur un seul GPU, même bas de gamme, dans un serveur standard, accessible à la plupart des chercheurs en IA. Dans un tel scénario, l'état de l'art, représenté par ZeRO-Infinity, souffre de deux problèmes majeurs lors de son exécution sur un serveur standard : 1) une faible utilisation du GPU due à un échange inefficace, et 2) une taille de modèle entraînable limitée en raison de la capacité de mémoire CPU. La raison sous-jacente est que ZeRO-Infinity est optimisé pour fonctionner sur des serveurs GPU haut de gamme. À cette fin, nous présentons Fuyou, un cadre d'entraînement à faible coût qui permet un fine-tuning efficace de modèles de 100 milliards de paramètres sur un serveur bas de gamme avec un GPU bas de gamme et une capacité de mémoire CPU limitée. L'idée clé est d'ajouter la communication SSD-CPU comme dimension d'optimisation et ainsi de co-optimiser soigneusement le calcul et l'échange de données dans une approche systématique pour maximiser l'utilisation du GPU. Les résultats expérimentaux montrent que 1) Fuyou est capable de fine-tuner GPT-3 de 175 milliards de paramètres sur un GPU grand public RTX 4090 avec une utilisation élevée du GPU, alors que ZeRO-Infinity échoue ; et 2) lors de l'entraînement d'un petit modèle GPT-3 de 13 milliards de paramètres, Fuyou atteint 156 TFLOPS sur un GPU RTX 4090, tandis que ZeRO-Infinity n'atteint que 45 TFLOPS.
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.

Summary

AI-Generated Summary

PDF554December 15, 2024