The present invention relates to a machine learning service device, a machine learning service method, and a program.
When a user uses machine learning via cloud computing (hereinafter referred to as cloud), requirements the user is generally interested in mainly include performance requirements such as processing time and throughput. To satisfy these requirements, it is essential to precisely set amounts of resources such as the number of vCPUs, amounts of memory, and storage placed on a VM (Virtual Machine). In conventional machine learning services (MLaaS: Machine Learning as a Service), for such resource design, users, i.e., human resources having technical knowledge of cloud environment, need to repeat a cycle of implementation-observation-adjustment, requiring enormous amounts of time and costs.
Incidentally, a large number of techniques for implementing machine learning services have been proposed (e.g., Non-Patent Literatures 1 to 3).
The technique described in Non-Patent Literature 1 does not discuss a technical method that satisfies performance requirements and the like, which are MLaaS user requirements. Both the techniques described in Non-Patent Literatures 2 and 3 make it necessary for the user to select amounts of resources, requiring resource design tailored to performance requirements of the user.
In this way, under present circumstances, in using a machine learning service in the cloud, enormous amounts of time and costs are required for the user to design the amounts of resources, imposing a heavy burden.
The present invention has been made in view of the above circumstances and has an object to provide a machine learning service device, a machine learning service method, and a program that can eliminate the need for a resource design process needed by the user in using a machine learning service and thereby reduce the time and costs which impose a burden on the user.
One aspect of the present invention comprises: a requirement specifying functional unit used to specify a task, a model, throughput, and performance that are desired in machine learning; and a resource design unit configured to predict achievable performance at a plurality of resource settings by machine learning using the task, the model, and the throughput specified via the requirement specifying functional unit and select a resource setting that satisfies the specified performance based on results of the prediction.
One aspect of the present invention makes it possible to eliminate the need for a resource design process needed by the user in using a machine learning service and thereby reduce the time and costs which impose a burden on the user.
Detailed description will be given below with reference to the drawings by taking as an example an embodiment in which the present invention is applied to a machine learning service device that provides a machine learning service via cloud computing.
The ML requirement specifying functional unit 11 includes an input unit (not shown) such as a typical keyboard and collects user requirements for machine learning, outputs user requirements to the resource design unit 12, receives and displays resource design results obtained from the resource design unit 12, and gives implementation instructions. Specifically, the ML requirement specifying functional unit 11 is made up of a machine learning specification unit 11A, a service requirement specification unit 11B and a resource design display unit 11C.
The machine learning specification unit 11A includes a task specification unit, a model specification unit, and a throughput specification unit.
The task specification unit allows the user to specify, for example, machine learning tasks such as image classification, voice recognition, and training/prediction.
The model specification unit allows the user to specify a model—specifically, a model type, a model layer structure, a neuron type, an activation function, and the like—used to implement a task specified via the task specification unit.
The throughput specification unit allows the user to specify, for example, amounts of processing such as the size and number of images desired to be classified and the length of speech.
The service requirement specification unit 11B includes a machine learning performance requirement specification unit and a VM performance requirement specification unit.
In processing the task by the throughput specified via the throughput specification unit using the model specified via the model specification unit, the machine learning performance requirement specification unit allows the user to specify, for example, processing time and the like as performance requirements desired to be achieved in machine learning.
In processing the task by the throughput specified via the throughput specification unit using the model specified via the model specification unit, the VM performance requirement specification unit allows the user to specify, for example, utilization rates and the like of CPUs and memory resources in the VM as VM performance requirements desired to be achieved.
The resource design display unit 11C displays recommend resources, machine learning performance prediction, and VM performance prediction on a display to the user.
The recommend resources are concrete content of resource settings that can satisfy specified user requirements in view of resource design results received from the resource design unit 12.
The machine learning performance prediction is concrete content of machine learning performance achievable at each resource setting in view of resource design results received from the resource design unit 12.
The VM performance prediction is concrete content of VM performance achievable at each resource setting in view of resource design results received from the resource design unit 12.
The resource design unit 12 carries out resource design according to the user requirements specified via the ML requirement specifying functional unit 11 and returns resource design results thus obtained to the ML requirement specifying functional unit 11.
The resource design unit 12 receives and collects log data and the like sent from the resource management unit 13 and outputs resource design results, implementation instructions, and the like obtained by processing the resource design to the resource management unit 13.
The ML requirement specifying functional unit 11 also outputs resource design results, implementation instructions, and the like to the resource management unit 13 at the direction of the user.
The log data collection section 12A is a functional unit configured to collect log data of performance under applicable conditions by varying a model configuration, throughput, and resources placed in the VM with respect to a conceivable task of an applicable machine learning application and perform reformatting, integration, preprocessing, and the like.
The log data is sent out as data for model training from the log data collection section 12A to the model generation section 12B.
Using the log data from the log data collection section 12A as model training data, the model generation section 12B generates a machine learning performance model and VM performance model for predicting performance achievable under applicable resource setting conditions when producing specified throughput using a machine learning model specified by the user via the ML requirement specifying functional unit 11, and sends out the generated models to the prediction section 12C.
Using the machine learning performance model and VM performance model generated by the model generation section 12B, the prediction section 12C predicts performances achievable under applicable resource setting conditions when producing specified throughput and sends out prediction results on the respective performances to the determination section 12D.
The determination section 12D selects the resource settings that can satisfy the requirements specified by the user, collectively as resource design results from the respective prediction results on the machine learning performance and VM performance obtained from the prediction section 12C and sends out the resource settings to the output section 12E.
The output section 12E converts the resource design results obtained from the determination section 12D into a data format compatible with both ML requirement specifying functional unit 11 and resource management unit 13 and outputs the resource design results to the ML requirement specifying functional unit 11 and the resource management unit 13.
Next, an operation example of concrete implementation of the present embodiment will be described.
On the display screen SC06, the abscissa represents resource settings (memory/the number of vCPUs) and the ordinate represents predicted execution time at each resource setting. The broken line in
As illustrated in
On the display screen SC07, the abscissa represents resource settings (at each setting, the black bar on the left side indicates the memory and the white bar on the right side indicates the number of vCPUs) and the ordinate represents predicted execution time at each resource setting. In
As illustrated in
Next, operation on the side of the resource design unit 12 given implementation instructions via the ML requirement specifying functional unit 11 will be described.
Using log data collected by the log data collection section 12A as model training data, the model generation section 12B generates a model by various analytical methods. In an implementation example, the model is trained based on the log data using a neural network. Prediction accuracy with regard to test data by the use of a trained model is shown in
Note that in the examples, a tuned neural network model was used and the number of log data sets (for training) was 23,046 and the number of test data sets was 4,609.
Using a model generated by the model generation section 12B, the prediction section 12C and the determination section 12D make resource settings. The prediction section 12C predicts performance in each resource setting. The determination section 12D selects a resource setting that satisfies user requirements, based on the performance predicted by the prediction section 12C.
As an example, consider a case in which image classification training is specified as a task by the machine learning specification unit 11A of the ML requirement specifying functional unit 11.
It is assumed that concrete content of model specification is, for example, as follows:
“input layer
conv(10,sig)
conv(10,sig)
conv(10,sig)
conv(10,sig)
conv(10,sig)
conv(10,sig)
flatten
dense (10, relu)
dense (15, relu)
dense (15, relu)
dense (15, relu)
output layer”
At the same time, it is assumed that throughput is specified by the service requirement specification unit 11B of the ML requirement specifying functional unit 11 as follows: 64*64 pixels; 10,000 RGB images.
That is, when the user does image classification training using a machine learning service, a training model is specified as being made up of an input layer, six convolutional layers conv (each layer contains 10 neurons, and an activation function is a sigmoid function), a flatten layer, four fully-connected layers “dense” (each layer contains 10 or 15 neurons, and an activation function is a rectified linear unit relu), and an output layer, as described above.
The throughput of the training data is specified as 10,000 RGB images with an image size of 64 by 64 pixels.
Besides, on the service requirement specification unit 11B of the ML requirement specifying functional unit 11, the upper limit of one training time is specified to be 0.05 sec. via the machine learning performance requirement specification unit, and an in-VM CPU resource utilization range is specified to be 30% to 60% and an in-VM memory resource utilization range is specified to be 10% to 40% via the VM performance requirement specification unit.
At each of the resource settings described above, a machine learning task specified by the user was executed in an actual cloud environment, and performances such as shown in
In
As illustrated in
In
As illustrated in
In
As illustrated in
In
As illustrated in
When the prediction results of
The output section 12E of the resource design unit 12 receives resource design results selected by the determination section 12D through determination based on prediction results, converts the received results, i.e., recommended resources and predicted performance, into specified format, such as HTTP request, specified by the service requirement specification unit 11B, and transmits the results to the service requirement specification unit 11B of the ML requirement specifying functional unit 11.
The output section 12E also converts recommend resource settings, which are resource design results, into data format, such as yaml, specified by the resource management unit 13 and outputs the recommend resource settings to the resource management unit 13.
The resource management unit 13 carries out an actual machine learning service using resource settings designed by the ML requirement specifying functional unit 11 and the resource design unit 12.
As described in detail above, the present embodiment makes it possible to eliminate the need for a resource design process needed by the user in using a machine learning service and thereby reduce the time and costs which impose a burden on the user.
Note that in the above embodiment, prediction results on a machine learning service produced by the resource design unit 12 is converted into graphic display data and displayed by the resource design display unit 11C of the ML requirement specifying functional unit 11. This makes it easy for the user to visually identify resource settings that satisfy specified performance.
The device according to the present invention can also be implemented by a computer and program, and the program can be either recorded on the recording medium or provided via a network.
Besides, the present invention is not limited to the embodiment described above, and may be modified in various forms in the implementation stage without departing from the gist of the invention. Embodiments may also be implemented in combination as appropriate whenever possible, offering combined effects. Furthermore, the above embodiment includes inventions in various stages, and various inventions can be extracted through appropriate combinations of the disclosed components. For example, even if some of all the components shown in the embodiment are removed, the resulting configuration can be extracted as an invention as long as the configuration can solve the problem described in Technical Problem and provide the effects described in Effects of the Invention.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2019/048024 | 12/9/2019 | WO |