- Vendor
- Apple Silicon
- Backend
- Metal
- Platform
- macOS on Apple Silicon (arm64)
- Generation
- M4
- Architecture
- M4
- Availability
- Available
Apple M4 Pro
Veizik on Apple M4 Pro — Apple Silicon · Metal · M4.
What this device is.
On Apple M4 Pro, 2 model families are verified end to end on a published build. Evidence and availability are separate: “verified” is a first-hand run on this exact device, not a download, and “available” never means verified on your hardware.
The engine that runs here.
- Backend
- Metal
- Architecture
- M4
- Model path
- dep0 — pure native, no Python runtime
- Families carried
- Qwen2.5, Qwen3
One engine runs every model family on this backend. Each GPU architecture is carried as its own native kernel set; a family is “verified” on a device only when it has been run there end to end.
What runs on this device.
Pick a device, get a straight answer — which model families are verified, carried by architecture, or in preparation.
Measured on this exact device.
| Model | Task | Weights in memory |
|---|---|---|
| Qwen2.5-0.5B | Language | 343.6 MB |
| Qwen2.5-1.5B | Language | 926.9 MB |
| Qwen2.5-7B | Language | 4,114.0 MB |
| Qwen3-1.7B | Language | 968.0 MB |
Deterministic load — the weights occupy the same memory every run.
Decode, tokens per second Measured here
Generated tokens per second, greedy, one request, through veizik run. Median of the runs shown (hover for the range).
| Model | Mode | Workload | tok/s |
|---|---|---|---|
| Qwen2.5-0.5B | — | 512 / 128 tok | 462.8 tok/s · 11 runs · range 425.7–475.6 |
| Qwen2.5-0.5B | — | 3968 / 128 tok | 358.4 tok/s · 11 runs · range 344.2–360.4 |
| Qwen2.5-0.5B | — | 8192 / 128 tok | 353.2 tok/s · 10 runs · range 349.0–362.4 |
| Qwen2.5-0.5B | — | 16384 / 128 tok | 279.0 tok/s · 11 runs · range 263.8–284.9 |
| Qwen2.5-0.5B | — | 24576 / 128 tok | 228.6 tok/s · 9 runs · range 209.6–232.4 |
| Qwen2.5-0.5B | — | 30000 / 128 tok | 199.8 tok/s · 10 runs · range 187.4–204.4 |
| Qwen2.5-1.5B | — | 512 / 128 tok | 215.0 tok/s · 11 runs · range 199.9–216.6 |
| Qwen2.5-1.5B | — | 3968 / 128 tok | 172.3 tok/s · 9 runs · range 165.0–176.9 |
| Qwen2.5-1.5B | — | 8192 / 128 tok | 159.8 tok/s · 11 runs · range 156.3–163.5 |
| Qwen2.5-1.5B | — | 16384 / 128 tok | 134.1 tok/s · 11 runs · range 128.3–139.5 |
| Qwen2.5-1.5B | — | 24576 / 128 tok | 117.8 tok/s · 11 runs · range 114.4–119.2 |
| Qwen2.5-1.5B | — | 30000 / 128 tok | 108.8 tok/s · 7 runs · range 106.7–109.3 |
| Qwen2.5-7B | — | 512 / 128 tok | 54.9 tok/s · 11 runs · range 50.2–56.3 |
| Qwen2.5-7B | — | 3968 / 128 tok | 47.9 tok/s · 10 runs · range 44.5–48.4 |
| Qwen2.5-7B | — | 8192 / 128 tok | 47.4 tok/s · 6 runs · range 45.9–47.8 |
| Qwen2.5-7B | — | 16384 / 128 tok | 42.3 tok/s · 11 runs · range 41.6–42.9 |
| Qwen2.5-7B | — | 24576 / 128 tok | 38.4 tok/s · 10 runs · range 37.8–38.8 |
| Qwen3-1.7B | — | 512 / 128 tok | 204.3 tok/s · 11 runs · range 200.1–207.7 |
| Qwen3-1.7B | — | 3968 / 128 tok | 150.1 tok/s · 10 runs · range 144.5–152.0 |
| Qwen3-1.7B | — | 8192 / 128 tok | 111.3 tok/s · 11 runs · range 108.6–112.8 |
| Qwen3-1.7B | — | 16384 / 128 tok | 78.1 tok/s · 10 runs · range 75.2–78.5 |
| Qwen3-1.7B | — | 24576 / 128 tok | 58.1 tok/s · 11 runs · range 56.9–58.6 |
| Qwen3-1.7B | — | 30000 / 128 tok | 50.0 tok/s · 10 runs · range 47.9–50.8 |
Prefill, tokens per second Measured here
Prompt tokens processed per second.
| Model | Mode | Workload | tok/s |
|---|---|---|---|
| Qwen2.5-0.5B | — | 512 / 128 tok | 7,979 tok/s · 11 runs · range 7,661–7,993 |
| Qwen2.5-0.5B | — | 3968 / 128 tok | 6,929 tok/s · 11 runs · range 6,856–6,952 |
| Qwen2.5-0.5B | — | 8192 / 128 tok | 5,804 tok/s · 10 runs · range 5,519–5,822 |
| Qwen2.5-0.5B | — | 16384 / 128 tok | 4,066 tok/s · 11 runs · range 3,848–4,363 |
| Qwen2.5-0.5B | — | 24576 / 128 tok | 3,307 tok/s · 9 runs · range 3,039–3,514 |
| Qwen2.5-0.5B | — | 30000 / 128 tok | 2,972 tok/s · 10 runs · range 2,825–3,094 |
| Qwen2.5-1.5B | — | 512 / 128 tok | 2,296 tok/s · 11 runs · range 2,279–2,301 |
| Qwen2.5-1.5B | — | 3968 / 128 tok | 2,188 tok/s · 9 runs · range 1,836–2,211 |
| Qwen2.5-1.5B | — | 8192 / 128 tok | 1,824 tok/s · 11 runs · range 1,719–1,933 |
| Qwen2.5-1.5B | — | 16384 / 128 tok | 1,506 tok/s · 11 runs · range 1,413–1,566 |
| Qwen2.5-1.5B | — | 24576 / 128 tok | 1,266 tok/s · 11 runs · range 1,197–1,301 |
| Qwen2.5-1.5B | — | 30000 / 128 tok | 1,169 tok/s · 7 runs · range 1,085–1,174 |
| Qwen2.5-7B | — | 512 / 128 tok | 517.1 tok/s · 11 runs · range 450.9–525.1 |
| Qwen2.5-7B | — | 3968 / 128 tok | 460.2 tok/s · 10 runs · range 434.9–480.4 |
| Qwen2.5-7B | — | 8192 / 128 tok | 435.5 tok/s · 6 runs · range 405.3–463.0 |
| Qwen2.5-7B | — | 16384 / 128 tok | 417.9 tok/s · 11 runs · range 406.1–423.8 |
| Qwen2.5-7B | — | 24576 / 128 tok | 376.7 tok/s · 10 runs · range 358.6–377.9 |
| Qwen3-1.7B | — | 512 / 128 tok | 2,161 tok/s · 11 runs · range 2,154–2,167 |
| Qwen3-1.7B | — | 3968 / 128 tok | 1,969 tok/s · 10 runs · range 1,856–1,989 |
| Qwen3-1.7B | — | 8192 / 128 tok | 1,629 tok/s · 11 runs · range 1,539–1,710 |
| Qwen3-1.7B | — | 16384 / 128 tok | 1,346 tok/s · 10 runs · range 1,256–1,377 |
| Qwen3-1.7B | — | 24576 / 128 tok | 1,133 tok/s · 11 runs · range 1,067–1,142 |
| Qwen3-1.7B | — | 30000 / 128 tok | 1,020 tok/s · 10 runs · range 1,004–1,023 |
Every figure is veizik’s own measurement on this exact device, bound to the published build it was taken on. See Reproduce our benchmarks.
Architecture and its siblings.
No sibling device of this architecture is in the matrix.