FP8-LM: Het trainen van FP8 grote taalmodelen
FP8-LM: Training FP8 Large Language Models
October 27, 2023
Auteurs: Houwen Peng, Kan Wu, Yixuan Wei, Guoshuai Zhao, Yuxiang Yang, Ze Liu, Yifan Xiong, Ziyue Yang, Bolin Ni, Jingcheng Hu, Ruihang Li, Miaosen Zhang, Chen Li, Jia Ning, Ruizhe Wang, Zheng Zhang, Shuguang Liu, Joe Chau, Han Hu, Peng Cheng
cs.AI
Samenvatting
In dit artikel onderzoeken we FP8 low-bit dataformaten voor efficiënte training van grote taalmodelen (LLM's). Onze belangrijkste inzicht is dat de meeste variabelen, zoals gradiënten en optimizerstatussen, in LLM-training kunnen worden weergegeven in low-precision dataformaten zonder de modelnauwkeurigheid aan te tasten en zonder aanpassingen aan de hyperparameters te vereisen. Specifiek stellen we een nieuw FP8 automatisch mixed-precision framework voor voor het trainen van LLM's. Dit framework biedt drie niveaus van FP8-gebruik om mixed-precision en gedistribueerde parallelle training voor LLM's te stroomlijnen. Het integreert geleidelijk 8-bit gradiënten, optimizerstatussen en gedistribueerd leren op een incrementele manier. Experimentele resultaten tonen aan dat, tijdens de training van het GPT-175B-model op het H100 GPU-platform, ons FP8 mixed-precision trainingsframework niet alleen een opmerkelijke vermindering van 42% in het werkelijke geheugengebruik bereikte, maar ook 64% sneller liep dan het veelgebruikte BF16-framework (d.w.z. Megatron-LM), waardoor het de snelheid van de Nvidia Transformer Engine met 17% overtrof. Dit vermindert de trainingskosten voor grote foundation-modellen aanzienlijk. Bovendien is onze FP8 mixed-precision trainingsmethodologie generiek. Het kan naadloos worden toegepast op andere taken, zoals LLM-instructieafstemming en reinforcement learning met menselijke feedback, waardoor het besparingen biedt in fine-tuningkosten. Ons FP8 low-precision trainingsframework is open-source beschikbaar op {https://github.com/Azure/MS-AMP}{aka.ms/MS.AMP}.
English
In this paper, we explore FP8 low-bit data formats for efficient training of
large language models (LLMs). Our key insight is that most variables, such as
gradients and optimizer states, in LLM training can employ low-precision data
formats without compromising model accuracy and requiring no changes to
hyper-parameters. Specifically, we propose a new FP8 automatic mixed-precision
framework for training LLMs. This framework offers three levels of FP8
utilization to streamline mixed-precision and distributed parallel training for
LLMs. It gradually incorporates 8-bit gradients, optimizer states, and
distributed learning in an incremental manner. Experiment results show that,
during the training of GPT-175B model on H100 GPU platform, our FP8
mixed-precision training framework not only achieved a remarkable 42% reduction
in real memory usage but also ran 64% faster than the widely adopted BF16
framework (i.e., Megatron-LM), surpassing the speed of Nvidia Transformer
Engine by 17%. This largely reduces the training costs for large foundation
models. Furthermore, our FP8 mixed-precision training methodology is generic.
It can be seamlessly applied to other tasks such as LLM instruction tuning and
reinforcement learning with human feedback, offering savings in fine-tuning
expenses. Our FP8 low-precision training framework is open-sourced at
{https://github.com/Azure/MS-AMP}{aka.ms/MS.AMP}.