An 8 GB laptop cannot train a model or generate images locally. It can, however, drive a free cloud GPU through a browser tab. The trick is knowing which free tier to use for which job — and which limits are real versus marketing.
I tested the three that matter for low-end hardware users: Google Colab, Kaggle Notebooks and Hugging Face Spaces. Here is the practical comparison.
The short version
Kaggle for predictable GPU hours and training. Colab for convenience and quick experiments. Hugging Face Spaces for sharing a demo without managing a notebook. None of them is a substitute for a paid GPU if you need reliability.
The comparison
Figures are the published free-tier limits as of November 2026. Providers change them without notice; check the official pages before planning around them.
| Google Colab (free) | Kaggle (free) | Hugging Face Spaces (free) | |
|---|---|---|---|
| GPU | T4, availability not guaranteed | ~30 GPU hours/week, P100 or 2×T4 | CPU basic; ZeroGPU limited/PRO |
| RAM | ~12 GB | ~13 GB usable | 16 GB (CPU basic) |
| Session limit | ~12 h, idle disconnect | 9–12 h | Always-on for CPU; sleeps when idle |
| Disk | ~100 GB ephemeral | ~20 GB ephemeral | Repo storage limits |
| Persistent storage | Google Drive mount | Kaggle Datasets | HF Hub / paid storage |
| Best for | Quick experiments, tutorials | Training, competitions | Demos, Gradio apps |
| Signup friction | Google account | Phone-verified account | HF account |
Google Colab: the convenient one
Colab is the default because it is one click from a Google account. Open a notebook, select a runtime, run cells. For a beginner, nothing else comes close.
What works well:
- zero setup for common libraries
- Google Drive integration for datasets and outputs
- generous session length when it stays alive
- excellent for following tutorials
The catches:
- GPU is not guaranteed. On a free account at peak hours, you may get a CPU-only runtime. The “Connect” dialog will show what you got.
- Idle disconnects. Walk away for long enough and the VM is reclaimed. Long training runs need checkpointing.
- Free tier is for interactive use. Crypto mining, proxies, remote desktops and long-running servers get restricted.
- Memory is shared. ~12 GB sounds generous until you load a diffusion model, its VAE and a batch of images.
# Check what you actually got
!nvidia-smi
If that errors, you are on CPU. Runtime → Change runtime type → T4 GPU, then try again.
Kaggle: the predictable one
Kaggle's free GPU quota is the worst-kept secret in machine learning education: roughly 30 hours per week, with a P100 or dual T4 depending on availability. It is not unlimited, but it is scheduled, which makes it usable for real work.
What works well:
- the most predictable free GPU allocation
- datasets and notebooks live in the same place
- versioned notebooks and saved outputs
- 9–12 hour sessions are enough for small fine-tunes
The catches:
- phone verification is required for GPU access
- 20 GB of ephemeral disk fills quickly with model weights
- the interface is notebook-first; it is not a general dev environment
- quota resets weekly, and heavy users can be rate-limited
The workflow that works: keep datasets in Kaggle Datasets, save checkpoints to a Kaggle Dataset or Hugging Face Hub, and treat each session as disposable.
Hugging Face Spaces: the demo layer
Spaces is not a notebook. It hosts a small app — usually Gradio or Streamlit — that other people can use. Free CPU Spaces are genuinely free and always available; GPU Spaces require PRO or use ZeroGPU with queueing.
What works well:
- share a working demo with a URL
- no server administration
- good for portfolio pieces and model cards
- Gradio makes a UI in a few dozen lines
The catches:
- free CPU is too slow for diffusion or LLM inference at scale
- ZeroGPU is shared and queued; latency is unpredictable
- persistent storage and custom domains are paid features
For a low-end laptop user, Spaces is the “show your work” tier, not the compute tier.
The workflow I actually use
The laptop stays the control surface. The cloud does the heavy lifting.
- Write and test code locally with small samples. This keeps the feedback loop fast and avoids burning GPU quota on syntax errors.
- Push the notebook or script to Colab or Kaggle.
- Mount persistent storage before training: Google Drive on Colab, a Dataset or Hub repo on Kaggle.
- Checkpoint every epoch. Assume the session will die.
- Download only the result, not the intermediate files. The laptop has 256 GB, not 2 TB.
from google.colab import drive
drive.mount('/content/drive')
# Write checkpoints somewhere that survives the session
CKPT = '/content/drive/MyDrive/lowpc-lab/checkpoints'
Do not put private data on a free tier
Free notebooks are shared infrastructure with opaque retention. Client data, credentials, medical records and anything under NDA do not belong there. Use a paid contract or keep it local.
Free GPU vs your own hardware
A rough cost comparison for the jobs people actually run:
| Job | Free cloud | Local 8 GB laptop |
|---|---|---|
| Fine-tune a small classifier | 1–3 h, feasible | Hours to days, thermally limited |
| Generate 50 images | 20–40 min | Not possible |
| Run a 7B LLM chat | Possible but session-bound | Possible, 2–4 tok/s |
| Train a LoRA | Feasible on Kaggle | Not realistic |
| Process a private document | Avoid free tiers | Yes, locally |
The pattern: cloud for bursty, GPU-shaped work; local for private, latency-tolerant, small-model work. The laptop is not obsolete; it is the part that keeps your data and your editor.
What I would pay for, and when
Free tiers are fine for learning and side projects. They become frustrating when:
- you need a GPU at a specific time
- a session dies mid-training
- you need more than 16 GB of VRAM
- you need a stable endpoint for an app
At that point, the honest options are a Colab/Kaggle paid plan, a per-hour GPU rental (RunPod, Lambda, Vast), or a used desktop GPU. All of them cost more than the free tier and less than a new laptop. Do not buy hardware until the free tier has actually blocked a project you care about.
FAQ
Can I leave a Colab notebook running overnight?
It may survive, but idle disconnects and usage limits make it unreliable. Checkpoint frequently, or use a service designed for long jobs.
Is Kaggle really 30 hours a week?
That is the commonly cited quota, and it has been stable, but it is not a contract. Kaggle can change or throttle it. Plan for less.
Can I use these GPUs for a commercial product?
Read the terms. Free tiers are generally for learning and experimentation, not production hosting. Commercial use of outputs may be fine; hosting a business on a free notebook is not.
What about GitHub Codespaces?
Great for development, not for GPU work. The free tier is 120 core-hours per month of CPU, no GPU. It is a better fit for the Python setup than for training.