52 karma · joined February 8, 2020
From "Preface to Shakespeare" by Samuel Johnson in 1765 (here "quibble" means the same thing as "pun"):
"A quibble is to Shakespeare, what luminous vapours are to the traveller; he follows it at all adventures, it is sure to lead him out of his way, and sure to engulf him in the mire. It has some malignant power over his mind, and its fascinations are irresistible. Whatever be the dignity or profundity of his disquisition, whether he be enlarging knowledge or exalting affection, whether he be amusing attention with incidents, or enchaining it in suspense, let but a quibble spring up before him, and he leaves his work unfinished. A quibble is the golden apple for which he will always turn aside from his career, or stoop from his elevation. A quibble poor and barren as it is, gave him such delight, that he was content to purchase it, by the sacrifice of reason, propriety and truth." [1]
[0] https://en.wikipedia.org/wiki/Pun#History_and_global_usage [1] https://www.sapili.org/livros/en/gu005429.pdf
To your point though it's fun to think about generative applications too. I for one would appreciate a writing assistant trained on millions of scientific papers -- like OK I'll write that last-minute proposal for you but you better believe it's going to be chock-full of dispensable lexical arcana.
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!