How to Choose Where to Host a Sub-10B Open-Source Model
A practical decision guide for small-model inference: size the VRAM floor, match traffic to the hosting model, and move to dedicated GPUs only when utilization proves it.
A model under 10 billion parameters is small enough to create options, but not small enough to make hosting automatic. The right choice depends less on the model label and more on demand shape, customization needs, latency goals, and how much infrastructure work the team is willing to own.
Table Of Content
- Start with traffic before picking a platform
- Step 1: estimate the memory floor
- Do not treat quantization as free capacity
- Step 2: match the operating model
- Use serverless inference for bursty or unknown demand
- Use BYOM when the weights are yours but operations should not be
- Use a self-managed GPU when utilization is predictable
- Use local or on-prem hardware for hard boundaries
- A simple decision matrix
- Step 3: plan the migration path before traffic arrives
- Build a sizing and migration runbook before launch
- Collect four numbers first
- Target system: self-managed GPU test host
- Decision checks for each hosting option
- Production verification checklist
Start with traffic before picking a platform
DigitalOcean’s guide frames the decision around traffic pattern, customization, and budget rather than model size alone, and argues that most teams should start with managed inference or bring-your-own-model hosting before operating GPU servers themselves. DigitalOcean guide
That is a useful default because idle GPUs are expensive, while bursty inference is hard to predict. If traffic is intermittent, a serverless or pay-per-token endpoint can scale down cost when no one is calling the model. If traffic is steady and high, a dedicated GPU can become cheaper because the machine is already being used most of the time.
Step 1: estimate the memory floor
The first sizing question is the model’s weight footprint. DigitalOcean’s rule of thumb is straightforward: FP32 uses about 4 bytes per parameter, FP16 or BF16 uses about 2 bytes, 8-bit uses about 1 byte, and 4-bit uses about 0.5 bytes, before adding runtime overhead such as KV cache. DigitalOcean sizing section
For a 7B to 9B model, the same guide estimates roughly 14–18 GB of weights at FP16, 7–9 GB at 8-bit, and 3.5–4.5 GB at 4-bit, with more VRAM needed for context length and concurrency. DigitalOcean VRAM table
Do not treat quantization as free capacity
Quantization can make a small model fit more comfortably, but it is still an engineering tradeoff. Hugging Face’s Text Generation Inference documentation supports several quantization paths, including GPTQ, AWQ, bitsandbytes 8-bit and 4-bit, EETQ, Marlin, EXL2, and FP8, while noting that some approaches require pre-quantized weights and others quantize on load. Hugging Face TGI quantization documentation
The practical rule: choose the smallest precision that passes your own evaluation set, then size for peak context and concurrent requests, not just the static model file.
Step 2: match the operating model
Use serverless inference for bursty or unknown demand
Serverless inference is the easiest starting point when traffic is unpredictable, prototypes are still changing, or the model is available from a managed catalog. DigitalOcean says its inference pricing is usage-based, so costs scale with actual usage rather than a permanently reserved machine. DigitalOcean inference pricing documentation
Use BYOM when the weights are yours but operations should not be
Bring-your-own-model hosting is the middle ground for a team with a fine-tuned or private model that still wants a managed serving stack. DigitalOcean’s BYOM documentation says imported models can come from Hugging Face or Spaces storage, and it lists supported formats and architecture checks that must pass before deployment. DigitalOcean BYOM import documentation
This is usually the best first stop for a sub-10B fine-tune because it keeps the team focused on model quality, prompts, evaluations, and application behavior instead of driver upgrades, batching logic, autoscaling, and inference-server maintenance.
Use a self-managed GPU when utilization is predictable
A GPU virtual machine makes sense when demand is steady, latency requirements are specific, or the serving stack needs control that a managed endpoint does not expose. DigitalOcean’s Droplet documentation notes that GPU Droplets are billed while the compute resources are reserved, even when a Droplet is powered off, so teams should destroy unused GPU machines rather than assuming shutdown ends cost. DigitalOcean GPU Droplet billing documentation
Use local or on-prem hardware for hard boundaries
Local, edge, or on-prem hosting is the right fit when data residency, air-gapping, development convenience, or fixed-capacity hardware matters more than elastic scale. It gives the team maximum control, but it also shifts reliability, patching, monitoring, and capacity planning back onto the operator.
A simple decision matrix
| Situation | Best starting point | Why |
|---|---|---|
| Prototype, demo, or spiky traffic | Serverless inference | Low operations burden and no idle GPU commitment. |
| Custom fine-tune under 10B parameters | Managed BYOM | Production serving without managing the inference stack. |
| High, predictable request volume | Self-managed GPU | Dedicated hardware can beat per-token cost once utilization is consistently high. |
| Strict data boundary or disconnected environment | Local, edge, or on-prem | Control and isolation matter more than elastic scaling. |
Step 3: plan the migration path before traffic arrives
The safest path is to start where reversibility is highest. Launch with serverless or managed BYOM, instrument latency and token volume, run regular quality evaluations after quantization changes, and set a utilization threshold that would justify moving to a dedicated GPU. When that threshold is reached, the team can migrate from a usage-based endpoint to a self-managed stack with real measurements instead of guessing.
Small open-source models make AI infrastructure more accessible, but they do not remove the need for capacity planning. Treat hosting as a lifecycle: start managed, measure demand, tune precision and context length, then move down the operations stack only when the numbers prove it is worth owning more of the system.
Build a sizing and migration runbook before launch
The safest hosting decision is the one you can reverse. Before choosing serverless inference, managed bring-your-own-model hosting, a GPU VM, or on-prem hardware, define the API contract, latency target, privacy boundary, and evaluation process. If the application talks to an OpenAI-compatible endpoint, it is easier to test managed hosting and self-hosted vLLM behind the same client interface. vLLM documents an OpenAI-compatible server, while Hugging Face Text Generation Inference provides launcher controls for model serving, batching, and token limits. vLLM OpenAI-compatible server Hugging Face TGI launcher
Collect four numbers first
- Maximum context: the longest input plus generated output the product will allow, not only the model’s advertised maximum.
- Concurrent sequences: the number of simultaneous requests that must be active at the latency target.
- Target output rate: tokens per second per user and aggregate tokens per second during peak periods.
- Quality floor: the smallest precision or quantized checkpoint that still passes your evaluation set.
Static model weights are only the memory floor. Runtime memory also includes the KV cache, batching overhead, CUDA kernels, and framework overhead. That is why a 7B model that fits in 8-bit weights can still run out of memory when context length and concurrency rise. vLLM exposes controls such as maximum model length, GPU memory utilization, and maximum active sequences through engine arguments; TGI exposes token and batching limits through its launcher. vLLM engine arguments
Target system: self-managed GPU test host
vllm serve mistralai/Mistral-7B-Instruct-v0.3
--dtype auto
--max-model-len 8192
--gpu-memory-utilization 0.90
--max-num-seqs 16
docker run --gpus all -p 8080:80
-v /models:/data ghcr.io/huggingface/text-generation-inference:latest
--model-id /data/mistral-7b
--max-input-tokens 6144
--max-total-tokens 8192
Run the same prompt mix at concurrency 1, 4, 16, and 64. Capture time to first token, output tokens per second, p95 and p99 latency, GPU memory use, failed requests, and cold-start time. A hosting option is not production-ready just because one chat request succeeds; it is ready when it meets the latency target under the expected prompt distribution.
Decision checks for each hosting option
| Check | Serverless or managed endpoint | Self-managed GPU |
|---|---|---|
| Traffic shape | Best when traffic is spiky, experimental, or hard to forecast. | Best when utilization is steady enough to justify reserved hardware. |
| Customization | Confirm support for the exact model architecture, quantization format, tokenizer, and context length. | You control vLLM, TGI, CUDA, drivers, and batching policy, but also own upgrades. |
| Data boundary | Check prompt logging, retention, private networking, and access controls before sending sensitive data. | You can enforce stricter network and logging controls, but must operate them correctly. |
| Cost | Compare request or token pricing against measured traffic. | Include hourly GPU billing, idle time, storage, monitoring, engineering time, and rebuild windows. |
Production verification checklist
- Confirm the model license and gated-model access path before deployment. Hugging Face documents gated model access controls for models that require user approval. Hugging Face gated models
- Run quality evaluations after every quantization or serving-engine change; do not rely only on throughput gains. TGI quantization documentation
- Set a migration threshold, such as sustained GPU-equivalent utilization, before moving from managed inference to dedicated hardware.
- For GPU Droplets, account for billing while resources are reserved, even if a Droplet is powered off. DigitalOcean GPU Droplet billing








No Comment! Be the first one.