LLMCheck Index Methodology

How the LLMCheck index ranks 79 local and frontier LLMs for Mac — a published estimation model, linked third-party benchmarks, and community submissions. Fully transparent, fully reproducible.

LLMCheck is an independent index of local-LLM performance on Apple Silicon — not a benchmark lab. Every figure is either a transparent estimate from the published model below, a sourced third-party benchmark (linked per row), or a community submission. Each data point is labeled with its provenance, and no figure is claimed as a first-party lab measurement.

Where Every Number Comes From

Every row in the leaderboard, the benchmarks table, and the open dataset carries one of three provenance labels. This mirrors the provenance_policy field published in benchmarks.json:

Estimated

Derived from the LLMCheck estimation model — memory-bandwidth scaling plus quantization arithmetic, documented in full below. Estimates are useful for planning ("will this model fit and feel usable on my Mac?") but are not measurements. Every estimated speed figure on the site links back to this page.

Sourced

A published third-party benchmark, with the source URL attached to the row — Arena AI ELO ratings, MMLU/HumanEval/SWE-Bench results from official model cards and papers, or independent hardware test data. We link, we don't re-host or re-run.

Community

A user-submitted run from a real Mac, with the submission URL as its source. Community numbers are sanity-checked against the estimation model and known baselines before inclusion. Own a Mac? Submit a benchmark — real runs beat estimates every time.

Why an index and not a lab? A single lab machine can only test one chip, one runtime, one macOS version. An index that publishes its estimation math, links its sources, and accepts community runs covers the entire Apple Silicon range — and you can audit every step. When we're estimating, we say so.

How We Estimate Performance

Local LLM performance on Apple Silicon is unusually predictable, because two hardware numbers dominate everything: unified memory capacity (can the model fit?) and memory bandwidth (how fast can weights stream through the GPU?). The LLMCheck estimation model is built on those two numbers.

Step 1 — Will it fit? (RAM model)

model_size_GB (Q4_K_M) ≈ params_B × 0.57
≈ 4.5 bits/param effective — Q4_K_M is nominally 4-bit but carries scale factors, higher-precision layers, and embedding tables
+ KV cache: grows with context length — ~1–4 GB typical at 4k–32k context
+ macOS overhead: ~2–3 GB for the OS and the inference runtime
Fit rule: total must stay within ~75% of unified memory — macOS lets the GPU address roughly three-quarters of RAM by default

That 75% rule is where the minimum-RAM guidance across the index comes from: a 16 GB Mac has a ~12 GB working budget, a 24 GB Mac ~18 GB, a 64 GB Mac ~48 GB, and so on.

Step 2 — How fast? (Speed model)

Token generation is memory-bandwidth-bound: for every token, the runtime must stream essentially all active model weights from RAM through the GPU. Compute is rarely the bottleneck on Apple Silicon. That gives a simple ceiling:

est. tok/s = 1 ÷ ( model_bytes_GB ÷ (bandwidth_GB/s × 0.801) + 0.00146 )
bandwidth_GB/s: published memory bandwidth of the chip (e.g. M4 Pro 273 GB/s, M5 Max 600 GB/s)
model_bytes_GB: weight bytes read per token — total size for dense models, active-parameter bytes for MoE
0.801: runtime efficiency on the bandwidth term — the top of the ~0.6–0.8 range typical of llama.cpp / MLX-class runtimes; lower for MoE (routing and expert-loading overhead)
0.00146: fixed per-token cost in seconds (~1.46 ms) — kernel launches and sampling, which do not shrink as the model does
Cross-chip scaling: tok/s scales with the bandwidth ratio only while the bandwidth term dominates — below roughly 4 GB of weights the fixed cost takes over, and doubling bandwidth stops doubling speed
Where those two constants come from — revised 15 August 2026

They are solved, not chosen. The two unknowns are fixed by the two vendor-published Apple Silicon figures in this dataset, both on M5 Max: LFM2.5-2.6B at 220 tok/s and Muse Glimmer 30B at 27 tok/s.

The result was then checked against a figure it had never seen — Muse Glimmer 30B on M4 Max, vendor-published at 24 tok/s. The formula predicts 24.7, an error of +3%. The single community figure on an M4 Pro comes out about 26% high, which is what a thermally-limited laptop under sustained load should do.

One efficiency multiplier cannot fit both ends of the range. At 30B, decode really is bandwidth-bound; at 2–3B the fixed per-token cost dominates, and a pure bandwidth model predicts speeds no small model actually reaches. Every estimated figure in the index was recomputed with the formula above on 15 August 2026. Before that, 63 of them implied a model reading its weights faster than the memory bus could deliver them — not achievable on any hardware. Measured figures, the filled squares and hollow circles, were not touched by this and never are.

This is also why Mixture-of-Experts models dominate the speed rankings: a 32B MoE with 3B active parameters reads ~1.7 GB per token instead of ~18 GB — a 10× smaller memory bill per token, while still storing the full 32B of knowledge in RAM.

Step 3 — A worked example

▶ Llama 3.3 70B (dense) on an M5 Max, Q4_K_M

  1. Weights: 70 × 0.57 ≈ 40 GB on disk and in RAM.
  2. Total RAM needed: 40 + ~2 (KV cache) + ~3 (macOS) ≈ 45 GB.
  3. Fit check: a 64 GB Mac budgets 64 × 0.75 = 48 GB — fits. A 48 GB Mac budgets 36 GB — the 40 GB of weights alone don't fit. So the index lists min RAM = 64 GB.
  4. Speed ceiling: 600 GB/s ÷ 40 GB = 15 tok/s theoretical maximum.
  5. Apply efficiency: 15 × ~0.7 ≈ 10–11 tok/s — the estimated figure the index shows.

Contrast with an MoE model: Qwen 3.6-35B-A3B activates ~3B parameters per token, so it reads only 3 × 0.57 ≈ 1.7 GB per token. On an M4 Pro (273 GB/s) the ceiling is ~160 tok/s; realized MoE efficiency of ~0.4 (routing overhead, expert scatter across memory) lands the estimate near ~62 tok/s — on a mid-range chip. The full 32B of weights still need ~18 GB of RAM to be resident, which is why it's a 24 GB-Mac model despite generating like a 3B.

What the estimates can't capture

Honest limits of the model: thermals (a fanless MacBook Air throttles on long generations; a Mac Studio doesn't), context length (speed degrades as the KV cache grows — long chats get slower), quantization variants (Q5, Q8, and MLX 4-bit all shift size and speed), and runtime differences (Ollama, LM Studio, llama.cpp, and MLX can differ 10–20% on the same hardware). Real numbers will vary from the estimates — that's exactly why every estimated row is labeled, and why community submissions are invited to replace estimates with real runs.

The LLMCheck Score Formula

The estimation model above feeds one of four components in the composite 0–100 LLMCheck Score used to rank the catalog:

LLMCheck Score = Capability + Speed + Accessibility + License
Capability (0–50): normalized from Arena AI ELO + MMLU + coding benchmarks — sourced from published third-party evals
Speed (0–25): est. tok/s on M5 Max × 0.25, capped at 25 — estimated via the model above
Accessibility (0–15): RAM tier: ≤8 GB = 15, ≤16 GB = 12, ≤24 GB = 10, ≤32 GB = 9, ≤64 GB = 5, ≤128 GB = 2, >128 GB = 0
License (0–10): MIT = 10, Apache 2.0 = 8, Gemma = 6, Meta Custom = 5, xAI Custom = 4, CC-BY-NC / N/A = 2

Dimension 1: Capability (50 points) — sourced

CAPABILITY50 / 100 pts

Raw model intelligence — reasoning, knowledge, coding, instruction following. Sourced from published third-party benchmark systems, linked per model.

The capability score (capScore) is the most heavily weighted dimension because the primary value of an LLM is output quality. capScore is sourced, not estimated: the index normalizes it from three public benchmark systems:

When official benchmarks are unavailable for a model (common for very new releases), the index extrapolates from related models in the same family and marks the score as estimated — same provenance rules as everything else. These estimates are replaced with sourced scores within 2–4 weeks of release.

Why 50 points? A very fast model that gives poor answers is less useful than a slower model with excellent reasoning. Capability is weighted highest because it determines whether the model actually solves your problem. Speed and RAM determine whether you can run it — but there's no point running a model that can't help you.

Capability Score Table (All 81 Models)

ModelParamscapScoreLicenseKey published evidenceSource
Qwen3.8-2.4T-A95B2.4T MoE50Qwen CustomSWE-Bench Pro 67.7, GPQA 92.6 (model card)HF
GLM 5.2753B MoE50MITSWE-Bench Pro 62.1% (SEAL standardized) / 68.5% vendor scaffoldHF
Kimi K32.8T MoE50Moonshot CustomAA Intelligence Index #3; Frontend Code Arena #1 (1,679)HF
DeepSeek V4 Pro1.6T MoE50MITSWE-bench Verified 80.6% (V4-Pro-Max, vendor)HF
Kimi K2.61T MoE48Modified MIT1T-A32B multimodal agent flagshipHF
GLM-5.1754B MoE48MITLed open SWE-Bench Pro before GLM 5.2HF
Inkling975B MoE47Apache 2.0AA Index 41; SWE-bench Verified 77.6HF
DeepSeek V4 Flash284B MoE47MITAA Index 50 (top open tier); Terminal-Bench 2.1 82.7 (vendor)HF
Kimi K2.51T MoE47Modified MITHF
Inkling-Small276B MoE46Apache 2.0SWE-bench Verified 80.2 (open record); GPQA 89.5HF
Qwen3-235B-A22B235B MoE46Apache 2.0HF
DeepSeek V3.2-Speciale685B MoE45MITHigh-reasoning sibling of V3.2HF
Qwen 3.6-27B27B44Apache 2.0SWE-bench Verified 77.2HF
Laguna S 2.1118B MoE43OpenMDWTerminal-Bench 2.1 70.2 (max thinking); SWE-Pro public 59.4HF
Muse Glimmer 30B30B42Apache 2.0SWE-Bench Pro 51.2; AIME 94.7; GPQA 83.5 (vendor)HF
Solar Open 2 250B250B MoE42Solar LicenseMMLU-Pro 86.2; LiveCodeBench v6 92.4 (vendor)HF
DeepSeek V3.2685B MoE42MITHF
Hunyuan Hy3295B MoE41Apache 2.0AA Index 41HF
MiniMax M2.5230B MoE40Modified MITSWE-bench Verified 80.2 (launch coverage)HF
Gemma 4 31B31B40Apache 2.0HF
KAT-Coder-V2.535B MoE39Apache 2.0SWE-bench Verified 69.4HF
Ling-3.0 Flash124B MoE38MITAA Index 38HF
Qwen 3.5 397B-A17B397B MoE38Apache 2.0HF
Qwen 3.6-35B-A3B35B MoE38Apache 2.0SWE-bench 73.4HF
DeepSeek V3685B MoE37MITHF
DeepSeek R1671B MoE37MITHF
Nemotron 3.5 Lightning30B MoE36OpenMDWAA accuracy-vs-speed Pareto claim (vendor)HF
Mistral Large 3675B MoE36Apache 2.0HF
Llama 4 Maverick400B MoE36Meta CustomHF
GLM-4.7-Flash31B35MITHF
Llama 3.1 405B405B35Meta CustomHF
Qwen3-Coder-Next80B MoE35Apache 2.0SWE-bench Verified 70.6HF
Gemma 4 26B-A4B26B MoE35Apache 2.0HF
GLM-4.7355B34MITHF
Mistral Small 4119B MoE34Apache 2.0HF
Laguna XS 2.133B MoE33OpenMDWHF
Bonsai 27B27B33Apache 2.0~90% of Qwen3.6-27B FP16 quality (vendor)HF
GLM-4.5-Air106B MoE33MITHF
Step-3.5-Flash196B MoE33Apache 2.0HF
MiMo-V2-Flash309B MoE32MITHF
GPT-oss 120B117B32Apache 2.0HF
Llama 4 Scout109B MoE30Meta CustomHF
Nemotron-Cascade 230B MoE30NVIDIA OpenAIME / LiveCodeBench golds at 3B active (vendor)HF
DeepSeek R1 70B70B30MITHF
Apertus 1.5 70B70B29Apache 2.0HF
Hermes 4 70B70B28Meta CustomHF
Mixtral 8x22B141B MoE28Apache 2.0HF
Qwen 2.5 72B72B28Apache 2.0HF
Llama 3.3 70B70B27Meta CustomHF
Qwen 3.5 35B-A3B35B MoE27Apache 2.0HF
QwQ 32B32B26Apache 2.0HF
Mistral Small 3.2 24B24B25Apache 2.0HF
Qwen 3 32B32B25Apache 2.0HF
Devstral Small 24B24B24Apache 2.0HF
DeepSeek R1 32B32B24MITHF
Qwen 3 30B-A3B30B MoE22Apache 2.0HF
Gemma 3 27B27B22GemmaHF
Qwen 3.5 27B27B21Apache 2.0HF
Maple Preview 20B-A1B20B MoE20MITIMO-level claims (vendor, unverified)HF
Nanbeige4.2-3B3B20Apache 2.0SWE-bench Verified 63.6 (vendor)HF
Qwen 3 14B14B20Apache 2.0HF
Phi-4 14B14B19MITHF
Qwen 2.5 14B14B18Apache 2.0HF
Ministral 3 14B14B18Apache 2.0HF
Qwen 3.5 9B9B18Apache 2.0HF
Gemma 3 12B12B17GemmaHF
Apertus 1.5 8B8B16Apache 2.0HF
Gemma 4 E4B4B16Apache 2.0HF
DeepSeek R1 8B8B16MITHF
Qwen 3 8B8B15Apache 2.0HF
LFM2.5-2.6B2.6B14LFM OpenSize-class instruction-following leader (vendor)HF
Ministral 8B8B14Apache 2.0HF
Phi-4 Mini3.8B14MITHF
Gemma 4 E2B2B13Apache 2.0HF
Mistral 7B7B13Apache 2.0HF
Llama 3.1 8B8B12Meta CustomHF
Qwen 3.5 4B4B12Apache 2.0HF
Qwen 3 4B4B11Apache 2.0HF
SmolLM3 3B3B10Apache 2.0HF
Gemma 3 4B4B10GemmaHF

Dimension 2: Speed on Apple Silicon (25 points) — estimated

SPEED25 / 100 pts

Estimated tokens per second on the M5 Max 128 GB reference configuration at Q4_K_M — computed with the estimation model above, not measured in a lab.

Speed points are calculated as: est. tok/s × 0.25, capped at 25 points. Any model estimated at 100+ tok/s on the reference configuration receives full speed points. The estimates assume these reference conditions:

Models that cannot run on any Mac (server-only, >128 GB RAM) receive 0 speed points. The full dataset — with a provenance label on every row — is available for download at /data/.

Dimension 3: Accessibility (15 points)

ACCESSIBILITY15 / 100 pts

How many Mac users can actually run this model? Lower RAM requirements = higher accessibility score.

Accessibility is a step function based on minimum RAM required at 4-bit quantization, derived from the RAM model above (weights + KV cache + macOS overhead, within the ~75% unified-memory budget). Since a large share of Mac users have 16 GB or less, accessibility is crucial for real-world impact:

Min RAM (4-bit)PointsExample ModelsEst. Mac Users
≤ 8 GB15Gemma 4 E4B, Phi-4 Mini, Qwen 3.5 9B~100% of Apple Silicon
≤ 16 GB12Qwen 3 14B, Gemma 3 12B~85%
≤ 24 GB10Gemma 4 26B-A4B, Gemma 4 31B, Qwen 3.5 35B~40%
≤ 32 GB9QwQ 32B, Qwen 3 32B~30%
≤ 64 GB5DeepSeek R1 70B, Llama 3.3 70B~10%
≤ 128 GB2GPT-oss 120B, Mixtral 8x22B~3%
> 128 GB0Kimi K2.5, DeepSeek V3, GLM-5.1Server only

Dimension 4: License Openness (10 points)

LICENSE10 / 100 pts

How freely can you use, modify, and distribute the model? More open = higher score.

LicensePointsCan Modify?Commercial Use?Models
MIT10YesUnrestrictedDeepSeek V4 Flash, GLM 5.2, Maple Preview
Modified MIT9YesYes (attribution clauses)Kimi K2.5/K2.6, MiniMax M2.5
Apache 2.08YesYes (with notice)Qwen 3.6, Muse Glimmer, Gemma 4, Inkling
OpenMDW-1.18YesYesNemotron 3.5 Lightning, Laguna S/XS 2.1
Gemma6YesYes (restrictions)Gemma 3 (old license)
Solar / LFM / NVIDIA Open6YesYes (attribution / terms)Solar Open 2, LFM2.5-2.6B, Nemotron-Cascade 2
Meta Custom5LimitedYes (<700M users)Llama 4, Llama 3.x, Hermes 4 70B
Moonshot / Qwen Custom5LimitedYes (revenue thresholds)Kimi K3, Qwen3.8-2.4T-A95B
CC-BY-NC2YesNon-commercial only(none currently listed)
Proprietary / N/A2NoAPI only(none currently listed)

Note: CC-BY-NC (non-commercial) scores 2 — usable for research but not commercial deployment. Meta / xAI community licenses score 5 / 4, reflecting modification rights with commercial caps.

Score Examples

Gemma 4 26B-A4B (Score: 67) = capScore 35 + speed min(25, est. 48 tok/s × 0.25 = 12) + accessibility 10 (24 GB) + license 8 (Apache 2.0) + rounding = 65–67. Top-ranked because it combines Arena AI #6 quality with fast MoE inference on a 24 GB Mac.

Qwen 3.5 9B (Score: 66) = capScore 18 + speed min(25, est. 100 tok/s × 0.25 = 25) + accessibility 15 (8 GB) + license 8 (Apache 2.0) = 66. Ranks high because maximum speed + accessibility points compensate for lower raw capability.

Kimi K2.5 (Score: 60) = capScore 50 (highest!) + speed 0 (server only) + accessibility 0 (>128 GB) + license 10 (MIT) = 60. Despite being the most capable model, it scores lower because no Mac user can run it locally.

Limitations & Known Issues

Corrections and real-world benchmark data are always welcome. If you have runs that differ from the index's estimates, submit them through the community benchmark process — verified community rows replace estimates.

Frequently Asked Questions

Does LLMCheck run its own benchmarks?

No. LLMCheck is an independent index, not a benchmark lab. Every figure on the site is one of three things: an estimate from the published LLMCheck estimation model (memory-bandwidth math and quantization arithmetic, fully documented on this page), a sourced number from a linked third-party benchmark, or a community-submitted run. Each row is labeled with its provenance, and no figure is claimed as a first-party lab measurement.

How does LLMCheck calculate its scores?

The LLMCheck Score is a 0–100 composite metric: Capability (50 pts) sourced from published third-party evaluations such as Arena AI ELO ratings and MMLU/coding benchmarks, Speed (25 pts) from estimated tokens/sec on the M5 Max reference configuration, Accessibility (15 pts) inversely proportional to minimum RAM, and License Openness (10 pts) where MIT scores 10 and restrictive licenses score lower. The formula is fully transparent and reproducible.

Where does LLMCheck get its capability scores?

Capability scores are derived from three public benchmark sources: Arena AI ELO ratings (human preference, weighted 40%), MMLU scores from official model cards (knowledge breadth, weighted 35%), and coding benchmarks like HumanEval and SWE-Bench (weighted 25%). All sources are linked per model. When official benchmarks are unavailable, the index extrapolates from related models in the same family and marks the score as 'estimated'.

How does LLMCheck estimate tokens per second on Apple Silicon?

Token generation on Apple Silicon is memory-bandwidth-bound, so estimated tok/s ≈ (memory bandwidth in GB/s ÷ model size in GB at Q4_K_M) × an efficiency factor of roughly 0.6–0.8 observed for llama.cpp/MLX-class runtimes. Mixture-of-Experts models use active-parameter bytes instead of total size, which is why they are much faster. Scaling across chips follows the bandwidth ratio. The full model is published at llmcheck.net/methodology#estimation, and every estimated figure is labeled as such.

Why does LLMCheck weight capability at 50% of the total score?

Capability receives the highest weight because the primary value of an LLM is the quality of its outputs. A very fast model that gives poor answers is less useful than a slower model with excellent reasoning. However, speed (25%) and accessibility (15%) ensure that models which actually run well on consumer Macs score higher than server-only models with superior capability but no practical local use.

How often are LLMCheck scores updated?

Scores are updated within 48–72 hours of major model releases. The full leaderboard is refreshed monthly with the latest Arena AI ELO ratings and community benchmark submissions. Speed estimates are recomputed as new Apple Silicon hardware specifications become available. All updates are timestamped in the open dataset at llmcheck.net/data/.

Benchmark Sources

See the Full Leaderboard

81 verified models ranked by LLMCheck Score. Filter by your Mac's RAM, sort by speed or capability — every figure labeled with its provenance.

View Leaderboard →