Use case · LLM inference
An OpenAI-compatible endpoint with vLLM.
Serve open-weight LLMs with vLLM on a datacenter GPU. OpenAI-compatible API over an SSH tunnel, billed by the minute.
$ curl -LsSf https://astral.sh/uv/install.sh | sh && source $HOME/.local/bin/env$ uv venv --python 3.12 --seed && source .venv/bin/activate$ uv pip install vllm --torch-backend=auto$ vllm serve Qwen/Qwen2.5-7B-Instruct --max-model-len 8192Run an open-weight model behind an OpenAI-compatible API, for evaluation, batch generation or a private endpoint during a working session.
For whom
- Teams evaluating models before committing to a deployment.
- Engineers generating synthetic data or running offline evals.
- Anyone who needs a private model endpoint for a few hours.
Which GPU
Size by VRAM. Weights in 16-bit take about 2 GB per billion parameters, plus room for the KV cache.
| Model size | 16-bit | 8-bit or 4-bit quantized |
|---|---|---|
| 7B to 8B | 24 GB minimum, 48 GB comfortable | 16 GB |
| 13B to 14B | 48 GB | 24 GB |
| 30B to 34B | 80 GB | 48 GB |
| 70B | Several GPUs (tensor parallel) | 80 GB |
Long contexts and many concurrent requests need more KV cache: pick the next size up.
Steps
-
Book a machine with enough VRAM.
-
Connect, then start the server inside
tmuxso it survives disconnects. -
Follow the vLLM recipe.
-
From your computer, open a tunnel:
ssh -N -L 8000:localhost:8000 ubuntu@203.0.113.42 -
Call
http://localhost:8000/v1with any OpenAI-compatible client.
Tips
- The API is reachable only through your SSH tunnel. Port 8000 is closed to the internet.
- Gated models (Llama, Gemma) need
export HF_TOKEN=...beforevllm serve. - Model downloads land in
~/.cache/huggingface. They are deleted with the machine. - On multi-GPU offers, add
--tensor-parallel-sizewith the GPU count. - Benchmark throughput in the first minutes, then end the session if the GPU is the wrong size.
Request access.
Invitations go out by email.