Model training method and apparatus, and computing device
By using the second model to predict the training process of the first model, the problem that the model training platform in the prior art cannot effectively find the optimal training index data, and the effect of reducing trial and error costs and improving training efficiency is achieved.
Patent Information
- Application Number
- PCT/CN2024/104953
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-27
- Filing Date
- 2024-07-11
- Publication Date
- 2025-03-27
AI Technical Summary
Existing model training platforms cannot effectively predict and find the optimal index data for the model during the training process, resulting in high trial and error costs, slow training speed and waste of resources.
The second model predicts the training process or training performance of the first model, helping users find the optimal configuration parameters and training indicator data, thereby optimizing model training.
It reduces the trial and error cost of model training, improves the training speed and efficiency of the model, and avoids waste of resources.
Smart Images

Figure CN2024104953_27032025_PF_FP_ABST
Abstract
Description
Model training method, device and computing equipment
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on September 22, 2023, with application number 202311234964.8 and application name “Method and computing device for intelligent quantitative analysis modeling for network model training”, and the Chinese patent application filed with the State Intellectual Property Office of China on November 27, 2023, with application number 202311607988.3 and application name “Method, device and computing device for model training”, all of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of AI, and more specifically, to a method, apparatus, and computing device for model training. Background Art
[0003] With the continuous advancement and improvement of artificial intelligence technology, deep neural network models have been widely used in fields such as natural language processing, computer vision, and speech recognition. Recent applied research has shown that increasing model size can further enhance the model's ability to solve complex tasks. However, as model size increases, the computational effort required for model training increases exponentially, and the time required to complete model training also increases exponentially. Faced with the enormous time and computational costs required by large-scale deep learning models, how to improve model training speed, resource efficiency, and reduce trial and error costs has become a key issue in the field of artificial intelligence.
[0004] Current technical solutions often feature relatively simple model training platforms, providing only basic model training capabilities, including accessing model code, files, and data, and scheduling computing resources. As the cost of training current models (especially large ones) rises, the trial-and-error cost of a single training session also increases exponentially. Existing model training platforms rely on experience and repeated trial and error to ultimately achieve optimal model performance during training, ultimately wasting training resources.
[0005] Therefore, how to reduce the trial-and-error cost of the model training process and improve the training speed and efficiency of the model has become a technical problem that needs to be solved urgently.
[0006] Summary of the Invention
[0007] This application provides a model training method that can help users predict and find the optimal indicator data for the model during the training process, reducing the trial and error cost of model training and improving the training speed and efficiency of the model.
[0008] In a first aspect, a method for model training is provided, the method comprising: receiving multiple values of configuration parameters of a first model input by a user, the configuration parameters of the first model including training parameters and / or model parameters of the first model; predicting multiple training indicator data of the first model corresponding to the multiple values of the configuration parameters according to a second model, the training indicator data of the first model including training process data of the first model and / or hardware indicator data consumed by the server for training the first model, the input information of the second model including the first value of the configuration parameter, the output information of the second model including the first training indicator data of the first model, the multiple values of the configuration parameter including the first value, and the training indicator data of the first model including the first training indicator data; determining target training indicator data from the multiple training indicator data of the first model, and sending the target value corresponding to the target training indicator data from the multiple values of the configuration parameter to the user; receiving the target value confirmed by the user, and training the first model based on the target value.
[0009] In the above technical solution, the training process or training performance of the first model can be predicted by the second model, helping users to predict and find the optimal indicator data of the first model during the training process, rather than relying on experience and obtaining it through repeated trial and error of the first model. This can avoid waste of resources during the training process of the model, save training resources for the first model, and also reduce the trial and error cost of the first model training, thereby improving the training speed and training efficiency of the first model.
[0010] In combination with the first aspect, in certain implementations of the first aspect, the method further includes: obtaining configuration parameters of each third model in at least one third model and training indicator data of each third model; and training to obtain the second model based on the configuration parameters of each third model and the training indicator data of each third model.
[0011] In combination with the first aspect, in certain implementations of the first aspect, during the training process of the at least one third model, the configuration parameters of each third model in the at least one third model and the training indicator data of each third model are automatically collected.
[0012] In combination with the first aspect, in certain implementations of the first aspect, the method further includes: generating a recommendation report for the first model based on the target value of the configuration parameters of the first model, the recommendation report for the first model including the target value, the reason for recommending the target value and / or the benefits that can be obtained by training the first model using the target value; and displaying the recommendation report for the first model to the user.
[0013] In combination with the first aspect, in certain implementations of the first aspect, the method further includes: during the training of the first model, automatically collecting the values of the configuration parameters used by the first model in the actual training process and the actual corresponding training indicator data.
[0014] In combination with the first aspect, in certain implementations of the first aspect, the method further includes: updating the second model according to the values of the configuration parameters used by the first model in the actual training process and the actual corresponding training index data.
[0015] In the above technical solution, after obtaining the values of the configuration parameters of the first model in the actual training process and the corresponding training index data, the above second model can also be updated based on the values of the configuration parameters of the first model in the actual training process and the corresponding training index data, thereby continuously improving the accuracy of the second model prediction.
[0016] In combination with the first aspect, in certain implementations of the first aspect, the method is applied to a cloud management platform, which is used to manage the infrastructure for providing cloud services, the infrastructure including at least one cloud data center, each of which is provided with at least one server, and the at least one server is used to train the first model, the second model, and the third model.
[0017] In a second aspect, a device for model training is provided, which includes: a receiving module, a prediction module, a determination module, and a training module, wherein the receiving module is used to receive multiple values of configuration parameters of a first model input by a user, the configuration parameters of the first model include the training parameters and / or model parameters of the first model; the prediction module is used to predict, based on a second model, multiple training indicator data of the first model corresponding to the multiple values of the configuration parameters, the training indicator data of the first model include the training process data of the first model and / or the hardware indicator data consumed by the server for training the first model, the input information of the second model includes the first value of the configuration parameter, the output information of the second model includes the first training indicator data of the first model, the multiple values of the configuration parameter include the first value, and the training indicator data of the first model include the first training indicator data; the determination module is used to determine target training indicator data from the multiple training indicator data of the first model, and send the target value corresponding to the target training indicator data among the multiple values of the configuration parameter to the user; the training module is used to receive the target value confirmed by the user, and train the first model based on the target value.
[0018] In combination with the second aspect, in certain implementations of the second aspect, the receiving module is also used to obtain the configuration parameters of each third model in at least one third model and the training indicator data of each third model; the training module is also used to train and obtain the second model based on the configuration parameters of each third model and the training indicator data of each third model.
[0019] In combination with the second aspect, in certain implementations of the second aspect, the receiving module is specifically used to: during the training process of the at least one third model, automatically collect the configuration parameters of each third model in the at least one third model and the training indicator data of each third model.
[0020] In combination with the second aspect, in certain implementations of the second aspect, the device also includes: a generation module for generating a recommendation report for the first model based on the target value of the configuration parameter of the first model, the recommendation report for the first model including the target value, the reason for recommending the target value and / or the benefits that can be obtained by training the first model using the target value; a display module for displaying the recommendation report of the first model to the user.
[0021] In combination with the second aspect, in certain implementations of the second aspect, the training module is also used to automatically collect the values of the configuration parameters used by the first model in the actual training process and the actual corresponding training indicator data during the training of the first model.
[0022] In combination with the second aspect, in certain implementations of the second aspect, the training module is also used to update the second model based on the values of the configuration parameters used by the first model in the actual training process and the actual corresponding training indicator data.
[0023] In combination with the second aspect, in certain implementations of the second aspect, the device is applied to a cloud management platform, which is used to manage the infrastructure for providing cloud services, and the infrastructure includes at least one cloud data center, each of which is provided with at least one server, and the at least one server is used to train the first model, the second model, and the third model.
[0024] In a third aspect, a computing device cluster is provided, comprising at least one computing device, each computing device comprising a processor and a memory; the processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method in the first aspect or any possible implementation of the first aspect.
[0025] In a fourth aspect, a chip is provided, which obtains instructions and executes the instructions to implement the method in the above-mentioned first aspect and any implementation manner of the first aspect.
[0026] Optionally, as an implementation, the chip includes a processor and a data interface, and the processor reads instructions stored in the memory through the data interface to execute the method in the above-mentioned first aspect and any implementation of the first aspect.
[0027] Optionally, as an implementation method, the chip may also include a memory, in which instructions are stored, and the processor is used to execute the instructions stored on the memory. When the instructions are executed, the processor is used to execute the method in the first aspect and any one of the implementation methods of the first aspect.
[0028] In a fifth aspect, a computer program product comprising instructions is provided. When the instructions are executed by a computing device cluster, the computing device cluster executes the method in the first aspect and any one of the implementations of the first aspect.
[0029] In a sixth aspect, a computer-readable storage medium is provided, comprising computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the method according to the first aspect and any one of the implementations of the first aspect.
[0030] By way of example, these computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), Flash memory, electrically EPROM (EEPROM), and a hard drive.
[0031] Optionally, as an implementation manner, the above-mentioned storage medium may specifically be a non-volatile storage medium. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Figure 1 is a schematic diagram of the training and inference stages of the model.
[0033] FIG2 is a schematic block diagram of a deep learning model 100 .
[0034] FIG3 is a schematic block diagram of a cloud scenario applicable to an embodiment of the present application.
[0035] Figure 4 is a schematic diagram of the interaction between a tenant and an AI basic development platform applicable to an embodiment of the present application.
[0036] FIG5 is a schematic flowchart of a model training method provided in an embodiment of the present application.
[0037] FIG6 is a system block diagram of a model training provided in an embodiment of the present application.
[0038] FIG7 is a schematic diagram of a list interface of training jobs provided by a job management submodule according to an embodiment of the present application.
[0039] FIG8 is a schematic diagram of a list interface of modeling jobs provided by a job management submodule according to an embodiment of the present application.
[0040] FIG9 is a schematic diagram of an interface for a user-defined data processing method provided in an embodiment of the present application.
[0041] FIG10 is a schematic diagram of an interface of an analysis report of training quantitative score data provided in an embodiment of the present application.
[0042] FIG11 is a schematic diagram of an interface for configuring a training job provided in an embodiment of the present application.
[0043] FIG12 is a schematic diagram of an interface for a training modeling configuration provided in an embodiment of the present application.
[0044] FIG13 is a schematic diagram of an interface showing a configuration value range for a training job provided in an embodiment of the present application.
[0045] FIG14 is a schematic diagram of an interface for intelligent configuration suggestions for a training job provided in an embodiment of the present application.
[0046] FIG15 is a schematic diagram of an interface for modeling analysis suggestions provided in an embodiment of the present application.
[0047] Figure 16 is a schematic flowchart of another model training method provided in an embodiment of the present application.
[0048] FIG17 is a schematic block diagram of a model training device 1700 provided in an embodiment of the present application.
[0049] FIG18 is a schematic diagram of the architecture of a computing device 1800 provided in an embodiment of the present application.
[0050] FIG19 is a schematic diagram of the architecture of a computing device cluster provided in an embodiment of the present application.
[0051] FIG20 is a schematic diagram of a network connection between computing devices 1800A and 1800B provided in an embodiment of the present application. DETAILED DESCRIPTION
[0052] The technical solution in this application will be described below with reference to the accompanying drawings.
[0053] This application will present various aspects, embodiments, or features around systems including multiple devices, components, modules, etc. It should be understood and appreciated that each system may include additional devices, components, modules, etc., and / or may not include all of the devices, components, modules, etc. discussed in conjunction with the figures. Furthermore, combinations of these aspects may also be used.
[0054] Additionally, in the embodiments of this application, words such as "exemplary" and "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described in this application as "exemplary" should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of the word "exemplary" is intended to present concepts in a concrete manner.
[0055] In the embodiments of the present application, “corresponding” and “relevant” may sometimes be used interchangeably. It should be noted that when the distinction between them is not emphasized, the meanings they intend to express are consistent.
[0056] The business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. A person skilled in the art will appreciate that, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are equally applicable to similar technical problems.
[0057] References to "one embodiment" or "some embodiments" in this specification mean that a particular feature, structure, or characteristic described in conjunction with that embodiment is included in one or more embodiments of the present application. Thus, phrases such as "in one embodiment," "in some embodiments," "in other embodiments," and "in yet other embodiments" appearing in various places in this specification do not necessarily refer to the same embodiment, but rather mean "one or more but not all embodiments," unless otherwise specifically emphasized. The terms "including," "comprising," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0058] In this application, "at least one" means one or more, and "more" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: including the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.
[0059] Artificial intelligence (AI) is the theory, methods, techniques, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, to perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a branch of computer science that seeks to understand the essence of intelligence and develop new intelligent machines that can respond in a manner similar to human intelligence. AI also studies the design principles and implementation methods of various intelligent machines, enabling them to possess the capabilities of perception, reasoning, and decision-making. Research in the field of AI includes robotics, natural language processing, computer vision, decision-making and reasoning, human-computer interaction, recommendation and search, and basic AI theory.
[0060] The basic principle of AI is to combine massive data with super-powerful computing processing capabilities and intelligent algorithms to establish an AI model to solve specific problems, so that the AI model can automatically summarize and learn potential patterns or features from the data, thereby achieving a way of thinking close to that of humans.
[0061] An AI model, also known as an AI algorithm (or AI operator), is a general term for mathematical algorithms based on the principles of artificial intelligence. It is also the basis for using AI to solve specific problems. Depending on the specific methods and / or technologies used to implement AI, AI models may also be referred to as machine learning models, deep learning models, or reinforcement learning models. The following details machine learning, machine learning models, deep learning, deep learning models, neural networks, reinforcement learning, and reinforcement learning models.
[0062] Machine learning is an approach to artificial intelligence. Its goal is to design and analyze algorithms (also known as models) that enable computers to automatically "learn." These algorithms are called machine learning models. Machine learning models automatically analyze data to identify patterns and use these patterns to make predictions about unknown data. There are many different types of machine learning models. Depending on whether the model training relies on labels corresponding to the training data, machine learning models can be divided into: 1. supervised learning models; 2. unsupervised learning models.
[0063] 1. Supervised learning model: A model obtained by determining the parameters of the initial AI model based on the data in a given training data set and the labels corresponding to each data in the training data set. The process of determining the parameters of the initial AI model using the data in the training data set and the labels corresponding to the data is also called supervised learning (or supervised training). The labels of the data in the training data set are usually manually annotated to identify the correct answer to the data for a specific task. Typical supervised learning models include: support vector machines, neural network models, logistic regression models, decision trees, naive Bayes models, Gaussian discriminant models, etc. Supervised learning models are usually used for classification or regression.
[0064] 2. Unsupervised learning model: This is a model obtained by determining the parameters of the initial AI model based on the unlabeled data in a given training dataset. The process of using unlabeled training data to determine the parameters of the initial AI model is also called unsupervised learning (or unsupervised training). Through unsupervised learning, the model can discover meaningful information and associations in the data, and then predict the results of the data. There are many types of unsupervised learning models, and the more commonly used ones are: clustering models (clustering), principal component analysis (PCA), anomaly detection models, autoencoders, generative adversarial networks (GANs), etc.
[0065] Deep learning is a new technical field that has emerged in the process of machine learning research. Specifically, deep learning is a method in machine learning based on deep representation learning of data. Deep learning interprets data by establishing a neural network that simulates the human brain for analysis and learning.
[0066] In the field of AI, deep learning is a learning technology based on deep neural network algorithms. Deep learning models consist of input layers, hidden layers, and output layers, and use multiple nonlinear transformations to process data.
[0067] In machine learning, almost all features need to be determined by industry experts and then encoded. However, deep learning algorithms attempt to learn features from data themselves. Algorithms designed based on deep learning are called deep learning models.
[0068] Currently, the typical structure of a deep learning model is a deep neural network. A neural network is a mathematical or computational model that mimics the structure and function of biological neural networks (the central nervous system of animals, particularly the brain). Neural networks perform computations by connecting a large number of neurons. A neural network can include multiple neural network layers with different functions, each with parameters and computational rules. Different layers in a neural network have different names depending on the computational formula or function. For example, a layer that performs convolution is called a convolutional layer, which is often used to extract features from input signals (such as images). A neural network can also be composed of multiple sub-neural networks. Different neural network structures can be applied to different scenarios (such as classification and recognition) or provide different results when used in the same scenario. Specific differences in neural network structure include one or more of the following: different number of layers in the neural network, different order of layers, and different weights, parameters, or computational formulas in each layer. A variety of different neural networks with high accuracy are already available in the industry for applications such as recognition and classification. Some neural networks can be trained with specific datasets and then used independently to complete a task or combined with other neural networks (or other functional modules) to complete a task.
[0069] In other words, deep learning models are actually machine learning models with complex neural network structures. Depending on whether the deep learning model training relies on labels corresponding to the training data, deep learning models can be divided into supervised learning models and unsupervised learning models. This will not be discussed in detail here. Classic deep learning models include convolutional neural networks (CNNs), recurrent neural networks (RNNs), and recursive neural networks (RNNs).
[0070] Reinforcement learning is a special field in machine learning. It is a process of continuously learning optimal strategies, making sequential decisions, and obtaining maximum rewards through the interaction between the agent and the environment.
[0071] In simple terms, reinforcement learning is about learning “what to do (i.e., how to map the current situation into actions) to maximize the numerical reward signal.” The agent is not told what actions to take, but must discover which actions will produce the most lucrative rewards through trial and error.
[0072] Reinforcement learning differs from supervised and unsupervised learning in machine learning. Supervised learning involves learning from externally provided labeled training data (task-driven), while unsupervised learning involves discovering implicit structures in unlabeled data (data-driven). Reinforcement learning involves the process of finding optimal solutions through trial and error. The agent must exploit existing experience to gain benefits while also conducting trials to optimize future action options (i.e., learning from its mistakes).
[0073] Before any AI model can be used to solve a specific technical problem, it must be trained. AI model training involves using a specified initial model to calculate training data. Based on the calculation results, the model's parameters are adjusted using a specific method, allowing the model to gradually learn certain patterns and acquire specific functions. After training, a stable AI model can be used for inference. AI model inference involves using a trained AI model to calculate input data and obtain predicted inference results.
[0074] The most common method for training AI models is supervised training. For example, most deep learning models are trained using supervised training. The following, combined with Figure 1, describes the most widely used supervised training methods for deep learning models.
[0075] As shown in Figure 1, during the training phase, a training set for the deep learning model must first be constructed based on the goal. The training set includes multiple training data, each of which is labeled. The label of the training data is the correct answer to a specific question for that training data. The label can represent the goal of using the training data to train the deep learning model. For example, if a deep learning model is to be trained to recognize different animals, the training set can include multiple images of different animals (i.e., training data). Each image can have a label that identifies the type of animal contained therein, such as a cat or dog. In this example, the type of animal corresponding to each image is the label of the training data.
[0076] When training a deep learning model, training data can be input in batches into the deep learning model after parameter initialization. The deep learning model then performs calculations (i.e., inference) on the training data to obtain predictions for the training data. The predictions obtained through inference and the labels corresponding to the training data are used as data for calculating the loss according to the loss function. The loss function is used to calculate the gap between the model's predictions for the training data and the labels of the training data (i.e., the loss value) during the model training phase. The loss function can be implemented using different mathematical functions. Common loss function expressions include: mean square error loss function, logarithmic loss function, least squares method, etc.
[0077] The loss value calculated based on the loss function can be used to update the parameters of the deep learning model. Gradient descent is often used to update the parameters. Model training is an iterative process, where each iteration infers different training data and calculates the loss value. The goal of multiple iterations is to continuously update the parameters of the deep learning model and find the parameter configuration that minimizes or stabilizes the loss function.
[0078] It should be understood that the loss function is a function that maps the value of a random event or its related random variables to a non-negative real number to represent the "risk" or "loss" of the random event. In applications, the loss function is usually associated with the optimization problem as a learning criterion, that is, the model is solved and evaluated by minimizing the loss function. For example, in machine learning, the loss function is used for parameter estimation of the model, and the loss value obtained based on the loss function can be used to describe the degree of difference between the model's predicted value and the actual value. Common loss functions include the mean square error loss function, the support vector machine (SVM) hinge loss function, the cross entropy loss function, etc.
[0079] During the training phase, to optimize model training efficiency and post-training performance, it's necessary to set appropriate hyperparameters. Hyperparameters for deep learning models are parameters that can't be learned from the training data or changed by the training data during training. They're a concept relative to the model's parameters. Hyperparameters for deep learning models are typically set manually based on experience or experimentation. These include the learning rate, batch size, and network architecture hyperparameters (e.g., the number of network layers (also known as depth), the interaction between layers, the number and size of convolutional kernels, and activation functions). The learning rate, as a hyperparameter, controls the magnitude of updates to the model's parameter weights during training, significantly impacting both training speed and accuracy.
[0080] As shown in Figure 1, a trained deep learning model is ready to perform inference on input data. During the inference phase, data from actual application scenarios is typically used as input, and the trained deep learning model generates inference results. The inference phase is the practical application of the trained deep learning model, allowing the rapid application of AI capabilities to solve specific technical problems. Today, AI has numerous application scenarios, and inference using deep learning models can be applied across these scenarios, such as personnel recognition in access control systems, video detection, and express delivery waybill number detection and recognition.
[0081] The above only introduces the training of the most typical deep learning model as an example. The training of other types of models has slight differences, but the principles are similar. Most of them involve inferring the training data and adjusting the parameters within the model based on the inference results, with the goal of obtaining a parameter combination that stabilizes the model performance.
[0082] Generally speaking, AI models in machine learning often need to be trained using supervised learning methods. Training AI models using supervised learning methods allows the AI models to more specifically learn the relationship between the training data in the training set and the corresponding annotations in the labeled training set, so that the trained AI model can be used to predict other input data with higher accuracy.
[0083] The AI development framework is a tool library that allows AI developers to quickly develop AI models. It encapsulates a variety of callable operators and includes the tools needed for AI model development, training, and deployment.
[0084] During the process of building, training, and reasoning AI models, you can call the encapsulated operators in the AI framework through API calls, and then combine them with some simple driver codes to complete the corresponding operations.
[0085] AI development frameworks in the industry are generally open source. Typical AI development frameworks used for developing deep learning models, also known as deep learning frameworks, include PaddlePaddle, Tensorflow, Caffe, Theano, MXNet, Torch, MindSpore, and PyTorch. Developers can install AI development frameworks locally and develop AI models locally, or use them on online platforms (such as online open source framework platforms and public cloud AI infrastructure development platforms).
[0086] The following is a detailed description of the training process of a possible deep learning model applied to an embodiment of the present application in conjunction with Figure 2.
[0087] FIG2 is a schematic block diagram of a deep learning model 100 . The deep learning model 100 may include an input layer 110 , a hidden layer 120 , and an output layer 130 .
[0088] It should be understood that in the embodiment of the present application, the hidden layer 120 including n (n is greater than 1) layers of neurons is used as an example for description.
[0089] It should also be understood that each of the input layer 110, the output layer 130, and the hidden layer 120 includes one or more neurons. FIG2 illustrates an example in which the input layer 110 includes two neurons, each of the n layers in the hidden layer 120 includes three neurons, and the output layer 130 includes one neuron.
[0090] The deep learning model 100 shown in FIG2 can be a fully connected neural network or a convolutional neural network (CNN). When all neurons in each layer are connected to all neurons in the next layer (the weight w of each neuron in each layer is not 0), the deep learning model 100 is a fully connected neural network model. When all neurons in each layer are not connected to all neurons in the next layer (the weight w on each neuron in each layer is partially 0), the deep learning model 100 is a CNN model.
[0091] 2 , the deep learning model 100 may include forward propagation (FP) calculation and back propagation (BP) calculation.
[0092] The following describes in detail the process of performing FP calculations in a computing node.
[0093] During the FP calculation process, training data, such as pixel information of the input image, is obtained and used as the input (i1, i2) of the input layer 110 of the deep learning model 100. The input of the input layer 110 can output a prediction result from the output layer 130 after passing through multiple neurons in the hidden layer 120. Specifically, each layer of neurons in the hidden layer 120 corresponds to a parameter matrix. The product of the input of the input layer 110 and the parameter matrix of the first layer neurons serves as the input of the first layer neurons of the hidden layer 120. The input of the first layer neurons of the hidden layer 120 passes through the activation function (for example, a sigmoid function) in the first layer neurons and outputs an output value of the first layer neurons. The output value of the first layer neurons of the hidden layer 120 and the product of the parameter matrix of the second layer neurons serve as the input of the second layer neurons of the hidden layer 120. Similarly, and so on, a prediction result is finally output from the output layer 130.
[0094] The weights in these parameter matrices need to be corrected through a large amount of training in practical applications. The parameter matrices formed by the weights obtained through training can extract pixel information from the image to be inferred input by the user, thereby helping the deep learning model 100 to correctly infer the image to be inferred.
[0095] During the jth iteration of the FP calculation, the input to the first neuron in layer 1 is: The output of the first neuron in layer 1 is: The input to the second neuron in layer 1 is: The output of the second neuron in layer 1 is: ; The input to the third neuron in layer 1 is: The output of the third neuron in layer 1 is: in, For input The activation function.
[0096] During the jth iteration, the input of the neurons in the first layer is:
[0097] Therefore, the input to a neuron in layer 1 can be represented as The output can be expressed as
[0098] in,
[0099] j is used to represent the number of iterations, which is generally equal to the number of times the input layer 110 obtains the input (i1, i2). Used to represent the parameter matrix of the first layer neurons in the j-th iteration process.
[0100] The product of the output B1 of the neurons in the first layer and the parameter matrix of the neurons in the second layer can be used as the input of the neurons in the second layer. Therefore, during the j-th iteration of FP, the input of the neurons in the second layer can be expressed as The output of the neurons in layer 2 can be expressed as
[0101] Similarly, in the jth iteration of FP, the input of the neurons in the i-th layer can be expressed as The output of the neuron in the i-th layer can be expressed as Among them, 1≤i≤n.
[0102] The following describes in detail the process of performing BP calculation in a computing node.
[0103] In the process of training the deep learning model 100, it is hoped that the predicted value o1 output by the output layer 130 of the deep learning model 100 is as close as possible to the prior knowledge of the training data. Prior knowledge is also called ground truth, which generally includes the prediction results corresponding to the training data provided by humans. Therefore, the parameter matrix of each layer in the deep learning model 100 can be updated based on the difference between the current predicted value and the prior knowledge (of course, there is usually an initialization process before the first update, that is, to initialize the parameter matrix corresponding to each layer of neurons in the hidden layer 120 of the deep learning model 100). The error BP algorithm is used to correct the weights of the parameter matrix in the deep learning model 100 during the training of the deep learning model 100, so that the error loss of the deep learning model 100 becomes smaller and smaller.
[0104] Specifically, there may be an error between the predicted value generated during the FP calculation and the prior knowledge. If the output predicted value exceeds the prior knowledge, the weights in the parameter matrix can be adjusted to lower the output predicted value. If the output predicted value is less than the prior knowledge, the weights in the parameter matrix can be adjusted to increase the output predicted value. Backpropagation is an error-driven backward motion that aims to obtain the optimal parameter matrix for each layer of neurons.
[0105] It should be understood that the training data input by the user may include the input training data and the prediction results corresponding to the training data provided by the human.
[0106] As an example, deep learning model 100 is applied to image recognition. The training data input to deep learning model 100 is image pixel information, and the prior knowledge corresponding to this training data is the image label "dog." The training data is input to input layer 110. After deep learning model 100 performs FP calculations, the predicted value output by output layer 130 is compared with the prior knowledge. For example, if the predicted value output by output layer 130 is "cat," the parameter matrix of each layer in deep learning model 100 can be updated based on the error between the predicted value and the prior knowledge "dog."
[0107] During the jth iteration, the BP calculation can calculate the error E between the output prediction value o1 and the prior knowledge. The weights in the parameter matrix of each layer of neurons in the deep learning model 100 can be corrected according to the error E along the direction of the output layer 130, the hidden layer 120, and the input layer 110. Specifically, the correction of the weights can be calculated by respectively calculating the gradient of the weights in the parameter matrix. The gradient The error E can be used to find the derivative of the weights in the parameter matrix, where 1≤i≤n.
[0108] In the (j+1)th iteration, the deep learning model 100 performs FP calculation first and then BP calculation similarly to the jth iteration. For example, in the FP calculation process of the (j+1)th iteration, the gradient calculated based on the FP of the jth iteration is The weights in the parameter matrix are corrected, and the predicted output value is calculated based on the corrected parameter matrix. During the BP calculation process of the (j+1)th iteration, the gradient of the weights in the parameter matrix is calculated based on the error E between the output value calculated by FP in the (j+1)th iteration and the prior knowledge. So that in the (j+2)th iteration process, The weights in the parameter matrix are modified again. The weights in the parameter matrix are continuously modified during multiple iterations, so that the output value predicted by the deep learning model 100 is as close as possible to the prior knowledge of the training data.
[0109] Specifically, in the FP calculation in the (j+1)th iteration, when calculating the input and output of the neurons in the i-th layer, the parameter matrix of the neurons in the i-th layer becomes according to The process of calculating the input and output of each layer of neurons can be found in the description of the FP calculation of the jth iteration above, which will not be repeated here.
[0110] It should be noted that the parameter matrix calculation formula shown above is a possible implementation method, and other variations of the formula are also possible, all of which are within the protection scope of the embodiments of the present application.
[0111] With the continuous advancement and improvement of artificial intelligence technology, deep neural network models have been widely used in fields such as natural language processing, computer vision, and speech recognition. Recent applied research has shown that increasing model size can further enhance the model's ability to solve complex tasks. However, as model size increases, the computational effort required for model training increases exponentially, and the time required to complete model training also increases exponentially. Faced with the enormous time and computational costs required by large-scale deep learning models, how to improve model training speed, resource efficiency, and reduce trial and error costs has become a key issue in the field of artificial intelligence.
[0112] Among current technical solutions, model training platforms are mostly limited in functionality, providing only simple model training capabilities, including calling model code, files, and data, and scheduling computing resources. As the cost of training current models (especially large models) rises, the trial-and-error costs of a single training session also increase exponentially. Existing model training platforms are unable to help users predict and find the optimal metrics for a model during training. Instead, they rely on experience and repeated trial and error to ultimately achieve the optimal metrics for the model during training, ultimately wasting training resources.
[0113] In view of this, an embodiment of the present application provides a model training method, which can predict the training process or training performance of the model, helping users to predict and find the optimal indicator data of the model during the training process, rather than relying on experience and obtaining it through repeated trial and error of the model. This can avoid waste of resources during the training process of the model, save model training resources, and also reduce the trial and error cost of model training, thereby improving the training speed and training efficiency of the model.
[0114] It should be understood that the model training method provided in the embodiments of the present application can be applied to various model training platforms, and this application does not make specific limitations on this.
[0115] As an example, in one possible implementation, the method provided in the embodiment of the present application can be applied to a cloud service scenario, and the method is executed by a cloud management platform in the cloud service scenario. For ease of description, the cloud service scenario is described in detail below with reference to FIG3.
[0116] FIG3 is a schematic block diagram of a cloud scenario applicable to an embodiment of the present application. As shown in FIG3 , the cloud scenario may include: a cloud management platform 310 , the Internet 320 , and a client 330 .
[0117] As shown in Figure 3, the cloud management platform 310 is used to manage the infrastructure that provides multiple cloud services. The infrastructure includes multiple cloud data centers, each of which includes multiple servers, each of which includes cloud service resources to provide corresponding cloud services to tenants.
[0118] The cloud management platform 310 can be located in a cloud data center, which can provide an access interface (such as an interface or an application program interface (API)). The tenant can operate the client 330 to remotely access the access interface to register a cloud account and password on the cloud management platform 310, and log in to the cloud management platform 310. After the cloud management platform 310 successfully authenticates the cloud account and password, the tenant can further pay to select and purchase a virtual machine with specific specifications (processor, memory, disk) on the cloud management platform 310. After the payment is successful, the cloud management platform 310 provides the remote login account and password of the purchased virtual machine, and the client 330 can remotely log in to the virtual machine, install and run the tenant's application in the virtual machine. Therefore, the tenant can create, manage, log in and operate virtual machines in the cloud data center through the cloud management platform 310. Among them, the virtual machine can also be called a cloud server (elastic compute service, ECS) or an elastic instance (different cloud service providers have different names).
[0119] It should be understood that tenants of cloud services can be individuals, enterprises, schools, hospitals, administrative agencies, etc.
[0120] The functions of the cloud management platform 310 include, but are not limited to, a user console, computing management services, network management services, storage management services, authentication services, and image management services. The user console provides an interface or API for interacting with tenants. The computing management service is used to manage servers running virtual machines and containers, as well as bare metal servers. The network management service is used to manage network services (such as gateways and firewalls). The storage management service is used to manage storage services (such as data bucket services). The authentication service is used to manage tenant accounts and passwords. The image management service is used to manage virtual machine images. Tenants can use client 330 to log in to the cloud management platform 310 via the Internet 320 to manage the rented cloud services.
[0121] For example, cloud services may include, but are not limited to, AI services. AI services and products in the cloud sector embody the on-demand consumption and purchase characteristics of cloud services while also embodying the abstract, diverse, and widely applicable characteristics of AI technology. AI services in the cloud sector include platform-as-a-service (PaaS)-type AI foundation development platform services.
[0122] It should be understood that the AI basic development platform service is a PaaS cloud service in the cloud management platform 310. It is a software platform that assists users (also known as tenants, AI developers, etc.) in building, training, and deploying AI models and developing and deploying AI applications based on the large amount of basic resources and software capabilities owned by the public cloud service provider. In other words, the public cloud service provider provides tenants with an AI basic development platform with the support of its sufficient underlying resources and upper-level AI algorithm capabilities. The AI development framework and various AI algorithms built into the AI basic development platform can be used by tenants to quickly build and develop AI models or AI applications that meet personalized needs on the AI basic development platform.
[0123] As shown in Figure 4, the interaction between tenants and the AI basic development platform mainly includes: tenants log in to the cloud management platform 310 through the web page of the client 330, select and purchase the cloud services of the AI basic development platform in the cloud management platform 310, and after purchase, the tenants can carry out full-process AI development based on the functions provided by the AI basic development platform.
[0124] For example, when tenants develop and train their own AI models on the AI Basic Development Platform, they do so based on the basic resources (primarily computing resources, such as CPUs, GPUs, and NPUs) in the cloud service provider's data center. Therefore, when purchasing and using the AI Basic Development Platform, they primarily pay for the resources they use. For example, tenants must prepay before using the AI Basic Development Platform. During prepayment, different resource specifications support different AI Basic Development Platform functions. Tenants primarily select the resource name and specifications based on the AI Basic Development Platform functions they need to use. They can also select the purchase duration. The cloud management platform 310 sets the price for the package based on the resource name, specifications, and purchase duration selected by the user. Once a tenant purchases a prepaid package, they can leverage the capabilities provided by the AI Basic Development Platform and the basic computing resources included in the package to build, train, and deploy AI models. If resource usage exceeds the current prepaid package limit, the cloud management platform 310 charges for the excess resources on a pay-as-you-go basis. In practice, the basic resources tenants use on the AI Basic Development Platform are primarily virtualized computing resources, such as virtual machines and containers.
[0125] It should be understood that the sale of AI basic development platforms is actually a form of integrating software capabilities with hardware virtualization basic resources, and the basic resources supporting any process in the AI basic development platform may be distributed on different physical devices. That is, the hardware devices that actually execute a process are usually server clusters in the same data center, or server clusters distributed in different data centers.
[0126] The following is a detailed description of a model training method provided by an embodiment of the present application in conjunction with Figure 5. It should be understood that the example of Figure 5 is only to help those skilled in the art understand the embodiment of the present application, and is not intended to limit the application embodiment to the specific numerical values or specific scenarios illustrated in Figure 5. It is obvious that those skilled in the art can make various equivalent modifications or changes based on the following example given in Figure 5, and such modifications and changes also fall within the scope of the embodiment of the present application.
[0127] Figure 5 is a schematic flow chart of a model training method provided by an embodiment of the present application. As shown in Figure 5, the method may include steps 510-540, and steps 510-540 are described in detail below.
[0128] Step 510: Receive multiple values of configuration parameters of the first model input by the user.
[0129] In the embodiment of the present application, the first model can also be referred to as the model to be trained by the user. The user can input multiple values of the configuration parameters of the first model, that is, the user inputs a value range of the configuration parameters, and the value range includes multiple values.
[0130] As an example, the configuration parameters of the first model may include, but are not limited to, at least one of the following: training parameters of the first model and model parameters of the first model. The training parameters of the first model include, but are not limited to, at least one of the following: training data samples, number of iterations, batch size, learning rate parameters, weight parameters, training budget, training target, etc. The model parameters of the first model include, but are not limited to, at least one of the following: structure and type of the first model.
[0131] Step 520: Predicting multiple values of the configuration parameters based on the second model to obtain multiple training indicator data of the first model corresponding to each of the multiple values.
[0132] In an embodiment of the present application, multiple values of the configuration parameters can be used as input information of the second model, and multiple training indicator data of the first model corresponding to the multiple values can be obtained through prediction by the second model. For example, the multiple values of the configuration parameters of the first model include the first value, and the multiple training indicator data of the first model include the first training indicator data. The first value of the configuration parameter can be input into the second model as the input information of the second model, and the second model obtains the first training indicator data based on the input information, and the first training indicator data can be used as the output information of the second model. For another example, the multiple values of the configuration parameters of the first model include the second value, and the multiple training indicator data of the first model include the second training indicator data. The second value of the configuration parameter can be input into the second model as the input information of the second model, and the second model obtains the second training indicator data based on the input information, and the second training indicator data can be used as the output information of the second model.
[0133] As an example, the training indicator data of the first model may include, but is not limited to, at least one of the following: training process parameters of the first model, and hardware indicator data consumed by the server for training the first model. The training process parameters of the first model include, but are not limited to, at least one of the following: the prediction results of the first model during each iteration, the loss value, the training time, etc. The hardware indicator data consumed for training the first model includes, but is not limited to, at least one of the following: computing resources, storage resources, network resources, etc. consumed by the server for training the first model.
[0134] Optionally, before step 520, a second model may be trained. In one possible implementation, the values of the configuration parameters of each third model and the training index data of each third model may be obtained, and the second model may be trained based on the values of the configuration parameters of each third model and the training index data of each third model.
[0135] As an example, the configuration parameters of the third model may include, but are not limited to, at least one of the following: training parameters of the third model and model parameters of the third model. The training parameters of the third model include, but are not limited to, at least one of the following: training data samples, number of iterations, batch size, learning rate parameters, weight parameters, training budget, training target, etc. The model parameters of the third model include, but are not limited to, at least one of the following: structure and type of the third model.
[0136] As an example, the training indicator data of the third model may include, but is not limited to, at least one of the following: training process parameters of the third model, and hardware indicator data consumed by the server training the third model. The training process parameters of the third model include, but are not limited to, at least one of the following: the prediction results of the third model during each iteration, the loss value, the training time, etc. The hardware indicator data consumed by training the third model includes, but is not limited to, at least one of the following: computing resources, storage resources, network resources, etc. consumed by the server training the third model.
[0137] It should be understood that the third model can also be referred to as a model that has completed the training process. That is, the embodiment of the present application can obtain the values of the configuration parameters and training index data of the trained model during the training process, and train the second model based on the values of the configuration parameters and training index data of the trained model during the training process. In this way, the second model can predict the training process of the user's model to be trained (the first model mentioned above) without actually executing the training process of the model to be trained.
[0138] The embodiments of the present application do not specifically limit the implementation method of obtaining the values of the configuration parameters of the third model and the training index data of the third model. The values of the configuration parameters of the third model and the training index data may be obtained after the training of the third model is completed, or the values of the configuration parameters of the third model and the training index data may be obtained during the training process of the third model.
[0139] Taking the acquisition of the values of the configuration parameters and training index data of the third model during the training process of the third model as an example, in one possible implementation, during the training process of the third model, the values of the configuration parameters and training index data of the third model can be acquired through bypass automation.
[0140] Step 530: Determine target training index data from the multiple training index data of the first model, and send the target value corresponding to the target training index data from the multiple values of the configuration parameter to the user.
[0141] In an embodiment of the present application, multiple training indicator data of the first model are obtained through the above-mentioned second model, and target training indicator data are determined from the multiple training indicator data of the first model. Specifically, the optimal training indicator data among the multiple training indicator data of the first model can be used as the target training indicator data.
[0142] In the embodiment of the present application, a target value corresponding to the target training index data among the multiple values of the configuration parameter can also be sent to the user. That is, the value corresponding to the target training index data among the multiple values of the configuration parameter of the first model can be determined as the target value, which can also be referred to as the target value of the configuration parameter of the first model.
[0143] Step 540: Receive the target value confirmed by the user, and train the first model based on the target value.
[0144] In an embodiment of the present application, after the user obtains the target value of the configuration parameter of the first model and confirms to use the target value of the configuration parameter to train the first model, the first model can be trained based on the target value of the configuration parameter.
[0145] In the above technical solution, the training process or training performance of the first model can be predicted by the second model, helping users to predict and find the optimal indicator data of the first model during the training process, rather than relying on experience and obtaining it through repeated trial and error of the first model. This can avoid waste of resources during the training process of the model, save training resources for the first model, and also reduce the trial and error cost of the first model training, thereby improving the training speed and training efficiency of the first model.
[0146] Optionally, in some embodiments, data analysis and processing may be performed on multiple values of the configuration parameters of the first model and the corresponding multiple training indicator data to generate a recommendation report for the configuration parameters of the first model (also referred to as a first model recommendation report), and the report may be presented to the user. For example, the recommendation report may include information such as target values for the configuration parameters of the first model, reasons for recommending the target values, and / or benefits that can be achieved by training the first model using the target values.
[0147] It should be understood that the above-mentioned method of performing data analysis and processing on multiple values of the configuration parameters of the first model and the corresponding multiple training indicator data can be processed according to the system default processing method, or can also be processed according to a user-defined method, for example, statistical data distribution, proportion, etc. The embodiment of the present application does not make specific limitations on this.
[0148] Optionally, in some embodiments, the values of the configuration parameters of the first model and the corresponding training index data during the actual training process may also be collected. Specifically, the values of the configuration parameters and the training index data of the first model may be obtained after the training of the first model is completed, or the values of the configuration parameters and the training index data of the first model may also be obtained during the training process of the first model. Take the example of obtaining the values of the configuration parameters and the training index data of the first model during the training process of the first model. In one possible implementation method, during the actual training process of the first model, the values of the configuration parameters and the training index data of the first model may be collected automatically in a bypass manner.
[0149] Optionally, in some embodiments, after obtaining the values of the configuration parameters of the first model during the actual training process and the corresponding training index data, the above-mentioned second model can also be updated based on the values of the configuration parameters of the first model during the actual training process and the corresponding training index data, thereby continuously improving the accuracy of the second model prediction.
[0150] Below, in conjunction with Figure 6, a system block diagram of a model training provided by an embodiment of the present application is described in detail. It should be understood that the example of Figure 6 is only to help those skilled in the art understand the embodiment of the present application, and is not intended to limit the application embodiment to the specific numerical values or specific scenarios illustrated in Figure 6. Those skilled in the art can obviously make various equivalent modifications or changes based on the following examples given in Figure 6, and such modifications and changes also fall within the scope of the embodiment of the present application.
[0151] Referring to Figure 6 , the system block diagram of the model training may include: a management module (manager), a scheduling module (scheduler), a prediction module (predictor), an analysis module (profiler), and a recording module (recorder). The functions of each of the above modules are described in detail below.
[0152] 1. Management module (manager)
[0153] The manager module, as a job management module, is responsible for the lifecycle management of training and modeling jobs, and provides an interactive guidance interface for users to manage jobs, read quantitative analysis data of the model training process, and modeling prediction results.
[0154] It should be understood that the aforementioned training job is used to represent the training task of the model to be trained, and the model to be trained includes training the aforementioned first model, at least one third model, and other models to be trained. The aforementioned modeling job (also referred to as a training modeling job) includes establishing a model for predicting the training process of the model to be trained, for example, the modeling job is used to establish the aforementioned second model.
[0155] For example, the manager module can be divided into a job management submodule and a result display submodule. The job management submodule serves as a unified management portal for training and modeling jobs, while the result display submodule reads data from the recorder module and displays it on the result display submodule.
[0156] For example, Figure 7 is a diagram of a list interface for training jobs provided by a job management submodule in an embodiment of the present application. As shown in Figure 7, the training job interface records and stores training job information, such as the job name, creation date, job status, and operation, enabling functions such as creating, running, stopping, and deleting training jobs. If the user has a new model to be trained, they can click New Training Job to add it.
[0157] For example, Figure 8 is a schematic diagram of a list interface of a modeling job provided by a job management submodule provided in an embodiment of the present application. As shown in Figure 8, the interface of the modeling job records and stores information about the model used to predict the training process of the model to be trained, such as the model's creation date, job status, operation, etc., to implement functions such as creating, running, stopping, and deleting the modeling job. If the user needs to create a new model (a model used to predict the training process of the model to be trained), he can click on the new training modeling job to establish the new model.
[0158] 2. Scheduling module (scheduler)
[0159] The scheduling module (scheduler) is the module for connecting to training resources. It is responsible for shielding implementation details such as the underlying training resource pool, scheduling appropriate training resources, and actually starting and stopping the above training jobs.
[0160] 3. Profiler
[0161] The analysis module (profiler) is used for the collection, processing, dumping, and intelligent report generation of quantitative analysis data in the model training process (the above-mentioned training job). It should be understood that the quantitative analysis data in the above-mentioned model training process represents the configuration parameters and training index data of the model built during the model training process. As an example, the quantitative analysis data may include but is not limited to: the values of the configuration parameters of the first model and / or the training index data of the first model mentioned above, the values of the configuration parameters of each third model and / or the training index data of each third model. For the specific description of the configuration parameters and the description of the training index data, please refer to the above description, which will not be repeated here.
[0162] Specifically, after the scheduling module (scheduler) starts the training job, it will synchronously call the analysis module (profiler) based on the information of the training job. The analysis module (profiler) will act as a bypass unit of the training job. During the execution of the training job, it will collect data of the model during the training process (called quantitative analysis data) in parallel with the training job without affecting the process of the training job itself. After the quantitative analysis data collection is completed, the analysis module (profiler) will process and analyze the quantitative analysis data according to the system's built-in logic or user-defined logic, such as calculating data distribution, bottleneck identification, etc. Finally, based on the analysis and processing data results, the analysis module (profiler) will generate a quantitative analysis report to assist users in analyzing the training performance and system bottlenecks of the training task, thereby helping users further adjust the training configuration of the training task and improve model training performance and resource utilization.
[0163] The data collected, analyzed, and reports generated for all training jobs run by all users in the system are stored in the recorder. As the data collected in the recorder accumulates, the profiler will be able to use more data to optimize the models built in the modeling jobs.
[0164] As an example, the analysis module (profiler) can be divided into a data acquisition submodule, a data analysis submodule and a report generation submodule. The functions of these submodules are described in detail below.
[0165] The data acquisition submodule collects quantitative analysis data during the training process. It obtains the data acquisition plan and parameters from the profiler module. After the training task is initiated, it collects quantitative analysis data at specific times during the training process. Once sufficient data has been collected, the data acquisition submodule stops collecting data, stores it for archiving, and then calls the data analysis submodule for further processing.
[0166] The Data Analysis submodule further analyzes and processes the data collected by the Data Acquisition submodule. Upon receiving a call from the Data Acquisition submodule, the Data Analysis submodule retrieves the collected data from the data storage and processes and analyzes it. After archiving the analyzed data, the Data Analysis submodule calls the Report Generation submodule for further processing.
[0167] It should be understood that the data analysis submodule can analyze and process data in a variety of ways, which are not specifically limited in this application. In one example, the data can be processed in a system default manner. In another example, the data can be processed in a user-defined manner. For example, the user can add the desired data processing logic or logic through the user-defined data analysis interface shown in Figure 9.
[0168] The report generation submodule organizes the data analyzed by the data analysis submodule, identifies bottlenecks, and presents the organized data in an easy-to-read report format. Specifically, upon receiving a call from the data analysis submodule, the report generation submodule reads the analyzed data from the data storage and generates data-related descriptions, icons, bottleneck analysis, optimization suggestions, and other content. For example, an analysis report of the training quantitative data can be organized according to the report template shown in Figure 10 and stored in the data storage for display by the management module (manager) or for reading and analysis by the prediction module (predictor).
[0169] 4. Prediction Module (predictor)
[0170] The prediction module (predictor) is used to predict the optimal configuration of the training strategy, model parameters, training data, hardware, and other configuration information for the model to be trained, given the expected goals and costs. The prediction module can use existing established models for prediction, or it can use the quantitative analysis data of other trained models collected by the profiler to perform new fitting models. Based on the modeling and fitting results, the predictor intelligently provides training configuration optimization for the current scenario, as well as benefit comparisons and recommendations.
[0171] In an embodiment of the present application, after the management module (manager) starts the training modeling job (task), it will call the prediction module (predictor) to obtain the quantitative analysis data of the existing training tasks in the recording module (recorder) according to the range of training configuration parameters selected by the user, and run multiple low-cost training experimental tasks, collect training-related data for modeling fitting, and the modeling output model and its related configuration will be stored in the recording module (recorder).
[0172] When a training job (task) is started in the manager module, it is configured. As shown in Figure 11, if the user enables the intelligent configuration suggestion feature through the training job configuration interface, the established model is read from the recorder module (recorder). Based on the estimated configuration changes, the user-selected model is used to predict the training configuration with the highest end-to-end efficiency. Finally, an evaluation report is generated, providing recommended configurations and an estimate of subsequent adjustment results, reducing user trial and error costs and improving overall resource utilization efficiency.
[0173] In some embodiments, the prediction module (predictor) will also periodically monitor the accumulation of quantitative analysis data in the recording module (recorder). When there is enough suitable data, the prediction module (predictor) will start the training modeling process based on these data and historical data, and optimize the existing established model (the model used to predict the training process of the model to be trained).
[0174] As an example, the prediction module (predictor) may include a modeling and fitting submodule, an estimation and analysis submodule, and a report generation submodule. The functions of these submodules are described in detail below.
[0175] For example, a user enters information such as the model type, training budget, target configuration, training scope, and modeling method through the modeling configuration interface shown in Figure 12. The modeling fitting submodule automatically fits and models the training process for the current scenario based on the model type, training budget, target configuration, training scope, and modeling method set by the user. Upon receiving the fitting request, the modeling fitting submodule automatically generates a series of lower-cost training experiment configurations based on the training, budget, and target configurations. It then calls the scheduler to initiate the execution, and uses the training results collected by the recorder and the quantitative analysis data collected by the profiler. After completing this series of training experiments, the modeling fitting submodule models the training process using either neural networks or numerical fitting. Specifically, the modeling fitting submodule queries the recorder for available quantitative analysis records for modeling. If available, it directly uses the corresponding record data without actually running the experiment, further reducing the cost of modeling and fitting. Finally, the training and modeling results are stored in the recorder.
[0176] After completing the training modeling, the modeling and fitting submodule will regularly monitor the quantitative analysis data collected from other training tasks in the recording module (recorder), filter out data that can optimize a certain training modeling model, and restart the training process modeling to provide more data for the current model fitting, making its modeling of the training process more accurate.
[0177] The role of the estimation analysis submodule is to use the existing model to evaluate and predict the optimal training configuration of the model to be trained. For example, after the user configures the range of possible values in the interface of the configuration value range of the training job as shown in Figure 13, the estimation analysis task based on training modeling is started. After receiving the request, the estimation analysis submodule reads the training modeling model selected in the recorder module (recorder), substitutes the current training constraints, such as specific training goals or training budget, and calculates the optimal configuration solution under the current constraints. It also estimates the benefits that can be achieved when modifying configurations such as model size, training data volume, training parameters, hardware type, etc., so as to evaluate the next adjustment direction and its results. For example, as shown in Figure 14, the estimation analysis submodule can give recommendations on the configuration values of the training job based on the predicted results.
[0178] The report generation submodule uses the output of the estimation analysis submodule to generate an intuitive configuration recommendation report for the user. As shown in Figure 15, this configuration recommendation report is used to display the optimal parameter configuration under the current constraints, the reasons for the recommendation, and the benefits that can be obtained by adjusting the constraints.
[0179] 5. Recording module (recorder)
[0180] The recorder module serves as a data storage and display module. It records collected data, processed data, and analysis reports from the profiler module, as well as training modeling data, estimated analysis data, and analysis reports from the predictor module. It also interacts with the predictor module, providing data for modeling and display in the manager. The recorder module can be pre-populated with models created by the predictor module (used to predict the training process of the model to be trained), allowing users to directly use these models.
[0181] Below, in conjunction with Figure 16, a specific implementation process of the method for model training provided in an embodiment of the present application is described in detail. It should be understood that the example of Figure 16 is only to help those skilled in the art understand the embodiment of the present application, rather than to limit the application embodiment to the specific numerical values or specific scenarios illustrated in Figure 16. Those skilled in the art can obviously make various equivalent modifications or changes based on the following examples given in Figure 16, and such modifications and changes also fall within the scope of the embodiment of the present application.
[0182] Figure 16 is a schematic flow chart of another model training method provided by an embodiment of the present application. As shown in Figure 16, the method may include steps 1610-1665, and steps 1610-1665 are described in detail below.
[0183] Step 1610: The user selects a modeling job.
[0184] In the embodiment of the present application, if the job type selected by the user is a modeling job, the user can choose to create a new training modeling job through the training modeling management interface shown in FIG8 .
[0185] Step 1615: The user configures the modeling job.
[0186] In an embodiment of the present application, the user can configure the input parameters required for modeling, such as model type, modeling budget, modeling scope, modeling method, etc., in the training modeling configuration interface as shown in Figure 12, and click the "Start Modeling" button.
[0187] Step 1620: The system starts modeling according to the modeling configuration information input by the user.
[0188] In the embodiments of the present application, the system obtains quantitative analysis data from the model during training based on the modeling configuration information input by the user. Specifically, in one implementation, the system executes a series of model training experiments, runs the training process of other models, and obtains and saves the quantitative analysis data. Another implementation reads the quantitative analysis data from previously saved training jobs in the system.
[0189] After obtaining the quantitative analysis data of the training job, the system can start modeling based on the modeling configuration information input by the user and the quantitative analysis data.
[0190] Step 1625: The system saves the modeling results.
[0191] After the system builds the model, the modeling results can be saved. After the modeling task is completed, the user can see the fitted model in the training modeling management interface shown in Figure 8.
[0192] Step 1630: The user selects a training task.
[0193] In an embodiment of the present application, if the job type selected by the user is a training job, that is, the user has a model to be trained that needs to be trained, the user can choose to create a new training job through the training job management interface shown in Figure 7.
[0194] Step 1635: The user configures the training job.
[0195] In an embodiment of the present application, the user can fill in the basic information of the training, such as the model type, training budget, and training objectives, in the training job configuration shown in Figure 11. It should be understood that the training job configuration shown in Figure 11 also includes whether to enable intelligent configuration suggestions. If the user chooses to enable intelligent configuration suggestions, that is, the user can select a created model, which is used to give configuration suggestions in the training job configuration information. If the user chooses not to enable intelligent configuration suggestions, that is, to skip enabling intelligent configuration suggestions, the training job starts the training process in the conventional way, and the system will not give configuration suggestions in the training job configuration information.
[0196] Step 1640: If the user has enabled intelligent configuration suggestions in the training job configuration, the user is required to select a created model.
[0197] In an embodiment of the present application, the training modeling management interface shown in FIG8 will display the completed models, and the user can select a model from these models (for example, select model 1 in FIG11 ).
[0198] Step 1645: The system intelligently generates configuration recommendations for the training job.
[0199] In this embodiment of the present application, the user can also set the adjustable range of the training configuration in the interface of the intelligent configuration suggestion for the training job shown in Figure 13. The system can intelligently generate the configuration suggestion for the training job as shown in Figure 14 based on the basic training information entered by the user, the selected modeling model, and the adjustable range of the training parameters set by the user.
[0200] Step 1650: The user starts the training job according to the configuration suggestions for the training job given by the system.
[0201] The user can obtain configuration suggestions for the training job as shown in Figure 14, and click the "Execute Training" button to start the training job. The system will start the training job according to the configuration suggestions for the training job.
[0202] Optionally, the user can also click on “Modeling Fitting Report” in FIG14 , and the system will display the generated modeling analysis report as shown in FIG15 to the user.
[0203] Step 1655: The system executes the training operation.
[0204] Specifically, the system executes the training task according to the configuration of the training job finally confirmed by the user.
[0205] Step 1660: The system collects the quantitative analysis data of the training job, analyzes the quantitative analysis data, and generates a quantitative analysis report.
[0206] In this embodiment of the present application, the system can also collect quantitative analysis data (including training data and output training results) during the execution of the training job, and generate a quantitative analysis report as shown in Figure 10. The user can determine the next adjustment direction based on the training quantitative analysis report and return to create a new training task.
[0207] Step 1665: The system saves the quantitative analysis data.
[0208] In the embodiment of the present application, the system can save quantitative analysis data and regularly use the data for optimization of the model building model in the background to continuously improve the accuracy of the model building model prediction.
[0209] Optionally, in some embodiments, the solution provided by the embodiments of the present application can fully automate the training modeling and analysis closed-loop process. The user only needs to set budget limits, goals, etc. in advance, and the system will automatically complete modeling, analysis, configuration modification, dynamic configuration modification, etc., further improving training efficiency.
[0210] Optionally, in some embodiments, the solution provided in the embodiments of the present application can also be used in AI reasoning performance analysis and modeling scenarios. By collecting quantitative analysis data of the AI reasoning process, the AI reasoning performance can be estimated, and indicators such as latency and throughput under specific AI reasoning configurations and hardware can be predicted.
[0211] The above describes in detail the method provided by the embodiment of the present application in conjunction with Figures 1 to 16. The following describes in detail the embodiment of the device of the present application in conjunction with Figures 17 to 20. It should be understood that the description of the method embodiment corresponds to the description of the device embodiment. Therefore, for parts not described in detail, reference can be made to the above method embodiment.
[0212] Figure 17 is a schematic block diagram of a model training device 1700 provided in an embodiment of the present application. The device 1700 can be implemented by software, hardware, or a combination of both. The device 1700 provided in an embodiment of the present application can implement the method flow shown in Figure 5 or Figure 16 of the embodiment of the present application, and the device 1700 includes: a receiving module 1710, a prediction module 1720, a determination module 1730, and a training module 1740, wherein the receiving module 1710 is used to receive multiple values of the configuration parameters of the first model input by the user, and the configuration parameters of the first model include the training parameters and / or model parameters of the first model; the prediction module 1720 is used to predict multiple training index data of the first model corresponding to the multiple values of the configuration parameters according to the second model, and the training index data of the first model include the training process data and / or the training process data of the first model. The server trains the first model using hardware indicator data consumed by the server, the input information of the second model includes the first value of the configuration parameter, the output information of the second model includes the first training indicator data of the first model, the multiple values of the configuration parameter include the first value, and the training indicator data of the first model includes the first training indicator data; the determination module 1730 is used to determine the target training indicator data from the multiple training indicator data of the first model, and send the target value corresponding to the target training indicator data from the multiple values of the configuration parameter to the user; the training module 1740 is used to receive the target value confirmed by the user, and train the first model based on the target value.
[0213] Optionally, the receiving module 1710 is also used to obtain the configuration parameters of each third model in at least one third model and the training indicator data of each third model; the training module 1740 is also used to train and obtain the second model based on the configuration parameters of each third model and the training indicator data of each third model.
[0214] Optionally, the receiving module 1710 is specifically used to: during the training process of the at least one third model, automatically collect the configuration parameters of each third model in the at least one third model and the training indicator data of each third model.
[0215] Optionally, the device 1700 also includes: a generation module for generating a recommendation report of the first model based on the target value of the configuration parameters of the first model, the recommendation report of the first model including the target value, the reason for recommending the target value and / or the benefits that can be obtained by training the first model using the target value; a display module for displaying the recommendation report of the first model to the user.
[0216] Optionally, the training module 1740 is also used to automatically collect the values of the configuration parameters used by the first model in the actual training process and the actual corresponding training indicator data during the training of the first model.
[0217] Optionally, the training module 1740 is further used to update the second model according to the values of the configuration parameters used by the first model during the actual training process and the actual corresponding training indicator data.
[0218] Optionally, the device is applied to a cloud management platform, which is used to manage the infrastructure for providing cloud services. The infrastructure includes at least one cloud data center, each of which is equipped with at least one server, and the at least one server is used to train the first model, the second model, and the third model.
[0219] The apparatus 1700 herein may be embodied in the form of a functional module. The term "module" herein may be implemented in the form of software and / or hardware, and is not specifically limited thereto.
[0220] For example, a "module" can be a software program, hardware circuit, or a combination of the two that implements the aforementioned functions. For example, the implementation of receiving module 1710 will be described below, using receiving module 1710 as an example. Similarly, the implementation of other modules, such as prediction module 1720, determination module 1730, training module 1740, generation module, and presentation module, can refer to the implementation of receiving module 1710.
[0221] The receiving module 1710 is taken as an example of a software functional unit, and the receiving module 1710 may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Furthermore, the computing instance may be one or more. For example, the receiving module 1710 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one data center or multiple geographically close data centers. Generally, a region may include multiple AZs.
[0222] Similarly, multiple hosts / virtual machines / containers running the code can be distributed within the same virtual private cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Cross-region communication between two VPCs within the same region, or between VPCs in different regions, requires a communication gateway within each VPC to interconnect the VPCs.
[0223] As an example of a hardware functional unit, receiving module 1710 may include at least one computing device, such as a server. Alternatively, receiving module 1710 may be implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0224] The multiple computing devices included in receiving module 1710 can be distributed in the same region or in different regions. The multiple computing devices included in receiving module 1710 can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in receiving module 1710 can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of servers, ASICs, PLDs, CPLDs, FPGAs, GALs, and other computing devices.
[0225] Therefore, the modules of each example described in the embodiments of this application can be implemented with electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0226] It should be noted that when the device provided in the above embodiment performs the above method, the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. For example, the receiving module 1710 can be used to perform any step in the above method, the prediction module 1720 can be used to perform any step in the above method, the determination module 1730 can be used to perform any step in the above method, the training module 1740 can be used to perform any step in the above method, the generation module can be used to perform any step in the above method, and the presentation module can be used to perform any step in the above method. The steps that the receiving module 1710, the prediction module 1720, the determination module 1730, the training module 1740, the generation module, and the presentation module are responsible for can be specified as needed. The full functions of the above device are achieved by having the receiving module 1710, the prediction module 1720, the determination module 1730, the training module 1740, the generation module, and the presentation module respectively perform different steps in the above method.
[0227] In addition, the device and method embodiments provided in the above embodiments belong to the same concept, and their specific implementation processes are detailed in the method embodiments above and will not be repeated here.
[0228] The method provided in the embodiment of the present application can be performed by a computing device, which can also be referred to as a computer system. It includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a processing unit, a memory and a memory control unit, and the function and structure of the hardware are subsequently described in detail. The operating system is any one or more computer operating systems that implement business processing through a process, for example, a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system or a Windows operating system. The application layer includes applications such as a browser, an address book, a word processing software, and an instant messaging software. Furthermore, optionally, the computer system is a handheld device such as a smart phone, or a terminal device such as a personal computer, and this application is not particularly limited, as long as the method provided in the embodiment of the present application can be used. The execution subject of the method provided in the embodiment of the present application can be a computing device, or a functional module in a computing device that can call a program and execute a program.
[0229] The following is a detailed description of a computing device provided in an embodiment of the present application in conjunction with Figure 18.
[0230] FIG18 is a schematic diagram of the architecture of a computing device 1800 provided in an embodiment of the present application. The computing device 1800 may be a server, a computer, or other device with computing capabilities. The computing device 1800 shown in FIG18 includes at least one processor 1810 and a memory 1820.
[0231] It should be understood that this application does not limit the number of processors and memories in the computing device 1800.
[0232] The processor 1810 executes the instructions in the memory 1820, so that the computing device 1800 implements the method provided by this application. Alternatively, the processor 1810 executes the instructions in the memory 1820, so that the computing device 1800 implements the various functional modules provided by this application, thereby implementing the method provided by this application.
[0233] Optionally, the computing device 1800 further includes a communication interface 1830. The communication interface 1830 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1800 and other devices or a communication network.
[0234] Optionally, the computing device 1800 further includes a system bus 1840, wherein the processor 1810, the memory 1820, and the communication interface 1830 are respectively connected to the system bus 1840. The processor 1810 can access the memory 1820 through the system bus 1840. For example, the processor 1810 can read and write data or execute code in the memory 1820 through the system bus 1840. The system bus 1840 is a peripheral component interconnect express (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The system bus 1840 is divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in Figure 18, but this does not mean that there is only one bus or one type of bus.
[0235] In one possible implementation, the processor 1810 is primarily responsible for interpreting computer program instructions (or codes) and processing data in the computer software. The computer program instructions and the data in the computer software may be stored in the memory 1820 or the cache 1816.
[0236] Optionally, the processor 1810 may be an integrated circuit chip having signal processing capabilities. By way of example and not limitation, the processor 1810 is a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The general-purpose processor is a microprocessor, etc. For example, the processor 1810 is a central processing unit (CPU).
[0237] Optionally, each processor 1810 includes at least one processing unit 1812 and a memory control unit 1814 .
[0238] Processing unit 1812, also known as a core, is the most important component of a processor. Processing unit 1812 is manufactured from single-crystal silicon using a specific production process. All processor calculations, command reception, command storage, and data processing are performed by the core. Each processing unit independently executes program instructions, leveraging parallel computing capabilities to accelerate program execution. Each processing unit has a fixed logical structure. For example, a processing unit includes logical units such as a level 1 cache, a level 2 cache, an execution unit, an instruction-level unit, and a bus interface.
[0239] In one implementation example, the memory control unit 1814 is configured to control data exchange between the memory 1820 and the processing unit 1812. Specifically, the memory control unit 1814 receives memory access requests from the processing unit 1812 and controls memory access based on the memory access requests. By way of example and not limitation, the memory control unit is a device such as a memory management unit (MMU).
[0240] In one implementation example, each memory control unit 1814 addresses the memory 1820 via the system bus. An arbiter (not shown in FIG. 18 ) is configured in the system bus to handle and coordinate competing accesses by multiple processing units 1812 .
[0241] In an implementation example, the processing unit 1812 and the memory control unit 1814 are connected to each other via connection lines inside the chip, such as address lines, so as to achieve communication between the processing unit 1812 and the memory control unit 1814.
[0242] Each processor 1810 optionally includes a cache 1816, which is a buffer for data exchange (called a cache). When a processing unit 1812 needs to read data, it first searches the cache for the required data. If the data is found, it executes the request directly; if not, it searches the memory. Because the cache runs much faster than the memory, the cache helps the processing unit 1812 run faster.
[0243] Memory 1820 can provide runtime space for processes in computing device 1800. For example, memory 1820 stores computer programs (specifically, program code) used to generate processes. After the computer program is executed by the processor to generate a process, the processor allocates corresponding storage space for the process in memory 1820. Furthermore, the aforementioned storage space further includes a text segment, an initialized data segment, a bit-initialized data segment, a stack segment, a heap segment, and the like. Memory 1820 stores data generated during the execution of the aforementioned processes, such as intermediate data or process data, in the storage space corresponding to the aforementioned processes.
[0244] Optionally, the memory is also called the internal memory. Its function is to temporarily store the data being processed by the processor 1810, as well as data exchanged with external storage devices such as a hard disk. As long as the computer is running, the processor 1810 will load the data to be calculated into the internal memory for calculation. When the calculation is complete, the processing unit 1812 will transmit the result.
[0245] By way of example and not limitation, memory 1820 is a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Non-volatile memory is read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory is random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus RAM (DR RAM). It should be noted that the memory 1820 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0246] The structure of the computing device 1800 listed above is merely an example, and the present application is not limited thereto. The computing device 1800 of the embodiment of the present application includes various hardware in the computer system of the prior art. For example, the computing device 1800 also includes other memories in addition to the memory 1820, such as disk storage, etc. Those skilled in the art should understand that the computing device 1800 may also include other devices necessary to achieve normal operation. At the same time, according to specific needs, those skilled in the art should understand that the computing device 1800 may also include hardware devices that implement other additional functions. In addition, those skilled in the art should understand that the computing device 1800 may also include only the devices necessary to implement the embodiment of the present application, and does not necessarily include all the devices shown in Figure 18.
[0247] The present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device may be a server. In some embodiments, the computing device may also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.
[0248] As shown in Figure 19, the computing device cluster includes at least one computing device 1800. The memory 1820 in one or more computing devices 1800 in the computing device cluster may store the same instructions for executing the above method.
[0249] In some possible implementations, the memory 1820 of one or more computing devices 1800 in the computing device cluster may also store some instructions for executing the above method. In other words, the combination of one or more computing devices 1800 can jointly execute the instructions of the above method.
[0250] It should be noted that the memory 1820 in different computing devices 1800 in the computing device cluster can store different instructions, each for performing part of the functions of the above-mentioned apparatus. In other words, the instructions stored in the memory 1820 in different computing devices 1800 can implement the functions of one or more modules in the above-mentioned apparatus.
[0251] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. The network can be a wide area network (WAN) or a local area network (LAN), among others. FIG. 20 illustrates one possible implementation. As shown in FIG. 20 , two computing devices 1800A and 1800B are connected via a network. Specifically, each computing device is connected to the network via a communication interface within the computing device.
[0252] It should be understood that the functionality of the computing device 1800A shown in FIG20 may also be implemented by multiple computing devices 1800. Similarly, the functionality of the computing device 1800B may also be implemented by multiple computing devices 1800.
[0253] This embodiment also provides a computer program product including instructions. The computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on a computing device, it causes the computing device to perform the method provided above, or causes the computing device to implement the functions of the apparatus provided above.
[0254] This embodiment also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium capable of storing data on a computing device, or a data storage device such as a data center that contains one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, or a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive). The computer-readable storage medium includes instructions that, when executed on a computing device, cause the computing device to perform the method provided above.
[0255] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0256] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0257] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0258] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0259] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0260] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0261] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as 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.
[0262] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
Claims
1. A model training method, characterized in that: The method comprises: Receive multiple values of configuration parameters of the first model input by a user, where the configuration parameters of the first model include training parameters and / or model parameters of the first model; Predicting the multiple values of the configuration parameter according to the second model respectively corresponds to multiple training indicator data of the first model, the training indicator data of the first model includes the training process data of the first model and / or the hardware indicator data consumed by the server to train the first model, the input information of the second model includes the first value of the configuration parameter, the output information of the second model includes the first training indicator data of the first model, the multiple values of the configuration parameter include the first value, and the training indicator data of the first model includes the first training indicator data; Determine target training index data from multiple training index data of the first model, and provide the target value corresponding to the target training index data from multiple values of the configuration parameter to the user; The target value confirmed by the user is received, and the first model is trained based on the target value.
2. The method according to claim 1, characterized in that The method further comprises: Obtaining configuration parameters of each third model in at least one third model and training indicator data of each third model; Based on the configuration parameters of each of the third models and the training indicator data of each of the third models, the second model is obtained through training.
3. The method according to claim 2, characterized in that The obtaining of configuration parameters of each third model in at least one third model and training indicator data of each third model includes: During the training process of the at least one third model, configuration parameters of each third model in the at least one third model and training indicator data of each third model are automatically collected.
4. The method according to any one of claims 1 to 3, characterized in that The method further comprises: generating a recommendation report for the first model according to the target value of the configuration parameter of the first model, wherein the recommendation report for the first model includes the target value, a reason for recommending the target value, and / or a benefit that can be obtained by training the first model using the target value; The recommendation report of the first model is displayed to the user.
5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: During the process of training the first model, the values of the configuration parameters used by the first model during the actual training process and the actual corresponding training indicator data are automatically collected.
6. The method according to claim 5, characterized in that The method further comprises: The second model is updated according to the values of the configuration parameters used by the first model during the actual training process and the actual corresponding training indicator data.
7. The method according to any one of claims 1 to 6, characterized in that The method is applied to a cloud management platform, which is used to manage an infrastructure for providing cloud services. The infrastructure includes at least one cloud data center, each of which is provided with at least one server, and the at least one server is used to train the first model, the second model, and the third model.
8. A device for model training, characterized in that: The device comprises: A receiving module, configured to receive multiple values of configuration parameters of a first model input by a user, wherein the configuration parameters of the first model include training parameters and / or model parameters of the first model; A prediction module, used for predicting, according to the second model, a plurality of training indicator data of the first model corresponding to the plurality of values of the configuration parameter, wherein the training indicator data of the first model includes the training process data of the first model and / or the hardware indicator data consumed by the server for training the first model, the input information of the second model includes the first value of the configuration parameter, the output information of the second model includes the first training indicator data of the first model, the plurality of values of the configuration parameter includes the first value, and the training indicator data of the first model includes the first training indicator data; A determination module, configured to determine target training index data from a plurality of training index data of the first model, and provide a target value corresponding to the target training index data from a plurality of values of the configuration parameter to the user; A training module is used to receive the target value confirmed by the user and train the first model based on the target value.
9. The device according to claim 8, characterized in that The receiving module is further used to obtain configuration parameters of each third model in at least one third model and training indicator data of each third model; The training module is also used to train and obtain the second model based on the configuration parameters of each of the third models and the training indicator data of each of the third models.
10. The device according to claim 9, characterized in that The receiving module is specifically used for: During the training process of the at least one third model, configuration parameters of each third model in the at least one third model and training indicator data of each third model are automatically collected.
11. The device according to any one of claims 8 to 10, characterized in that The device also includes: a generating module, configured to generate a recommendation report of the first model according to the target value of the configuration parameter of the first model, wherein the recommendation report of the first model includes the target value, a reason for recommending the target value, and / or a benefit that can be obtained by training the first model using the target value; A display module is used to display the recommendation report of the first model to the user.
12. The device according to any one of claims 8 to 11, characterized in that The training module is also used to automatically collect the values of the configuration parameters used by the first model in the actual training process and the actual corresponding training indicator data during the training of the first model.
13. The device according to claim 12, characterized in that The training module is also used to update the second model according to the values of the configuration parameters used by the first model in the actual training process and the actual corresponding training indicator data.
14. The device according to any one of claims 8 to 13, characterized in that The device is applied to a cloud management platform, which is used to manage the infrastructure for providing cloud services. The infrastructure includes at least one cloud data center, each of which is equipped with at least one server, and the at least one server is used to train the first model, the second model, and the third model.
15. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1 to 7.
16. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device cluster, the computing device cluster is caused to perform the method according to any one of claims 1 to 7.
17. A computer-readable storage medium, characterized in that: The method comprises computer program instructions, and when the computer program instructions are executed by a computing device cluster, the computing device cluster performs the method as claimed in any one of claims 1 to 7.
Citation Information
Patent Citations
Model training method and apparatus, and computing device
CN119692417A
Algorithm model management method and device
CN113988212A
Model training method, parameter adjusting method of shared base station, device and equipment
CN114268961A
Distributed hyperparameter tuning system for machine learning
US20180240041A1
CN202311234964A
Cited By
Large model training method and device, electronic equipment, storage medium and program product
CN120610798A