IP Library Granted Patent US 11,205,115
Granted Patent B1
US 11,205,115 · App. 16/212,622 · Granted Dec 21, 2021

Neural network inference circuit

Inventors: Kenneth Duong (San Jose, CA); Jung Ko (San Jose, CA); Steven L. Teig (Menlo Park, CA)
Assignee: PERCEIVE CORPORATION
G06N3/0481G06F1/03G06F7/5443G06F17/16G06N3/063G06N3/084G06N5/046G06N20/00
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,205,115
App. No.
16/212,622
Granted
Dec 21, 2021
Kind
B1
Abstract

Some embodiments provide a neural network inference circuit (NNIC) for implementing a neural network that includes multiple computation nodes at multiple layers. Each of a set of the computation nodes includes a dot product of input values and weight values. The NNIC includes multiple dot product core circuits for computing multiple partial dot products and a set of channel circuits connecting the core circuits. The set of channel circuits includes (i) a dot product bus for aggregating the partial dot products to compute dot products for computation nodes of the neural network, (ii) one or more post-processing circuits for performing additional computation operations on the dot products to compute outputs for the computation nodes, and (iii) an output bus for providing the computed outputs of the computation nodes to the core circuits for the core circuits to use as inputs for subsequent computation nodes.

Claims (35)

1. A neural network inference circuit for implementing a neural network that comprises a plurality of computation nodes at a plurality of layers, each of a set of the computation nodes comprising a dot product of input values and weight values, the IC comprising:

a plurality of dot product core circuits for computing a plurality of partial dot products;

a set of channel circuits connecting the dot product core circuits, the set of channel circuits comprising:

a dot product bus for aggregating the partial dot products computed by the dot product core circuits to compute dot products for computation nodes of the neural network;

one or more post-processing circuits for performing additional computation operations on the dot products computed by the dot product bus to compute outputs for the computation nodes; and

an output bus for providing the computed outputs of the computation nodes to the dot product core circuits for the dot product core circuits to use as inputs for subsequent computation nodes.

2. The neural network inference circuit of claim 1 , wherein each of the dot product core circuits comprises:

an input value buffer for holding a plurality of input values;

a plurality of weight value buffers for holding sets of weight values; and

a plurality of partial dot product computation circuits, each partial dot product computation circuit for computing a dot product of a set of the plurality of input values and a different set of weight values.

3. The neural network inference circuit of claim 2 , wherein each dot product core circuit comprises a same number of weight value buffers and partial dot product computation circuits.

4. The neural network inference circuit of claim 2 , wherein:

the input value buffer holds a first number of input values and each of the weight value buffers holds a second number of weight values that is smaller than the first number; and

each partial dot product computation circuit comprises a set of the second number of multiplexers that each receive multiple input values from the input value buffer and select one of the received input values.

5. The neural network inference circuit of claim 1 , wherein the dot product bus comprises a plurality of independent aggregation circuits for receiving partial dot products from the plurality of dot product core circuits.

6. The neural network inference circuit of claim 5 , wherein each of the dot product core circuits comprises a same number of adder trees for computing partial dot products as a number of independent aggregation circuits.

7. The neural network inference circuit of claim 6 , wherein each independent aggregation circuit receives partial dot products from corresponding adder trees in each of the dot product core circuits.

8. The neural network inference circuit of claim 5 , wherein the set of channel circuits comprises a plurality of segments, wherein each of the segments comprises:

a segment of each of the independent aggregation circuits, wherein the segments of each particular aggregation circuit are connected to each other;

a separate post-processing unit corresponding to each of the independent aggregation circuits, wherein each independent aggregation circuit connects to a different corresponding post-processing unit in each of the segments; and

a segment of the output bus.

9. The neural network inference circuit of claim 8 , wherein each of the segments of the set of channel circuits corresponds to one of a plurality of clusters of the dot product core circuits.

10. The neural network inference circuit of claim 9 , wherein the segment of a particular aggregation circuit for a particular segment of the set of channel circuits aggregates the partial dot products computed by the dot product core circuits of the cluster corresponding to the particular segment.

11. The neural network inference circuit of claim 10 , wherein the segment of the particular aggregation circuit for the particular segment of the set of channel circuits is configurable to (i) provide the aggregated partial dot products to other segments of the particular aggregation circuit or (ii) aggregate the aggregated partial dot product with aggregated partial dot products from other segments of the particular aggregation circuit.

12. The neural network inference circuit of claim 8 , wherein at least a subset of the independent aggregation circuits connect to one or more of the post-processing circuits of the segment that correspond to other independent aggregation circuits.

13. The neural network inference circuit of claim 8 , wherein each post-processing unit of the segment is connected to two of the independent aggregation circuits, one of which is the aggregation circuit corresponding to the post-processing unit.

14. The neural network inference circuit of claim 1 , wherein each of the post-processing circuits comprises:

an adder circuit for adding a bias factor to dot products computed by the dot product bus; and

a multiplier circuit for multiplying an output of the adder circuit by a scaling factor.

15. The neural network inference circuit of claim 14 , wherein each of the post-processing circuits further comprises a truncator circuit for truncating an output of the multiplier circuit if the output of the multiplier circuit is outside of a range of values.

16. The neural network inference circuit of claim 14 , wherein each of the post-processing circuits further comprises a lookup table for applying a non-linear activation function to an output of the multiplier circuit.

17. The neural network inference circuit of claim 16 , wherein each computation node of the set of computation node comprises (i) a linear function that comprises the dot product of input values and weight values and (ii) the non-linear activation function applied to an output of the linear function.

18. The neural network inference circuit of claim 17 , wherein the linear function of each computation node of the set of computation node further comprises bias and scale operations applied to the dot product.

19. The neural network inference circuit of claim 1 , wherein the weight values are preconfigured machine-trained parameters.

20. The neural network inference circuit of claim 1 further comprising a set of control circuits for providing configuration data to the dot product core circuits and the set of channel circuits.

Assignments (3)
BILL OF SALE Recorded Oct 31, 2024
From: AMAZON.COM SERVICES LLC
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 069288/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2024
From: PERCEIVE CORPORATION
To: AMAZON.COM SERVICES LLC
Reel/Frame 069288/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2019
From: DUONG, KENNETH; KO, JUNG; TEIG, STEVEN L.
To: PERCEIVE CORPORATION
Reel/Frame 048107/0032 →
Continuity (6)
Provisional Application 62773162 · Nov 29, 2018
Provisional Application 62773164 · Nov 29, 2018
Provisional Application 62753878 · Oct 31, 2018
Provisional Application 62742802 · Oct 8, 2018
Provisional Application 62724589 · Aug 29, 2018
Provisional Application 62660914 · Apr 20, 2018
Cited By (3)
US 12,190,230 US 12,579,416 US 12,639,557