Dynamic adaptation of deep neural networks
US-2020134461-A1 · Apr 30, 2020 · US
US11249811B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11249811-B2 |
| Application number | US-201916382327-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 12, 2019 |
| Priority date | Apr 20, 2018 |
| Publication date | Feb 15, 2022 |
| Grant date | Feb 15, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Implementations of the present disclosure relate to a method, apparatus and computer program product for processing a computing task. The method comprises: obtaining status information of multiple computing resources; in response to receiving a neural network model-based computing task, determining configuration information of multiple layers associated with the neural network model; obtaining parameter data associated with at least one part of the multiple layers on the basis of the configuration information; and based on the status information and the parameter data, selecting from the multiple computing resources a group of computing resources for processing the computing task. According to the example implementations of the present disclosure, multiple computing resources may be utilized sufficiently, and it may be guaranteed that a load balance may be stricken between the multiple computing resources.
Opening claim text (preview).
What is claimed is: 1. A method for processing a computing task, comprising: obtaining status information of multiple computing resources; in response to receiving a neural network model-based computing task, determining configuration information of multiple layers associated with the neural network model; obtaining parameter data associated with one or more layers of the multiple layers on the basis of the configuration information; based on the status information and the parameter data, selecting from the multiple computing resources a group of computing resources for processing the computing task . and processing the computing task in accordance with the selected group of computing resources; wherein obtaining status information of the multiple computing resources further comprises, for a given computing resource among the multiple computing resources: determining an importance of a corresponding indicator among multiple indicators of resource information for the given computing resource on the basis of the computing task; and obtaining status information of the given computing resource on the basis of the corresponding indicator and the importance of the corresponding indicator; and wherein selecting a group of computing resources on the basis of the status information comprises, for a first layer among the one or more layers of the multiple layers: determining a first size of parameters associated with the first layer on the basis of the parameter data; and based on the status information, selecting a first computing resource matching the first size from the multiple computing resources to process the parameters associated with the first layer. 2. The method of claim 1 , wherein selecting a group of computing resources on the basis of the status information comprises: determining corresponding sizes of parameters associated with the one or more layers of the multiple layers on the basis of the parameter data; ranking the one or more layers of the multiple layers on the basis of the corresponding sizes; and selecting the first layer on the basis of the rankings. 3. The method of claim 1 , further comprising: determining a first resource allocation required for processing the parameters associated with the first layer; and updating the status information on the basis of the first resource allocation. 4. The method of claim 3 , further comprising: for a second layer among the one or more layers of the multiple layers, determining a second size of parameters associated with the second layer on the basis of the parameter data; and based on the updated status information, selecting a second computing resource matching the second size from the multiple computing resources to process the parameters associated with the second layer. 5. The method of claim 4 , further comprising: determining a number of computing resources required for processing the one or more layers of the multiple layers; and in response to determining that the selected group of computing resources reach the number, selecting a computing resource from the selected group of computing resources to process parameters associated with a third layer among the one or more layers of the multiple layers. 6. The method of claim 1 , wherein obtaining status information of the multiple computing resources further comprises: monitoring resource information of the multiple computing resources; and obtaining the status information of the multiple computing resources on the basis of the resource information. 7. The method of claim 6 , wherein the resource information of the multiple computing resources comprises at least any one of the following indicators: processing capacity information, memory resource information and bandwidth resource information of the multiple computing resources. 8. The method of claim 1 , wherein the multiple computing resources are multiple graphics processing units. 9. An apparatus for processing a computing task, comprising: at least one processor; and a memory coupled to the at least one processor and having instructions stored thereon, the instructions, responsive to execution thereof by the at least one processor, causing the apparatus to perform acts comprising: obtaining status information of multiple computing resources; in response to receiving a neural network model-based computing task, determining configuration information of multiple layers associated with the neural network model; obtaining parameter data associated with one or more layers of the multiple layers on the basis of the configuration information; based on the status information and the parameter data, selecting from the multiple computing resources a group of computing resources for processing the computing task; and processing the computing task in accordance with the selected group of computing resources; wherein obtaining status information of the multiple computing resources further comprises, for a given computing resource among the multiple computing resources: determining an importance of a corresponding indicator among multiple indicators of resource information for the given computing resource on the basis of the computing task; and obtaining status information of the given computing resource on the basis of the corresponding indicator and the importance of the corresponding indicator; and wherein selecting a group of computing resources on the basis of the status information comprises, for a first layer among the one or more layers of the multiple layers: determining a first size of parameters associated with the first layer on the basis of the parameter data; and based on the status information, selecting a first computing resource matching the first size from the multiple computing resources to process the parameters associated with the first layer. 10. The apparatus of claim 9 , wherein selecting a group of computing resources on the basis of the status information comprises: determining corresponding sizes of parameters associated with the one or more layers of the multiple layers on the basis of the parameter data; ranking the one or more layers of the multiple layers on the basis of the corresponding sizes; and selecting the first layer on the basis of the rankings. 11. The apparatus of claim 9 , wherein the acts further comprise: determining a first resource allocation required for processing the parameters associated with the first layer; and updating the status information on the basis of the first resource allocation. 12. The apparatus of claim 11 , wherein the acts further comprise: for a second layer among the one or more layers of the multiple layers, determining a second size of parameters associated with the second layer on the basis of the parameter data; and based on the updated status information, selecting a second computing resource matching the second size from the multiple computing resources to process the parameters associated with the second layer. 13. The apparatus of claim 12 , wherein the acts further comprise: determining a number of computing resources required for processing the one or more layers of the multiple layers; and in response to determining that the selected group of computing resources reach the number, selecting a computing resource from the selected group of computing resources to process parameters associated with a third layer among the one or more layers of the multiple layers. 14. The apparatus of claim 9 , wherein obtaining status information of the multiple computing resources further comprises: monitoring resource information of the multiple computing
Learning methods · CPC title
Neural networks · CPC title
Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title
to service a request · CPC title
using a secondary processor, e.g. coprocessor (peripheral processor G06F13/12) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.