Google has two free cloud platforms for GPUs — Google Colab and Kaggle Kernels. For machine learning enthusiasts and professionals, both the platforms come in very handy. Both platforms are by Google and so naturally, they have many similarities. But they also have some minor differences between them. Both platforms are free and they give a Jupyter Notebook environment access. Here are the differences in specific features for the two.
1. Language Support
Kaggle Kernels: Kaggle Kernels supports Python 3 and R.
Google Colab: Google Colab supports the languages of Python and Swift.
2. Saving Notebooks
Google Colab: Notebooks can be saved to Google Drive. Notes can be added to Notebook cells. One can also easily integrate the saved notebooks which can be easily uploaded to the GitHub repositories.
Kaggle Kernels: Saving notebooks is easier here than in Colab. A major drawback of both platforms is that the notebooks cannot be downloaded into other useful formats.
Google Colab: Google has its self-made custom chips called TPUs. But a drawback is that TPUs do not work smoothly with PyTorch when used on Colab. However, if TensorFlow is used in place of PyTorch, then Colab tends to be faster than Kaggle even when used with a TPU.
Kaggle Kernel: In Kaggle Kernels, the memory shared by PyTorch is less. In general, Kaggle has a lag while running and is slower than Colab.
4. Keyboard Shortcuts
Google Colab: Colab is not as related to Jupyter Notebooks in terms of its shortcuts as Kaggle is. The shortcuts of Jupyter Notebooks are not completely imported to Colab.
Kaggle Kernel: Most keyboard shortcuts from Jupyter Notebook are exactly alike in Kaggle Kernels, making it easier for a person working in Jupyter Notebooks to work in Kaggle.
Google Colab: Colab has an Nvidia Tesla K80. It is definitely better than Kaggle in terms of speed. But integrating with Google Drive is not very easy. Every session needs authentication every time. Unzipping files in Google is also not very easy.
Kaggle Kernels: Kaggle had its GPU chip upgraded from K80 to an Nvidia Tesla P100. Many users have experienced a lag in Kernel. It is slow compared to Colab.
6. Execution Time
Google Colab: Colab gives the user an execution time of a total of 12 hours. After every 90 minutes of being idle, the session restarts all over again.
Kaggle Kernel: Kaggle claims that they serve a total of 9 hours of execution time. But Kaggle Kernel shows only 6 hours of available time for execution per session. After every 60 minutes, the sessions can also restart all over again.
Both the Google platforms provide a great cloud environment for any ML work to be deployed to. The features of them both are equally competent. Notebooks can be downloaded and later uploaded between the two.
However, Colab comparatively provides greater flexibility to adjust the batch sizes. Saving or storing of models is easier on Colab since it allows them to be saved and stored to Google Drive. Also if one is using TensorFlow, using TPUs would be preferred on Colab. It is also faster than Kaggle. For a use case demanding more power and longer running processes, Colab is preferred.