paper-with-me

홈 › Papers

Mixed Precision Training

2017-10-10 · ICLR 2018 1 · Paulius Micikevicius, Sharan Narang, Jonah Alben, Gregory Diamos, Erich Elsen, David Garcia, Boris Ginsburg, Michael Houston, Oleksii Kuchaiev, Ganesh Venkatesh, Hao Wu

Deep neural networks have enabled progress in a wide variety of applications. Growing the size of the neural network typically results in improved accuracy. As model sizes grow, the memory and compute requirements for training these models also increases. We introduce a technique to train deep neural networks using half precision floating point numbers. In our technique, weights, activations and gradients are stored in IEEE half-precision format. Half-precision floating numbers have limited numerical range compared to single-precision numbers. We propose two techniques to handle this loss of information. Firstly, we recommend maintaining a single-precision copy of the weights that accumulates the gradients after each optimizer step. This single-precision copy is rounded to half-precision format during training. Secondly, we propose scaling the loss appropriately to handle the loss of information with half-precision gradients. We demonstrate that this approach works for a wide variety of models including convolution neural networks, recurrent neural networks and generative adversarial networks. This technique works for large scale models with more than 100 million parameters trained on large datasets. Using this approach, we can reduce the memory consumption of deep learning models by nearly 2x. In future processors, we can also expect a significant computation speedup using half-precision hardware units.

📄 PDF Abstract BibTeX arXiv:1710.03740

Code (9)

NVIDIA/DeepRecommender pytorch
PaddlePaddle/FleetX/blob/develop/examples/resnet/train_fleet_static_amp.py paddle
ajoshiusc/qrsegment pytorch
baidu-research/DeepBench tf
deepmind/jmp jax
kaileymonn/Quantized-ENAS-ConvNets tf
milesial/Pytorch-UNet pytorch
open-mmlab/mmpose pytorch
ruishengsu/cave_dsa pytorch

Methods 이 논문이 사용한 방법론

Convolution A convolution is a type of matrix operation, consisting of a kernel, a small matrix of weights, that slides over input data performing element-wise multiplication with the…

Similar Papers 제목 키워드 기반

MPX: Mixed Precision Training for JAX

2025-07-04 · Alexander Gräfe, Sebastian Trimpe arxiv

Mixed-precision training has emerged as an indispensable tool for enhancing the efficiency of neural network training in recent years. Concurrently, JAX has grown in popularity as a versatile machine learning toolbox. Ho…

MetaMix: Meta-state Precision Searcher for Mixed-precision Activation Quantization

2023-11-12 · Han-Byul Kim, Joo Hyung Lee, Sungjoo Yoo, Hong-Seok Kim

Mixed-precision quantization of efficient networks often suffer from activation instability encountered in the exploration of bit selections. To address this problem, we propose a novel method called MetaMix which consis…

Quantization

A Dynamic Approach to Accelerate Deep Learning Training

2019-09-25 · John Osorio, Adrià Armejach, Eric Petit, Marc Casas

Mixed-precision arithmetic combining both single- and half-precision operands in the same operation have been successfully applied to train deep neural networks. Despite the advantages of mixed-precision arithmetic in te…

Deep Learning

Training Time Prediction for Mixed Precision-based Distributed Training

2026-04-17 · Minchul Kang, Changyong Shin, Jinwoo Jeong, Hyunho Lee 외 arxiv

Accurate prediction of training time in distributed deep learning is crucial for resource allocation, cost estimation, and job scheduling. We observe that the floating-point precision setting is a key determinant of trai…

CSQ: Growing Mixed-Precision Quantization Scheme with Bi-level Continuous Sparsification

2022-12-06 · Lirui Xiao, Huanrui Yang, Zhen Dong, Kurt Keutzer 외

Mixed-precision quantization has been widely applied on deep neural networks (DNNs) as it leads to significantly better efficiency-accuracy tradeoffs compared to uniform quantization. Meanwhile, determining the exact pre…

Quantization