This article counts a language model as small if it has roughly 0.5 to 9 billion parameters. That size runs on a laptop with 8 to 16 GB of RAM, or on a recent phone. Models of this size now handle a large share of the work teams send to frontier APIs, at a small fraction of the price. They also fail in predictable places. Everything below is as of October 2026.

The table lists the small models worth testing first. "Vendor's stated purpose" is the vendor's own framing, not a benchmark result.

Model Size Licence Context Vendor's stated purpose Source
Gemma 4 E2B / E4B (Google) 2.3B / 4.5B effective Apache 2.0 128K On-device: phones, Raspberry Pi, Jetson; text, image and audio; the basis of Gemini Nano 4 DataNorth (press)
Gemma 3 1B / 4B (Google) 1B / 4B Gemma Terms of Use 128K Predecessor family, March 2025; the 1B model has no vision Wikipedia
Phi-4-mini (Microsoft) 3.8B MIT 128K "Small, fast, tool-using tasks"; function calling frankx (press)
Phi-4-multimodal (Microsoft) 5.6B MIT 128K Speech recognition, translation, audio Q&A frankx (press)
Qwen3 0.6B / 1.7B / 4B / 8B (Alibaba) as listed Apache 2.0 not stated in source Self-hosting tiers Runpod (press)
Ministral 3 3B / 8B (Mistral) 3B / 8B dense Apache 2.0 not stated in source "On-device use, data privacy, intermittent connectivity" eWeek (press)
Llama 3.2 1B / 3B (Meta) 1B / 3B not checked not checked Ollama Q4 downloads: 1.3 GB and 2.0 GB Ollama README
AFM 3 Core (Apple) 3B dense Closed, on-device only not stated "Lightweight text, routing, NLU" inside Apple's Foundation Models framework; no API key, no token cost dev.to (press)

Rows marked "press" come from coverage of the vendor's launch. The vendor pages (Hugging Face model cards, Google's blog, Ollama's library) were not reachable when we checked this list on 30 October 2026. Check a row against the model card before quoting it elsewhere.

Two models sit just above the range. gpt-oss-20b (OpenAI, Apache 2.0) "fits into 16 GB of memory" according to TestingCatalog's launch report. Nemotron 3 Nano (NVIDIA) has 30B parameters in total with 3B active per token, according to The New Stack. Both run like a small model but need the RAM of a mid-sized one.

What small models do well

Each task below has a short input and a constrained output, and you can check the result.

The strongest written case for this split is a position paper, Small Language Models are the Future of Agentic AI (arXiv:2506.02153, version 2 dated 15 September 2025). Peter Belcak wrote it with seven co-authors from NVIDIA Research and the Georgia Institute of Technology. They argue that most calls inside an agent are narrow, repetitive and formatted. A model under about 10 billion parameters is therefore "sufficiently powerful, inherently more suitable, and necessarily more economical" for them. A large one should be called only when the task needs open-ended conversation. The authors define a small model as one that fits on a common consumer device with low enough latency for one user. By that definition, "as of 2025" most models under 10 billion parameters qualify. The paper is not a benchmark study, and no venue is stated. Treat its claim as a hypothesis to test on your own traffic.

Where they fail

The failures cluster around four things.

Multi-step reasoning. A small model that answers a one-step question correctly 95% of the time will not keep that rate across a chain. If each of ten steps succeeds independently with 95% probability, the whole chain succeeds in about 60% of runs. The same arithmetic applies to any model. Small models, though, start from a lower per-step rate on hard steps, so their curve drops sooner. The practical sign is an error rate that rises with task length rather than with task topic.

Long documents. Four of the eight rows in the table list a 128K context window. The window measures how much text the model can accept, which is more than it can use well. A small model given 80 pages tends to anchor on the beginning and the end and lose the middle. Chunk the document and ask one question per chunk, or send the whole thing to a larger model.

Obscure knowledge. A 3B model has less room to store facts. It will know what a VAT invoice is but not the clauses of a specific regional tax code. If a task needs recall of rare details rather than reading of supplied ones, put that information in the prompt or send the task to a larger model.

Instruction following under pressure. Give a small model a system prompt with fifteen rules and a tricky input, and it will often follow most of them but not all. The usual symptoms are invalid JSON, a missed "never do X" rule, or a reply in the wrong language. Constrained decoding (a JSON schema enforced by the runtime) fixes the format problem but leaves the judgement problem.

None of the model cards behind this article publish task-length error curves. The sign above is therefore a rule from practice rather than a vendor number. Measure it on your own examples with the protocol further down.

What they cost to run

You can run a small model in three ways. Which one is cheapest depends on your volume and your ops capacity.

Three ways to run a small model: vendor API, hosted open weights, your own hardware Your small-model calls A. Vendor API + No servers to run + Pay per token only + Luna, Haiku 5.5: $0.10 in / $0.50 out – Data leaves your network – Weights are closed – Model can be retired Best: low or spiky volume B. Hosted open weights + You pick the exact weights + Same weights local later + Llama 3.1 8B from $0.045 in (Cloudflare) – Price differs per host – Quantisation varies – Thinner SLAs Best: steady volume, no ops C. Your own hardware + No per-token bill + Data stays in-house + 7B needs ~8 GB RAM (Ollama rule) – You run and patch it – Throughput is your box – Upfront hardware cost Best: high volume or privacy
Three ways to run a small model and the trade-off each makes (prices as of October 2026).

Path A, a vendor's small model over its API

Each big vendor sells a small model at the bottom of its range. Vendors do not disclose parameter counts, so "small" here means the vendor's cheapest tier.

Model Input $/1M Output $/1M Note Source
GPT-6 Luna (OpenAI) $0.10 $0.50 "Fastest and most cost-effective"; 1.05M context OpenAI models
Claude Haiku 5.5 (Anthropic) $0.10 $0.50 Prompts up to 100K tokens; $0.50 / $2.50 above that Anthropic pricing
Gemini 3.1 Flash-Lite (Google) $0.25 $1.50 Text price; audio input $0.50; free tier available Gemini pricing
Gemini 3.5 Flash-Lite (Google) $0.30 $2.50 "Optimized for high-volume agentic tasks, translation, and simple data processing" Gemini pricing
Mistral Small 4 (Mistral) $0.15 $0.60 Cached input $0.015 Mistral pricing
Ministral 3 8B (Mistral) $0.15 $0.15 Also released as an Apache 2.0 download Mistral pricing
Ministral 3 3B (Mistral) $0.10 $0.10 Cached input $0.01 Mistral pricing

All of these models cost 50% less through a batch endpoint (OpenAI, Anthropic, Google and Mistral each state 50%). Ministral 3 is the odd one out. It is both a vendor API product and an open download, so you can start on path A and move to path C with the same model.

Path B, open weights on someone else's GPUs

Hosts run the public weights and charge per token. One model's price can vary several times over with host and variant. Llama 3.1 8B on Cloudflare alone runs from $0.045 to $0.282 input. The model name does not tell you the price.

Model Host Input $/1M Output $/1M Source
Llama 3.1 8B (fp8-fast) Cloudflare Workers AI $0.045 $0.384 Cloudflare pricing
Llama 3.1 8B (standard) Cloudflare Workers AI $0.282 $0.827 Cloudflare pricing
Llama 3 8B Instruct Lite Together $0.14 $0.14 Together pricing
gpt-oss-20B Groq $0.075 $0.30 Groq models
Llama 3.1 8B Groq contact sales contact sales Groq models

OpenRouter also offers a free lane. Models with a :free suffix are limited to 20 requests per minute and 50 per day until you have bought at least 10 credits. After that the daily limit is 1,000. That covers the 200-example test below but not production.

Path C, your own hardware

We could verify memory figures for this path but no prices. The Ollama README gives the rule of thumb: "at least 8 GB of RAM available to run the 7B models, 16 GB to run the 13B models, and 32 GB to run the 33B models." The same page lists download sizes at 4-bit quantisation.

Model Q4 download
Llama 3.2 3B 2.0 GB
Phi 4 Mini 3.8B 2.5 GB
Gemma 3 4B 3.3 GB
Mistral 7B 4.1 GB
Llama 3.1 8B 4.7 GB

DataNorth's coverage of Gemma 4 adds two data points. E4B "needs 12 to 16 GB" and runs well on Apple Silicon. E2B on a Raspberry Pi 5 decodes at 7.6 tokens per second in under 1.5 GB at 2-bit. No tokens-per-second benchmark for M-series Macs or consumer GPUs met the sourcing rule for this article, so we quote none.

Path C has no per-token charge. You pay instead for the machine, the electricity and the engineer who keeps the runtime patched. The local versus cloud comparison works through that arithmetic.

Output price per million tokens for small models, October 2026 Output price, $ per 1M tokens Vendor API Hosted weights Ministral 3 3B (Mistral) $0.10 Llama 3 8B Lite (Together) $0.14 Ministral 3 8B (Mistral) $0.15 gpt-oss-20B (Groq) $0.30 Llama 3.1 8B fp8 (Cloudflare) $0.384 GPT-6 Luna (OpenAI) $0.50 Claude Haiku 5.5 (Anthropic) $0.50 Mistral Small 4 (Mistral) $0.60 Gemini 3.1 Flash-Lite (Google) $1.50 Gemini 3.5 Flash-Lite (Google) $2.50 Standard (non-batch) prices. Haiku 5.5: prompts up to 100K tokens. Gemini: text price.
Output price per million tokens for the small models in this article, cheapest first (vendor and host pricing pages, read 30 October 2026).

The spread between the cheapest and the most expensive bar is 25x, for models that all sit in the same "small" tier. Output price matters for generation tasks and barely at all for classification, where the answer is a few tokens.

How to decide

A short protocol settles the question better than opinion. It takes an afternoon.

  1. Collect 200 real examples from production logs, not synthetic ones. Include the ugly ones: empty fields, mixed languages, the long tail.
  2. Pick one metric you can compute without a human: exact match for classification, field-level F1 for extraction, schema validity plus a spot check for generation.
  3. Run the small model and a frontier model on all 200 with the same prompt. Record the metric, the latency and the cost per call.
  4. Look at the gap by example length. If the small model matches the frontier model on short inputs and falls off on long ones, you have found your routing threshold. That result is no verdict against small models.
  5. Route. Send everything under the threshold to the small model and everything above it to the large one. Log both, so you can re-run the comparison next quarter when the models change.

The model routing guide shows how to build the router itself. The hybrid local-cloud playbook deals with the case where the small model runs on your own machines.

Further viewing

Google's Gemma 3n announcement is a clear short explanation of what a phone-sized model is built to do. It dates from May 2025. The current family, Gemma 4, shares its design goals.

Google for Developers presents the Gemma 3n preview for phones, laptops and tablets (May 2025); Gemma 4 E2B and E4B succeed it.

Andrej Karpathy placed one of the most-quoted bets on the trend on the day GPT-4o mini launched, in July 2024.

Karpathy argues on 18 July 2024 that model quality per parameter will keep rising; the table above shows two years of that trend.

What to do next

Pull 200 real requests from your logs this week. Run the five-step protocol above against GPT-6 Luna or Claude Haiku 5.5 first, since neither needs any setup. If the small model holds on short inputs, add the length threshold to your router and measure the bill for a month. If you want the test designed and run for you, we do this at Divero as a fixed-scope engagement.

Sources