Google Cloud - Compute VS Machine Learning Engine

Does anyone know the difference between using Google Cloud Machine Learning and a virtual machine instance in Google Cloud Engine?

I am using Keras with Python 3 and I feel that GML is more restrictive (using python 2.7, an earlier version of TensorFlow, should follow this structure ...). I assume these are the benefits of using GML over VM in GCE, but I would like to know what it is.

+8
python machine-learning tensorflow google-compute-engine google-cloud-ml-engine
source share
1 answer

Google Cloud ML is a fully managed service, while Google Compute Engine is not (the latest IaaS ).

Assuming you just want to know some of the differences when you have your own model, here you have a few:

  • The most notable feature of Google CloudML is the deployment itself. You do not need to worry about things like a cluster (i.e. scaling), launching it, installing packages, and deploy your model for training. All this is done automatically, and you will have to do it yourself in the Compute Engine, although you are not limited by what you can install.

    Although all of this deployment can be automated more or less, this is not magic. In fact, you can see in CloudML logs that it is rather rudimentary in the sense that the instance cluster starts up, and after that TF is installed, and your model starts up with the parameters you set. This is due to TensorFlow being an environment separate from Google systems.

  • However, there is a difference in the difference between CloudMl and Compute Engine when it comes to prediction. And that’s what you pay for mostly I would say with CloudML. You can use the deployed model in CloudML for online and batch prediction out of the box to a large extent. In the Compute Engine, you will have to take care of all TensorFlow Serving that are not trivial (compared to training your model).

  • Another benefit of CloudML is its hyperparameter setting. There is no more than just a somewhat clever tool for forced crowding out to find out the best combination of parameters for a given model, and you could possibly automate this in the Compute Engine, but you will need to do this part of defining optimization algorithms to search for a combination of parameters and values ​​that have improved would target (usually maximize your accuracy or reduce loss).

  • Finally, the price is slightly different in any service. Until recently , the CloudML price was paired with other competitors (you would pay for the computational time both in training and for the prediction, as well as for the prediction that you can compare with the computational time in the Compute Engine). However, now you pay only for this computational time (and it’s even cheaper than before), which probably makes the idea of ​​managing and scaling your own cluster (with TensorFlow) in the Compute Engine useless in most scenarios.

+2
source share

All Articles