US11562200B2ActiveUtilityA1

Deep learning inference efficiency technology with early exit and speculative execution

65
Assignee: INTEL CORPPriority: Feb 4, 2019Filed: Feb 4, 2019Granted: Jan 24, 2023
Est. expiryFeb 4, 2039(~12.6 yrs left)· nominal 20-yr term from priority
G06N 3/04G06F 30/33G06V 10/82G06N 3/0499G06V 10/955G06N 3/063G06V 10/454G06F 18/2413
65
PatentIndex Score
1
Cited by
7
References
24
Claims

Abstract

Systems, apparatuses and methods may provide for technology that processes an inference workload in a first subset of layers of a neural network that prevents or inhibits data dependent branch operations, conducts an exit determination as to whether an output of the first subset of layers satisfies one or more exit criteria, and selectively bypasses processing of the output in a second subset of layers of the neural network based on the exit determination. The technology may also speculatively initiate the processing of the output in the second subset of layers while the exit determination is pending. Additionally, when the inference workloads include a plurality of batches, the technology may mask one or more of the plurality of batches from processing in the second subset of layers.

Claims

exact text as granted — not AI-modified
We claim: 
     
       1. A semiconductor apparatus comprising:
 one or more substrates; and 
 logic coupled to the one or more substrates, wherein the logic is implemented at least partly in one or more of configurable logic or fixed-functionality hardware logic, the logic coupled to the one or more substrates to: 
 execute a first subset of layers of a neural network on a common execution unit, wherein the neural network prevents data dependent branch operations; 
 process an inference workload in the first subset of layers; 
 conduct an exit determination as to whether an output of the first subset of layers satisfies one or more exit criteria; 
 initiate an operation to process the output in a second subset of layers of the neural network while the exit determination is pending; 
 clear a loop iteration counter associated with the second subset of layers if the output satisfies the one or more exit criteria; and 
 set the loop iteration counter if the output does not satisfy the one or more exit criteria. 
 
     
     
       2. The semiconductor apparatus of  claim 1 , wherein the operation is a speculative operation. 
     
     
       3. The semiconductor apparatus of  claim 1 , wherein the inference workload is to include a plurality of batches and the logic coupled to the one or more substrates is to mask one or more of the plurality of batches from processing in the second subset of layers. 
     
     
       4. The semiconductor apparatus of  claim 1 , wherein the one or more exit criteria is to include a ratio of data is relatively far away from a decision boundary to data that is relatively close to the decision boundary. 
     
     
       5. A computing system comprising:
 a network controller to obtain an inference workload; and 
 a processor including one or more substrates and logic coupled to the one or more substrates, wherein the logic is implemented at least partly in one or more of configurable logic or fixed-functionality hardware logic, the logic coupled to the one or more substrates to:
 process the inference workload in a first subset of layers of a neural network that prevents data dependent branch operations, 
 conduct an exit determination as to whether an output of the first subset of layers satisfies one or more exit criteria, 
 initiate an operation to process the output in a second subset of layers of the neural network while the exit determination is pending, and 
 selectively bypass processing of the output in the second subset of layers of the neural network based on the exit determination. 
 
 
     
     
       6. The computing system of  claim 5 , wherein the logic coupled to the one or more substrates is to clear a loop iteration counter associated with the second subset of layers if the output satisfies the one or more exit criteria. 
     
     
       7. The computing system of  claim 6 , wherein the logic coupled to the one or more substrates is to set the loop iteration counter if the output does not satisfy the one or more exit criteria. 
     
     
       8. The computing system of  claim 5 , wherein the operation is a speculative operation. 
     
     
       9. The computing system of  claim 5 , wherein the inference workload is to include a plurality of batches and the logic coupled to the one or more substrates is to mask one or more of the plurality of batches from processing in the second subset of layers. 
     
     
       10. A semiconductor apparatus comprising:
 one or more substrates; and 
 logic coupled to the one or more substrates, wherein the logic is implemented at least partly in one or more of configurable logic or fixed-functionality hardware logic, the logic coupled to the one or more substrates to: 
 process an inference workload in a first subset of layers of a neural network that prevents data dependent branch operations; 
 conduct an exit determination as to whether an output of the first subset of layers satisfies one or more exit criteria; 
 initiate an operation to process the output in a second subset of layers of the neural network while the exit determination is pending; and 
 selectively bypass processing of the output in a second subset of layers of the neural network based on the exit determination. 
 
     
     
       11. The semiconductor apparatus of  claim 10 , wherein the logic coupled to the one or more substrates is to clear a loop iteration counter associated with the second subset of layers if the output satisfies the one or more exit criteria. 
     
     
       12. The semiconductor apparatus of  claim 11 , wherein the logic coupled to the one or more substrates is to set the loop iteration counter if the output does not satisfy the one or more exit criteria. 
     
     
       13. The semiconductor apparatus of  claim 10 , wherein the operation is a speculative operation. 
     
     
       14. The semiconductor apparatus of  claim 10 , wherein the inference workload is to include a plurality of batches and the logic coupled to the one or more substrates is to mask one or more of the plurality of batches from processing in the second subset of layers. 
     
     
       15. The semiconductor apparatus of  claim 10 , wherein the one or more exit criteria is to include a ratio of data is relatively far away from a decision boundary to data that is relatively close to the decision boundary. 
     
     
       16. The semiconductor apparatus of  claim 10 , wherein the logic coupled to the one or more substrates is to execute the first subset of layers on a common execution unit. 
     
     
       17. The semiconductor apparatus of  claim 10 , wherein the logic coupled to the one or more substrates includes transistor channel regions that are positioned within the one or more substrates. 
     
     
       18. A method comprising:
 processing an inference workload in a first subset of layers of a neural network that prevents data dependent branch operations; 
 conducting an exit determination as to whether an output of the first subset of layers satisfies one or more exit criteria; 
 initiating an operation to process the output in a second subset of layers of the neural network while the exit determination is pending; and 
 selectively bypassing processing of the output in a second subset of layers of the neural network based on the exit determination. 
 
     
     
       19. The method of  claim 18 , wherein selectively bypassing the processing of the output in the second subset of layers includes clearing a loop iteration counter associated with the second subset of layers if the output satisfies the one or more exit criteria. 
     
     
       20. The method of  claim 18 , wherein selectively bypassing the processing of the output in the second subset of layers includes setting the loop iteration counter if the output does not satisfy the one or more exit criteria. 
     
     
       21. The method of  claim 18 , wherein the operation is a speculative operation. 
     
     
       22. The method of  claim 18 , wherein the inference workload includes a plurality of batches and the method further comprises selectively bypassing processing of the output in the second subset of layers includes masking one or more of the plurality of batches from processing in the second subset of layers. 
     
     
       23. The method of  claim 18 , wherein the one or more exit criteria includes a ratio of data that is relatively far away from a decision boundary to data that is relatively close to the decision boundary. 
     
     
       24. The method of  claim 18 , further including executing the first subset of layers on a common execution unit.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.