ai
On-Premise LLM Deployment for Marketing Personalization: Models, Hardware, Latency, Cost
By Art Kukharenko · Published · Updated
Browse ai resourcesOn-premise LLM deployment means running an open-weight language model on hardware you control, in your own data centre or private-cloud account, so prompts and customer data never reach a third-party model provider. It is justified by data residency, regulated-data scope, sustained volume or latency, and it is a poor fit for low-volume, low-sensitivity work. This guide covers models, licences, serving, hardware and cost for a customer data platform (CDP) team.
Who this is for: architects, ML platform leads and DPOs deciding whether to run models privately for segmentation, content, summarization and agent workloads. You will get a decision table, a licence and model snapshot taken on 17 October 2026, sizing rules of thumb, a cost method (not invented totals) and a deployment checklist. Part of the AI hub.
When private inference is justified, and when it is not
Four drivers recur in regulated programmes: residency or sovereignty requirements that fix where processing may happen; regulated data in prompts such as protected health information, cardholder data or privileged client data; sustained volume, where owned capacity can beat per-token pricing; and latency or availability needs that rule out an external dependency. Terms used here: on-premise is hardware you operate in your own or a colocation facility; private cloud is a single-tenant environment in your own cloud account; self-hosted means you operate the software; sovereign means operators and jurisdiction are constrained by law.
Scroll horizontally to compare all columns ↔
| Factor | Private inference is favoured when | A contract-covered hosted endpoint is enough when |
|---|---|---|
| Residency | Processing must stay in one country or facility, or the site is air-gapped | Regional processing is acceptable; Azure's DataZone option processes within a defined zone such as EU member states 3 |
| Regulated data | Prompts routinely carry PHI, cardholder data or privileged material | Inputs are aggregated or de-identified, or a business associate agreement applies; AWS lists Bedrock as HIPAA eligible 45 |
| Volume | Sustained, predictable token volume with high utilization | Low or spiky volume |
| Latency and availability | You need predictable latency or independence from provider outages | Human-speed interaction tolerates a network round trip |
| Capability | An open-weight model passes your evaluation | A specific closed model is required |
| Skills | You can run GPU infrastructure and on-call | You cannot |
The market data points both ways. Broadcom's Private Cloud Outlook 2026 (9 June 2026, 1,800 respondents) reports that 56% run or plan production AI inference on private cloud, that public cloud as the primary inference environment fell from 56% to 41%, and that sovereignty and residency were the leading geopolitical factor at 54% 1; Broadcom sells private cloud software, so read it as a vendor survey. Menlo Ventures' December 2025 survey of 495 US enterprise decision-makers found open-weight models at about 11% of enterprise LLM usage, down from 19%, with Llama the most widely adopted open model 2. Private inference is a growing architecture choice, but most enterprise LLM usage still goes to hosted models.
Which marketing and customer-data tasks suit private inference
Good candidates are tasks that read personal or confidential text and produce drafts a human reviews: turning a brief into a segment definition, summarizing support or call transcripts, classifying free-text feedback, drafting content variants under brand and legal constraints, explaining an anomaly in a delivery report, and generating embeddings for semantic search. Poor candidates are tasks that need a specific frontier capability, run rarely, or touch no personal data.
LLM data residency: where the prompt, the logs and the weights live
Residency has three parts. Processing location is where the model call runs: on Azure, Global and DataZone deployments may process outside the resource's geography, standard ones stay within it 3. Storage location covers stored data, logs and abuse-monitoring samples, which Azure keeps in the designated geography 3. Weights location matters for private inference: the model files sit in your registry, not with a provider. A hosted endpoint can satisfy the first two and still involve provider-side review of flagged samples 3; private inference removes that path. For country-level rules see data residency requirements by country.
Open-weight model options and licences, as of 17 October 2026
Releases are frequent, so treat this as a snapshot taken from model cards and licence pages. Read the licence file of the exact checkpoint you deploy; licences can differ within one family.
Scroll horizontally to compare all columns ↔
| Family | Example checkpoints | Size and architecture | Licence (per model card) | Notes from the card |
|---|---|---|---|---|
| OpenAI gpt-oss | gpt-oss-120b, gpt-oss-20b | 117B total, 5.1B active; 21B total, 3.6B active (mixture of experts) | Apache 2.0 | MXFP4 weights; the 120b runs on a single 80 GB GPU and the 20b within 16 GB; requires the harmony response format 6 |
| Mistral | Mistral Large 3; Mistral Small 4 | About 675B mixture of experts; 119B total, 6.5B active; 256k context | Apache 2.0 (both) 78 | Large 3 in FP8 targets a node of B200 or H200 GPUs, in NVFP4 a node of H100 or A100 7 |
| Qwen | Qwen3.8-27B; Qwen3.8-2.4T-A95B; Qwen3.8-Flash-Next | 27B; 2.4T total, 95B active; 125B total plus 51B n-gram embedding, 6B active | Apache 2.0 (27B); "qwen3.8-max" (2.4T); "qwen-community-1.0" (Flash-Next) | Three licences in one release family 91012 |
| DeepSeek | DeepSeek-V4-Pro-0813; DeepSeek-V4.1-Flash | About 1.6T to 1.7T; 552B backbone with 8B to 16B active | MIT | Up to 1M context on Flash; the V4-Pro card serves on a 4-GPU GB300 node 1314 |
| Google Gemma 4 | gemma-4-31B-it; gemma-4-26B-A4B-it | 31B dense; 25.2B total, 3.8B active; 256K context | Apache 2.0 | The 31B card lists text and image input 1516 |
| Meta Llama | Llama 4; Llama 3.3; Llama 3.2 | See the licence pages | Llama Community Licenses | Custom terms, below 171920 |
Reading the licences
Serving stacks
Scroll horizontally to compare all columns ↔
| Stack | Licence | What it is | Notes |
|---|---|---|---|
| vLLM | Apache-2.0 | High-throughput serving engine: PagedAttention, continuous batching, prefix caching, FP8, NVFP4, INT4, GPTQ/AWQ and GGUF quantization, tensor, pipeline and expert parallelism, structured outputs, an OpenAI-compatible server; runs on NVIDIA, AMD and Intel GPUs and other accelerators 21 | The engine most model cards in the table above name for production serving 89 |
| SGLang | Not reviewed here | Named beside vLLM on the Qwen and DeepSeek cards 1013 | Evaluate as an alternative |
| Hugging Face TGI | Apache-2.0 | Repository archived on 21 March 2026 and in maintenance mode; its README points users to vLLM or SGLang 22 | Do not start new deployments on it |
| Ollama | MIT | Local model runner with a REST API for macOS, Windows, Linux and Docker 23 | Developer workstations and prototypes; add authentication, scaling and observability before production |
| NVIDIA NIM | NVIDIA licence terms | Containers; NIM for LLM and VLM version 2.0 is built on vLLM, one container per backend 24. The "NIM" offering is free under the applicable licence terms without enterprise support; "NIM Certified" Production Branch requires an NVIDIA AI Enterprise subscription 25 | Pick it when you need vendor support, CVE handling and hardened branches in a regulated environment |
In a regulated deployment the serving layer is part of your supply chain. Pin versions, mirror weights and containers into an internal registry, scan images, verify weight hashes, and keep an offline mirror for air-gapped sites.
Reference architecture and hosting options
An on-premise LLM architecture has six parts:
- Gateway: authentication, per-application quotas, PII redaction, routing and logging.
- Serving pool: vLLM or NIM containers on GPU nodes, scaled by model and priority.
- Model registry: approved weights and container images, with hashes.
- Retrieval layer: an index over approved customer-data views, applying the same masking and access rules as the tool servers.
- Observability: latency percentiles, queue depth, GPU memory and error rates.
- Audit ledger: model, weights hash and request metadata per call.
Hosting options differ in who owns the hardware, not in the architecture: your own data centre, colocation racks, GPU instances in a private-cloud account you control, or a sovereign cloud region. Pick by where you can meet residency, power, lead-time and staffing constraints.
Hardware sizing basics
These are rules of thumb for first-pass planning. Measure with your own prompts before buying.
- Weights. Memory is roughly parameters times bytes per parameter: 2 for BF16, 1 for FP8 or INT8, about 0.5 for 4-bit plus overhead for scales.
- Mixture of experts. All experts must be resident, so memory follows total parameters; speed follows active parameters.
- KV cache. Per token per sequence it is about 2 × layers × KV heads × head dimension × bytes per element (read the values from the model's config). It scales with context length and concurrent sequences, and often decides how many requests a GPU can serve.
- Headroom. Serving engines expose a memory-fraction setting; the Mistral Small 4 card's vLLM example sets 0.8 8.
- Decode speed ceiling. Each generated token reads the active weights, so single-sequence tokens per second is at most memory bandwidth divided by bytes of active weights. An 8B model in BF16 (16 GB) on an H100 SXM (3.35 TB/s) gives a ceiling near 209 tokens per second; real figures are lower. Batching shares weight reads across requests and raises total throughput. Prompt processing is compute-bound.
Scroll horizontally to compare all columns ↔
| Model size | BF16 weights | FP8 weights | 4-bit weights (approx.) | Examples and typical fit |
|---|---|---|---|---|
| 8B | 16 GB | 8 GB | 4.5 to 5 GB | Fits one L40S with room for KV cache |
| 27B to 31B | 54 to 62 GB | 27 to 31 GB | 15 to 18 GB | Qwen3.8-27B, Gemma 4 31B. BF16 wants an 80 GB GPU; FP8 is tight on 48 GB |
| About 120B (mixture of experts) | About 240 GB | About 120 GB | 60 to 70 GB | gpt-oss-120b ships in MXFP4 and fits one 80 GB GPU per its card 6; Mistral Small 4's example uses two GPUs 8 |
| About 675B (mixture of experts) | About 1,350 GB | About 675 GB | 340 to 390 GB | Mistral Large 3: one 8-GPU node per its card 7 |
| 1.6T to 2.4T (mixture of experts) | 3.2 to 4.8 TB | 1.6 to 2.4 TB | 0.8 to 1.4 TB | DeepSeek-V4-Pro, Qwen3.8-2.4T: multi-GPU nodes or several nodes 1013 |
Scroll horizontally to compare all columns ↔
| GPU (vendor figures) | Memory | Bandwidth | Power |
|---|---|---|---|
| NVIDIA L40S | 48 GB GDDR6 ECC 26 | 864 GB/s | 350 W max |
| NVIDIA H100 SXM / NVL | 80 GB / 94 GB 27 | 3.35 / 3.9 TB/s | Up to 700 W / 350 to 400 W |
| NVIDIA H200 SXM / NVL | 141 GB HBM3e 28 | 4.8 TB/s | Up to 700 W / 600 W |
| NVIDIA RTX PRO 6000 Blackwell | 96 GB GDDR7 ECC 29 | Not listed | 300 to 600 W by edition |
| NVIDIA DGX B200 (8 GPUs) | 1,440 GB total 30 | 64 TB/s aggregate | About 14.3 kW system maximum |
Quantization lowers memory and often raises throughput, and vendors publish FP8 and NVFP4 variants of several models above 733. Quality impact depends on the task, so evaluate the exact quantized checkpoint.
Latency targets for personalization use cases
The figures below are planning targets, our editorial assumptions rather than benchmarks. Validate them with users.
Scroll horizontally to compare all columns ↔
| Use case | Where the LLM sits | Planning target |
|---|---|---|
| On-site or in-app next-best-action | Keep it out of the synchronous path. Rules and models decide in real time; the LLM pre-generates variants offline. See real-time decisioning | Decision in tens of milliseconds, without an LLM call |
| Customer-facing assistant | Streaming responses | First token in about 1 to 2 seconds |
| Segmentation drafts from natural language | Marketer waiting for a draft | First useful draft within about 5 to 15 seconds |
| Content and subject-line variants | Batch job | Throughput matters; finish before the send window |
| Report summaries and anomaly explanations | Scheduled | 10 to 60 seconds is acceptable |
| PII and safety filters on the request path | Small classifier | Tens to low hundreds of milliseconds |
Cost comparison framework
This is a method, and the inputs must be yours.
- Profile the workload: requests per month, input and output tokens per request, peak concurrency, expected growth.
- API cost per month = requests × (input tokens × input price + output tokens × output price) + any committed or provisioned capacity fees. Use the vendor's current price page.
- Owned cost per month = hardware amortized over its life + power and cooling + facility or colocation + software and support (an NVIDIA AI Enterprise subscription if you choose Production Branch NIM 25) + staff time for platform and on-call + security and compliance work + standby capacity for failure.
- Capacity: measure tokens per second per GPU at your latency target with realistic concurrency; GPUs needed = peak tokens per second ÷ per-GPU rate, plus N+1.
- Effective owned price per million tokens = owned monthly cost ÷ (tokens served per month ÷ 1,000,000). Break-even is where this equals your blended API price; utilization is the lever.
- Sensitivity: rerun at 20%, 40%, 60% and 80% utilization, with and without quantization, and with model upgrades every few months (Qwen3.8 and DeepSeek V4.1 both shipped in 2026 1014).
- Non-price factors: residency, contractual exposure, latency and outage independence, weighted by the risk you carry.
Scroll horizontally to compare all columns ↔
| Input | Unit | Source |
|---|---|---|
| Requests, tokens per request | Per month | Logs of the pilot or the API invoice |
| Blended API price | Currency per million tokens | Vendor price page, dated |
| Hardware price and life | Currency, months | Quote |
| Tokens per second per GPU at your SLO | Tokens per second | Your own load test |
| Power draw and facility rate | kW, currency per kWh | Specification sheets, facility invoice |
| Platform and on-call staffing | FTE fraction | Your plan |
For the wider platform picture see the three-year cost model and per-conversation AI pricing versus owned inference.
Guardrails and evaluation
- Filters reduce risk; architecture limits damage. Redact PII and card data before the model, validate outputs against schemas (vLLM supports structured outputs 21), and use safety classifiers such as the Qwen3Guard models Qwen publishes 33. The limits come from least-privilege tools and approvals, covered in running AI agents on customer data.
- Evaluate on your tasks: golden sets per use case, rerun on every model, quantization or engine change, with a human-reviewed sample and shadow runs before cut-over.
- Frameworks to anchor on: the OWASP Top 10 for LLM Applications 32 and NIST's Generative AI Profile (NIST-AI-600-1, 26 July 2024) 31.
- Record lineage: log model name, version and weights hash with every call; see Explainable AI for Customer Decisions.
Deployment checklist
- Scope the workloads and data classes; decide which tasks justify private inference.
- Confirm legal requirements: residency, business associate or processing agreements, DPIA.
- Shortlist two or three models per task and read each exact checkpoint's licence.
- Evaluate on your prompts, including the quantized variants you intend to run.
- Choose the serving engine, pin versions, and avoid archived or maintenance-mode projects.
- Size memory (weights, KV cache, headroom) and throughput at your latency target; add N+1.
- Mirror weights and containers into an internal registry; verify hashes; scan images.
- Isolate the network: endpoints reachable only from the gateway; no internet egress from inference nodes.
- Authenticate callers with per-application credentials, quotas and rate limits.
- Redact and validate at the gateway; use structured outputs where possible.
- Log lineage: model, weights hash, engine and prompt versions per call, without raw personal data in general logs.
- Monitor latency percentiles, queue depth, GPU memory and error rates; forecast capacity.
- Plan upgrades: shadow-test a new model, keep the previous weights for rollback.
- Test failure modes: GPU or node loss, cold-start time, overload; define a fallback to rules.
If you are deciding where inference should run for a regulated customer-data stack, the PrivyCDP team can help you test the options against your residency, hardware and operating constraints in a deployment qualification conversation. See also on-premise, private cloud and self-hosted customer data platforms, the data residency requirements by country and the AI hub.
Frequently asked questions
What is on-premise LLM deployment?
It is running a large language model on infrastructure you operate, in your data centre or a private-cloud account, rather than calling a third-party API. You download open-weight models, serve them with an engine such as vLLM, and keep prompts and outputs inside your network. It trades operating effort for control over data location, latency and change.
How much GPU memory do I need to run an LLM on-premise?
Start with parameters times bytes per parameter: about 2 GB per billion parameters in BF16, 1 GB in FP8, roughly 0.5 GB at 4-bit, then add KV cache and headroom. A 27B model in FP8 needs about 27 GB for weights alone. Mixture-of-experts models need memory for all experts. Measure with your prompts and concurrency.
Which open-weight models can I use commercially?
Several current models carry Apache 2.0 or MIT licences, including gpt-oss, Mistral Large 3 and Small 4, Gemma 4, DeepSeek V4 and Qwen3.8-27B. Llama and the larger Qwen3.8 checkpoints use custom terms with thresholds or attribution rules. Read the licence file of the exact checkpoint, and ask counsel about your situation.
Is vLLM or Ollama better for production?
For production GPU serving, vLLM is the usual choice: continuous batching, many quantization formats, parallelism across GPUs and an OpenAI-compatible server 21. Ollama is convenient for developer machines and prototypes 23. If you need vendor support and patched, hardened containers, NVIDIA's NIM Certified offering is built on vLLM 2425.
Is a private LLM cheaper than an API?
Only at sufficient, steady utilization. Owned GPUs cost the same whether idle or busy, while API cost scales with tokens. Compute your effective price per million tokens at several utilization levels, include staff, power and standby capacity, and compare it with your blended API price. Residency or contractual reasons may justify private inference even when it costs more.
Does a private LLM make me HIPAA or GDPR compliant?
No. HHS does not certify software for HIPAA, and GDPR compliance is a property of your processing, not of a model's location. Private inference removes a third-party processor from the path, which simplifies agreements and transfer questions, but you still need safeguards, access control, logging, a legal basis and a DPIA. See our HIPAA guide.
What is LLM data residency?
It is the question of where an LLM request is processed, where related data is stored, and where the model files live. A provider can offer regional storage while processing elsewhere, so ask about all three, and about logging and review of samples. Private inference keeps all three in your control, which is why residency-driven programmes often start there.
Sources
- Broadcom, Private Cloud Outlook 2026, 9 Jun 2026 Open source
- Menlo Ventures, 2025: The State of Generative AI in the Enterprise, 9 Dec 2025 Open source
- Microsoft Learn, Data, privacy, and security for Foundry Models sold by Azure (updated June 2026) Open source
- AWS, HIPAA eligible services reference Open source
- AWS, Amazon Bedrock security and compliance Open source
- Hugging Face, openai/gpt-oss-120b model card Open source
- Hugging Face, Mistral-Large-3-675B-Instruct-2512 model card Open source
- Hugging Face, Mistral-Small-4-119B-2603 model card Open source
- Hugging Face, Qwen3.8-27B model card Open source
- Hugging Face, Qwen3.8-2.4T-A95B model card Open source
- Qwen3.8-Max License file Open source
- Hugging Face, Qwen3.8-Flash-Next model card Open source
- Hugging Face, DeepSeek-V4-Pro-0813 model card Open source
- Hugging Face, DeepSeek-V4.1-Flash model card Open source
- Hugging Face, gemma-4-31B-it model card Open source
- Hugging Face, gemma-4-26B-A4B-it model card Open source
- Meta, Llama 4 Community License Agreement Open source
- Meta, Llama 4 Acceptable Use Policy Open source
- Meta, Llama 3.3 Community License Agreement Open source
- Meta, Llama 3.2 Community License Agreement Open source
- vLLM project repository Open source
- Hugging Face text-generation-inference repository Open source
- Ollama repository Open source
- NVIDIA, NIM for LLM and VLM documentation Open source
- NVIDIA, NIM Offerings Open source
- NVIDIA L40S Open source
- NVIDIA H100 Open source
- NVIDIA H200 Open source
- NVIDIA RTX PRO 6000 Blackwell family Open source
- NVIDIA DGX B200 Open source
- NIST, AI Risk Management Framework (Generative AI Profile NIST-AI-600-1, 26 Jul 2024) Open source
- OWASP, Top 10 for LLM Applications 2025 Open source
- Hugging Face, Qwen organization page (Qwen3Guard models) Open source
Put this evaluation into practice.
Assess your deployment requirementsThis article is general information, not legal advice.
Further reading
- AI and customer data operations
- Agentforce Pricing vs Owned Inference
- AI Agents on Customer Data Without
- Explainable AI for Marketing
- Deployment readiness checklist
Published: · Updated:
Publication date recorded for the approved release. Editorial updates do not establish legal approval or a customer result.