Method and device for adjusting scheduling parameter, and storage medium

By decoupling the scheduling design process between the master device and the target device, using operator scheduling templates and scheduling parameter search algorithms to generate scheduling parameters, the scheduling design of deep learning models is automatically implemented, solving the problem of low efficiency of manual scheduling in existing technologies and improving the efficiency and applicability of scheduling design.

CN114064242BActive Publication Date: 2025-10-21ZTE CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111354335.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-12
Publication Date
2025-10-21
Estimated Expiration
2041-11-12

AI Technical Summary

Technical Problem

In existing technologies, scheduling optimization of deep learning model inference mainly relies on manual completion, which cannot achieve optimal scheduling, is inefficient, and cannot quickly and efficiently call resources reasonably.

Method used

By decoupling the scheduling design process between the master device and the target device, using operator scheduling templates and scheduling parameter search algorithms to generate scheduling parameters, and iteratively optimizing through performance data, we can ultimately achieve automated scheduling design, reduce manual participation, and improve design efficiency.

Benefits of technology

It realizes the automatic and rapid acquisition of optimal scheduling parameters in various application scenarios, overcomes manual dependence, is applicable to any remote device, and improves the applicability and practicality of scheduling design, especially for devices with poor computing performance such as user terminals and edge devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114064242B_ABST
    Figure CN114064242B_ABST
Patent Text Reader

Abstract

Embodiments of the present application relate to the field of computer technology, and propose a scheduling parameter adjustment method, device and storage medium. The scheduling parameter adjustment method is applied to a master device, and includes: searching for an operator scheduling template matched with a target device; generating a scheduling parameter according to the matched operator scheduling template and a scheduling parameter search algorithm, and sending the scheduling parameter to the target device for the target device to run a scheduling process corresponding to an operator according to the scheduling parameter; receiving performance data of executing the scheduling process fed back by the target device, and adjusting the scheduling parameter according to the performance data and sending the scheduling parameter to the target device. In various application scenarios, the dependence on manual work can be overcome, the scheduling design of the operator scheduling process of any target device can be automatically performed, the optimal scheduling parameter can be obtained, and the method is more efficient and fast.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computer technology, and in particular to a method, device, and storage medium for adjusting scheduling parameters. Background Art

[0002] With the tremendous success of deep learning technology in recent years in fields such as computer vision, speech recognition, and natural language processing, the industry has also begun to gradually deploy services related to deep learning model inference on various types of hardware, such as central processing units (CPUs), graphics processing units (GPUs), and smart chips. Among them, only when the hardware's computing and storage resources are reasonably and fully scheduled can the performance indicators of deep learning models, such as inference latency and throughput, be better improved.

[0003] However, the scheduling optimization of deep learning model inference is currently mainly done manually, which usually fails to achieve optimal scheduling, is very inefficient, and cannot quickly and efficiently call resources reasonably. Summary of the Invention

[0004] The main purpose of the embodiments of this application is to propose a scheduling parameter adjustment method, device and storage medium, aiming to overcome the dependence on manual labor in various application scenarios, automatically schedule and design the operator scheduling process of any target device, obtain the optimal scheduling parameters, and be more efficient and fast.

[0005] To at least achieve the above-mentioned purpose, an embodiment of the present application provides a method for adjusting scheduling parameters, which is applied to a master control device, including: searching for an operator scheduling template that matches a target device; generating scheduling parameters based on the matching operator scheduling template and a scheduling parameter search algorithm, and sending the scheduling parameters to the target device so that the target device runs the scheduling process corresponding to the operator according to the scheduling parameters; receiving performance data of the execution of the scheduling process fed back by the target device, adjusting the scheduling parameters based on the performance data and sending them to the target device.

[0006] In order to at least achieve the above-mentioned purpose, an embodiment of the present application also proposes a method for adjusting scheduling parameters, which is applied to a target device, including: receiving scheduling parameters sent by a master control device; wherein the scheduling parameters are generated based on an operator scheduling template and a scheduling parameter search algorithm that matches the target device; running a scheduling process corresponding to the operator according to the scheduling parameters; and feeding back performance data of executing the scheduling process to the master control device, so that the master control device can adjust the scheduling parameters based on the performance data and send them to the target device.

[0007] In order to at least achieve the above-mentioned purpose, an embodiment of the present application also proposes a main control device, including: a search module, used to search for an operator scheduling template that matches the target device; a scheduling parameter generation module, used to generate scheduling parameters based on the matching operator scheduling template and the scheduling parameter search algorithm, and send the scheduling parameters to the target device, so that the target device can run the scheduling process corresponding to the operator according to the scheduling parameters; an iteration module, used to receive performance data of the execution of the scheduling process fed back by the target device, adjust the scheduling parameters according to the performance data and send them to the target device.

[0008] In order to at least achieve the above-mentioned purpose, an embodiment of the present application also proposes a target device, including: a receiving module for receiving scheduling parameters sent by a master control device; wherein the scheduling parameters are generated according to an operator scheduling template and a scheduling parameter search algorithm that matches the target device; an operating module for running a scheduling process corresponding to the operator according to the scheduling parameters; and a feedback module for feeding back performance data of executing the scheduling process to the master control device, so that the master control device can adjust the scheduling parameters according to the performance data and send them to the target device.

[0009] To at least achieve the above-mentioned purpose, an embodiment of the present application also proposes an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the scheduling parameter adjustment method as described in any one of the above items.

[0010] To at least achieve the above-mentioned purpose, an embodiment of the present application further proposes a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the method for adjusting the scheduling parameters as described in any one of the above items.

[0011] The scheduling parameter adjustment method provided in the embodiment of the present application searches for an operator scheduling template that matches the target device, generates scheduling parameters based on the matching operator scheduling template and the scheduling parameter search algorithm, and sends the scheduling parameters to the target device so that the target device can run the scheduling process corresponding to the operator according to the scheduling parameters. Then, the performance data of the execution scheduling process fed back by the target device is received, the scheduling parameters are adjusted based on the performance data and sent to the target device until the performance data converges, that is, the inference scheduling design process is decoupled into three parts: determining the operator scheduling template, determining the scheduling parameters, and running, which can be understood and executed by the machine. In this way, the scheduling design process that was originally implemented manually can be handed over to the machine for completion, overcoming the dependence on manual labor, reducing the workload of manual participation in the scheduling design process, and improving design efficiency. It covers as many actual application scenarios as possible, enhances applicability and practicality, and enables scheduling design to be performed for any remote device in various application scenarios, and efficiently and quickly obtains the optimal scheduling parameters, thereby automatically accelerating the inference speed of any deep learning network model. In addition, the three processes of determining the operator scheduling template, determining the scheduling parameters, and running are handed over to the master device and the target device to complete respectively. Among them, the determination of the scheduling parameters, that is, generating the scheduling parameters according to the matching operator scheduling template and the scheduling parameter search algorithm, is completed on the master device without running on the target device, avoiding the problem of low efficiency or even inability to achieve the target device being a device with poor computing performance, such as a user terminal, edge device CPU, etc. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] One or more embodiments are exemplarily described by the figures in the corresponding drawings, and these exemplified descriptions do not constitute limitations on the embodiments.

[0013] Figure 1 1 is a flow chart of a method for adjusting scheduling parameters of a master control device provided in an embodiment of the present application;

[0014] Figure 2 1 is a flow chart of a method for adjusting scheduling parameters applied to a target device provided in an embodiment of the present application;

[0015] Figure 3 is a structural diagram of a main control device provided in another embodiment of the present application;

[0016] Figure 4 is a schematic structural diagram of a target device provided in another embodiment of the present application;

[0017] Figure 5 It is a structural diagram of an electronic device provided in another embodiment of the present application. DETAILED DESCRIPTION

[0018] The scheduling parameter adjustment method provided in the embodiment of the present application searches for an operator scheduling template that matches the target device, generates scheduling parameters based on the matching operator scheduling template and the scheduling parameter search algorithm, and sends the scheduling parameters to the target device so that the target device can run the scheduling process corresponding to the operator according to the scheduling parameters. Then, the performance data of the execution scheduling process fed back by the target device is received, the scheduling parameters are adjusted based on the performance data and sent to the target device until the performance data converges, that is, the inference scheduling design process is decoupled into three parts: determining the operator scheduling template, determining the scheduling parameters, and running, which can be understood and executed by the machine. In this way, the scheduling design process that was originally implemented manually can be handed over to the machine to complete, overcoming the dependence on manual labor, reducing the workload of manual participation in the scheduling design process, and improving design efficiency. It covers as many actual application scenarios as possible, enhances applicability and practicality, and enables scheduling design to be performed for any remote device in various application scenarios, and efficiently and quickly obtains the optimal scheduling parameters, thereby automatically accelerating the inference speed of any deep learning network model. In addition, the three processes of determining the operator scheduling template, determining the scheduling parameters, and running are handed over to the master device and the target device to complete respectively. Among them, the determination of the scheduling parameters, that is, generating the scheduling parameters according to the matching operator scheduling template and the scheduling parameter search algorithm, is completed on the master device without running on the target device, avoiding the problem of low efficiency or even inability to achieve the target device being a device with poor computing performance, such as a user terminal, edge device CPU, etc.

[0019] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, each embodiment of the present application will be described in detail below with reference to the accompanying drawings. However, it will be understood by those skilled in the art that in each embodiment of the present application, many technical details are proposed to enable the reader to better understand the present application. However, even without these technical details and various changes and modifications based on the following embodiments, the technical solutions claimed in the present application can be implemented. The division of the following embodiments is for convenience of description and should not constitute any limitation on the specific implementation of the present application. The various embodiments can be combined and referenced with each other under the premise of no contradiction.

[0020] The present invention provides a method for adjusting scheduling parameters, which is applied to a main control device, which can be an electronic device such as a computer or a server. Figure 1 As shown, specifically including:

[0021] Step 101: Search for an operator scheduling template that matches the target device.

[0022] In this embodiment, operators refer to various operations in a deep learning model, such as convolution, pooling, concatenation, and upsampling. An operator scheduling template describes the scheduling process of an operator in a specific environment, including at least operator feature information and operator operation information. For example, for a convolution operation, the operator scheduling template may include information such as the convolution kernel and the operating environment, i.e., the hardware on which the operator depends during operation.

[0023] In one example, if an operator scheduling template database is provided on a target device and multiple operator scheduling templates are stored in the operator scheduling template database, searching for an operator scheduling template that matches the target device can be achieved by querying the preset operator scheduling template database for an operator scheduling template that matches the target device based on the target device's hardware information and the correspondence between the preset operator scheduling templates and the hardware information. For example, for an operator with a 3×3 convolution kernel and an ARM processor-dependent hardware runtime, the corresponding operator scheduling template can be queried in the operator scheduling template database using the query conditions "type == conv and kernel_size > 1 and env == arm."

[0024] It should be noted that the operator scheduling templates in the operator scheduling template database need to cover as many application scenarios as possible, that is, include operators with various operator feature information and operator operation information. For example, for the convolution operator, the operator scheduling template database needs to at least define the corresponding operator scheduling templates for various subdivided scenarios in environments such as CPU, ARM processor, GPU, etc. with a convolution kernel length equal to 1 or greater than 1 and an operating environment of x86 or x84.

[0025] It should also be noted that when querying the corresponding operator scheduling template in the operator scheduling template database, if a completely matching operator scheduling template cannot be found, the operator scheduling template with the highest matching degree can be used as the matched operator scheduling template. For example, for a convolution operator with a convolution kernel of 7×7 and a CPU operating environment of x84, if the operator scheduling template database only has operator scheduling templates with a convolution kernel of 1×1 and a convolution kernel of 3×3, and the operating environments are x86 CPU, ARM processor, and GPU respectively, the matched operator scheduling template is the operator scheduling template corresponding to the CPU with a convolution kernel of 3×3 and an x86 operating environment.

[0026] It is understood that deep learning models typically include multiple operators, and scheduling design should actually be the design of the scheduling process for multiple operators. Therefore, in one example, before searching for an operator scheduling template that matches the target device, the scheduling parameter adjustment method further includes: splitting the deep learning model related to the to-be-acquired scheduling parameters into individual operators. Accordingly, searching for an operator scheduling template that matches the target device includes: searching for an operator scheduling template for the split operator that matches the target device.

[0027] In one example, the deep learning model that requires inference acceleration in the target device is a face recognition model trained based on a convolutional neural network (CNN), that is, the deep learning model involved in the scheduling parameters to be obtained is a face recognition model. First, the face recognition model is split to obtain 32 convolution operators with 11×11 convolution kernels, 1 pooling operator, 32 9×9 convolution operators, 16 7×7 convolution operators, 16 5×5 convolution operators, 1 fully connected operator, and 1 loss function operator. Among them, the target device uses the CPU when running the deep learning model. Then, according to the operator feature information and operator operation information of each of the above operators, the corresponding operator scheduling template is searched and matched in the operator scheduling template database.

[0028] It should be noted that this embodiment does not limit the number of operators and operator scheduling templates. The deep learning model involved in the scheduling parameters to be obtained in the target device is composed of a certain number of operators or a certain number of types of operators. It is necessary to search for a corresponding number of operator scheduling templates. For example, if the deep learning model is composed of 78 operations, then the 78 operator scheduling templates corresponding to these 78 operations are searched. Alternatively, if the deep learning model is composed of 98 operations and these 98 operations correspond to 75 types of operators, then the operator scheduling templates corresponding to the 75 types of operators contained in these 98 operations are searched. Operators with different operator feature information can be considered to be different types of operators, such as convolution operators with different convolution kernels can be considered to be different types of operators. Of course, the above is only a specific example. The number of operator scheduling templates and the deep model can also have other relationships, which will not be elaborated here.

[0029] Step 102 : Generate scheduling parameters based on the matched operator scheduling template and the scheduling parameter search algorithm, and send the scheduling parameters to the target device so that the target device can run the scheduling process corresponding to the operator according to the scheduling parameters.

[0030] In this embodiment, the scheduling parameter search algorithm is an algorithm for finding the optimal solution in an optimization problem, such as a simulated annealing algorithm, a gradient descent algorithm, a global traversal algorithm, etc. This embodiment does not limit the scheduling parameter search algorithm.

[0031] In this embodiment, generating scheduling parameters based on the operator scheduling template and the scheduling parameter search algorithm can be achieved in the following manner: generating an operator scheduling parameter set based on the scheduling parameters exposed by the matching operator scheduling template, wherein the scheduling parameters exposed by the operator scheduling template refer to the feasible scheduling parameters in the preset operator scheduling process; the operator scheduling parameter set includes multiple groups of scheduling parameters, and each group of scheduling parameters includes the scheduling parameters required for one scheduling process of the operator; searching for a group of scheduling parameters in the operator scheduling parameter set using the scheduling parameter search algorithm, and using the searched group of scheduling parameters as the generated scheduling parameters.

[0032] In an example, the scheduling parameters of an operator include parameters A and B. During the scheduling process, the feasible value range of parameter A is {a1, a2, ..., an}, and the feasible value range of parameter B is {b1, b2, ..., bm}. Then, the scheduling parameters exposed by the operator scheduling template corresponding to the operator include parameter A including a1, a2, ..., an, and parameter B including b1, b2, ..., bm. The operator scheduling parameter set C, that is, the scheduling parameters are {(a1, b1), (a1, b2), ..., (a1, bm), (a2, b1), ..., (a2, bm), ..., (an, bm)}. Then, based on the scheduling parameter search algorithm, the optimal solution, that is, the optimal combination of parameters A and parameters B, is found in the set C. The optimal solution can be the combination of parameters A and parameters B with the shortest execution time, or the combination of parameters A and parameters B that requires the least system resources, etc.

[0033] Of course, the above description is for the case where the exposed scheduling parameters can determine specific values, that is, they can be exhausted, and is given as an example. In this embodiment, the exposed scheduling parameters can also include continuous scheduling parameters within a certain range, that is, they are not exhaustive. At this time, the operator scheduling parameter set is still generated based on the exposed scheduling parameters, and then the operator scheduling parameter set is searched based on the scheduling parameter search algorithm. I will not go into details here.

[0034] It should be noted that there may be multiple scheduling parameter search algorithms in the target device, and a suitable scheduling parameter search algorithm can be selected according to actual conditions.

[0035] Therefore, in one example, after generating an operator scheduling parameter set and before searching for a set of scheduling parameters in the operator scheduling parameter set using a scheduling parameter search algorithm, the scheduling parameter adjustment method further includes: selecting a scheduling parameter search algorithm from a preset scheduling search algorithm database based on the size of a parameter search space formed based on the operator scheduling parameter set; wherein the parameter search space is obtained based on the operator scheduling parameter set, and the scheduling search algorithm database includes multiple scheduling parameter search algorithms. Accordingly, searching for a set of scheduling parameters in the operator scheduling parameter set using the scheduling parameter search algorithm includes: searching for a set of scheduling parameters in the operator scheduling parameter set using the selected scheduling parameter search algorithm.

[0036] In particular, according to the size of the parameter search space formed based on the operator scheduling parameter set, a scheduling parameter search algorithm is selected from the preset scheduling search algorithm database, which can be achieved in the following ways: estimating the time required for performance data convergence according to the size of the parameter search space; when the time required for performance data convergence is greater than a preset threshold, selecting a scheduling parameter search algorithm that tends to perform global uniform search; when the time required for performance data convergence is less than or equal to a preset threshold, selecting a scheduling parameter search algorithm that searches for a local optimal solution within a specified time.

[0037] In one example, the scheduling parameters for a particular operator are exhaustive—that is, the feasible values ​​for the scheduling parameters can be described by enumeration. In this case, the search space is considered relatively small, and the scheduling parameters generated using the global traversal algorithm can be selected from the preset scheduling search algorithm database. It is worth noting that because the global traversal algorithm compares each feasible solution and then determines the optimal one, it ensures that the scheduling parameters obtained by the global traversal algorithm are the current optimal solution, resulting in extremely high search accuracy.

[0038] In another example, the search space for scheduling parameters of a certain operator is relatively large, and there are pre-defined requirements for the execution time of the scheduling parameter search algorithm. In this case, it is necessary to estimate the convergence time of the scheduling parameter search algorithm. If the estimated convergence time is less than the execution time, scheduling parameter search algorithms with high search accuracy, such as global traversal, can be prioritized in the scheduling search algorithm database. If the estimated convergence time is not less than the execution time, scheduling parameter search algorithms with high search efficiency, such as the steepest descent method, can be prioritized in the scheduling search algorithm database. For example, when the parameter search space size corresponding to a certain operator scheduling template is 100, and the evaluation time for each target device is 5 seconds, the total running time of the algorithm is approximately 500 seconds. If this time is less than the preset threshold T, the global traversal algorithm can be selected. Otherwise, an optimization algorithm such as simulated annealing can be selected.

[0039] Of course, the above is only a specific example. In actual implementation, a suitable scheduling parameter search algorithm can be selected from the scheduling search algorithm database according to needs, and will not be described in detail here.

[0040] It should be noted that the deep learning model in the target device usually contains several operators. Therefore, there may be multiple operator scheduling templates obtained through matching in step 101. Considering the actual relationship between operators, when running the deep learning model in the target device, the scheduling process of the operators will affect each other. Therefore, when generating scheduling parameters, it is necessary to consider the influence between several operator scheduling templates. In other words, the scheduling parameter search algorithm is for all matched operator scheduling templates, not a single operator scheduling template. In particular, different numbers of the same type of operator scheduling templates corresponding to the deep learning model will also lead to different optimal scheduling parameters.

[0041] It is understood that the scheduling templates for all matched operators are primarily related to the objective function of the scheduling parameter search algorithm. Therefore, the above description uses a single operator scheduling template as an example and can be extended to multiple operator scheduling templates. This does not mean that this embodiment can only be implemented for a single operator scheduling template. For example, when determining the search space, the scheduling parameters of each operator included in the deep learning model can be combined to form a search space. This will not be discussed in detail here.

[0042] Step 103: Receive performance data of the scheduling process fed back by the target device, adjust the scheduling parameters according to the performance data, and send the adjusted parameters to the target device.

[0043] Specifically, when receiving the performance data fed back by the target device, the performance data received historically is first compared with the currently received performance data to detect whether the performance has been improved. If it is detected that the performance has not been improved, it is determined that the search algorithm has converged. At this time, it is necessary to select the scheduling parameters corresponding to the test items with the best historical scheduling performance as the optimal scheduling parameters. If it is detected that the performance has been improved, it is determined that the search algorithm has not converged. At this time, there may still be better scheduling parameter combinations in the search space. It is necessary to adjust the scheduling parameter search algorithm according to a certain strategy to select another set of scheduling parameter combinations and send them to the target device for execution. Among them, the strategy for adjusting the scheduling parameter search algorithm can be the optimization direction determined according to the execution effect, or it can be to add a certain disturbance to the scheduling parameter search algorithm so that it continues to iterate in another direction to select other scheduling parameter combinations. I will not go into details here.

[0044] It should be noted that for the target device, it actually means continuously receiving the performance data returned by the target device, then adjusting the scheduling parameters according to the performance parameters, and then sending the adjusted scheduling parameters to the target device until the performance data converges, that is, obtaining satisfactory scheduling parameters, that is, determining the optimal scheduling parameters through a loop until the optimal scheduling parameters are obtained, thereby ensuring the optimality of the scheduling parameters.

[0045] As can be seen from the background technology, implementing deep learning model reasoning through manually designed scheduling processes is often inefficient and cannot obtain optimal scheduling. It is worth mentioning that this embodiment realizes automated scheduling design by decoupling the scheduling design process into three parts that can be understood and executed by the machine: determining the operator scheduling template, determining the scheduling parameters, and running. This overcomes the dependence on manual labor, and since the scheduling design is automated, it avoids the limitations of manpower and can design the optimal schedule for all operators on any hardware. Even though deep learning models usually contain a large number of different types of operators, and the same type of operators have different parameters, the implementation method of the optimal schedule will also be different. The different types of hardware used will also affect the optimal scheduling of hardware resources. Even the same operator has different optimal scheduling on the same type of hardware with different models. The huge computing power of the machine can also complete a large amount of design work and achieve coverage of scheduling design for various application scenarios.

[0046] On the other hand, the embodiment of the present application also provides a method for adjusting scheduling parameters, which is applied to a target device, which can be an electronic device such as a computer, a server, etc. Figure 2 As shown, specifically including:

[0047] Step 201: Receive scheduling parameters sent by a master device; wherein the scheduling parameters are generated according to an operator scheduling template and a scheduling parameter search algorithm that matches a target device.

[0048] It should be noted that, since the target device may match multiple operator scheduling templates, the received scheduling parameters may be scheduling parameters of a single operator or scheduling parameters of multiple operators.

[0049] Step 202: Run the scheduling process corresponding to the operator according to the scheduling parameters.

[0050] Specifically, during the operation, the target device also monitors the operation process to obtain performance data.

[0051] Step 203: Feedback the performance data of the scheduling process to the master device, so that the master device can adjust the scheduling parameters according to the performance data and send them to the target device.

[0052] In addition, it should be understood that the step division of the various methods above is only for the purpose of clear description. During implementation, they can be combined into one step or some steps can be split and decomposed into multiple steps. As long as they include the same logical relationship, they are all within the scope of protection of this patent; adding insignificant modifications to the algorithm or process or introducing insignificant designs without changing the core design of the algorithm and process are all within the scope of protection of this patent.

[0053] On the other hand, the embodiment of the present application also provides a main control device, such as Figure 3 As shown, including:

[0054] The search module 301 is configured to search for an operator scheduling template that matches a target device.

[0055] The scheduling parameter generation module 302 is used to generate scheduling parameters according to the matched operator scheduling template and the scheduling parameter search algorithm, and send the scheduling parameters to the target device so that the target device can run the scheduling process corresponding to the operator according to the scheduling parameters.

[0056] The iteration module 303 is configured to receive performance data of the scheduling process fed back by the target device, adjust the scheduling parameters according to the performance data, and send the adjusted scheduling parameters to the target device.

[0057] It is not difficult to find that this embodiment is a device embodiment corresponding to the method embodiment applied to the master control device, and this embodiment can be implemented in conjunction with the method embodiment applied to the master control device. The relevant technical details mentioned in the method embodiment applied to the master control device are still valid in this embodiment and are not repeated here to reduce repetition. Accordingly, the relevant technical details mentioned in this embodiment can also be applied to the method embodiment applied to the master control device.

[0058] It is worth mentioning that all modules involved in this embodiment are logical modules. In actual applications, a logical unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. In addition, to highlight the innovation of this application, this embodiment does not include units that are not closely related to solving the technical problem proposed by this application. However, this does not mean that other units do not exist in this embodiment.

[0059] On the other hand, the embodiment of the present application further provides a target device, such as Figure 4 As shown, including:

[0060] The receiving module 401 is configured to receive the scheduling parameters sent by the master device; wherein the scheduling parameters are generated according to the operator scheduling template and the scheduling parameter search algorithm that matches the target device.

[0061] The running module 402 is used to run the scheduling process corresponding to the operator according to the scheduling parameters.

[0062] The feedback module 403 is used to feed back the performance data of the scheduling process to the master device, so that the master device can adjust the scheduling parameters according to the performance data and send them to the target device.

[0063] It is not difficult to find that this embodiment is a device embodiment corresponding to the method embodiment applied to the target device, and this embodiment can be implemented in conjunction with the method embodiment applied to the target device. The relevant technical details mentioned in the method embodiment applied to the target device are still valid in this embodiment and are not repeated here to reduce repetition. Accordingly, the relevant technical details mentioned in this embodiment can also be applied in the method embodiment applied to the target device.

[0064] It is worth mentioning that all modules involved in this embodiment are logical modules. In actual applications, a logical unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. In addition, to highlight the innovation of this application, this embodiment does not include units that are not closely related to solving the technical problem proposed by this application. However, this does not mean that other units do not exist in this embodiment.

[0065] On the other hand, the embodiment of the present application further provides an electronic device, such as Figure 5 As shown, it includes: at least one processor 501; and a memory 502 communicatively connected to the at least one processor 501; wherein the memory 502 stores instructions that can be executed by the at least one processor 501, and the instructions are executed by the at least one processor 501 to enable the at least one processor 501 to execute the scheduling parameter adjustment method described in any of the above method embodiments.

[0066] The memory 502 and processor 501 are connected using a bus. The bus may include any number of interconnected buses and bridges, connecting various circuits of one or more processors 501 and memory 502. The bus may also connect various other circuits such as peripheral devices, voltage regulators, and power management circuits. These are all well known in the art and are therefore not described further herein. The bus interface provides an interface between the bus and the transceiver. The transceiver may be a single component or multiple components, such as multiple receivers and transmitters, providing a unit for communicating with various other devices over a transmission medium. Data processed by the processor 501 is transmitted over a wireless medium via an antenna. Furthermore, the antenna receives data and transmits it to the processor 501.

[0067] The processor 501 is responsible for managing the bus and general processing, and can also provide various functions, including timing, peripheral interfaces, voltage regulation, power management, and other control functions. The memory 502 can be used to store data used by the processor 501 when performing operations.

[0068] Another aspect of the present application is to provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method for adjusting the scheduling parameters described in any of the above method embodiments.

[0069] That is, those skilled in the art will understand that all or part of the steps in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a program, which is stored in a storage medium and includes a number of instructions for causing a device (which may be a single-chip microcomputer, chip, etc.) or a processor to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc., various media that can store program code.

[0070] Those skilled in the art will appreciate that the above embodiments are specific embodiments for implementing the present application, and that in actual applications, various changes may be made thereto in form and detail without departing from the spirit and scope of the present application.

Claims

1. A method for adjusting scheduling parameters, characterized in that: Applicable to main control equipment, including: Search for an operator scheduling template that matches the target device; Generate an operator scheduling parameter set according to the scheduling parameters exposed by the matching operator scheduling template; Based on the size of the parameter search space formed by the operator scheduling parameter set, the time required for performance data convergence is estimated, and a scheduling parameter search algorithm is selected from a preset scheduling search algorithm database, wherein the performance data is performance data of the scheduling process corresponding to the operator running by the target device according to the received scheduling parameters; if the time required for the performance data to converge is greater than a preset threshold, a scheduling parameter search algorithm that tends to perform a global uniform search is selected; if the time required for the performance data to converge is less than or equal to the preset threshold, a scheduling parameter search algorithm that searches for a local optimal solution within a specified time is selected; Searching for a set of scheduling parameters from the operator scheduling parameter set using the selected scheduling parameter search algorithm, and sending the scheduling parameters to the target device so that the target device runs a scheduling process corresponding to the operator according to the scheduling parameters; The performance data of the scheduling process fed back by the target device is received, and the scheduling parameters are adjusted according to the performance data and sent to the target device.

2. The method for adjusting scheduling parameters according to claim 1, wherein: The searching for an operator scheduling template matching the target device includes: According to the hardware information of the target device and the correspondence between the preset operator scheduling template and the hardware information, the preset operator scheduling template database is searched to obtain the operator scheduling template that matches the target device; The operator scheduling template database stores multiple operator scheduling templates.

3. The method for adjusting scheduling parameters according to claim 1, wherein: The operator scheduling parameter set includes multiple groups of scheduling parameters, and each group of scheduling parameters includes scheduling parameters required in one scheduling process of the operator.

4. The method for adjusting scheduling parameters according to claim 3, wherein: The scheduling search algorithm database includes multiple scheduling parameter search algorithms.

5. The method for adjusting scheduling parameters according to any one of claims 1 to 4, characterized in that: Before searching for an operator scheduling template that matches the target device, the method further includes: Split the deep learning model involved in the scheduling parameters to be obtained into individual operators; The searching for an operator scheduling template matching the target device includes: An operator scheduling template of the split operator that matches the target device is searched.

6. A method for adjusting scheduling parameters, characterized in that: Applied to target devices, including: Receive scheduling parameters sent by a master control device; wherein, generation of the scheduling parameters includes: the master control device generates an operator scheduling parameter set according to the scheduling parameters exposed by the operator scheduling template matching the target device; based on the size of the parameter search space formed based on the operator scheduling parameter set, estimate the time required for performance data convergence, and select a scheduling parameter search algorithm from a preset scheduling search algorithm database, wherein the performance data is performance data of the scheduling process corresponding to the operator run by the target device according to the received scheduling parameters; if the time required for the performance data to converge is greater than a preset threshold, select a scheduling parameter search algorithm that tends to perform global uniform search; if the time required for the performance data to converge is less than or equal to the preset threshold, select a scheduling parameter search algorithm that searches for a local optimal solution within a specified time; search for a set of scheduling parameters in the operator scheduling parameter set using the selected scheduling parameter search algorithm; Run the scheduling process corresponding to the operator according to the scheduling parameters; Performance data of executing the scheduling process is fed back to the main control device, so that the main control device can adjust the scheduling parameters according to the performance data and send them to the target device.

7. A master control device, characterized in that: include: Search module, used to search for operator scheduling templates that match the target device; A scheduling parameter generation module is used to generate an operator scheduling parameter set based on the scheduling parameters exposed by the matched operator scheduling template; estimate the time required for performance data convergence based on the size of the parameter search space formed based on the operator scheduling parameter set, and select a scheduling parameter search algorithm from a preset scheduling search algorithm database, wherein the performance data is the performance data of the scheduling process corresponding to the operator run by the target device according to the received scheduling parameters; if the time required for the performance data to converge is greater than a preset threshold, select a scheduling parameter search algorithm that tends to perform global uniform search; if the time required for the performance data to converge is less than or equal to the preset threshold, select a scheduling parameter search algorithm that searches for a local optimal solution within a specified time; use the selected scheduling parameter search algorithm to search for a set of scheduling parameters in the operator scheduling parameter set, and send the scheduling parameters to the target device so that the target device can run the scheduling process corresponding to the operator according to the scheduling parameters; The iteration module is configured to receive performance data of the scheduling process fed back by the target device, adjust the scheduling parameters according to the performance data, and send the adjusted scheduling parameters to the target device.

8. A target device, characterized in that: include: A receiving module, configured to receive scheduling parameters sent by a master control device; wherein the generation of the scheduling parameters comprises: the master control device generating an operator scheduling parameter set according to the scheduling parameters exposed by the operator scheduling template matching the target device; estimating the time required for performance data convergence according to the size of the parameter search space formed based on the operator scheduling parameter set, and selecting a scheduling parameter search algorithm from a preset scheduling search algorithm database, wherein the performance data is performance data of the scheduling process corresponding to the operator run by the target device according to the received scheduling parameters; if the time required for the performance data to converge is greater than a preset threshold, selecting a scheduling parameter search algorithm that is biased towards global uniform search; if the time required for the performance data to converge is less than or equal to the preset threshold, selecting a scheduling parameter search algorithm that searches for a local optimal solution within a specified time; searching for a set of scheduling parameters in the operator scheduling parameter set using the selected scheduling parameter search algorithm; An operation module, configured to execute the scheduling process corresponding to the operator according to the scheduling parameters; The feedback module is used to feed back performance data of executing the scheduling process to the main control device, so that the main control device can adjust the scheduling parameters according to the performance data and send them to the target device.

9. An electronic device, characterized in that: include: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method for adjusting the scheduling parameters as described in any one of claims 1 to 5, or the method for adjusting the scheduling parameters as described in claim 6.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method for adjusting the scheduling parameters according to any one of claims 1 to 5 is implemented, or the method for adjusting the scheduling parameters according to claim 6 is implemented.

Citation Information

Patent Citations

  • Neural network architecture searching method and device

    CN112000450A