RemainAI Posts

AI

Your phone is not a GPU

What happens to small models when the phone gets warm

Every new small model arrives with a benchmark score. Almost none of those scores were measured on a phone. I ran four of them on my Pixel 7a for two weeks, and the order they finish in is not the order the leaderboards promise.

"Benchmarks are the rulers of AI, in both senses of the word." (Quanta Magazine)

What I measured

Each model ran in llama.cpp at Q4_K_M, 128 new tokens, first on a cold phone and again after ten minutes of steady use.

ModelSizeCold (tok/s)Warm (tok/s)DropPixel 8 warm (tok/s)
Qwen3 0.6B0.4 GB41.230.2-28%36.4
Llama 3.2 1B0.8 GB27.518.1-34%24.0
Gemma 3 1B0.8 GB24.819.9-20%25.7
Phi-4 mini2.4 GB9.65.2-46%7.9
Tokens per second, cold and after ten minutes.
Tokens per second, cold and after ten minutes.

Why the rankings flip

A data-center GPU runs at the same speed for hours. A phone has a few watts and no fan, so after a few minutes it throttles, and the bigger the model, the harder it falls.

What I expected vs. what the phone did.
What I expected vs. what the phone did.
  • Memory bandwidth, not compute, sets the pace for one prompt at a time.
  • Heat arrives after about four minutes, whatever the model.
  • Small models lose less, because they finish before the phone warms up.

How to reproduce

Run this on a cold phone, then again after ten minutes of use:

./llama-bench -m qwen3-0.6b-q4_k_m.gguf -p 512 -n 128 -r 5

Each run uses llama-bench with five repeats.

Before I publish

  • Run every model five times
  • Error bars on the chart
  • Ask Dr. Okafor about the Pixel 8 numbers
  • Pick a cover