IP Library › Granted Patent US 11,568,251
Granted Patent B1
US 11,568,251 · App. 16/893,831 · Granted Jan 31, 2023

Dynamic quantization for models run on edge devices

Inventor: Malhar Palkar (Cupertino, CA)
Assignee: Ambarella International LP
G06N3/08G06F17/18G06K9/6296G06K9/6298
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,568,251
App. No.
16/893,831
Granted
Jan 31, 2023
Kind
B1
Abstract

A method of generating a quantized neural network comprises (i) receiving a pre-trained neural network model and (ii) modifying the pre-trained neural network model to calculate one or more statistics on an output of one or more layers of the pre-trained neural network model based on a current image and set up an output data format for one or more following layers of the pre-trained neural network model for one or more of the current image and a subsequent image dynamically based on the one or more statistics.

Claims (24)

1. A method of generating a quantized neural network comprising:

receiving a pre-trained neural network model; and

modifying the pre-trained neural network model to calculate one or more statistics on an output of one or more layers of the pre-trained neural network model based on a current image and set up an output data format for one or more following layers of the pre-trained neural network model for one or more of said current image and a subsequent image dynamically based on the one or more statistics, wherein said statistics are used to determine precision and range for the output data format of the one or more following layers of the pre-trained neural network model.

2. The method according to claim 1 , wherein said pre-trained neural network model comprises a directed acyclic graph.

3. The method according to claim 1 , wherein said statistics are determined using a dataset that is representative of one or more desired inferences during a post training process.

4. The method according to claim 1 , wherein said statistics comprise one or more of min, max, variance, and histogram.

5. The method according to claim 1 , further comprising programming at least one edge device with the modified pre-trained neural network model and weights determined during training of the pre-trained neural network model.

6. The method according to claim 5 , wherein programming the at least one edge device comprises burning the modified pre-trained neural network model and the weights into a die of the at least one edge device.

7. The method according to claim 1 , wherein the pre-trained neural network model generates one or more inferences about an input by performing one or more computer vision operations.

8. The method according to claim 1 , wherein said statistics are used to adjust the output data format of convolution operations.

9. The method according to claim 8 , wherein the statistics are calculated in parallel with the convolution operations.

10. An apparatus comprising:

a sensor to generate a data input; and

a processor to generate one or more outputs in response to said data input based upon one or more inferences made by executing a neural network model, wherein said neural network model is configured to calculate one or more statistics on an output of one or more layers of the neural network model based on a current image and set up an output data format for one or more following layers of the neural network model for one or more of said current image and a subsequent image dynamically based on the statistics, wherein said statistics are used to determine precision and range for the output data format of the one or more following layers of the neural network model.

11. The apparatus according to claim 10 , wherein said sensor comprises a video camera and the neural network model generates the one or more inferences about said data input by performing one or more computer vision operations.

12. The apparatus according to claim 10 , wherein said sensor and said processor are configured as part of an edge device.

13. The apparatus according to claim 10 , wherein said sensor and said processor are configured as part of a battery-powered device.

14. The apparatus according to claim 10 , wherein said sensor and said processor are configured as part of a battery-powered security camera.

15. The apparatus according to claim 10 , wherein said processor comprises a plurality of hardware engines configurable to perform operations of said neural network model.

16. The apparatus according to claim 10 , wherein said processor stores said neural network model as a directed acyclic graph and associated weights.

17. A non-transitory computer readable storage medium comprising computer executable instructions, which when executed by a computer cause the computer to perform the steps of:

receiving a pre-trained neural network model; and

modifying the pre-trained neural network model to calculate one or more statistics on an output of one or more layers of the pre-trained neural network model based on a current image and set up an output data format for one or more following layers of the pre-trained neural network model for one or more of said current image and a subsequent image dynamically based on the one or more statistics, wherein said statistics are used to determine precision and range for the output data format of the one or more following layers of the pre-trained neural network model.

18. The non-transitory computer readable storage medium according to claim 17 , wherein said pre-trained neural network model comprises a directed acyclic graph and weights determined during training of the pre-trained neural network model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2020
From: PALKAR, MALHAR
To: AMBARELLA INTERNATIONAL LP
Reel/Frame 052855/0953 →
Cited By (3)
US 12,591,771 US 12,632,712 US 12,684,127