Listen to this story
|
Two years ago, Google gifted the machine learning developers with its tool, Collaboratory, that gave access to GPUs and TPUs, with a free service, so far. Although Colab can’t be used for full-length projects, it did the job for beginners and mid-level practitioners.
Today, Google released Colab Pro, priced at 9.99$ per month.
Key features include:
- Notebooks can stay connected for up to 24 hours, compared to the 12 hours in the free version of Colab notebooks.
- Get priority access to high-memory VMs. These VMs generally have double the memory of standard Colab VMs and twice as many CPUs.
- Users might even be automatically given a high-memory VM when Colab detects that the need. Another feature is absent in the free version.
To offer faster GPUs, longer runtimes and more memory in Colab for a relatively low price, Google needs to maintain the flexibility to adjust usage limits and the availability of hardware on the fly.
Resources in Colab Pro are prioritised for subscribers who have recently used fewer resources, in order to prevent the monopolisation of limited resources by a small number of users. To get the most out of Colab Pro, consider closing your Colab tabs when you are done with your work, and avoid opting for GPUs or extra memory when it is not needed for your work. This will make it less likely for a user to run into usage limits within Colab Pro.
How To Make The Most Out Of Colab Pro
Leveraging faster GPUs
ColabPro serves the user with Google’s fastest GPUs. For example, you may get a T4 or P100 GPU at times when most users of standard Colab receive a slower K80 GPU.
You can see what GPU you’ve been assigned at any time by executing the following lines of code on the Colab:
gpu_info = !nvidia-smi
gpu_info = '\n'.join(gpu_info)
if gpu_info.find('failed') >= 0:
print('Select the Runtime → "Change runtime type" menu to enable a GPU accelerator, ')
print('and then re-execute this cell.')
else:
print(gpu_info)
Accessing more memory
With Colab Pro users have the option to access high-memory VMs when they are available. To set your notebook preference to use a high-memory runtime, select the Runtime → ‘Change runtime type’ menu, and then select High-RAM in the Runtime shape dropdown.
You can see how much memory you have at any time by running the following code in your Colab notebook:
from psutil import virtual_memory
ram_gb = virtual_memory().total / 1e9
print('Your runtime has {:.1f} gigabytes of available RAM\n'.format(ram_gb))
if ram_gb < 20:
print('To enable a high-RAM runtime, select the Runtime → "Change runtime type"')
print('menu, and then select High-RAM in the Runtime shape dropdown. Then, ')
print('re-execute this cell.')
else:
print('You are using a high-RAM runtime!')
Running these codes gives:
>>Your runtime has 13.7 gigabytes of available RAM
Pro offers longer runtimes
All Colab runtimes are reset after some period, which is faster if the runtime isn’t executing the codes. While Colab Pro subscribers still have limits, these will roughly be twice the limits for non-subscribers.
However, the Colab team warns the users that the resources are not unlimited in Colab Pro. To make the most of Colab Pro, they suggest the users to avoid using resources when they do not need them. For example, only use a GPU or high-RAM runtime when required, and close Colab tabs when finished.
Empowering Developers One Tool At A Time
Google has been slowly upgrading Colab over the past two years. Last year, Google added Colab with free T4 GPUs. Going by raw FP32 throughput, this was more than 1.5x as fast compared to the initial K80. Today, with the launch of Colab Pro for a price that is incredibly cheap.
Colab Pro provides P100s and T4s. To give a perspective, one Kaggle user did the math for us. As stated in the forum, if Colab Pro is equivalent to preemptible n1-standard-8 + P100 instance on GCP, which costs $0.511/hr. So one would have to use close to 19.5 hours($9.99/$0.511) of Colab per month.
It is becoming apparent that if you want to do deep learning seriously, you have to invest in GPUs, whether it is through cloud services, subscription models, or purchasing your GPU.
There might be an argument against why suddenly Google is charging, but it is evident that deep learning is computation-intensive. One cannot expect to solve intensive machine learning problems by firing up supercomputers for free. However, the pricing is decent, and one can still smartly make use of the free version as there have been instances where developers have trained state of the art NLP models like BERT from scratch using free Colab version.
One should also remember that the Google cloud platform and Tensorflow Research Cloud, which are popular with the practitioners come from the same roof.