US11610117B2ActiveUtilityA1

System and method for adapting a neural network model on a hardware platform

78
Assignee: TESLA INCPriority: Dec 27, 2018Filed: Dec 27, 2019Granted: Mar 21, 2023
Est. expiryDec 27, 2038(~12.5 yrs left)· nominal 20-yr term from priority
G06N 3/0464G06N 3/08G06F 18/217G06F 17/16G06N 3/082G06F 18/29G06N 3/063G06K 9/6262G06K 9/6296
78
PatentIndex Score
2
Cited by
854
References
19
Claims

Abstract

Systems and methods for adapting a neural network model on a hardware platform. An example method includes obtaining neural network model information comprising decision points associated with a neural network, with one or more first decision points being associated with a layout of the neural network. Platform information associated with a hardware platform for which the neural network model information is to be adapted is accessed. Constraints associated with adapting the neural network model information to the hardware platform are determined based on the platform information, with a first constraint being associated with a processing resource of the hardware platform and with a second constraint being associated with a performance metric. A candidate configuration for the neural network is generated via execution of a satisfiability solver based on the constraints, with the candidate configuration assigns values to the plurality of decision points.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method implemented by a system of one or more processors, the method comprising:
 obtaining neural network model information comprising a plurality of decision points associated with a neural network, wherein one or more first decision points are associated with a layout of the neural network; 
 accessing platform information associated with a hardware platform for which the neural network model information is to be adapted; 
 determining, based on the platform information, constraints associated with adapting the neural network model information to the hardware platform, wherein a first constraint is associated with a processing resource of the hardware platform and wherein a second constraint is associated with a performance metric; and 
 generating a candidate configuration for the neural network via execution of a satisfiability solver based on the constraints, wherein the candidate configuration assigns values to the plurality of decision points, 
 wherein the determined constraints are updated to include the candidate configuration as a negation, and wherein one or more other candidate configurations are generated based on the updated constraints. 
 
     
     
       2. The method of  claim 1 , wherein one of the first decision points is associated with a tensor size, and wherein the candidate configuration selects a value of the tensor size based on the determined constraints, such that the tensor size is configured to fit in memory of the hardware platform. 
     
     
       3. The method of  claim 1 , wherein one or more other decision points are associated with one or more of numerical precision, algorithm selection, data padding, accelerator use, or stride. 
     
     
       4. The method of  claim 1 , wherein the neural network model information is associated with a directed graph, and wherein determining the decision points comprises:
 traversing the directed graph, wherein decision points are identified for each node and edge of the directed graph. 
 
     
     
       5. The method of  claim 1 , wherein a performance metric comprises one or more of evaluation time, power consumption, or memory consumption. 
     
     
       6. The method of  claim 1 , wherein a third constraint is associated with adapting the neural network to a software platform, and wherein the third constraint relates to an operating system executing on the hardware platform. 
     
     
       7. The method of  claim 1 , further comprising:
 selecting an output candidate configuration based on analyzing the candidate configuration and the one or more other candidate configurations, 
 wherein input data is provided to the candidate configuration and the one or more other candidate configurations, and wherein the output candidate configuration is selected based on performance metrics associated with the candidate configuration and the one or more other candidate configurations. 
 
     
     
       8. The method of  claim 1 , further comprising:
 successively generating a plurality of candidate configurations, wherein each of the plurality of candidate configurations assigns different values to the decision points; and 
 halting generation of successive candidate configuration, wherein halting is based on a threshold number of candidate configurations being generated, the satisfiability solver indicates unsatisfiability, or a performance metric is below a threshold. 
 
     
     
       9. The method of  claim 1 , further comprising generating an interactive user interface, wherein the interactive user interface:
 presents a dashboard presenting the candidate configuration; and 
 responds to user input associated with updating the determined constraints, wherein the satisfiability solver is triggered to determine an updated candidate configuration based on the user input. 
 
     
     
       10. The method of  claim 1 , wherein the satisfiability solver is a satisfiability modulo theories solver. 
     
     
       11. A system comprising one or more processors and non-transitory computer storage media storing instructions that when executed by the one or more processors, cause the one or more processors to perform operations comprising:
 obtaining neural network model information comprising a plurality of decision points associated with a neural network, wherein one or more first decision points are associated with a layout of the neural network; 
 accessing platform information associated with a hardware platform for which the neural network model information is to be adapted; 
 determining, based on the platform information, constraints associated with adapting the neural network model information to the hardware platform, wherein a first constraint is associated with a processing resource of the hardware platform and wherein a second constraint is associated with a performance metric; and 
 generating a candidate configuration for the neural network via execution of a satisfiability solver based on the constraints, wherein the candidate configuration assigns values to the plurality of decision points, 
 wherein the determined constraints are updated to include the candidate configuration as a negation, and wherein one or more other candidate configurations are generated based on the updated constraints. 
 
     
     
       12. The system of  claim 11 , wherein one of the first decision points is associated with a tensor size, and wherein the candidate configuration selects a value of the tensor size based on the determined constraints, such that the tensor size is configured to fit in memory of the hardware platform. 
     
     
       13. The system of  claim 11 , wherein the neural network model information is associated with a directed graph, and wherein determining the decision points comprises:
 traversing the directed graph, wherein decision points are identified for each node and edge of the directed graph. 
 
     
     
       14. The system of  claim 11 , wherein a performance metric comprises one or more of evaluation time, power consumption, or memory consumption. 
     
     
       15. The system of  claim 11 , wherein the operations further comprise:
 selecting an output candidate configuration based on analyzing the candidate configuration and the one or more other candidate configurations, 
 wherein input data is provided to the candidate configuration and the one or more other candidate configurations, and wherein the output candidate configuration is selected based on performance metrics associated with the candidate configuration and the one or more other candidate configurations. 
 
     
     
       16. The system of  claim 11 , wherein the operations further comprise generating an interactive user interface, wherein the interactive user interface:
 presents a dashboard presenting the candidate configuration; and 
 responds to user input associated with updating the determined constraints, wherein the satisfiability solver is triggered to determine an updated candidate configuration based on the user input. 
 
     
     
       17. Non-transitory computer storage media storing instructions that when executed by a system of one or more processors, cause the one or more processors to perform operations comprising:
 obtaining neural network model information comprising a plurality of decision points associated with a neural network, wherein one or more first decision points are associated with a layout of the neural network; 
 accessing platform information associated with a hardware platform for which the neural network model information is to be adapted; 
 determining, based on the platform information, constraints associated with adapting the neural network model information to the hardware platform, wherein a first constraint is associated with a processing resource of the hardware platform and wherein a second constraint is associated with a performance metric; and 
 generating a candidate configuration for the neural network via execution of a satisfiability solver based on the constraints, wherein the candidate configuration assigns values to the plurality of decision points, 
 wherein the determined constraints are updated to include the candidate configuration as a negation, and wherein one or more other candidate configurations are generated based on the updated constraints. 
 
     
     
       18. The non-transitory computer storage media of  claim 17 , wherein one of the first decision points is associated with a tensor size, and wherein the candidate configuration selects a value of the tensor size based on the determined constraints, such that the tensor size is configured to fit in memory of the hardware platform. 
     
     
       19. The non-transitory computer storage media of  claim 17 , wherein the operations further comprise generating an interactive user interface, wherein the interactive user interface:
 presents a dashboard presenting the candidate configuration; and 
 responds to user input associated with updating the determined constraints, wherein the satisfiability solver is triggered to determine an updated candidate configuration based on the user input.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.