IP Library › Granted Patent US 11,556,772
Granted Patent B2
US 11,556,772 · App. 15/869,515 · Granted Jan 17, 2023

Incremental precision networks using residual inference and fine-grain quantization

Inventors: Abhisek Kundu (Bangalore, IN); Naveen Mellempudi (Bangalore, IN); Dheevatsa Mudigere (Bangalore, IN); Dipankar Das (Pune, IN)
Assignee: Intel Corporation
G06N3/08G06F9/46G06N3/0445G06N3/0454G06N3/063G06N3/084G06N5/04G06T15/005G06T15/04G06T15/80G06T17/10G06T17/20G06V10/94
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,556,772
App. No.
15/869,515
Granted
Jan 17, 2023
Kind
B2
Abstract

One embodiment provides for a computing device comprising a parallel processor compute unit to perform a set of parallel integer compute operations; a ternarization unit including a weight ternarization circuit and an activation quantization circuit; wherein the weight ternarization circuit is to convert a weight tensor from a floating-point representation to a ternary representation including a ternary weight and a scale factor; wherein the activation quantization circuit is to convert an activation tensor from a floating-point representation to an integer representation; and wherein the parallel processor compute unit includes one or more circuits to perform the set of parallel integer compute operations on the ternary representation of the weight tensor and the integer representation of the activation tensor.

Claims (57)

1. A method of performing ternary quantization on weight data of an artificial neural network, the method comprising:

ternarizing a group of pre-trained weights, wherein ternarizing the group of pre-trained weights includes:

partitioning the weight data along each of one or more input channels of a layer of the artificial neural network;

determining a scale factor and threshold for each partition; and

performing quantization on each partition of the weight data to output quantized ternary weight data;

determining that the group of pre-trained weights is eligible for residual computation to generate residual weights, wherein eligibility is determined based on one or more distribution-based heuristics;

computing the residual weights by determining an arithmetic difference between values of pre-trained weights of the group and values of the ternary weights;

ternarizing the residual weights; and

storing the ternarized residual weights.

2. The method as in claim 1 , wherein the distribution-based heuristics include:

determining the eligibility of the group of pre-trained weights based on the dynamic range of the group of pre-trained weights; and

determining the eligibility of the group based on whether the group has a heavy-tailed distribution.

3. The method as in claim 2 , wherein partitioning the weight data includes partitioning the weight data using one or more static partitions, the one or more static partitions including one or more partitions for each layer of the artificial neural network.

4. The method as in claim 2 , wherein partitioning the weight data includes partitioning the weight data using dynamic partitions within the layer of the artificial neural network.

5. The method as in claim 4 , additionally comprising dynamically determining a set of weight data partitions for the layer of the artificial neural network, wherein dynamically determining the set of weight data partitions for layer includes determining a first dynamic partition for weight data having a first data distribution and determining a second dynamic partition for weight data having a second data distribution.

6. The method as in claim 5 , additionally comprising:

determining a first scale factor for the first dynamic partition; and

determining a second scale factor for the second dynamic partition, the second scale factor different from the first scale factor.

7. A non-transitory machine readable medium storing instructions execution of which by one or more processors of a computing device, cause the computing device to perform operations comprising:

ternarizing a group of pre-trained weights, wherein ternarizing the group of pre-trained weights includes:

partitioning weight data along each of one or more input channels of a layer of an artificial neural network;

determining a scale factor and threshold for each partition; and

performing quantization on each partition of the weight data to output quantized ternary weight data;

determining that the group of pre-trained weights is eligible for residual computation to generate residual weights, wherein eligibility is determined based on one or more distribution-based heuristics;

computing the residual by determining an arithmetic difference between values of pre-trained weights of the group and values of the ternary weights;

ternarizing the residual weights; and

storing the ternarized residual weights.

8. The non-transitory machine-readable medium as in claim 7 , wherein the distribution-based heuristics include:

determining the eligibility of the group of pre-trained weights based on the dynamic range of the group of pre-trained weights; and

determining the eligibility of the group based on whether the group has a heavy-tailed distribution.

9. The non-transitory machine-readable medium as in claim 8 , wherein partitioning the weight data includes partitioning the weight data using one or more static partitions, the one or more static partitions including one or more partitions for each layer.

10. The non-transitory machine-readable medium as in claim 8 , wherein partitioning the weight data includes determining a set of dynamic partitions for the layer of the artificial neural network.

11. The non-transitory machine-readable medium as in claim 10 , wherein determining the set of dynamic partitions for the layer includes determining a first dynamic partition for weight data having a first data distribution and determining a second dynamic partition for weight data having a second data distribution.

12. The non-transitory machine-readable medium as in claim 11 , the operations additionally comprising:

determining a first scale factor for the first dynamic partition; and

determining a second scale factor for the second dynamic partition, the second scale factor different from the first scale factor.

13. A data processing system comprising:

a memory device to store instructions; and

a processor configured to execute the instructions stored in the memory, execution of which cause the processor to perform operations comprising:

ternarizing a group of pre-trained weights, wherein ternarizing the group of pre-trained weights includes:

partitioning weight data along each of one or more input channels of a layer of an artificial neural network;

determining a scale factor and threshold for each partition; and

performing quantization on each partition of the weight data to output quantized ternary weight data;

determining that the group of pre-trained weights is eligible for residual computation to generate residual weights, wherein eligibility is determined based on one or more distribution-based heuristics;

computing the residual weights by determining an arithmetic difference between values of pre-trained weights of the group and values of the ternary weights;

ternarizing the residual weights; and

storing the ternarized residual weights.

14. The data processing system as in claim 13 , wherein the distribution-based heuristics include:

determining the eligibility of the group of pre-trained weights based on the dynamic range of the group of pre-trained weights; and

determining the eligibility of the group based on whether the group has a heavy-tailed distribution.

15. The data processing system as in claim 14 , wherein partitioning the weight data includes partitioning the weight data using one or more static partitions, the one or more static partitions including one or more partitions for each layer of the artificial neural network.

16. The data processing system as in claim 14 , wherein partitioning the weight data includes partitioning the weight data using dynamic partitions within the layer of the artificial neural network.

17. The data processing system as in claim 16 , the operations additionally comprising dynamically determining a set of weight data partitions for the layer of the artificial neural network.

18. The data processing system as in claim 17 , wherein dynamically determining the set of weight data partitions for layer includes determining a first dynamic partition for weight data having a first data distribution and determining a second dynamic partition for weight data having a second data distribution.

19. The data processing system as in claim 18 , the operations additionally comprising:

determining a first scale factor for the first dynamic partition; and

determining a second scale factor for the second dynamic partition, the second scale factor different from the first scale factor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2018
From: KUNDU, ABHISEK; MELLEMPUDI, NAVEEN; MUDIGERE, DHEEVATSA; DAS, DIPANKAR
To: INTEL CORPORATION
Reel/Frame 045924/0890 →
Priority Claims (1)
IN 201741015052 · Apr 28, 2017 · national
Continuity (2)
Provisional Application 62501800 · May 5, 2017
Related Publication 20180314940A1 · Nov 1, 2018