On-premise LLM: when to self-host a private AI model, and what it takes
On-premise LLM guide: when self-hosting beats an API, the hardware and operations involved, open-weight model families, and how RAG and fine-tuning fit.
On this page
An on-premise LLM is a language model that runs on hardware you control, in your data center or your own cloud account, so prompts and documents never reach a third-party provider. It makes sense when data rules forbid outside processing, when volume is high and steady, or when a site has no internet access. For most other work, a hosted API is cheaper and easier.
What "on-premise" and "private" can mean
People use "private LLM" for three different setups, and the costs differ a lot. Pin down which one you mean before you compare quotes.
- Your own hardware. GPU servers in your data center or a colocation rack. You own the machines and the maintenance.
- Your own cloud account. GPU instances in your AWS, Google Cloud or Azure account, inside a private network. The cloud provider owns the hardware, but no model vendor sees your data.
- A vendor's enterprise API under data terms. A hosted model with zero-retention or regional processing commitments. This is private in a contractual sense. The data still leaves your boundary, so check whether your policies accept that.
When this article says self-hosting, it means the first two: you run the model and you hold the weights.
When self-hosting is the right call
Data cannot leave your boundary
Contracts, regulators or internal policy sometimes rule out sending data to an outside processor. Patient records, privileged legal files, some financial data and anything under strict data residency rules are the usual examples. Check the actual rule first. Many teams assume a restriction that their own legal team would accept with the right contract.
Air-gapped or low-connectivity sites
Factories, defense suppliers, some banks and public bodies run networks with no outbound internet. An API isn't available there. A model on local hardware is the only option.
High, steady volume on a narrow task
API pricing is per token, so cost climbs with volume. A self-hosted model has a mostly fixed cost. If you classify or extract from a very large number of items every day, the fixed cost can win. At low volume it nearly always loses. A task that runs a few hundred times a month costs far less through an API than the salary share of the person who maintains a GPU server.
Latency and control
Hosting next to your systems removes network hops and provider queueing, which matters for voice agents and for checks inside a live workflow. You also control the model version. A hosted provider can retire or change a model on its own schedule. A self-hosted one changes when you decide.
When not to self-host
- Volume is low or unpredictable.
- The task is open-ended and needs the strongest available reasoning. Open-weight models have closed much of the gap, but the largest hosted models still tend to lead on hard, varied work.
- Nobody can run it. A model server needs monitoring, patching and capacity planning like any production service.
- You're still prototyping. Prove the use case on an API first, then decide whether to bring it in-house.
Key point: Self-host because of a data rule, a connectivity limit or high steady volume. "It feels safer" is not enough, since a well-contracted API in the right region can meet many privacy requirements at a fraction of the effort.
Open-weight model families
"Open-weight" means the trained model files are published, so you can download, host and often fine-tune them. That isn't always the same as open source in the license sense, so read the terms.
| Family | Maker | Notes |
|---|---|---|
| Llama | Meta | Widely supported by tooling. Released under Meta's own community license, not an OSI-approved open source license. Conditions include a license request above 700 million monthly active users, a "Built with Llama" notice, a "Llama" prefix on derived models you distribute, and an acceptable use policy |
| Mistral | Mistral AI | Several open-weight models in a range of sizes. Many are Apache 2.0, but some models ship under research or non-production licenses that bar commercial use. Check each model |
| Qwen | Alibaba | Broad size range and strong multilingual coverage. Many models, including the Qwen3 line, are Apache 2.0. Other releases, including some older ones, carry different terms |
| Gemma | Smaller models suited to modest hardware. Gemma 4 is Apache 2.0. Earlier Gemma versions use Google's own Gemma Terms of Use | |
| gpt-oss | OpenAI | Open-weight reasoning models released under Apache 2.0 |
Model names and version numbers change several times a year, so we don't pin versions here. Before you commit, look at the maker's page for the current release and read the license for that specific model. Have your legal team read it too, because terms on commercial use, user thresholds and attribution vary.
Size is the main practical choice. Models of a few billion parameters run on a single modest GPU, or even a CPU with quantization. That is enough for classification and extraction. Mid-sized models of tens of billions of parameters need more memory but handle summarizing and drafting. The very large models need a multi-GPU server. Pick the smallest model that passes your own benchmark. Our guide to small versus large language models explains how to run that test.
Hardware and operations at a high level
You don't need an infrastructure team to start. You do need to plan for the following.
Memory decides what fits
GPU memory is the constraint. As a rough rule, a model stored at 16-bit precision needs about 2 GB of GPU memory per billion parameters for the weights alone, and about half a gigabyte per billion at 4-bit quantization. Add room for the context cache, which grows with the number of simultaneous users and the length of each prompt. Quantization cuts memory and cost and gives up some accuracy, so test the quantized version on your own task.
Throughput and concurrency
A server that feels quick for one user can crawl with fifty. Inference servers such as vLLM, llama.cpp-based servers and NVIDIA's serving stack batch requests to raise throughput. Size the system from your peak concurrent requests and typical prompt length, then load test with realistic traffic before launch.
The operations checklist
- Network. Put the model in a private subnet with no public endpoint, so only your applications can call it.
- Identity and access. Authenticate every caller and log which system or user sent each request.
- Logging. Record input, output, model version and latency. Decide how long logs live and who can read them, since they contain your sensitive data.
- Monitoring. Track GPU utilization, queue depth, error rate and response time, plus a quality measure from sampled human review.
- Updates. Version every model and every prompt. Test a new version on your held-out set before it replaces the old one, and keep the old one ready for rollback.
- Capacity and failover. Decide what happens when the GPU server goes down. Fall back to a second instance, a smaller model, a queue or a human process.
- Ownership. Name one person responsible for the model's quality and another for the infrastructure. They're often different people.
- Cost tracking. Count hardware or cloud rental, engineering time, monitoring and retraining. The GPU is only part of the bill.
If you run in a cloud account, managed services that host open-weight models inside your account remove much of this work. You give up some control and get less upkeep.
RAG or fine-tuning: which one do you need
Teams often assume a private model has to be "trained on our data." For facts, that's usually the wrong move.
Retrieval-augmented generation (RAG) looks up your documents at question time and hands the relevant passages to the model. Answers stay current and cite their sources, and access rules can be enforced per user. It's the right tool for company knowledge. We cover it in how RAG works for company documents.
Fine-tuning teaches the model a behavior: sort tickets into your categories, extract fields in your format, write in your style. It's a poor place to store facts that change, and a good way to get a small model to do one job consistently.
Many private deployments use both. A fine-tuned small model handles the repetitive classification or extraction, and a RAG layer answers questions from your documents. Neither needs your data to leave your environment.
A sensible path to a private deployment
- Write down the constraint. Which data, which rule, which site. If you can't name it, start on an API.
- Choose one narrow use case with enough volume to measure, such as document classification or invoice extraction.
- Benchmark on your data. Compare a hosted model, an open-weight model with a good prompt, and a fine-tuned one, scored on the errors that cost money.
- Deploy to staging in your cloud account with the access and logging controls above.
- Run in parallel with people until corrections drop, then widen what runs automatically.
- Monitor and retrain on a schedule, using reviewer corrections as new examples.
Our private AI models service covers training, hosting inside your environment and the upkeep that follows. If you're weighing self-hosting against an API, book a strategy call. We'll ask about your data rules and volume, then tell you plainly which option fits.
Frequently asked questions
What is an on-premise LLM?
It is a language model that runs on hardware you control, either in your own data center or in your own cloud account. Requests and responses stay inside your network. Because you hold the model files, you also control which version runs and when it changes.
Is a private LLM cheaper than using an API?
Only at high, steady volume on a narrow task, where a mostly fixed hosting cost beats per-token pricing. At low volume the API is almost always cheaper once you count engineering time, monitoring and retraining. Compare total cost. The GPU price alone will mislead you.
Which open-weight models are best for business use?
There is no single winner. Llama, Mistral, Qwen, Gemma and gpt-oss are the families most teams evaluate, and the best pick depends on your task, languages, hardware and license needs. Benchmark two or three on your own data before deciding.
What hardware do we need to run an LLM locally?
It depends on model size and the number of concurrent users. A small model can run on one GPU or a CPU, while larger models need more GPU memory or several GPUs. Work out memory for weights and context, then load test with realistic traffic.
Can a private model learn from our documents?
It can, in two ways. RAG retrieves your documents at question time without changing the model, which suits changing facts. Fine-tuning changes the model itself, which suits a fixed task such as classification or extraction.
Get the next article by email
One practical piece a month on automating real operations. No promotions.