AI models on a VPS without a GPU: what you can really run
A GPU in the cloud is expensive, but many tasks don't need one. Language models with 3–8 billion parameters in compressed form run on an ordinary CPU: they respond more slowly than ChatGPT, but your data never leaves your server and you pay a fixed amount with no request limits. It's a good option for internal bots, document processing, classification and experiments.
Memory decides which model fits
The whole model is loaded into RAM. With 4-bit quantisation (Q4), one billion parameters takes roughly 0.6–0.7 GB, plus headroom for the context and the system:
- 8 GB RAM — models up to 3–4 billion parameters: Llama 3.2 3B, Phi, Qwen 2.5 3B;
- 16 GB RAM — 7–8 billion models: Llama 3.1 8B, Qwen 2.5 7B, Mistral 7B — the most popular class;
- 32 GB or more — 13–14 billion models or several models at once.
That's why this selection starts at 16 GB of memory and 8 cores — the minimum for working comfortably with 7–8 billion parameter models.
Speed depends on cores and memory
Text generation on a CPU is limited by memory bandwidth and the number of cores. On 8 modern cores a 7B model produces around 5–10 tokens per second — enough for a chatbot serving one or two users at a time. Pay attention to the CPU's clock speed and generation: high-frequency plans on recent AMD EPYC and Ryzen chips are noticeably faster than old Xeons. If AVX2 and AVX-512 instructions are supported, llama.cpp uses them automatically.
What to install
- Ollama — the simplest option: one command to install, models are downloaded by name, and there's an OpenAI-compatible HTTP API.
- llama.cpp — the engine behind most of these tools; it gives you maximum control over parameters and speed.
- Open WebUI — a ChatGPT-style web interface on top of Ollama, handy for a team.
- Whisper.cpp — speech recognition on the CPU, works even with 4 GB.
If you only need models as part of an automation, they're easy to wire up to n8n or a bot. And if cloud models are enough, a regular server that calls their APIs will do — see VPS for Python.
Storage and limitations
Models weigh 2 to 10 GB each, so choose NVMe with 50 GB or more to keep several models and load them quickly. Keep the limits in mind: image generation (Stable Diffusion) on a CPU takes minutes per picture, and training models without a GPU is practically impossible — that requires a GPU server. Don't expose the Ollama API to the internet without authentication: close port 11434 with a firewall and put access behind a password-protected reverse proxy.