M4 Pro draws 0.47 watts while running open-source LLMs, a new benchmark says
A paper posted to arXiv on August 24, and listed as accepted at IEEE ICCUBEA 2026, measured the energy draw, throughput, and carbon footprint of five open-source LLMs running on a MacBook Pro with an M4 Pro chip and 48 GB of unified memory. During sustained inference, the M4 Pro's CPU and GPU package peaked at 0.47 W, averaging 0.41 W, according to the authors' direct power readings. The paper calls itself the first systematic energy benchmark of LLM inference on Apple Silicon.
The authors are Rajeswari Kannan, Raj Firke, Shreya Bengle, and Srushti Deshmukh. Their headline comparison is a big one: the M4 Pro achieves 4-12 tokens per watt at the system level, which the paper puts 30-40x more energy-efficient per token than datacenter GPUs for single-user deployment.
How the test works
Five model families span the 3-9B parameter range, and no two use the same attention mechanism: Llama 3.2 (3B), Phi-3 (3.8B), Qwen 2.5 (7B), Mistral (7B), and Gemma 2 (9B). All run at Q4_K_M quantization, the default in Ollama, which the authors argue is what most consumer deployments actually use. Three tasks vary the workload: 100 multiple-choice questions from MMLU, 50 CNN/DailyMail articles condensed to two or three sentences, and all 164 HumanEval code problems. The protocol kept one model in memory at a time, set temperature to 0, and produced more than 1,500 inference records.
Power came from macOS powermetrics sampled every two seconds, so the CPU+GPU package reading excludes DRAM and peripherals. Timing came from Ollama's nanosecond-precision API. Total system power of roughly 10 W is an estimate from Apple's M4 Pro thermal specifications, not a wall-plug measurement.
What the numbers say
Small models are fast. Llama 3.2 (3B) tops all three tasks, at 175.9 tokens per second on MMLU and 91.3 on code generation, while Gemma 2 (9B) manages 42.0. The 3-4B models run 2.6-4.2x faster than the 7-9B ones, and throughput follows a tight power law, which the authors fit as 340 times the parameter count in billions to the power minus 0.85, with an R-squared of 0.94. Their read: decoding is memory-bandwidth-bound, so bigger models spend their time fetching weights.
Energy scales the same way. At the package level, Llama 3.2 uses 4.4 millijoules per token against 11.6 for Gemma 2, a 2.6x gap. At the system level the range is 0.09 to 0.25 joules per token, which translates to 0.18-0.48 mg of CO2 per 1,000 tokens on the Indian grid. Code generation is the energy hog: the HumanEval set is only 1.6x larger than the MMLU sample, yet the runs consumed 5-8x more energy.
On the accuracy-efficiency trade-off, the paper's Pareto analysis lands on Qwen 2.5 (7B): 57% MMLU at 59 tokens per second. Gemma 2 leads on accuracy at 61%, but four points does not buy a 40% throughput hit plus 19% more energy per token. Mistral (7B) scored 24% on the 100-question MMLU subset, near the random-guess floor for a four-option test; the authors suspect its instruction tuning is a poor fit for the zero-shot prompt used here.
What the authors flag as caveats
The 0.47 W figure is a package floor, since powermetrics cannot see DRAM, and LLM decoding is a memory-bandwidth workload. The 10 W system estimate carries the same caveat. The 30-40x comparison against datacenter GPUs rests on published H100 figures, including an estimated 4 joules per token at 400 W, and the paper notes that datacenter GPUs amortize that draw across batched requests, something a single-user laptop cannot do. Only Q4_K_M was tested, only single-request inference, the MMLU subset is 100 questions out of 14,042, and the results are specific to the M4 Pro with 48 GB.
For a developer weighing local inference on Apple Silicon, the paper's guidance is concrete: Qwen 2.5 (7B) for the best accuracy-per-joule, Llama 3.2 (3B) when latency is the priority, and code generation is where the energy bill concentrates. The authors open-sourced GreenBench and say the next targets are M4 Max, a full quantization sweep, and batched workloads.
Source: arxiv.org