SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 1805.11046 · 2018

Scalable Methods for 8-bit Training of Neural Networks

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 13 functions out of this paper's own repositories and ran 8 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
eladhoffer/quantized.pytorch canonical 8 of 13
FunctionStatusWhere it lives
conv3x3 Ran eladhoffer/quantized.pytorch/models/resnet.py
code served (permissive licence) · get_code("fac5364e2f53c6db")
conv3x3 Ran eladhoffer/quantized.pytorch/models/resnext.py
code served (permissive licence) · get_code("bc359191fdd6e179")
conv_bn Ran eladhoffer/quantized.pytorch/models/inception_resnet_v2.py
code served (permissive licence) · get_code("36d164db20c45f6d")
conv_bn Ran eladhoffer/quantized.pytorch/models/inception_v2.py
code served (permissive licence) · get_code("c852fbd4f3361928")
inception_preproccess Ran eladhoffer/quantized.pytorch/preprocess.py
code served (permissive licence) · get_code("76d3620502ea711f")
nearby_int Ran eladhoffer/quantized.pytorch/models/mobilenet_quantized.py
code served (permissive licence) · get_code("f0e3c7e07f4ec4a8")
pad_random_crop Ran eladhoffer/quantized.pytorch/preprocess.py
code served (permissive licence) · get_code("8050fdcf3ccf70b9")
scale_crop Ran eladhoffer/quantized.pytorch/preprocess.py
code served (permissive licence) · get_code("a90e11536c336bf6")
conv3x3 Not yet run eladhoffer/quantized.pytorch/models/resnet_quantized.py
code served (permissive licence) · get_code("2aae5266d40678b7")
conv3x3 Not yet run eladhoffer/quantized.pytorch/models/resnet_quantized_float_bn.py
code served (permissive licence) · get_code("3d9a75a675636b11")
conv3x3 Not yet run eladhoffer/quantized.pytorch/models/resnet_bwn.py
code served (permissive licence) · get_code("e6c8bce847358ab5")
depBatchNorm2d Not yet run eladhoffer/quantized.pytorch/models/resnext.py
code served (permissive licence) · get_code("479e6512d18a4cd5")
get_dataset Not yet run eladhoffer/quantized.pytorch/data.py
code served (permissive licence) · get_code("cde16b7e9575ccb9")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Quantized Neural Networks (QNNs) are often used to improve network efficiency during the inference phase, i.e. after the network has been trained. Extensive research in the field suggests many different quantization schemes. Still, the number of bits required, as well as the best quantization scheme, are yet unknown. Our theoretical analysis suggests that most of the training process is robust to substantial precision reduction, and points to only a few specific operations that require higher precision. Armed with this knowledge, we quantize the model parameters, activations and layer gradients to 8-bit, leaving at a higher precision only the final step in the computation of the weight gradients. Additionally, as QNNs require batch-normalization to be trained at high precision, we introduce Range Batch-Normalization (BN) which has significantly higher tolerance to quantization noise and improved computational complexity. Our simulations show that Range BN is equivalent to the traditional batch norm if a precise scale adjustment, which can be approximated analytically, is applied. To the best of the authors' knowledge, this work is the first to quantize the weights, activations, as well as a substantial volume of the gradients stream, in all layers (including batch normalization) to 8-bit while showing state-of-the-art results over the ImageNet-1K dataset.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("1805.11046")
get_code_for_paper("1805.11046")
have("1805.11046")

Connect an agent — have() is free.