DEV Community

niuniu
niuniu

Posted on

I Ran the Same Fine-Tune on Colab, Kaggle, and Lightning AI Free GPUs — Only One Didn't Waste My Time

Everyone says "just use the free Colab GPU." So I did — and then I ran the identical fine-tuning job on Kaggle and Lightning AI to see if the advice holds up in 2026.

The job: LoRA fine-tune of Qwen2.5-1.5B on 8,000 instruction pairs, 3 epochs, batch size 8, bfloat16, via trl's SFTTrainer. Same notebook, same seed, same dataset from Hugging Face Hub.

What the Free Tiers Actually Give You

Colab Free Kaggle Lightning AI Free
GPU T4 (16GB), lottery T4 x2 or P100, guaranteed T4 (16GB)
Session limit ~12h, throttles you 30h GPU/week quota 22 GPU-hrs/month
Idle disconnect Aggressive (~30-60min) Lenient Lenient
Persistent storage ❌ (Drive mount is slow) 20GB output + datasets ✅ 50GB persistent
Guaranteed GPU ❌ "None available" happens ✅ (once quota starts)

The Results

Metric Colab Free Kaggle Lightning AI
Wait to get GPU 0-40 min (lottery) ~2 min ~1 min
Training time (3 epochs) 2h 41m 2h 38m (T4) / 1h 52m (P100) 2h 44m
Disconnected mid-run 2 times 0 0
Total wall-clock incl. restarts 6h 10m 2h 45m 2h 50m
Final eval loss 0.812 0.809 0.811

Same model, same quality. But Colab free cost me 2 restarts and 3+ extra hours because it killed my session at epoch 2 — twice. Checkpointing saved me, but re-warming from Google Drive added ~10 min each time.

The Uncomfortable Truth

Kaggle is the best free GPU in 2026 and nobody recommends it. Everyone's mental model is stuck in 2020 when Kaggle was "for competitions." Meanwhile:

  • 30 GPU-hours/week is ~4x Colab's practical quota before throttling
  • P100 availability is frequent, and P100 is ~45% faster than T4 for training
  • Kaggle Datasets mount fast (unlike the Google Drive fuse mount, which does ~5MB/s on a good day)
# The pattern that saved me on all three — checkpoint to survive any disconnect:
from transformers import TrainingArguments

args = TrainingArguments(
    output_dir="/kaggle/working/ckpt",   # swap per-platform
    save_strategy="steps",
    save_steps=200,
    save_total_limit=2,
    bf16=True,
    per_device_train_batch_size=8,
    gradient_accumulation_steps=2,
    num_train_epochs=3,
    report_to="none",
)
# Resume anywhere: trainer.train(resume_from_checkpoint=True)
Enter fullscreen mode Exit fullscreen mode

Colab free still wins for one thing: teaching/demoing, because the UX is what everyone knows. But for actual weekend experiments, the GPU lottery plus idle-kills make it the worst of the three.

I prototyped the training script and the platform-abstraction shim with MonkeyCode — free, open-source, runs against local Ollama models too: https://ly.cyberserval.tech/iIETXiF

What's your free GPU setup in 2026 — still loyal to Colab, or have you moved? Anyone running the Colab → Kaggle → Lightning chain to stack 50+ free hours a week?

Top comments (0)