Development Group
BLOG

Machine Learning / Artificial Intelligence

Back to Blog

How to reduce IT infrastructure cost for R&D projects

March 27, 2017

In order to stay up to date most IT companies must maintain an R&D department focused on doing research and implementing innovative ideas.

There are plenty of emerging technologies and approaches on their ways toward application in a business setting.

As such, if you are doing a business, you should always think about your competitive advantage and try to find it by applying the emerging technologies or even trying to move those technologies forward while making the name on them.

Some of the promising domains, that everyone should consider, are Machine Learning and Computer Vision.

The challenge of Computer Vision is its strain on patience. The complex training process of the machine with a vision task takes a lot of testing, training and, consequently, time to be accomplished.  

Think about that as the researcher sitting hands down and waiting for his ideas to be reflected in a model, that can be achieved only through the time-consuming process of training.

One has no choice but to realize this when seeing the researcher sitting hands down in solemn meditation.

Of course, if you are capable to invest into infrastructure, then there are no obstacles for the R&D department to spin up the expensive GPU instances on Amazon.

But what if you aren’t sure about investing in the expensive resources? Or maybe one of your competitive advantage is the rate lower than the market average? What if your company is running instances of Machine Learning algorithms around the world? How many Amazon GPU’s do you need?

If you ask these or similar questions, then you should learn of the following.

Below I would like to talk about an approach we are considering in our R&D department as an alternative to expensive GPU instance son Amazon, and one that may be useful to your company.

Today we will talk about the Google Colab (https://colab.research.google.com).

You may think of it as Jupyter Notebook provided by Google - and it basically is. The main intent of it is to provide a tool for researchers to do machine learning projects.

But wait, the feature that makes it so attractive to us -  is that it has the access to the GPU k80 unit absolutely for free.

And that means that we can use the power of python related libraries and frameworks to build our machine learning models completely for free on the infrastructure, provided by the Google Colab project.

Let’s see, what is under the hood:

The above python code being run on Google Colab gives us the understanding of what resources are provided - the NVIDIA Tesla K80. The corresponding GPU unit should be enough to perform the most daunting tasks in machine learning projects.

However, developers of Google Colab claim, that the VM configuration is subject to change, as such they recommend to investigate that question from time to time.

Also, let’s see the difference between performing the code on CPU versus GPU using the Google Colab project

The code above performs the computationally-heavy operations and measures the speed difference between the CPU and GPU. The code is run on Google Colab.

As you can see, the code is performed 10x faster on GPU than on CPU.

Hopefully, this short informational brief is enough for you to grasp the opportunities provided by the Google Colab project. Certainly, it was most beneficial to the researchers working in our R&D department tryin to reduce the cost of the IT infrastructure.

Apart from that, the Google Colab project provides all the capabilities to upload the dataset or to download the trained model. Therefore the R&D team doesn’t have to accept trade-offs in their projects.

In our view, the presence of the GPU resources free of charge for everyone is a game-changing scenario, as the machine learning community should expect the rise in the interest of the researchers around the world. For the businesses it means the enhancement of the technologies and approaches, as well as possible to apply them for commercial projects.

This post opens the series of machine learning articles. Stay tuned, there are a lot of exciting topics coming in the future.