Back to results
US 2018/0121796 A1Published application
Flexible neural network accelerator and methods therefor
AssigneeIntel Corporation
InventorsMichael E DEISHER, Ohad FALIK
Life of this patent
Estimating the term…
Abstract
Systems, apparatus and methods are described including operations for a flexible neural network accelerator.
Claims50
A neural network accelerator, comprising:
- a plurality of fixed function hardware logic blocks that are logically parallel so that multiple ones of the logic blocks have substantially the same arrangement of logic elements to compute a value associated with a layer of a neural network;
- wherein the logic elements of multiple logic blocks of the plurality of logic blocks are to provide the option to alternatively use weights of at least two different bit lengths comprising weights of a first bit length as inputted to the logic block and weights of a second bit length as inputted to the logic block, and to apply a scale factor to weights provided in at least the first bit length, and to omit the scale factor when weights are provided in at least the second bit length.
A computer-implemented system, comprising:
- at least one internal buffer to hold layer data associated with at least one layer to be processed;
- and
- a plurality of fixed function logic blocks that are logically parallel so that multiple ones of the logic blocks have substantially the same arrangement of logic elements to compute a value associated with the layer of the neural network and by receiving the layer data of the at least one internal buffer, wherein the internal buffer is disposed locally to the fixed function logic blocks;
- wherein the logic elements of multiple logic blocks of the plurality of logic blocks are to provide the option to alternatively use weights of at least two different bit lengths comprising weights of a first bit length as inputted to the logic block and weights of a second bit length as inputted to the logic block, and to apply a scale factor to weights provided in at least the first bit length, and to omit the scale factor when weights are provided in at least the second bit length.
1 more element
A computer implemented method of neural network propagation, comprising:
- computing a value of a layer of a neural network by using a plurality of fixed function hardware logic blocks that are substantially logically parallel so that multiple ones of the logic blocks have substantially the same arrangement of logic elements;
- inputting a weight having a bit length from at least two alternative bit lengths available to input weights to the plurality of logic blocks wherein the available bit lengths comprise at least a first bit length and a second bit length;
- and
- applying a scale factor to weights provided in at least the first bit length, and to omit the scale factor when weights are provided in at least the second bit length.
1 more element
A computer-implemented method of neural network propagation, comprising:
- receiving layer descriptors for individual primitive layers of a neural network, the individual layer descriptors indicating:
- a primitive layer type of the primitive layer and from a set of pre-determined primitive layer types that are available in a neural network, and
- a selected weight bit length to be used with the primitive layer and from a predetermined set of a plurality of available weight bit lengths for a layer in the neural network;
- receiving weight values for individual layers depending, at least in part, on the primitive layer type and with bit lengths depending on the selected weight bit length;
- inputting the weight values to fixed function hardware to perform a neural network computation that alternatively performs the computation with weights having one of the available bit lengths;
- and
- determining one or more outputs for the individual primitive layers depending, at least in part, on the primitive layer type.
4 more elements
A computer implemented system of neural network propagation comprising:
- fixed function hardware with logic elements to perform neural network computations;
- a sequencer state machine to direct layer data to and from the fixed function hardware, and operated by:
- receiving data of layer descriptors for individual primitive layers of a neural network, the individual layer descriptors indicating:
- a primitive layer type of the corresponding layer and from a set of pre-determined primitive layer types that are available in the neural network, and
- a selected weight bit length to be used with the corresponding layer and from a predetermined set of available weight bit lengths for a layer in the neural network;
- directing the placement of weight values for individual layers and into an internal buffer depending, at least in part, on the primitive layer type and with bit lengths depending on the selected weight bit length;
- input the weight values to the neural network circuit to perform a neural network computation that alternatively performs the computation with weights having one of the available bit lengths;
- and
- determine one or more outputs for the individual layers depending, at least in part, on the primitive layer type.
6 more elements
Dependencies are inferred from the claim text.