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.

up vote 17 down vote accepted

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)

  • "There are no free services" <-- this is not true – Gaius Apr 2 at 11:30
  • 2
    @Gaius I have added correction for Colab - I can see your answer adds Azure (with strict limitations). IMO, "1 hour per experiment" is fine for self-teaching basics of deep learning. It's not much use for serious research. Could not use it for most Kaggle competitions. I would still recommend a paid service or build-your-own above using Azure free. Of course what Microsoft are hoping is you will train on their system, then upgrade to do real work. – Neil Slater Apr 2 at 11:40
  • Cheers :-) Enjoy the rest of the Bank Holiday! – Gaius Apr 2 at 11:41
  • @Gaius: Thanks! In fact I have made this answer a community wiki to hopefully stop it going further out of date. – Neil Slater Apr 2 at 12:00
  • 2
    @Media: I get to keep the rep from up to now. Making it a community wiki allows other people to update it with more information - I expect adding big name services, and roughly what their free service tier looks like. Dozens of "update" answers with latest changes to the SaaS/IaaS deep learning environment could make the page difficult to read. – Neil Slater Apr 2 at 17:09

I want to add one more resource, Google Colaboratory. It's a free cloud iPython notebook and gives you free usage of a K80 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.

colab.research.google.com

  • 2
    It looks like it will be free indefinitely. – Jay Speidell Jan 26 at 15:49

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.

  • 1
    There have been some edit suggests and confusion around this. Google Cloud does in fact offer GPU and even TPU instances and your credit is eligible for this. I'm actually using it as we speak to host GPU backed Jupyter notebooks. – Jay Speidell Apr 2 at 2:36
  • does uploading have any limitation for free hours? do you know it is stronger than their Colab system? And finally, do you know how many hours it is free? – Media Apr 2 at 10:35
  • For the "Free Credit" trials that various services offer, you get full access to all services unrestricted. The credit is just applied to your bill. Colab is limited to 12GB of RAM, so setting up Jupyter on a Compute Engine instance would give you a lot more options for resources. – Jay Speidell Apr 7 at 21:38

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.

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

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.