Colab Pro
colab.research.google.com
colab.research.google.com
Some of the key differences:
- Faster storage. Colab uses Google Drive which is convenient to use but very slow. For example, training datasets often contain a large amount of small files (eg 50k images in the sample TensorFlow and PyTorch datasets). Colab will start to crawl when it tries to ingest these files which is a really standard workflow for ML/DL. It's great for toy projects eg training MNIST but not for training more interesting models that are popular in the research/professional communities today.
- Notebooks are fully persistent. With Colab, you need to re-install everything every time you start your Notebook.
- Colab instances can be shutdown (preempted) in the middle of a session leading to potential loss of work. Gradient will guarantee the entire session.
- Gradient offers the ability to add more storage and higher-end dedicated GPUs from the same environment. If you want to train a more sophisticated model that requires say a day or two of training and maybe a 1TB dataset, that's all possible. You could even use the 1-click deploy option to make your model available as an API endpoint. The free GPU tier is just an entrypoint into a full production-ready ML pipeline. With Colab, you would need to take your model somewhere else to accomplish these more advanced tasks.
- A large repository of ML templates that include all the major frameworks eg the obvious TensorFlow and PyTorch but also MXNet, Chainer, CNTK, etc. Gradient also includes a public datasets repository with a growing list of common datasets freely available to use in your projects.
Those are the main pieces but happy to elaborate on any of this or other questions!
My biggest concern with google product is, it might be shut down any time when any small and medium company begins to depend on it. This is the legacy of google in which anything which cannot generate revenues like it's advertising business it's shut down. So although my team use from time to time google colab, we keep an alternative always open.
Hopefully with this 9.99/month charge it might become viable business but will not be as significant as the google's primary business of advertising, so there will always be sword at the neck of this product.
Let's look at the page you linked. On the top of the page it says "free GPU" and for some reason lists three GPU options of varying capacity, all three "free". But slightly below it's very much "non-free GPU" territory. Which is it? Is it free, or are you going to hit me with a bill later? And if it's free, what's the catch? The "free" stuff on the top of the page invites me to create an instance. Hmm, ok, let's see maybe I'll see the actual pricing there? Nope, it wants me to create an account, which I'm not going to do just to see how much something costs.
Might be wise to make this more visible on the pricing page.
I felt like my vision had just suddenly worsened and felt an urge to click away to a different card.
First of all, Colab works on a "resources are free, just not guaranteed" model. When I was about to sign up for Developer, with "Free + Low-Mid Instance Types", I expected that I would have reasonable, shared access to low-mid instances as part of my subscription.
(otherwise.. what am I paying for? Don't charge me... to charge me.)
I then found out that you have to pay a per hourly cost for low-mid instance types; making it a better buy to just use AWS and GCP directly yourself. (When you suspend instances on GCP, you don't get billed for CPU or GPU hours; just storage).
And finally, after that, I found out I had to separately for storage, as well as a $5 deposit minimum or something like that! Colab doesn't have anything like this. AWS doesn't bill a minimum of $5 for each instance, even if you spin it down after a few minutes.
And finally, I couldn't even use the instances I thought I'd get access to, because you're out of availability. Which is really questionable: I'm paying per-hour rates, on top of a SaaS monthly subscription, and plus storage costs with minimum floors (probably a high margin item for you); for a very constrained capacity of GPUs?
We overpay for AWS, and GCP (their margins are insane! esp on bandwidth) because they guarantee most people availability. If I want to deploy 3 gigantic instances for a few hours, (and I have the right quota limits); I can. Sure I'm paying a lot more than what I should, but it's like taxi drivers: you're not just paying for the cabbies time as he drives you, but also his idle time as he looks for a customer.
I don't understand what I am paying for here. I feel like I'm just being charged margin for you to wrap around GCP or AWS with a colorful UI. I do not feel comfortable with you having my credit card details.
If you made a subscription, around $20 per month maybe, that gave me reasonable access to a mid-tier GPU instance subject to capacity at no marginal cost, I would happily subscribe.
Until then, I'm going with Colab, because the beauty is that your costs are fixed and not marginal.
The Colab model of "resources are free, just not guaranteed" model” that you mentioned is literally identical to Gradient: The free tier includes spare capacity at no cost just like Colab. You can upgrade to access high-end instances eg the NVIDIA V100. These additional instances do not have a max runtime as well. I can’t see how this would be a con given this additional option is simply not available in Colab.
Gradient does not have a $5 deposit for storage, the free plan does not cost anything. There is no credit card required. In fact, Gradient doesn’t charge for storage at all.
The "Contact Sales" button on the landing page makes things even more confusing. On the one hand you're using abusive practices like the one above to grab attention, something I usually associate with cheap, low-quality consumer products. On the other hand, your main call-to-action is "Contact Sales", something associated with white-glove enterprise-type products.
However, they could at least define expected and minimum capacity. They might omit it because the business in this – aside from capturing users in their ecosystem – is arbitraging wholesale GPU price against consumer monthly needs, along with scaling the free tier.
[1] "Why aren't resources guaranteed in Colab Pro?" on https://colab.research.google.com/signup
This is a very cheap price.
Mathematica took at least a year or more to write.. so that goes back perhaps to 1986.. 90s is way off...
I can tell you definitively that Sage Notebook is very Mathematica inspired. The IPython console looked a lot like Mathematica, mainly because Fernando Perez (who was a physicist) had used Mathematica a lot and wanted something similar but (much) better. In 2005 there was a project to make an IPython notebook interface as an OS X graphical application, which got demoed at Sage Day 1 (in Feb 2006). That motivated me to get interested in doing something similar, but using Javascript and HTML instead. I hired Alex Clemesha, who just finished his physics undergrad and was a heavy Mathematica user to work on Sage fulltime. He did a lot of work with me during 2006 to create a web-based notebook interface (and also to provide a mathematica-like graphics compatibility layer for Python, which is in Sage). The Sage notebook felt pretty similar in 2007 to what Jupyter notebook feels like, and it definitely inspired the UI. We developed Sage notebook heavily and then all sort of lost interest and moved on to other things (e.g., Jason Grout, who was involved a lot with the Sage notebook went to work at Bloomberg, where he did a massive amount of work on JupyterLab). Fortunately, Fernando Perez and others got incredible grant support and many fantastic engineers together built the Jupyter notebook. Jupyter notebook provided the same sort of cell/output UI as we had with the Sage notebook, but was much more general purpose (many kernels) and used more "modern" implementation techniques, by 2011 standards at least.
There's a lot of amazing things about the Mathematica notebook that we never even tried to implement. For example, Mathematica has a much more sophisticated nested structure. Also, by default Mathematica shares one kernel across multiple notebooks (or at least it did last time I tried it).
Just to finish the story, in 2013 I started CoCalc to make a fully realtime collaborative notebook interface. Around the same time, many other people started another project called JupyterLab that reimplemented a Jupyter notebook client using much more powerful modern approaches. In addition, there's a lot more going on regarding notebook clients these days, including Nteract, Kaggle kernels, and http://deepnote.com/. Some people like me who work on these surely played around a lot with Mathematica notebooks when they were kids :-).
I don't need more compute power or longer instances as I use collab with my own hardware (I have a good enough GPU and I don't risk being disconnected), what I need is the ability to run it fully locally with my python environement (+libs) and local data that never leaves my computer (making it effectively and alternative interface for python jupyter notebooks).
I invested 18 months ago in a GPU setup for home. Really convenient but I somewhat regret the purchase. I used to spin up GCP GPU instanced when needed and that was not convenient. Colab is very convenient.
$10/month for better GPUs and longer sessions seems like a good deal.
With a very low price point coupled with not that huge of a user base, this will end up making how much for Google? $1MM/month? $10MM/month? Either would be negligible for them.
Don't forget that the alternative was just free. For all we know this is the way they're breaking even on Colab to prevent shutting it down.
You aren't going to be running service off it or even have a permanent set up so if they cancel it you'd have very little to transition from.
The collection of a credit card isn't just monetary: it also provides some sort of anti-abuse as most people have a limited number of credit cards; and even a bulk credit farm operation has a monetary cost per card (I read the going rate for a hacked card even is $100 ish).
Aged Google Accounts go for $1-2 from account farmers these days.
It’s hard for me to understand why Colab would build such a vague pro tier instead of the simplest possible solution: let me pay for my compute.
There’s so much more potential, too; they could offer whole clusters on demand, with really simple Python integrations say using dask, or ray.
There is an easy native command for port forwarding to Jupyter: https://cloud.google.com/ai-platform/deep-learning-vm/docs/j...
Doubt I'll pickup deep learning as a profession by this, but it's a step forward.
This is not cheap though. A V100 runs you over $1.5k a month if you don't turn it off.
As such, I don't think there would be a market for quick and dirty scratchpads backed by rock solid but expensive dedicated compute.
As far as utility for research, as a researcher, I _already have_ several local GPUs at my disposal, and I only use notebooks to kick the tires on things and visualize. The moment something starts to look like it's useful, I move it to a real *.py file where it's more maintainable and diffable.
Edit: actually I now think I know who this is geared towards. It's geared towards people who aren't going to really use it, and don't mind to pay $120/yr (+tax) for something they don't use. Which, IMO, is pretty smart.
Reading between the lines of both the signup page and up-to-date FAQ, it seems like the free TPU in Colab notebooks will be depreciated, which isn't too surprising.
Litany of failure here: https://twitter.com/theshawwn/status/1174480402779648000
Perhaps I just got unlucky and the situation is improved now. But it was a waste of a day for me.
I should test more at some point.
Sorry about that. We (I) had screwed up and allowed users to smash themselves into the wall of "Huh, you keep getting preempted, but there's technically a slot right here". We've re-enabled some backpressure to keep you from getting hit over and over again, and instead see a stockout error when you should probably try another (less full) zone.
I doubt it makes a material difference to their (or our) bottom line, but it's just a nice gesture and makes you never feel like "damn, I literally wasted money".
To me, they're not really sold as "cheaper, just not 100% guaranteed"; they're sold as "cheap, it will be killed at any moments notice so".
It's a great tool and it lets you focus on the code and the models, instead of the hardware and OS. But $9.99/month is a little expensive for my taste.
You can't customize it and if they change something you have to install software by hand sometimes. It should be $1.99/month, that's the kind of price I'd pay for this basic cloud computing service.
edit: I use Colab to play with ML models. I really don't think it's possible, for instance, to train a model on Imagenet using Colab. So Colab is similar to the microwave, if you want to cook a serious recipe you should use a real kitchen.
This is the pro/paid offering with fewer limitations and better resources.
When you're using your own money to pay for cloud resources, that unbounded worst case is pretty scary.