IP Library › Granted Patent US 11,604,960
Granted Patent B2
US 11,604,960 · App. 16/356,928 · Granted Mar 14, 2023

Differential bit width neural architecture search

Inventors: Kalin Ovtcharov (Snoqualmie, WA); Eric S. Chung (Redmond, WA); Vahideh Akhlaghi (Redmond, WA); Ritchie Zhao (Ithaca, NY)
Assignee: Microsoft Technology Licensing, LLC
G06N3/0445G06N3/084
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,604,960
App. No.
16/356,928
Granted
Mar 14, 2023
Kind
B2
Abstract

Machine learning is utilized to learn an optimized quantization configuration for an artificial neural network (ANN). For example, an ANN can be utilized to learn an optimal bit width for quantizing weights for layers of the ANN. The ANN can also be utilized to learn an optimal bit width for quantizing activation values for the layers of the ANN. Once the bit widths have been learned, they can be utilized at inference time to improve the performance of the ANN by quantizing the weights and activation values of the layers of the ANN.

Claims (50)

1. A computer-implemented method, comprising:

during a forward training pass of an artificial neural network (ANN),

executing a quantizing function to quantize a mantissa of weights for a layer of the ANN using a first bit width, the first bit width defining a bit width for storing the mantissa of the weights in a quantized-precision floating-point format, and

executing the quantizing function to quantize a mantissa of activation values input to the layer of the ANN using a second bit width, the second bit width defining a bit width for storing the mantissa of the activation values in the quantized-precision floating-point format;

during a backward training pass of the ANN,

computing a first gradient for the first bit width,

computing a second gradient for the second bit width,

computing a new first bit width for quantizing the mantissa of the weights for the layer of the ANN based on the first gradient, and

computing a new second bit width for quantizing the mantissa of the activation values input to the layer of the ANN based on the second gradient; and

during inference,

quantizing mantissas of weights for the ANN using the new first bit width, and

quantizing mantissas of activation values for the ANN using the new second bit width.

2. The computer-implemented method of claim 1 , wherein the weights are learned prior to the forward training pass.

3. The computer-implemented method of claim 1 , wherein the weights are learned during the forward training pass.

4. The computer-implemented method of claim 1 , wherein the first bit width for the mantissa for storing the weights and the second bit width for the mantissa for storing the activation values comprise fewer bits than a mantissa in a normal-precision floating-point representation.

5. The computer-implemented method of claim 1 , wherein the quantizing function applies a floor function to round the new first bit width and the new second bit width down to an integer value.

6. The computer-implemented method of claim 1 , wherein the quantizing function applies a weight decay to the new first bit width and the new second bit width.

7. A computing device, comprising:

one or more processors; and

at least one computer storage media having computer-executable instructions stored thereupon which, when executed by the one or more processors, will cause the computing device to:

during a forward training pass of an artificial neural network (ANN),

execute a quantizing function to quantize a mantissa of weights for a layer of the ANN using a first bit width, the first bit width defining a bit width for storing the mantissa of the weights in a quantized-precision floating-point format, and

execute the quantizing function to quantize a mantissa of activation values input to the layer of the ANN using a second bit width, the second bit width defining a bit width for storing the mantissa of the activation values in the quantized-precision floating-point format;

during a backward training pass of the ANN,

compute a first gradient for the first bit width,

compute a second gradient for the second bit width,

compute a new first bit width for quantizing the mantissa of the weights for the layer of the ANN based on the first gradient, and

compute a new second bit width for quantizing the mantissa of the activation values input to the layer of the ANN based on the second gradient; and

during inference,

quantize mantissas of weights for the ANN using the new first bit width, and

quantize mantissas of activation values for the ANN using the new second bit width.

8. The computing device of claim 7 , wherein the first bit width for the mantissa for storing the weights and the second bit width for the mantissa for storing the activation values comprise fewer bits than a mantissa in a normal-precision floating-point representation.

9. The computing device of claim 7 , wherein the weights are learned prior to the forward training pass.

10. The computing device of claim 7 , wherein the weights are learned during the forward training pass.

11. The computing device of claim 7 , wherein the quantizing function applies a floor function to round the new first bit width and the new second bit width down to an integer value, and wherein the quantizing function applies a weight decay to the new first bit width and the new second bit width.

12. A computer storage media having computer-executable instructions stored thereupon which, when executed by one or more processors, will cause a computing device to:

during a forward training pass of an artificial neural network (ANN),

execute a quantizing function to quantize a mantissa of weights for a layer of the ANN using a first bit width, the first bit width defining a bit width for storing the mantissa of the weights in a quantized-precision floating-point format, and

execute the quantizing function to quantize a mantissa of activation values input to the layer of the ANN using a second bit width, the second bit width defining a bit width for storing the mantissa of the activation values in the quantized-precision floating-point format;

during a backward training pass of the ANN,

compute a first gradient for the first bit width,

compute a second gradient for the second bit width,

compute a new first bit width for quantizing the mantissa of the weights for the layer of the ANN based on the first gradient, and

compute a new second bit width for quantizing the mantissa of the activation values input to the layer of the ANN based on the second gradient; and

during inference,

quantize mantissas of weights for the ANN using the new first bit width, and

quantize mantissas of activation values for the ANN using the new second bit width.

13. The computer storage media of claim 12 , wherein the bit width for the mantissa for storing the weights and the bit width for the mantissa for storing the activation values comprise fewer bits than a mantissa in a normal-precision floating-point representation.

14. The computer storage media of claim 12 , wherein the weights are learned prior to the forward training pass.

15. The computer storage media of claim 12 , wherein the weights are learned during the forward training pass.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2019
From: OVTCHAROV, KALIN; CHUNG, ERIC S.; AKHLAGHI, VAHIDEH; ZHAO, RITCHIE
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 048627/0393 →
Continuity (1)
Related Publication 20200302269A1 · Sep 24, 2020