{"course":{"slug":"open-models","title":"The Open Model Ecosystem","url":"https://addaly.com/learn/open-models","level":"intermediate","track":"deep"},"lesson":{"slug":"free-compute","title":"Running all of this without money","url":"https://addaly.com/learn/open-models/free-compute","position":38,"of":71,"minutes":8,"answer":"Kaggle's weekly GPU hours, Colab's T4, free CPU instances and provider credits are enough to evaluate, fine-tune and batch-process without spending anything, provided every job checkpoints to durable storage and writes results incrementally.","keyIdea":"Kaggle's weekly GPU hours, Colab's T4, free CPU instances and provider credits are enough to evaluate, fine-tune and batch-process without spending anything, provided every job checkpoints to durable storage and writes results incrementally."},"body":{"format":"markdown","text":"## What is free, and what each is good for\n\nNothing in this course requires you to buy hardware. Here is the honest state of the free tiers, with their real limits rather than their advertised ones.\n\n**Kaggle Notebooks** is the most generous and least known. Around 30 GPU-hours per week, on a P100 or a pair of T4s, with sessions up to about 12 hours, plus a large CPU allowance. That is enough to fine-tune a 7B model with QLoRA, run a full evaluation, or process a substantial batch job. If you take one thing from this lesson, it is that this exists.\n\n**Google Colab** free tier gives you a T4 with 16 GB of VRAM, sessions that disconnect after a few hours and sooner if idle, and no guarantee of a GPU at busy times. Good for a notebook you can restart, poor for anything that must complete.\n\n**Hugging Face Spaces** hosts free CPU Spaces indefinitely. More usefully, you can *use* other people's public Spaces at no cost, which is how to try six image or speech models in twenty minutes without installing anything.\n\n**Oracle Cloud's always-free tier** provides ARM instances with a meaningful amount of RAM and no time limit. There is no GPU, so this is CPU inference, but a 7B or 8B model at Q4 runs on it at a few tokens per second, permanently, for nothing. For a background job or a low-traffic personal service that is a real deployment.\n\n**Provider free credit.** Several inference providers give a small amount of free usage, and Hugging Face includes a monthly credit for its inference partners. Enough to run an evaluation across several models; not enough to serve anything.\n\n**Your own machine.** An ordinary laptop runs a 3B model at readable speed on CPU alone. This is not a consolation prize; most of the extraction, classification and rewriting work in this course runs there.\n\n## What fits where\n\nOn a T4 with 16 GB of VRAM:\n\n- Inference on a 7B or 8B model at 4-bit, with room for a long context.\n- Inference on a 13B at 4-bit, tight.\n- QLoRA fine-tuning of a 7B with a modest sequence length and gradient checkpointing.\n- Not: full-precision fine-tuning of anything interesting, or a 70B in any form.\n\nOn CPU with 8 to 16 GB of RAM: 3B to 8B at Q4, at the speeds the bandwidth arithmetic predicts.\n\n## Working within session limits\n\nThe constraint that actually hurts is not memory, it is that free sessions end. Three habits make it survivable, and they are the same habits that make any long job survivable.\n\n**Checkpoint to durable storage every N steps.** Not to the session's local disk, which disappears. Push adapters to a private repository, or write to mounted cloud storage.\n\n```python\nfrom transformers import TrainingArguments\nargs = TrainingArguments(\n    output_dir=\"out\", save_steps=100, save_total_limit=2,\n    push_to_hub=True, hub_model_id=\"you/my-adapter\", hub_private_repo=True,\n)\n```\n\n**Make the job resumable.** A training run that can start from the last checkpoint turns a disconnection into a delay. A run that cannot turns it into a loss.\n\n**Write results as you go.** One JSONL line per completed item, appended immediately. If the session dies at item 380 of 500, you have 380 results, not none.\n\nThese are the same disciplines that matter on paid infrastructure; the free tier just teaches them faster.\n\n## What the free tiers are not for\n\nServing a product. Rate limits, unpredictable availability and terms that prohibit it make this a bad idea, and it will fail at the moment anyone actually uses your thing. For serving, either rent per token, which starts at a few cents, or use the always-free CPU instance and accept its speed.\n\n> The order that wastes least: evaluate on free provider credit, fine-tune on Kaggle's weekly hours, and only then decide what to pay for. Most people buy hardware first and discover afterwards that a 3B model on their existing laptop did the job."},"check":{"question":"A QLoRA fine-tune on a free notebook GPU is disconnected at around hour four of an expected six. What determines whether the work is lost?","options":[{"text":"Whether the model was small enough to fit in VRAM, since larger models fail to save state.","correct":false,"tempting":"Fitting in memory is a precondition for running at all; it has nothing to do with surviving a disconnect."},{"text":"Whether checkpoints were written to durable storage outside the session and the run can resume from the last one.","correct":true},{"text":"Whether the session was on Colab or Kaggle, since one preserves state across disconnects.","correct":false,"tempting":"Neither preserves a running session; both discard the local disk when the session ends."},{"text":"Whether gradient checkpointing was enabled, which stores intermediate states for recovery.","correct":false,"tempting":"Gradient checkpointing trades compute for memory during backpropagation and has nothing to do with saving progress."}]},"prev":{"slug":"serving-many-users","title":"Serving many users at once","url":"https://addaly.com/learn/open-models/serving-many-users"},"next":{"slug":"rent-or-own","title":"Rent, or own: the arithmetic","url":"https://addaly.com/learn/open-models/rent-or-own"},"authorship":"Founder and series editor: Dr Mustafa Mun. Written by AI models to a written standard. Exam keys checked blind by a second model: 3,665 of 3,666 agreed. Academic review invited.","review":{"status":"Draft, open for academic review"},"cite":"Addaly (2026) 'Running all of this without money', in The Open Model Ecosystem. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/open-models/free-compute (Accessed: 13 October 2026).","licence":{"name":"CC BY-NC-SA 4.0","url":"https://creativecommons.org/licenses/by-nc-sa/4.0/"},"reader":{"schema":1,"title":"Running all of this without money","courseTitle":"The Open Model Ecosystem","module":{"index":4,"slug":"making-it-run","title":"Making it run on the machine you have"},"answer":null,"keyIdea":"Kaggle’s weekly GPU hours, Colab’s T4, free CPU instances and provider credits are enough to evaluate, fine-tune and batch-process without spending anything, provided every job checkpoints to durable storage and writes results incrementally.","hero":{"kind":"plate","image":null,"alt":null,"caption":null},"blocks":[{"t":"h2","id":"what-is-free-and-what-each-is-good-for","runs":[{"text":"What is free, and what each is good for"}]},{"t":"p","runs":[{"text":"Nothing in this course requires you to buy hardware. Here is the honest state of the free tiers, with their real limits rather than their advertised ones."}]},{"t":"p","runs":[{"text":"Kaggle Notebooks","b":true},{"text":" is the most generous and least known. Around 30 GPU-hours per week, on a P100 or a pair of T4s, with sessions up to about 12 hours, plus a large CPU allowance. That is enough to fine-tune a 7B model with QLoRA, run a full evaluation, or process a substantial batch job. If you take one thing from this lesson, it is that this exists."}]},{"t":"p","runs":[{"text":"Google Colab","b":true},{"text":" free tier gives you a T4 with 16 GB of VRAM, sessions that disconnect after a few hours and sooner if idle, and no guarantee of a GPU at busy times. Good for a notebook you can restart, poor for anything that must complete."}]},{"t":"p","runs":[{"text":"Hugging Face Spaces","b":true},{"text":" hosts free CPU Spaces indefinitely. More usefully, you can "},{"text":"use","i":true},{"text":" other people’s public Spaces at no cost, which is how to try six image or speech models in twenty minutes without installing anything."}]},{"t":"p","runs":[{"text":"Oracle Cloud’s always-free tier","b":true},{"text":" provides ARM instances with a meaningful amount of RAM and no time limit. There is no GPU, so this is CPU inference, but a 7B or 8B model at Q4 runs on it at a few tokens per second, permanently, for nothing. For a background job or a low-traffic personal service that is a real deployment."}]},{"t":"p","runs":[{"text":"Provider free credit.","b":true},{"text":" Several inference providers give a small amount of free usage, and Hugging Face includes a monthly credit for its inference partners. Enough to run an evaluation across several models; not enough to serve anything."}]},{"t":"p","runs":[{"text":"Your own machine.","b":true},{"text":" An ordinary laptop runs a 3B model at readable speed on CPU alone. This is not a consolation prize; most of the extraction, classification and rewriting work in this course runs there."}]},{"t":"h2","id":"what-fits-where","runs":[{"text":"What fits where"}]},{"t":"p","runs":[{"text":"On a T4 with 16 GB of VRAM:"}]},{"t":"ul","items":[[{"text":"Inference on a 7B or 8B model at 4-bit, with room for a long context."}],[{"text":"Inference on a 13B at 4-bit, tight."}],[{"text":"QLoRA fine-tuning of a 7B with a modest sequence length and gradient checkpointing."}],[{"text":"Not: full-precision fine-tuning of anything interesting, or a 70B in any form."}]]},{"t":"p","runs":[{"text":"On CPU with 8 to 16 GB of RAM: 3B to 8B at Q4, at the speeds the bandwidth arithmetic predicts."}]},{"t":"h2","id":"working-within-session-limits","runs":[{"text":"Working within session limits"}]},{"t":"p","runs":[{"text":"The constraint that actually hurts is not memory, it is that free sessions end. Three habits make it survivable, and they are the same habits that make any long job survivable."}]},{"t":"p","runs":[{"text":"Checkpoint to durable storage every N steps.","b":true},{"text":" Not to the session’s local disk, which disappears. Push adapters to a private repository, or write to mounted cloud storage."}]},{"t":"code","lang":"python","label":"Python","text":"from transformers import TrainingArguments\nargs = TrainingArguments(\n    output_dir=\"out\", save_steps=100, save_total_limit=2,\n    push_to_hub=True, hub_model_id=\"you/my-adapter\", hub_private_repo=True,\n)"},{"t":"p","runs":[{"text":"Make the job resumable.","b":true},{"text":" A training run that can start from the last checkpoint turns a disconnection into a delay. A run that cannot turns it into a loss."}]},{"t":"p","runs":[{"text":"Write results as you go.","b":true},{"text":" One JSONL line per completed item, appended immediately. If the session dies at item 380 of 500, you have 380 results, not none."}]},{"t":"p","runs":[{"text":"These are the same disciplines that matter on paid infrastructure; the free tier just teaches them faster."}]},{"t":"h2","id":"what-the-free-tiers-are-not-for","runs":[{"text":"What the free tiers are not for"}]},{"t":"p","runs":[{"text":"Serving a product. Rate limits, unpredictable availability and terms that prohibit it make this a bad idea, and it will fail at the moment anyone actually uses your thing. For serving, either rent per token, which starts at a few cents, or use the always-free CPU instance and accept its speed."}]},{"t":"quote","runs":[{"text":"The order that wastes least: evaluate on free provider credit, fine-tune on Kaggle’s weekly hours, and only then decide what to pay for. Most people buy hardware first and discover afterwards that a 3B model on their existing laptop did the job."}]}],"check":{"question":[{"text":"A QLoRA fine-tune on a free notebook GPU is disconnected at around hour four of an expected six. What determines whether the work is lost?"}],"options":[{"text":[{"text":"Whether the model was small enough to fit in VRAM, since larger models fail to save state."}],"correct":false,"tempting":[{"text":"Fitting in memory is a precondition for running at all; it has nothing to do with surviving a disconnect."}]},{"text":[{"text":"Whether checkpoints were written to durable storage outside the session and the run can resume from the last one."}],"correct":true,"tempting":null},{"text":[{"text":"Whether the session was on Colab or Kaggle, since one preserves state across disconnects."}],"correct":false,"tempting":[{"text":"Neither preserves a running session; both discard the local disk when the session ends."}]},{"text":[{"text":"Whether gradient checkpointing was enabled, which stores intermediate states for recovery."}],"correct":false,"tempting":[{"text":"Gradient checkpointing trades compute for memory during backpropagation and has nothing to do with saving progress."}]}],"order":[3,0,2,1],"why":null},"prev":{"slug":"serving-many-users","title":"Serving many users at once","minutes":9},"next":{"slug":"rent-or-own","title":"Rent, or own: the arithmetic","minutes":9}}}