Method, device and equipment for realizing automatic parameter adjustment of machine learning

By managing and terminating the task of parameter adjustment in real time on the machine learning platform, the problems of waste of resources and poor user experience in the existing technology are solved, and efficient task management and resource optimization are achieved.

CN114462615BActive Publication Date: 2025-08-29THE FOURTH PARADIGM BEIJING TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011247365.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-11-10
Publication Date
2025-08-29
Estimated Expiration
2040-11-10

Smart Images

  • Figure CN114462615B_ABST
    Figure CN114462615B_ABST
Patent Text Reader

Abstract

The present disclosure proposes a method, apparatus, and equipment for realizing automatic parameter adjustment for machine learning, the method comprising: determining, based on a parameter adjustment task creation request, parameter adjustment data information and first operation configuration information required for a main task for executing the parameter adjustment task; starting the main task based on the parameter adjustment data information and the first operation configuration information, so that the main task initiates a request to create at least one subtask for executing the parameter adjustment task based on the parameter adjustment data information; determining, based on the request to create at least one subtask initiated by the main task, second operation configuration information required for the at least one subtask to execute the parameter adjustment task, and starting at least one subtask, so that the at least one subtask executes the parameter adjustment task; configuring the main task to obtain task operation result information of each subtask, and determining to stop the operation of each subtask based on the task operation result information, or initiating a request to create at least one new subtask for executing the parameter adjustment task.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of artificial intelligence, and more specifically, to a method for implementing automatic parameter adjustment for machine learning, an apparatus for implementing automatic parameter adjustment for machine learning, a device including at least one computing device and at least one storage device, and a computer-readable storage medium. Background Art

[0002] On existing machine learning platforms, the process for running an automatic parameter tuning task can be as follows: the user first initiates a request to create the automatic parameter tuning task, specifying the hyperparameter tuning algorithm and hyperparameter range to be used. The automatic parameter tuning device then generates several sets of hyperparameters based on the user's request and then initiates the machine learning training subtask corresponding to each set of hyperparameters. However, this approach not only has weak lifecycle management capabilities for the entire parameter tuning task, but also for the machine learning training subtasks. It lacks lifecycle management and real-time status tracking, which not only affects the user experience but also wastes computing and storage resources. Summary of the Invention

[0003] One purpose of the embodiments of the present disclosure is to provide a new technical solution for realizing automatic parameter adjustment of machine learning.

[0004] According to a first aspect of the present disclosure, a method for implementing automatic parameter adjustment for machine learning is provided, comprising:

[0005] Receive the parameter adjustment task creation request initiated by the user;

[0006] Based on the parameter adjustment task creation request, determine the parameter adjustment data information and first operation configuration information required for the main task of executing the parameter adjustment task;

[0007] Starting the main task according to the parameter adjustment data information and the first operation configuration information, so that the main task initiates a request to create at least one subtask for executing the parameter adjustment task according to the parameter adjustment data information;

[0008] Determining, according to a request initiated by the main task to create at least one subtask, second running configuration information required for the at least one subtask to execute the parameter adjustment task, and starting the at least one subtask so that the at least one subtask executes the parameter adjustment task;

[0009] Configure the main task to obtain the task running result information of each of the subtasks, and determine to stop the running of each of the subtasks based on the task running result information, or initiate a request to create at least one new subtask for executing the parameter adjustment task.

[0010] Optionally, the parameter adjustment data information includes a machine learning algorithm used for the parameter adjustment task and its corresponding data source, evaluation index and parameter adjustment algorithm;

[0011] The first operation configuration information includes the operation resources corresponding to the main task and the first data output directory;

[0012] The second operation configuration information includes the operation resources corresponding to the subtask and the second data output directory.

[0013] Optionally, the method further includes:

[0014] Obtaining task information corresponding to the main task and / or the at least one subtask generated during the execution of the parameter adjustment task; and

[0015] Configuring the main task to store the corresponding task information generated during the execution of the parameter adjustment task in the first data output directory, where the task information stored in the first data output directory includes the running status and key logs of the main task;

[0016] The subtask is configured to store the corresponding task information generated during the execution of the parameter adjustment task in the second data output directory. The task information stored in the second data output directory includes the running status, key logs and task running result information of the subtask.

[0017] Optionally, configuring the main task to obtain task execution result information of each of the subtasks, and determining to stop the execution of each of the subtasks according to the task execution result information, or initiating a request to create at least one new subtask for executing the parameter adjustment task, includes:

[0018] Configure the main task and the subtask to share the second data output directory, so that the main task obtains the task running result information of each subtask stored in the second data output directory, and determines to stop the running of each subtask based on the task running result information, or generates other hyperparameters according to the parameter adjustment algorithm to initiate a request to create at least one new subtask for executing the parameter adjustment task based on the other hyperparameters.

[0019] Optionally, the task information stored in the first data output directory also includes a final parameter adjustment report corresponding to the parameter adjustment task, and the method further includes:

[0020] When it is determined to stop the execution of each of the subtasks based on the task execution result information, the final parameter adjustment report is generated.

[0021] Optionally, the method further includes:

[0022] When determining to stop the execution of each of the subtasks according to the task execution result information, selecting a subtask with the best task execution result;

[0023] A set of hyperparameters corresponding to the subtask is output and / or saved as optimal hyperparameters.

[0024] Optionally, the parameter adjustment algorithm is a custom parameter adjustment algorithm provided by the user, and determining the parameter adjustment data information required for the main task for executing the parameter adjustment task based on the parameter adjustment task request further includes:

[0025] Obtaining a file of the custom parameter adjustment algorithm from a predetermined storage space according to the parameter adjustment task request;

[0026] Determine that the custom parameter adjustment algorithm is the parameter adjustment algorithm corresponding to the parameter adjustment data information.

[0027] Optionally, the file of the custom parameter adjustment algorithm is a code file packaged based on the custom parameter adjustment algorithm written in a programming language, and the code file is uploaded to the storage space by the user.

[0028] Optionally, the code file is a Python script, a Java jar file package or a Shell script.

[0029] Optionally, the method further includes:

[0030] A first application program interface is provided so that the main task can obtain the task information stored in the second data output directory in real time through the first application program interface.

[0031] Optionally, the obtaining of task information corresponding to the main task and / or the subtask generated during the execution of the parameter adjustment task includes:

[0032] By active query, the task information corresponding to the main task and / or the subtask generated during the execution of the parameter adjustment task is obtained in real time;

[0033] or,

[0034] The task information is obtained by receiving the task information generated in the process of executing the parameter adjustment task as reported regularly by the main task and / or the subtask.

[0035] Optionally, the method further includes:

[0036] providing a second application programming interface;

[0037] receiving a task information query request sent by the user through the second application program interface;

[0038] Read the task information stored in the corresponding first data output directory and / or the second data output directory according to the query request;

[0039] The task information is sent to the user in response to the query request, so that the user can determine whether to stop the parameter adjustment task based on the received task information.

[0040] Optionally, the main task initiating a request to create at least one subtask for executing the parameter adjustment task according to the parameter adjustment data information includes:

[0041] Generate at least one set of hyperparameters according to the parameter tuning algorithm;

[0042] Determining at least one group of subtasks for correspondingly executing the parameter adjustment task according to the at least one group of hyperparameters;

[0043] Initiate a request to create the at least one group of subtasks based on the machine learning algorithm and its corresponding data source and evaluation indicators.

[0044] Optionally, the subtask executing the parameter adjustment task includes:

[0045] Perform machine learning training on the data source according to the hyperparameters, the machine learning algorithm, and the evaluation indicators to obtain corresponding training results.

[0046] Optionally, the method further includes:

[0047] The parameter adjustment task is executed according to the required operating resources corresponding to the main task and the subtask, and the main task and the subtask are run in a local or external computing cluster.

[0048] According to a second aspect of the present disclosure, there is also provided an apparatus for implementing automatic parameter adjustment for machine learning, comprising:

[0049] The receiving module is used to receive the parameter adjustment task creation request initiated by the user;

[0050] A determination module, configured to determine, based on the parameter adjustment task creation request, the parameter adjustment data information and first operation configuration information required for the main task of executing the parameter adjustment task;

[0051] A first starting module is configured to start the main task according to the parameter adjustment data information and the first operation configuration information, so that the main task initiates a request to create at least one subtask for executing the parameter adjustment task according to the parameter adjustment data information;

[0052] A second starting module is configured to determine, based on a request initiated by the main task to create at least one subtask, second running configuration information required for the at least one subtask to execute the parameter adjustment task, and start the at least one subtask so that the at least one subtask executes the parameter adjustment task;

[0053] A configuration module is used to configure the main task to obtain the task running result information of each of the subtasks, and determine to stop the running of each of the subtasks based on the task running result information, or to initiate a request to create at least one new subtask for executing the parameter adjustment task.

[0054] Optionally, the parameter adjustment data information includes a machine learning algorithm used for the parameter adjustment task and its corresponding data source, evaluation index and parameter adjustment algorithm;

[0055] The first operation configuration information includes the operation resources corresponding to the main task and the first data output directory;

[0056] The second operation configuration information includes the operation resources corresponding to the subtask and the second data output directory.

[0057] Optionally, the configuration module is also used to obtain the task information generated by the main task and / or at least one subtask during the execution of the parameter adjustment task; and to configure the main task to store the task information generated during the execution of the parameter adjustment task in the first data output directory, and the task information stored in the first data output directory includes the running status and key logs of the main task; and to configure the subtask to store the task information generated during the execution of the parameter adjustment task in the second data output directory, and the task information stored in the second data output directory includes the running status, key logs and task running result information of the subtask.

[0058] Optionally, the configuration module is also used to configure the main task and the subtask to share the second data output directory, so that the main task obtains the task running result information of each subtask stored in the second data output directory, and determines to stop the running of each subtask based on the task running result information, or generates other hyperparameters according to the parameter adjustment algorithm to initiate a request to create at least one new subtask for executing the parameter adjustment task based on the other hyperparameters.

[0059] Optionally, the task information stored in the first data output directory also includes a final parameter adjustment report corresponding to the parameter adjustment task.

[0060] The configuration module is also used to generate the final parameter adjustment report when determining to stop the execution of each subtask based on the task execution result information.

[0061] Optionally, the configuration module is also used to select a subtask with the best task running result when determining to stop the running of each subtask based on the task running result information; and output and / or save a set of hyperparameters corresponding to the subtask as the optimal hyperparameters.

[0062] Optionally, the parameter adjustment algorithm is a custom parameter adjustment algorithm provided by the user.

[0063] The determination module is also used to obtain the file of the custom parameter adjustment algorithm from the predetermined storage space according to the parameter adjustment task request; and determine that the custom parameter adjustment algorithm is the parameter adjustment algorithm corresponding to the parameter adjustment data information.

[0064] Optionally, the file of the custom parameter adjustment algorithm is a code file packaged based on the custom parameter adjustment algorithm written in a programming language, and the code file is uploaded to the storage space by the user.

[0065] Optionally, the code file is a Python script, a Java jar file package or a Shell script.

[0066] Optionally, the device further includes a first providing module,

[0067] The first providing module is used to provide a first application program interface, so that the main task can obtain the task information stored in the second data output directory in real time through the first application program interface.

[0068] Optionally, the configuration module is also used to obtain in real time, through active query, the task information corresponding to the main task and / or the subtask generated during the execution of the parameter adjustment task; or, to obtain the task information by receiving the task information corresponding to the main task and / or the subtask generated during the execution of the parameter adjustment task as reported periodically.

[0069] Optionally, the device further includes a second providing module,

[0070] The second providing module is used to provide a second application interface; receive a task information query request sent by the user through the second application interface; read the task information stored in the corresponding first data output directory and / or the second data output directory according to the query request; and send the task information to the user in response to the query request, so that the user can determine whether to stop the parameter adjustment task based on the received task information.

[0071] Optionally, the first startup module is also used to generate at least one set of hyperparameters based on the parameter adjustment algorithm; determine at least one set of subtasks for corresponding execution of the parameter adjustment task based on the at least one set of hyperparameters; and initiate a request to create the at least one set of subtasks based on the machine learning algorithm and its corresponding data source and evaluation indicators.

[0072] Optionally, the second startup module is further used to perform machine learning training on the data source according to the hyperparameters, the machine learning algorithm and the evaluation indicators to obtain corresponding training results.

[0073] Optionally, the device further includes an operation module,

[0074] The running module is used to execute the parameter adjustment task according to the main task and the subtask, respectively corresponding to the required running resources, and run the main task and the subtask in a local or external computing cluster.

[0075] According to a third aspect of the present disclosure, there is also provided an apparatus comprising at least one computing device and at least one storage device, wherein the at least one storage device is used to store instructions, and the instructions are used to control the at least one computing device to execute the method according to the first aspect above.

[0076] According to a fourth aspect of the present disclosure, a computer-readable storage medium is further provided, wherein a computer program is stored thereon, and when the computer program is executed by a processor, the method described in the first aspect above is implemented.

[0077] According to the method of the embodiment of the present disclosure, it can run and manage the automatic parameter adjustment main task and the machine learning training subtasks generated by it. Moreover, since it can obtain the task information of the parameter adjustment main task and subtasks during the operation process in real time, it is convenient for users to view the operation process of the entire machine learning automatic parameter adjustment task, improve the user's usage efficiency and experience, and, if necessary, the subtask can be terminated in advance to save computing resources and storage resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0078] Further features and advantages of the present invention will become apparent from the following detailed description of exemplary embodiments of the present invention with reference to the accompanying drawings.

[0079] Figure 1 is a block diagram showing an example of a hardware configuration of an electronic device that can be used to implement an embodiment of the present disclosure;

[0080] Figure 2 A flow chart showing a method for implementing automatic parameter adjustment for machine learning according to an embodiment of the present disclosure is shown;

[0081] Figure 3A block diagram showing the principle of an apparatus for implementing automatic parameter adjustment for machine learning according to an embodiment of the present disclosure is shown;

[0082] Figure 4 A flowchart of a method for implementing automatic parameter adjustment for machine learning according to an example of the present disclosure is shown;

[0083] Figure 5 A flowchart of a method for implementing automatic parameter adjustment for machine learning is shown as another example of the present disclosure. DETAILED DESCRIPTION

[0084] Various exemplary embodiments of the present invention will now be described in detail with reference to the accompanying drawings. It should be noted that unless otherwise specifically stated, the relative arrangement of components and steps, numerical expressions and numerical values ​​set forth in these embodiments do not limit the scope of the present invention.

[0085] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the invention, its application, or uses.

[0086] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered part of the specification.

[0087] In all examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not limiting. Therefore, other examples of the exemplary embodiments may have different values.

[0088] It should be noted that like reference numerals and letters refer to like items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.

[0089] Hereinafter, various embodiments and examples according to embodiments of the present invention will be described with reference to the accompanying drawings.

[0090] <Hardware Configuration>

[0091] The method of the embodiment of the present disclosure can be implemented by at least one electronic device. Figure 1 The hardware structure of any electronic device is shown. Figure 1 The electronic device shown may be a portable computer, a desktop computer, a workstation, a server, etc., or any other device having a computing device such as a processor and a storage device such as a memory, and is not limited here.

[0092] like Figure 1As shown, the electronic device 1000 may include a processor 1100, a memory 1200, an interface device 1300, a communication device 1400, a display device 1500, an input device 1600, a speaker 1700, a microphone 1800, and the like. The processor 1100 is configured to execute a computer program. The computer program may be written using an instruction set such as an x86, Arm, RISC, MIPS, or SSE architecture. The memory 1200 may include, for example, ROM (read-only memory), RAM (random access memory), or a non-volatile memory such as a hard disk. The interface device 1300 may include, for example, a USB interface or a headphone jack. The communication device 1400 may be capable of wired or wireless communication, and may specifically include Wi-Fi communication, Bluetooth communication, 2G / 3G / 4G / 5G communication, and the like. The display device 1500 may be, for example, an LCD display or a touch screen display. The input device 1600 may include, for example, a touch screen, a keyboard, or somatosensory input. The electronic device 1000 can output voice information through the speaker 1700 and can collect voice information through the microphone 1800.

[0093] Figure 1 The electronic device shown is merely illustrative and in no way implies any limitation on the present invention, its application, or use. In the embodiments of the present disclosure, the memory 1200 of the electronic device 1000 is used to store instructions that control the processor 1100 to perform the method for implementing automatic parameter tuning for machine learning according to the embodiments of the present disclosure. A skilled person can design instructions based on the disclosed solution. How instructions control the processor to operate is well known in the art and will not be described in detail here.

[0094] In another embodiment, the electronic device 1000 may also include a device for implementing automatic parameter adjustment of machine learning according to any embodiment of the present invention, wherein the device is configured to execute a method for implementing automatic parameter adjustment of machine learning according to any embodiment of the present invention.

[0095] In one embodiment, a device is provided, including at least one computing device and at least one storage device. The at least one storage device is used to store instructions for controlling the at least one computing device to execute a method according to any embodiment of the present disclosure.

[0096] The device may include at least one Figure 1 The electronic device 1000 shown provides at least one computing device such as a processor and at least one storage device such as a memory, which are not limited herein.

[0097] <Method Example>

[0098] In this embodiment, a method for realizing automatic parameter adjustment of machine learning is provided, which can be performed as follows: Figure 1 The electronic device 1000 shown is implemented, for example, by a device for implementing automatic parameter adjustment of machine learning in the electronic device 1000.

[0099] according to Figure 2 As shown, the method for implementing automatic parameter adjustment for machine learning in this embodiment may include the following steps S2100 to S2500:

[0100] Step S2100: Receive a parameter adjustment task creation request initiated by the user.

[0101] In this embodiment, for example, a graphical configuration interface may be provided, and a selection box may be provided in the graphical configuration interface for selecting the parameter adjustment data information and running configuration information required for the main task of executing the parameter adjustment task. Here, in order to distinguish the running configuration information of the main task of the parameter adjustment task from the running configuration information of the subtasks of the subsequent parameter adjustment tasks, the running configuration information of the main task of the parameter adjustment task is referred to as the first running configuration information.

[0102] Step S2200: Based on the parameter adjustment task creation request, determine the parameter adjustment data information and first running configuration information required for the main task to execute the parameter adjustment task.

[0103] The parameter adjustment data information required for the main task of the parameter adjustment task may include the machine learning algorithm used for the parameter adjustment task and its corresponding data source, evaluation indicators and parameter adjustment algorithm.

[0104] The above machine learning algorithm for parameter adjustment task is used to train the machine learning model, and the algorithm parameters of the machine learning algorithm have a significant impact on the quality of the trained machine learning model. The machine learning algorithm can be a logistic regression (LR) algorithm, a gradient boosting regression tree (GBRT) algorithm, a support vector machine (SVM) algorithm, a HE-TreeNet (high-dimensional discrete embedded tree network) algorithm, a gradient boosting decision tree (GBDT) algorithm, and a random forest algorithm, etc. It can also be other machine learning algorithms for training machine learning models, which are not limited in this embodiment.

[0105] The corresponding data sources above are divided into training data sets and validation data sets. The training data sets are used to train the machine learning model, and the validation data sets are used to verify the effectiveness of the trained machine learning model. The machine learning model with the best effect can be selected as the final output machine learning model, and the hyperparameters of the machine learning model can be used as the optimal hyperparameters.

[0106] The above evaluation metrics are used to measure the quality of machine learning algorithms. They can be at least one of the following: mean squared error (MSE), mean absolute error (MAE), mean absolute percentage error (MAPE), R², area under the curve (AUC), recall, accuracy, precision, f1, and logloss.

[0107] In one example, a corresponding evaluation indicator can be set for each type of machine learning problem. The evaluation indicators corresponding to different types of machine learning problems can be the same or different. The same type of machine learning problems can include at least one evaluation indicator.

[0108] For example, different evaluation metrics are provided for different machine learning problems, including, but not limited to, binary classification problems, regression problems, and multi-classification problems. For regression problems, for example, MSE, MAE, MAPE, R2, etc. can be selected; for binary classification problems, AUC, Recall, Precision, Accuracy, f1, Logloss, etc. can be selected.

[0109] In one example, the user may set evaluation indicators for corresponding machine learning problems based on actual application scenarios and actual needs.

[0110] The above parameter adjustment algorithm is an algorithm for optimizing the parameters corresponding to the machine learning algorithm. The parameter adjustment algorithm can be a random search, grid search, Bayesian optimization, etc., or it can be a custom parameter adjustment algorithm provided by the user, which is not limited in this embodiment. In this embodiment, when the parameter adjustment algorithm is a custom parameter adjustment algorithm provided by the user, the parameter adjustment data information required for the main task of executing the parameter adjustment task based on the parameter adjustment task request in this step S2200 can further include: obtaining a file of the custom parameter adjustment algorithm from a predetermined storage space according to the parameter adjustment task request; determining that the custom parameter adjustment algorithm is the parameter adjustment algorithm corresponding to the parameter adjustment data information.

[0111] The file of the custom parameter adjustment algorithm is a code file packaged based on the custom parameter adjustment algorithm written in a programming language, and the code file is uploaded to the storage space by the user.

[0112] The code file can be a Python script, a Java jar file package, or a Shell script.

[0113] In this example, users are supported to write custom parameter adjustment strategies using programming languages, which is equivalent to expanding the parameter adjustment algorithm and further improving the user experience.

[0114] The first operation configuration information may include the operation resources corresponding to the main task and the first data output directory. The task information stored in the first data output directory may include, for example, the operation status and key logs of the main task. The task information stored in the first data output directory may also include, for example, the final parameter adjustment report corresponding to the parameter adjustment task.

[0115] Step S2300: Start the main task according to the parameter adjustment data information and the first running configuration information, so that the main task initiates a request to create at least one subtask for executing the parameter adjustment task according to the parameter adjustment data information.

[0116] In this embodiment, after determining the machine learning algorithm and its corresponding data source, evaluation index and parameter adjustment algorithm, as well as the corresponding operating resources and the first data output directory required for the main task of the parameter adjustment task according to the above step S2200, the main task can be started according to the machine learning algorithm and its corresponding data source, evaluation index and parameter adjustment algorithm, as well as the corresponding operating resources and the first data output directory required by the main task in combination with this step S2200, and the main task can be run according to the operating resources required for executing the parameter adjustment task according to the main task.

[0117] For example, when the main task requires fewer operating resources to execute the parameter adjustment task, the main task can be directly submitted to the device that implements automatic machine learning parameter adjustment for local operation, so as to reduce intermediate steps and improve operating efficiency.

[0118] For example, when the main task requires a large amount of running resources to execute the parameter adjustment task, such as when a large amount of CPU calculation is involved, the main task can be run in an external computing cluster, which may include but is not limited to computing platforms such as YARN, Kubernetes, and Mesos.

[0119] In this embodiment, the main task initiating a request for creating a subtask for executing the parameter adjustment task based on the parameter adjustment data information in step S2300 may further include the following steps S2310 to S2330:

[0120] Step S2310: Generate at least one set of hyperparameters based on the parameter tuning algorithm.

[0121] Hyperparameters may include model hyperparameters and training hyperparameters. Model hyperparameters are hyperparameters used to define the model, such as, but not limited to, activation functions (such as identity functions, sigmoid functions, and truncated ramp functions), the number of hidden layer nodes, the number of convolutional layer channels, and the number of fully connected layer nodes. Training hyperparameters are hyperparameters used to define the model training process, such as, but not limited to, learning rate, batch size, and number of iterations.

[0122] Step S2320: Determine at least one group of subtasks for executing the corresponding parameter adjustment task based on at least one group of hyperparameters.

[0123] In this step S2320 , a set of hyperparameters corresponds to one subtask.

[0124] Step S2330: Initiate a request to create at least one set of subtasks based on the machine learning algorithm and its corresponding data source and evaluation indicators.

[0125] In this embodiment, after creating a request for at least one subtask for executing the parameter adjustment task in the above steps S2310 to S2330, at least one subtask can be started according to the following step S2400 to enable the at least one subtask to execute the parameter adjustment task.

[0126] Step S2400: Based on the request initiated by the main task to create at least one subtask, determine the second running configuration information required for the at least one subtask to execute the parameter adjustment task, and start at least one subtask to enable the at least one subtask to execute the parameter adjustment task.

[0127] The second running configuration information may include running resources corresponding to the subtask and a second data output directory.

[0128] The task information stored in the second data output directory may include, for example, the running status of the subtask, key logs and task running result information, and the task running result may be a parameter adjustment training result.

[0129] In this embodiment, after determining the corresponding operating resources and the second data output directory required for at least one subtask of the parameter adjustment task, the subtask can be started, and the subtask can be executed according to the operating resources required for executing the parameter adjustment task. Specifically, the subtask can perform machine learning training on the data source according to hyperparameters, machine learning algorithms and evaluation indicators to obtain corresponding training results.

[0130] For example, when the operating resources required for the subtask to perform the parameter adjustment task are relatively small, the subtask can be directly submitted to the device that implements automatic machine learning parameter adjustment for local operation, so as to reduce intermediate steps and thus improve operating efficiency.

[0131] For example, when the subtask execution parameter adjustment task requires a large amount of running resources, such as when it involves a large amount of CPU calculations, the subtask can be run in an external computing cluster, which may include but is not limited to computing platforms such as YARN, Kubernetes, and Mesos.

[0132] Step S2500, configure the main task to obtain the task running result information of each subtask, and determine to stop the running of each subtask based on the task running result information, or initiate a request to create at least one new subtask for executing the parameter adjustment task.

[0133] In this embodiment, the device for realizing automatic parameter adjustment of machine learning can obtain the corresponding task information generated by the main task and / or at least one subtask in the process of executing the parameter adjustment task in real time during the process of the main task and / or at least one subtask executing the parameter adjustment task, and configure the main task to store the corresponding task information generated in the process of executing the parameter adjustment task in the first data output directory. The task information stored in the first data output directory may include, for example, the running status and key logs of the main task; and configure the subtask to store the corresponding task information generated in the process of executing the parameter adjustment task in the second data output directory. The task information stored in the second data output directory may include, for example, the running status, key logs and task running result information of the subtask.

[0134] In one example, obtaining the task information corresponding to the main task and / or at least one subtask generated during the execution of the parameter adjustment task may further include: obtaining the task information corresponding to the main task and / or subtask generated during the execution of the parameter adjustment task in real time through active query.

[0135] In this example, the user can obtain the task information corresponding to the main task and / or subtask generated in the process of executing the parameter adjustment task in real time through the API provided by this device, so that the running process of the entire machine learning automatic parameter adjustment task can be easily viewed.

[0136] In one example, obtaining the task information corresponding to the main task and / or at least one subtask generated during the execution of the parameter adjustment task may further include: obtaining the task information by receiving the task information corresponding to the execution of the parameter adjustment task reported periodically by the main task and / or subtask.

[0137] In this embodiment, configuring the main task in step S2500 to obtain task execution result information of each subtask and determining to stop the execution of each subtask based on the task execution result information, or initiating a request to create at least one new subtask for executing the parameter adjustment task may further include:

[0138] Configure the main task and subtasks to share the second data output directory so that the main task can obtain the task running result information of each subtask stored in the second data output directory, and determine to stop the running of each subtask based on the task running result information, or generate other hyperparameters according to the parameter adjustment algorithm to initiate a request to create at least one new subtask for executing the parameter adjustment task based on the other hyperparameters.

[0139] It can be understood that when the task information stored in the first data output directory also includes the final parameter adjustment report corresponding to the parameter adjustment task, the method for realizing automatic parameter adjustment of machine learning can further include: when determining to stop the operation of each subtask based on the task operation result information, generating a final parameter adjustment report.

[0140] For example, when the effect of the training result reaches the expected value and it is determined to stop the subtask, a final parameter adjustment report is generated based on the task information corresponding to the subtask.

[0141] For another example, when the training time reaches the time limit and it is determined to stop the subtask, a final parameter adjustment report can be generated based on the task information corresponding to the subtask.

[0142] It is understandable that the method for implementing automatic parameter adjustment for machine learning can further include: when determining to stop the execution of each subtask based on the task execution result information, selecting a subtask with the best task execution result; and outputting and / or saving a set of hyperparameters corresponding to the subtask as the optimal hyperparameters.

[0143] According to the method of the embodiment of the present disclosure, it can run and manage the automatic parameter adjustment main task and the machine learning training subtasks generated by it. Moreover, since it can obtain the task information of the parameter adjustment main task and subtasks during the operation process in real time, it is convenient for users to view the operation process of the entire machine learning automatic parameter adjustment task, thereby improving the user's usage efficiency and experience; secondly, it provides a parameter adjustment algorithm extension function, which can run user-written custom parameter adjustment strategies to improve user experience.

[0144] Moreover, it provides comprehensive lifecycle management, operational resource allocation, status tracking, output management and other functions for machine learning training subtasks. The automatic parameter adjustment main task can obtain the status of the subtask in real time through this device, and can terminate the subtask in advance if necessary.

[0145] In one embodiment, the method for implementing automatic parameter adjustment for machine learning may further include: providing a first application interface so that the main task can obtain task information stored in the second data output directory in real time through the first application interface.

[0146] In this embodiment, a convenient and easy-to-use API is provided for the parameter adjustment main task, so that the parameter adjustment main task can create, query, and terminate machine learning training subtasks in advance.

[0147] In one embodiment, the method for implementing automatic parameter adjustment for machine learning may further include: providing a second application interface; receiving a task information query request sent by a user through the second application interface; reading the task information stored in the corresponding first data output directory and / or second data output directory according to the query request; and sending the task information to the user in response to the query request, so that the user can determine whether to stop the parameter adjustment task through the received task information.

[0148] In this embodiment, the user can terminate the automatic parameter adjustment task in advance through the API of this device. At this time, the device will immediately stop the main task and the subtasks submitted by it that are still running, and perform necessary cleanup operations to ensure the timely release of computing resources and storage resources and improve resource utilization. When the parameter adjustment task is terminated in advance, the subtasks that have been run and related reports will not be cleaned up and will remain available for user query and use.

[0149] In this embodiment, it provides users with a convenient and easy-to-use API for users to create, query, and terminate the entire automatic parameter adjustment task in advance, thereby improving user experience.

[0150] <Device Example>

[0151] In this embodiment, a parameter adjustment device 3000 for a machine learning model is provided, such as Figure 3 As shown, it includes a receiving module 3100 , a determining module 3200 , a first starting module 3300 , a second starting module 3400 and a configuring module 3500 .

[0152] Receiving module 3100 is used to receive a parameter adjustment task creation request initiated by a user.

[0153] Determination module 3200 is used to determine the parameter adjustment data information and first running configuration information required for the main task to execute the parameter adjustment task based on the parameter adjustment task creation request.

[0154] The first startup module 3300 is used to start the main task according to the parameter adjustment data information and the first operation configuration information, so that the main task initiates a request to create at least one subtask for executing the parameter adjustment task according to the parameter adjustment data information.

[0155] The second startup module 3400 is used to determine the second running configuration information required for the at least one subtask to execute the parameter adjustment task based on the request for creating at least one subtask initiated by the main task, and start the at least one subtask so that the at least one subtask executes the parameter adjustment task.

[0156] Configuration module 3500 is used to configure the main task to obtain the task running result information of each of the subtasks, and determine to stop the running of each of the subtasks based on the task running result information, or to initiate a request to create at least one new subtask for executing the parameter adjustment task.

[0157] In one embodiment, the parameter adjustment data information includes the machine learning algorithm used for the parameter adjustment task and its corresponding data source, evaluation index and parameter adjustment algorithm;

[0158] The first operation configuration information includes the operation resources corresponding to the main task and the first data output directory;

[0159] The second operation configuration information includes the operation resources corresponding to the subtask and the second data output directory.

[0160] In one embodiment, the configuration module 3500 is also used to obtain the task information corresponding to the main task and / or the at least one subtask generated during the execution of the parameter adjustment task; and to configure the main task to store the task information corresponding to the execution of the parameter adjustment task in the first data output directory, and the task information stored in the first data output directory includes the running status and key logs of the main task; and to configure the subtask to store the task information corresponding to the execution of the parameter adjustment task in the second data output directory, and the task information stored in the second data output directory includes the running status, key logs and task running result information of the subtask.

[0161] In one embodiment, the configuration module 3500 is also used to configure the main task and the subtask to share the second data output directory, so that the main task obtains the task running result information of each subtask stored in the second data output directory, and determines to stop the running of each subtask based on the task running result information, or generates other hyperparameters according to the parameter adjustment algorithm to initiate a request to create at least one new subtask for executing the parameter adjustment task based on the other hyperparameters.

[0162] In one embodiment, the task information stored in the first data output directory also includes a final parameter adjustment report corresponding to the parameter adjustment task.

[0163] The configuration module 3500 is also used to generate the final parameter adjustment report when it is determined to stop the execution of each subtask based on the task execution result information.

[0164] In one embodiment, the configuration module 3500 is also used to select a subtask with the best task running result when determining to stop the running of each subtask based on the task running result information; and output and / or save a set of hyperparameters corresponding to the subtask as the optimal hyperparameters.

[0165] In one embodiment, the parameter adjustment algorithm is a custom parameter adjustment algorithm provided by the user.

[0166] The determination module 3200 is also used to obtain the file of the custom parameter adjustment algorithm from the predetermined storage space according to the parameter adjustment task request; and determine that the custom parameter adjustment algorithm is the parameter adjustment algorithm corresponding to the parameter adjustment data information.

[0167] In one embodiment, the file of the custom parameter adjustment algorithm is a code file packaged based on the custom parameter adjustment algorithm written in a programming language, and the code file is uploaded to the storage space by the user.

[0168] In one embodiment, the code file is a Python script, a Java jar file package, or a Shell script.

[0169] In one embodiment, the apparatus 3000 further includes a first providing module (not shown in the figure).

[0170] The first providing module is used to provide a first application program interface so that the main task can obtain the task information stored in the second data output directory in real time through the first application program interface.

[0171] In one embodiment, the configuration module 3500 is also used to obtain in real time, through active query, the task information corresponding to the main task and / or the subtask generated during the execution of the parameter adjustment task; or, to obtain the task information by receiving the task information corresponding to the main task and / or the subtask generated during the execution of the parameter adjustment task as reported periodically.

[0172] In one embodiment, the apparatus 3000 further includes a second providing module (not shown in the figure).

[0173] The second providing module is also used to provide a second application interface; receive a task information query request sent by the user through the second application interface; read the task information stored in the corresponding first data output directory and / or the second data output directory according to the query request; and send the task information to the user in response to the query request, so that the user can determine whether to stop the parameter adjustment task through the received task information.

[0174] In one embodiment, the first startup module 3300 is also used to generate at least one set of hyperparameters based on the parameter adjustment algorithm; determine at least one set of subtasks for correspondingly executing the parameter adjustment task based on the at least one set of hyperparameters; and initiate a request to create the at least one set of subtasks based on the machine learning algorithm and its corresponding data source and evaluation indicators.

[0175] In one embodiment, the second startup module 3400 is further used to perform machine learning training on the data source according to the hyperparameters, the machine learning algorithm and the evaluation index to obtain corresponding training results.

[0176] In one embodiment, the apparatus 3000 further includes an operation module (not shown in the figure).

[0177] The running module is used to execute the parameter adjustment task according to the main task and the subtask, respectively corresponding to the required running resources, and run the main task and the subtask in a local or external computing cluster.

[0178] <Example>

[0179] The following will be combined Figure 4 and Figure 5 The method for implementing automatic parameter adjustment for machine learning provided in this embodiment is described.

[0180] In step S4010, the device 3000 receives a parameter adjustment task creation request initiated by the user.

[0181] In step S4020, the device 3000 submits the main task for executing the parameter adjustment task to a local or external computing cluster of the device 3000 based on the parameter adjustment task creation request, and runs the main task in the local or external computing cluster of the device 3000.

[0182] In this step S4020, the device 3000 can obtain the parameter adjustment data information and the first operation configuration information required by the main task based on the parameter adjustment task creation request, and start the main task according to the parameter adjustment data information and the first operation configuration information. The parameter adjustment data information may include, for example, the machine learning algorithm of the parameter adjustment task and its corresponding data source, evaluation index and parameter adjustment algorithm, and the first operation configuration information may include, for example, Figure 5 The running resources and data output directory corresponding to the main task shown.

[0183] In this step S4020, when the main task performs the parameter adjustment task and the required running resources are large, the main task can be submitted to an external computing cluster, for example, to Figure 5 In the computing cluster shown on the right.

[0184] In this step S4020, when the main task performs the parameter adjustment task and the required operating resources are small, the main task can be directly submitted to the device 3000 for local operation, for example, submitted to Figure 5 The device 3000 shown on the left is a local automatic parameter adjustment task operation management device.

[0185] In step S4030, the main task generates a batch of hyperparameters for training tasks based on the parameter adjustment algorithm, generates a batch of subtasks corresponding to the parameter adjustment tasks based on the hyperparameters, and submits the subtasks in batches.

[0186] In this step S4040, after the main task is started, it can generate a batch of hyperparameters of training tasks according to the parameter adjustment algorithm, and determine a batch of subtasks for executing the parameter adjustment tasks according to the hyperparameters, and initiate a request to create a batch of subtasks according to the machine learning algorithm and its corresponding data source and evaluation indicators. After receiving the request, the device 3000 can configure the running configuration information required for the subtask to execute the parameter adjustment task, such as Figure 5 The running resources and data output directory shown in the figure are then submitted to the Figure 5 The device 3000 shown on the right is local or Figure 5 The external computing cluster shown on the left can be used to run subtasks in a computing cluster local to or external to the device 3000. The above subtasks can be as follows: Figure 5 The machine learning training subtask 1 and the machine learning training subtask 2 are shown on the left, where both the machine learning training subtask 1 and the machine learning training subtask 2 run specific training algorithms.

[0187] Step S4040: The main task polls the training results corresponding to the subtasks.

[0188] In step S4050, the main task judges the training results corresponding to the subtask and obtains a judgment result. If the judgment result indicates that there is no need to try other hyperparameters, step S4060 is executed; otherwise, step S4030 is executed.

[0189] In step S4060, when the main task determines that there is no need to try other hyperparameters based on the training results, it stops the running of each subtask, generates a parameter adjustment report, and selects a set of hyperparameters corresponding to the subtask with the best task running results as the optimal hyperparameters and outputs them. The parameter adjustment task ends.

[0190] <Storage Medium Embodiment>

[0191] This embodiment provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the method according to any one of the above method embodiments is implemented.

[0192] The present invention may be a device, a method and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present invention.

[0193] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination thereof. As used herein, a computer-readable storage medium is not to be construed as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through an electrical wire.

[0194] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in the computer-readable storage medium in each computing / processing device.

[0195] The computer program instructions for performing the operation of the present invention can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, and conventional procedural programming languages ​​such as "C" language or similar programming languages. The computer readable program instructions can be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer, partially on a remote computer, or completely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), is personalized by utilizing the state information of the computer readable program instructions, and the electronic circuit can execute the computer readable program instructions, thereby realizing various aspects of the present invention.

[0196] Various aspects of the present invention are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0197] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0198] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0199] The flowcharts and block diagrams in the accompanying drawings show the possible implementation architecture, functions and operations of the systems, methods and computer program products according to multiple embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, program segment or part of an instruction, and the module, program segment or part of the instruction contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system that performs the specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions. It is well known to those skilled in the art that implementation by hardware, implementation by software, and implementation by a combination of software and hardware are all equivalent.

[0200] While various embodiments of the present invention have been described above, the foregoing description is intended to be illustrative, non-exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, their practical applications, or technological improvements in the marketplace, or to enable others skilled in the art to understand the embodiments disclosed herein. The scope of the present invention is defined by the appended claims.

Claims

1. A method for realizing automatic parameter adjustment of machine learning, wherein: The method comprises: Receive the parameter adjustment task creation request initiated by the user; Based on the parameter adjustment task creation request, determine the parameter adjustment data information and first operation configuration information required for the main task for executing the parameter adjustment task, wherein the parameter adjustment data information includes the machine learning algorithm used for the parameter adjustment task and its corresponding data source, evaluation index and parameter adjustment algorithm, the parameter adjustment algorithm is an algorithm for optimizing the parameters corresponding to the machine learning algorithm, the first operation configuration information includes the operation resources corresponding to the main task and the first data output directory, the operation resources include CPU computing resources, and the task information stored in the first data output directory includes the operation status and key logs of the main task; Starting the main task according to the parameter adjustment data information and the first operation configuration information, so that the main task initiates a request to create at least one subtask for executing the parameter adjustment task according to the parameter adjustment data information; Determine, based on a request initiated by the main task to create at least one subtask, second running configuration information required for the at least one subtask to execute the parameter adjustment task, and start the at least one subtask so that the at least one subtask executes the parameter adjustment task, wherein the second running configuration information includes running resources corresponding to the subtask and a second data output directory, and the task information stored in the second data output directory includes the running status, key logs, and task running result information of the subtask; Configure the main task to obtain the task running result information of each of the subtasks, and determine to stop the running of each of the subtasks according to the task running result information, or initiate a request to create at least one new subtask for executing the parameter adjustment task, The main task initiating a request to create at least one subtask for executing the parameter adjustment task according to the parameter adjustment data information includes: Generate at least one set of hyperparameters according to the parameter tuning algorithm; Determining at least one group of subtasks for correspondingly executing the parameter adjustment task according to the at least one group of hyperparameters; Initiate a request to create the at least one group of subtasks based on the machine learning algorithm and its corresponding data source and evaluation indicators.

2. The method according to claim 1, wherein The method further comprises: Obtaining task information corresponding to the main task and / or the at least one subtask generated during the execution of the parameter adjustment task; and Configuring the main task to store the task information generated during the execution of the parameter adjustment task in the first data output directory; Configure the subtask to store the corresponding task information generated during the execution of the parameter adjustment task in the second data output directory.

3. The method according to claim 2, wherein: Configuring the main task to obtain task execution result information of each of the subtasks, and determining to stop the execution of each of the subtasks according to the task execution result information, or initiating a request to create at least one new subtask for executing the parameter adjustment task, includes: Configure the main task and the subtask to share the second data output directory, so that the main task obtains the task running result information of each subtask stored in the second data output directory, and determines to stop the running of each subtask based on the task running result information, or generates other hyperparameters according to the parameter adjustment algorithm to initiate a request to create at least one new subtask for executing the parameter adjustment task based on the other hyperparameters.

4. The method according to claim 3, wherein: The task information stored in the first data output directory also includes a final parameter adjustment report corresponding to the parameter adjustment task, and the method further includes: When it is determined to stop the execution of each of the subtasks based on the task execution result information, the final parameter adjustment report is generated.

5. The method according to claim 3, wherein: The method further comprises: When determining to stop the execution of each of the subtasks according to the task execution result information, selecting a subtask with the best task execution result; A set of hyperparameters corresponding to the subtask is output and / or saved as optimal hyperparameters.

6. The method according to claim 1, wherein The parameter adjustment algorithm is a custom parameter adjustment algorithm provided by the user, and the determining, based on the parameter adjustment task request, the parameter adjustment data information required for the main task for executing the parameter adjustment task further includes: Obtaining a file of the custom parameter adjustment algorithm from a predetermined storage space according to the parameter adjustment task request; Determine that the custom parameter adjustment algorithm is the parameter adjustment algorithm corresponding to the parameter adjustment data information.

7. The method according to claim 6, wherein: The file of the custom parameter adjustment algorithm is a code file packaged based on the custom parameter adjustment algorithm written in a programming language, and the code file is uploaded to the storage space by the user.

8. The method according to claim 7, wherein: The code file is a Python script, a Java jar file package or a Shell script.

9. The method according to claim 3, wherein: The method further comprises: A first application program interface is provided so that the main task can obtain the task information stored in the second data output directory in real time through the first application program interface.

10. The method according to claim 2, wherein: The acquiring of the task information corresponding to the main task and / or the subtask generated during the execution of the parameter adjustment task includes: By active query, the task information corresponding to the main task and / or the subtask generated during the execution of the parameter adjustment task is obtained in real time; or, The task information is obtained by receiving the task information generated in the process of executing the parameter adjustment task as reported regularly by the main task and / or the subtask.

11. The method according to claim 2 or 3, wherein: The method further comprises: providing a second application programming interface; receiving a task information query request sent by the user through the second application program interface; Read the task information stored in the corresponding first data output directory and / or the second data output directory according to the query request; The task information is sent to the user in response to the query request, so that the user can determine whether to stop the parameter adjustment task based on the received task information.

12. The method according to claim 1, wherein The subtask performing the parameter adjustment task includes: Perform machine learning training on the data source according to the hyperparameters, the machine learning algorithm, and the evaluation indicators to obtain corresponding training results.

13. The method according to claim 1, wherein The method further comprises: The parameter adjustment task is executed according to the required operating resources corresponding to the main task and the subtask, and the main task and the subtask are run in a local or external computing cluster.

14. A device for realizing automatic parameter adjustment of machine learning, wherein: include: The receiving module is used to receive the parameter adjustment task creation request initiated by the user; A determination module is used to determine, based on the parameter adjustment task creation request, the parameter adjustment data information and first operation configuration information required for the main task of executing the parameter adjustment task, wherein the parameter adjustment data information includes the machine learning algorithm used for the parameter adjustment task and its corresponding data source, evaluation index and parameter adjustment algorithm, the parameter adjustment algorithm is an algorithm for optimizing parameters corresponding to the machine learning algorithm, the first operation configuration information includes the operation resources corresponding to the main task and a first data output directory, the operation resources include CPU computing resources, and the task information stored in the first data output directory includes the operation status and key logs of the main task; A first starting module is configured to start the main task according to the parameter adjustment data information and the first operation configuration information, so that the main task initiates a request to create at least one subtask for executing the parameter adjustment task according to the parameter adjustment data information; A second startup module is used to determine, based on a request initiated by the main task to create at least one subtask, second running configuration information required for the at least one subtask to execute the parameter adjustment task, and start the at least one subtask so that the at least one subtask executes the parameter adjustment task, wherein the second running configuration information includes running resources corresponding to the subtask and a second data output directory, and the task information stored in the second data output directory includes the running status, key logs, and task running result information of the subtask; A configuration module is used to configure the main task to obtain the task running result information of each subtask, and determine to stop the running of each subtask according to the task running result information, or to initiate a request to create at least one new subtask for executing the parameter adjustment task, Among them, the first startup module is also used to generate at least one set of hyperparameters according to the parameter adjustment algorithm; determine at least one set of subtasks for corresponding execution of the parameter adjustment task according to the at least one set of hyperparameters; and initiate a request to create the at least one set of subtasks according to the machine learning algorithm and its corresponding data source and evaluation indicators.

15. The device according to claim 14, wherein The configuration module is further configured to obtain task information corresponding to the main task and / or the at least one subtask generated during the execution of the parameter adjustment task; and configure the main task to store the task information corresponding to the execution of the parameter adjustment task in the first data output directory; Configure the subtask to store the corresponding task information generated during the execution of the parameter adjustment task in the second data output directory.

16. The device according to claim 15, wherein The configuration module is also used to configure the main task and the subtask to share the second data output directory, so that the main task obtains the task running result information of each subtask stored in the second data output directory, and determines to stop the running of each subtask based on the task running result information, or generates other hyperparameters according to the parameter adjustment algorithm to initiate a request to create at least one new subtask for executing the parameter adjustment task based on the other hyperparameters.

17. The device according to claim 16, wherein The task information stored in the first data output directory also includes the final parameter adjustment report corresponding to the parameter adjustment task. The configuration module is also used to generate the final parameter adjustment report when determining to stop the execution of each subtask based on the task execution result information.

18. The device according to claim 16, wherein The configuration module is further configured to select a subtask with the best task running result when determining to stop the running of each subtask according to the task running result information; A set of hyperparameters corresponding to the subtask is output and / or saved as optimal hyperparameters.

19. The device according to claim 14, wherein The parameter adjustment algorithm is a custom parameter adjustment algorithm provided by the user, The determination module is also used to obtain the file of the custom parameter adjustment algorithm from the predetermined storage space according to the parameter adjustment task request; and determine that the custom parameter adjustment algorithm is the parameter adjustment algorithm corresponding to the parameter adjustment data information.

20. The device according to claim 19, wherein The file of the custom parameter adjustment algorithm is a code file packaged based on the custom parameter adjustment algorithm written in a programming language, and the code file is uploaded to the storage space by the user.

21. The device according to claim 20, wherein The code file is a Python script, a Java jar file package or a Shell script.

22. The apparatus according to claim 16, further comprising a first providing module, The first providing module is used to provide a first application program interface, so that the main task can obtain the task information stored in the second data output directory in real time through the first application program interface.

23. In the device according to claim 15, the configuration module is further used to obtain in real time through active query the task information generated by the main task and / or the subtask during the execution of the parameter adjustment task; or, to obtain the task information by receiving the task information generated by the main task and / or the subtask during the execution of the parameter adjustment task as reported periodically.

24. The device according to claim 15 or 16, wherein The device further includes a second providing module, The second providing module is configured to provide a second application program interface (API); and receive a task information query request sent by the user through the second application program interface. Read the task information stored in the corresponding first data output directory and / or the second data output directory according to the query request; The task information is sent to the user in response to the query request, so that the user can determine whether to stop the parameter adjustment task based on the received task information.

25. The apparatus according to claim 14, wherein The second startup module is further used to perform machine learning training on the data source according to the hyperparameters, the machine learning algorithm and the evaluation indicators to obtain corresponding training results.

26. The apparatus according to claim 14, wherein The device further includes an operation module, The running module is used to execute the parameter adjustment task according to the main task and the subtask, respectively corresponding to the required running resources, and run the main task and the subtask in a local or external computing cluster.

27. An electronic device comprising at least one computing device and at least one storage device, wherein: The at least one storage device is configured to store instructions for controlling the at least one computing device to execute the method according to any one of claims 1 to 13.

28. A computer-readable storage medium, wherein: A computer program is stored thereon, which implements the method according to any one of claims 1 to 13 when executed by a processor.

Citation Information

Patent Citations

  • Cloud collaborative deep learning model distributed training method and system

    CN111444019A

  • Parameter adjustment method, device, equipment and system for machine learning model

    CN111723939A