US 11,750,212 B2
Flexible hardware for high throughput vector dequantization with dynamic vector length and codebook size
Amol Ashok Ambardekar, Redmond, WA (US); Aleksandar Tomic, Dublin (IE); Chad Balling McBride, North Bend, WA (US); George Petre, Redmond, WA (US); Kent D. Cedola, Bellevue, WA (US); Larry Marvin Wall, Seattle, WA (US); and Boris Bobrov, Kirkland, WA (US)
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed by MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed on Apr. 15, 2021, as Appl. No. 17/232,074.
Application 17/232,074 is a continuation of application No. 15/881,519, filed on Jan. 26, 2018, granted, now 11,010,315.
Claims priority of provisional application 62/486,432, filed on Apr. 17, 2017.
Prior Publication US 2021/0232904 A1, Jul. 29, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06N 3/04 (2023.01); G06F 9/46 (2006.01); H03M 7/30 (2006.01); G06N 3/063 (2023.01); G06F 12/0862 (2016.01); G06F 1/324 (2019.01); G06F 3/06 (2006.01); G06F 9/38 (2018.01); G06F 12/08 (2016.01); G06F 12/10 (2016.01); G06F 15/80 (2006.01); G06F 17/15 (2006.01); G06N 3/049 (2023.01); G06N 3/06 (2006.01); G06N 3/08 (2023.01); G06N 3/10 (2006.01); H04L 45/02 (2022.01); H04L 67/02 (2022.01); G06F 9/30 (2018.01); H04L 67/1001 (2022.01); G06F 9/48 (2006.01); G06F 12/02 (2006.01); G06N 3/045 (2023.01); G06N 3/065 (2023.01); G06F 13/16 (2006.01); G06F 1/3234 (2019.01); G06F 13/28 (2006.01); H03M 7/46 (2006.01); H04L 45/50 (2022.01)
CPC H03M 7/3059 (2013.01) [G06F 1/324 (2013.01); G06F 1/3275 (2013.01); G06F 3/0604 (2013.01); G06F 3/067 (2013.01); G06F 3/0631 (2013.01); G06F 9/30087 (2013.01); G06F 9/3836 (2013.01); G06F 9/3887 (2013.01); G06F 9/46 (2013.01); G06F 9/4881 (2013.01); G06F 12/0207 (2013.01); G06F 12/0238 (2013.01); G06F 12/08 (2013.01); G06F 12/0862 (2013.01); G06F 12/10 (2013.01); G06F 13/1673 (2013.01); G06F 13/1689 (2013.01); G06F 13/28 (2013.01); G06F 15/8007 (2013.01); G06F 17/15 (2013.01); G06N 3/04 (2013.01); G06N 3/045 (2023.01); G06N 3/049 (2013.01); G06N 3/06 (2013.01); G06N 3/063 (2013.01); G06N 3/065 (2023.01); G06N 3/08 (2013.01); G06N 3/10 (2013.01); H03M 7/6005 (2013.01); H03M 7/6011 (2013.01); H03M 7/70 (2013.01); H04L 45/04 (2013.01); H04L 67/02 (2013.01); H04L 67/1001 (2022.05); G06F 2209/484 (2013.01); G06F 2209/485 (2013.01); G06F 2212/657 (2013.01); H03M 7/46 (2013.01); H04L 45/50 (2013.01); Y02D 10/00 (2018.01)] 19 Claims
OG exemplary drawing
 
1. A system for enhanced data processing in a neural network environment, the system comprising:
at least one processor;
at least one memory component; and
at least one memory in communication with the at least one processor, the at least one memory having computer-readable instructions stored thereupon that, when executed by the at least one processor, cause the at least one processor to:
receive one or more initialization parameters from a cooperating controller component of the neural network environment, the initialization parameters comprising data representative of the dimensions of the data to be processed by the neural network environment and data representative of one or more vector quantization index values, the one or more index values representative of one or more vectors stored on the at least one memory component, the one or more vectors comprising data representative of one or more contiguous segments of one or more neuron weight values, wherein a vector length of the one or more vectors is selectable for each neuron layer of the neural network environment;
retrieve from the at least one memory component the one or more vectors representative of one or more neuron weight values utilizing the one or more vector quantization index values;
dequantize the retrieved one or more vectors to retrieve underlying one or more neuron weight values; and
communicate the one or more neuron weight values for processing by the at least one processor of the neural network environment.