Apple M4 Pro, Llama 3.2 3B via Ollama: 0.09 J/output token system-level (10 W system estimate), 4.4 mJ/token at the CPU+GPU package
Fields
benchmarks/apple-m4-pro-llama3-2-3b-ollama-system-joules-per-tokenNotes
THE ONLY APPLE SILICON PER-TOKEN ENERGY NUMBERS THIS SEARCH FOUND, and the first non-NVIDIA joules/token record in the repo. READ THE BASIS BEFORE COMPARING TO ANY GPU NUMBER: single-user, single-request, no batching, and the system-level figure rests on a 10 W ESTIMATE rather than a wall meter - so 0.09 J/tok is the weaker of the two numbers, while the 4.4 mJ/tok package figure is the directly measured one. The paper's own framing is 4-12 tokens per watt and 30-40x better per-token energy than datacenter GPUs, but that comparison is single-user versus batched serving and is NOT a like-for-like datacenter claim - the paper says so itself ('Datacenter GPUs justify their power draw through batching many requests at once; that option is simply not there for low-volume, local workloads'). The value here is the existence of a MEASUREMENT METHODOLOGY that separates package from system power, which is exactly the decomposition the GPU power records lack. accelerator_ids points at apple-m4-max as the nearest existing apple record because there is no apple-m4-pro accelerator record in the repo; M4 Pro (12C/16GPU, 273 GB/s) is NOT the same part as M4 Max, so treat that id as a loose family pointer, not an exact match. NOT COMPARABLE TO THE H200 MLPerf RECORDS: different precision, no batching, different measurement chain.
ENERGY-FIELD BACKFILL 2026-10-05 (schema authority pass, agent w5-schema). energy_basis / power_w / power_scope / power_cap / clock_lock_mhz / thermal_state were all DRAFTED and shipped UNUSED: before this commit zero records in the repo set power_w, power_scope or thermal_state, and the joules figures travelled as prose inside `unit` while metric enum member joules_per_token had zero records. They are populated here from facts this record already documented. WHY power_w IS NULL: powermetrics reports instantaneous component power at 2 s intervals and this record never integrated it to a mean node draw, so there is no mean-W figure to record. The joules figure is what was derived; the watts were not. WHY power_scope IS 'node' AND NOT 'device': the 0.09 J/token figure the record leads with is explicitly SYSTEM-level. On Apple silicon the SoC package is a small fraction of system draw - the package/system ratio here is roughly 20-50x - so a package-level measurement systematically understates what a wall meter would show. Recording 'device' would attach a system number to the package scope and hide exactly the distinction this record exists to document. WHY thermal_state IS 'unknown': a single-user, single-request, unbatched run on a laptop is not a sustained plateau, and nothing in the record establishes a thermal steady state.
FORMAT_ID BACKFILL 2026-10-08 (w10-bench-formatid): format_id was null and is now 'gguf-q4-k-m'. EVIDENCE, quoted from this record's own text: methodology: "Models all Q4_K_M" is the study's precision statement for this arm. NO NUMBER CHANGED - value, metric and unit are untouched; this adds metadata, it does not re-measure. The value was NOT taken from a model name, from a sibling record, or from outside knowledge. Left null everywhere the record's own unit/methodology does not name a format for this run: 60 of the 150 records in data/benchmarks/ are still null and each one has its reason, because a null with a reason is correct and a guessed value is not.