COMMUNITY SOURCE INDEX · Source-backed · Free accessAbout the index ↗
Run AI Here Source ledger ↗

EVIDENCE EXPLAINED / A04

Mac Weight Precision: Speed, First Token and Memory

Compare Qwen3.5 4B and 9B weight formats on one M4 Pro, with separate workloads for generation, first-token delay and peak memory.

THE PRACTICAL ANSWER

The selected M4 Pro report shows a tradeoff between generation rate, first-token delay and memory. It does not measure quantization accuracy. Keep the model, workload, runtime and missing conditions attached to every value.

Weight precision is a useful deployment choice only when the model and workload stay attached to the result. A smaller memory footprint does not tell you how accurate the answers remain. A fast generation rate does not tell you how long the first token takes.

This note selects the 4B and 9B rows from weklund’s pinned Qwen3.5 MLX report. They provide a useful same-machine example. They are historical Qwen3.5 measurements, not measurements of the latest Qwen checkpoint or every Mac.

Source-reported Qwen3.5 4B and 9B comparison with separate generation, TTFT and peak-memory panels.

Figure: deterministically drawn from the 18 selected source values. Rate and TTFT bars show the reported standard deviation; memory bars have no error bars because per-cell dispersion was not supplied. The workloads differ between panels. Full values and conditions are also available in text and JSON.

The conditions that make this comparison meaningful

The report identifies an M4 Pro with 10P+4E CPU cores, 20 GPU cores and 64 GB unified memory; MLX 0.31.0 and mlx-lm 0.30.7; experiment date 6 March 2026; one warmup followed by 20 measurements. Its rate table uses 256 input and 100 generated tokens. The TTFT and memory tables use 4,096 input tokens. These are the report’s selected workloads, rather than one common request profile.

For the two long-input tables, the selected sections do not specify output length. That field stays unknown. The general methodology’s maximum generation length does not establish the exact length used for every section.

Same model, three weight formats

Model / weight format Generation rate, tokens/s TTFT, seconds Reported peak, GiB
4B int4 68.0 ± 0.4 6.14 ± 0.25 6.4
4B int8 42.7 ± 0.3 6.14 ± 0.25 8.5
4B bf16 27.7 ± 0.2 4.67 ± 0.03 10.2
9B int4 38.5 ± 0.4 10.88 ± 0.61 9.0
9B int8 24.1 ± 0.2 10.63 ± 0.40 13.4
9B bf16 15.0 ± 0.4 8.20 ± 0.06 19.7

Attribution: weklund; generation rows, TTFT rows, memory rows. ± means standard deviation, not a confidence interval. The memory column is a reported peak, not a model-file size or total-system free-memory reading.

Read the tradeoff against your task

In these selected rows, int4 has the higher generation rate and lower reported memory, while bf16 has the shorter first-token wait. That pattern explains why “the fastest precision” needs a stated objective.

For a long output, investigate sustained delivery and total completion time. For a short answer after a long prompt, investigate first-token wait. For a Mac used alongside other applications, record actual system pressure and swap during a representative request. The table can narrow a test plan; it cannot replace those observations.

Avoid subtracting the GiB peak from the machine’s GB specification to advertise “free RAM.” The units and measurement boundaries differ. Likewise, do not combine the short-input rate with the long-input TTFT to calculate an end-to-end response time: they describe different workloads.

What is still unknown

The selected report does not pin exact converted-weight hashes, conversion execution revisions, KV dtype, concurrency, sampling or cache state. Those fields remain null in the export. The reported cooldown policy is useful context, but it is not a thermal trace.

There is no matched task-quality or perplexity evaluation here. The original document also includes broader recommendations; this note does not turn those recommendations into measured quantization accuracy. Before choosing a smaller format for extraction, coding or reasoning, compare its outputs against the same task set and acceptance criteria.

How to use the evidence without overextending it

Keep one candidate model fixed, record its conversion and runtime, and choose representative input and output lengths. Check correctness separately from responsiveness and memory. Record warmup, cache, concurrency and repeated-run variation. Only then decide which format serves the task well enough.

Run AI Here has not independently benchmarked these models. The adjacent Markdown and JSON retain the source revision, row anchors, uncertainty and missing fields so an AI reader can preserve the same limits.

Continue with the source material

Original sources and evidence boundary

Checked 2026-10-18. Source declarations and community measurements retain their own conditions. No independent model benchmark was run by Run AI Here.

  1. weklund · measurements/llm_benchmarks/Apple_M4_Pro_10P+4E+20GPU_64GB/2026-03-06__19:47:24/REPORT.md Document revision: 5ae9b491f7a0539d5abef949eded6bd57785a981
    Document checksum and matching source record

    SHA-256 ff21a1f8a2597867e191a376cea28af293d47dfff82bb423193009b05c7ef5a3

    Read source conditions →

AI-assisted draft, reviewed and edited by Run AI Here. Source-backed figure rendered directly from 18 selected values; no image model generated the numbers. Original authors retain attribution. Corrections should identify the source revision and affected statement.