FP8-LM: Обучение крупных языковых моделей с использованием формата FP8
FP8-LM: Training FP8 Large Language Models
October 27, 2023
Авторы: 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
Аннотация
В данной статье мы исследуем форматы данных с низкой разрядностью FP8 для эффективного обучения крупных языковых моделей (LLM). Наше ключевое наблюдение заключается в том, что большинство переменных, таких как градиенты и состояния оптимизатора, в процессе обучения LLM могут использовать форматы данных с низкой точностью без ущерба для точности модели и без необходимости изменения гиперпараметров. В частности, мы предлагаем новый автоматический смешанный формат точности FP8 для обучения LLM. Этот фреймворк предлагает три уровня использования FP8 для упрощения смешанной точности и распределенного параллельного обучения LLM. Он постепенно включает 8-битные градиенты, состояния оптимизатора и распределенное обучение в инкрементальной манере. Результаты экспериментов показывают, что при обучении модели GPT-175B на платформе GPU H100 наш фреймворк смешанной точности FP8 не только достиг значительного сокращения реального использования памяти на 42%, но и работал на 64% быстрее, чем широко используемый фреймворк BF16 (например, Megatron-LM), превосходя скорость Nvidia Transformer Engine на 17%. Это существенно снижает затраты на обучение крупных базовых моделей. Более того, наша методология смешанной точности FP8 является универсальной. Она может быть легко применена к другим задачам, таким как настройка инструкций LLM и обучение с подкреплением с обратной связью от человека, что позволяет экономить на затратах на тонкую настройку. Наш фреймворк обучения с низкой точностью FP8 доступен в открытом доступе по адресу {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}.