
Photo: Jose C Silva (BY)
Hardware & ComputeRunning AI Models Locally: When It Makes Sense and When It Does Not
Running a model on your own hardware is either obviously right or obviously wasteful, and which one depends on factors that have little to do with the model. Here is the decision framework I use.
The three reasons that actually justify it
Data that cannot leave
The strongest case. Patient records, legal material under privilege, classified work, personal data you have promised not to share with processors. If sending the data to a third party is not permitted, local inference is not a preference, it is the only option.
This is also the case where the economics stop mattering. You are not comparing cost per token; you are comparing against not doing the thing.
High, steady volume
API pricing is excellent for variable and modest usage and stops being excellent at sustained high throughput. There is a crossover point where owning hardware is cheaper, and it is workload-specific.
Calculate it honestly. Include the hardware, the electricity, the cooling, and — the item people omit — the engineering time to run it. Someone has to maintain the serving stack, and that person is not free.
You need it to not change
Hosted models get updated. Behaviour shifts, sometimes subtly, and your carefully tuned prompts drift with them. For research requiring reproducibility, or a production system validated against specific behaviour, a model you control is a model that stays put.
This is underrated and it is the reason a lot of research work should be local regardless of cost.
The reasons that do not hold
“It will be cheaper.” For intermittent usage it is almost never cheaper once you count the hardware and your own time. Idle hardware costs money; an idle API costs nothing.
“It will be faster.” Occasionally true for small models on good hardware. Frequently false, because hosted providers run better hardware with better batching than you do.
“It is more private by default.” Only if you configure it that way. A local model on a machine with poor access control, no encryption at rest and no audit logging is not obviously better than a business-tier API with a proper processing agreement. Local means you own the responsibility, not that it is discharged.
The capability gap, stated fairly
Open-weight models have improved enormously and the gap to frontier hosted models has narrowed considerably — but it has not closed, and it is largest exactly where tasks are hardest: long-context reasoning, complex multi-step work, reliability at the edges.
For a great many practical tasks — classification, extraction, summarisation, straightforward generation — a good open model running locally is entirely sufficient, and the difference will not be visible in your output. For the hardest 10 percent, it will be.
Test on your actual workload rather than on benchmarks. Benchmark rankings frequently fail to predict which model is better for a specific narrow task.
The hybrid arrangement
The pattern that works for most teams is not a choice. Route by sensitivity and difficulty: anything touching regulated data goes to the local model, everything else goes to the API, and the hardest tasks go to the strongest model available.
This requires an abstraction layer over model access so the routing decision is configuration rather than code. That layer is worth building early for a second reason — it is also what lets you change providers without a rewrite.
Where to start
Run something small locally for a week before buying anything. The operational reality — model loading, memory pressure, keeping a serving process alive, updating weights — is the part people underestimate, and a week of it will tell you more than any amount of analysis.
Get new posts by email
Occasional writing on post-quantum cryptography, blockchain security and digital forensics. No more than twice a month, and nothing else.


