Are there free cloud services to train machine learning models?

I want to train a deep model with a large amount of training data, but my desktop does not have that power to train such a deep model with these abundant data.

I'd like to know whether there are any free cloud services that can be used for training machine learning and deep learning models?

I also would like to know if there is a cloud service, where I would be able to track the training results, and the training would continue even if I am not connected to the cloud.

Topic cloud-computing deep-learning neural-network machine-learning

Category Data Science


For a more updated list you can star this github repo: Cloud GPUs


I want to add one more resource, Google Colaboratory. It's a free cloud iPython notebook and gives you free usage of a GPU . I'm not sure of the exact limitations just yet, but it appears you get 12 hours of GPU time per instance and can do this multiple times per month.

This looks like a great resource for students and other non-professionals, especially for smaller jobs that you can run in half a day. It essentially saves you up to $10 per training session, which is a pretty significant resource for machine learning research in my opinion. I seriously hope it doesn't get abused.


There are no unlimited free services*, but some have starting credit or free offers on initial signup. Here are some suggested to date:

  • AWS: If specifically deep learning on a large data set, then probably AWS is out - their free offer does not cover machines with enough processing power to tackle deep learning projects.

  • Google Cloud might do, the starting credit offer is good enough to do a little deep learning (for maybe a couple of weeks), although they have signup and tax restrictions.

  • Azure have a free tier with limited processing and storage options.

Most free offerings appear to follow the "Freemium" model - give you limited service that you can learn to use and maybe like. However not enough to use heavily (for e.g. training an image recogniser or NLP model from scratch) unless you are willing to pay.

This best advice is to shop around for a best starting offer and best price. A review of services is not suitable here, as it will get out of date quickly and not a good use of Stack Exchange. But you can find similar questions on Quora and other sites - your best bet is to do a web search for "cloud compute services for deep learning" or similar and expect to spend some time comparing notes. A few specialist deep learning services have popped up recently such as Nimbix or FloydHub, and there are also the big players such as Azure, AWS, Google Cloud.

You won't find anything completely free and unencumbered, and if you want to do this routinely and have time to build and maintain hardware then it is cheaper to buy your own equipment in the long run - at least at a personal level.

To decide whether to pay for cloud or build your own, then consider a typical price for a cloud machine suitable for performing deep learning at around \$1 per hour (prices do vary a lot though, and it is worth shopping around, if only to find a spec that matches your problem). There may be additional fees for storage and data transfer. Compare that to pre-built deep learning machines costing from \$2000, or building your own for \$1000 - such machines might not be 100% comparable, but if you are working by yourself then the payback point is going to be after only a few months use. Although don't forget the electricity costs - a powerful machine can draw 0.5kW whilst being heavily used, so this adds up to more than you might expect.

The advantages of cloud computing are that someone else does the maintenance work and takes on the risk of hardware failure. These are valuable services, and priced accordingly.


* But see Jay Speidall's answer about Google's colab service, which appears to be free to use, but may have some T&C limitations which may affect you (for instance I doubt they will be happy for you to run content production of Deep Dream or Style Transfer on it)


Microsoft's Azure Machine Learning Studio has an "always free" tier, subject to certain limitations, including

  • 100 modules per experiment (a "module" in Azure-speak is any discrete operation such as "load data" or "train model", so you can do quite a bit with 100 of them)
  • 10Gb of storage
  • 1 hour per experiment
  • No parallel execution on multiple nodes

Training will continue to run while you are not connected, to answer your second question. You can set up your experiments via the web interface or on the command line.


Yes, with limitations. Google Cloud Compute gives you 300 dollars worth of free credit signing up, and Microsoft Azure gives you 200 dollars (but their GPU time is a bit cheaper, so it's almost the same).

This gets you a lot of GPU time, and will get you started while you weigh your options.


It seems that Intel lets users use its AI DevCloud for free for thirty days I guess. Here is the instructions.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.