Capacity and bandwidth answer different questions
A model can fit in memory and still be frustrating to use. On our M3 Ultra Mac Studio with 256GB RAM, memory capacity alone did not make the models we tried useful for OpenClaw. Keep two questions separate: can this configuration hold the workload, and can it complete the task at a useful speed?
For Apple silicon comparisons, keep nominal specification bandwidth beside the exact chip. Apple lists M2 Max at 400 GB/s and M3 Ultra at 819 GB/s. The current M5 Ultra specification lists 1.2 TB/s, equivalent to 1,200 GB/s in decimal units. These are hardware specifications, not this site’s measured sustained bandwidth or inference results.
Why generation can depend on bandwidth
During autoregressive decoding, each new token depends on the state built by previous tokens. For some dense-model single-stream workloads, moving weights and cache data to the processor can limit performance. More usable bandwidth can help in that regime, but it does not remove every other bottleneck.
Prompt processing has a different computation pattern and may respond differently to GPU compute and kernel optimization. Batching can reuse work across requests and improve aggregate throughput while worsening an individual user’s first-token latency. Report the phase and concurrency instead of publishing one unqualified “AI speed” number.
| Quantity | What it tells you | What it does not prove |
|---|---|---|
| Unified memory capacity | A residency budget | That the real workload is responsive |
| Nominal memory bandwidth | A specification rate | Sustained application bandwidth |
| Prompt-processing tok/s | Input processing in a stated test | Output generation speed |
| Generation tok/s | Decode throughput in that condition | Task correctness or safe tool use |
KV-cache demand changes with the workload
A standard full-attention decoder cache stores keys and values across layers, context positions and concurrent requests. A useful planning expression multiplies two caches by layers, KV heads, head dimension, tokens, concurrent requests and bytes per element. Actual runtimes may use different cache layouts, compression, sliding windows or hybrid architectures, so architecture-specific settings matter.
Ollama documents context configuration and its relationship to memory demand. Use the model’s real settings and observe the runtime. Reducing context can reduce memory pressure, but it can also remove evidence the task needs. The objective is a correct completion within a practical resource budget, not the smallest possible context at any cost.
Do not turn a file-size ratio into a MoE prediction
A rough dense-model bandwidth argument may divide bytes moved per token into usable bytes per second. The denominator must represent actual traffic. Dividing nominal bandwidth by the entire file size of a mixture-of-experts model is not a valid speed prediction when only selected experts are active for a token.
Our M3 Ultra record uses Qwen3.6-35B-A3B-8bit. Its displayed model size and measured generation rate should be retained as separate observations. We do not infer a cross-machine winner or an expected M5 Ultra token rate from the bandwidth ratio alone.
Design the comparison you need
Keep the model artifact, quantization, input length, generated length, acceleration settings and cache policy constant. Measure first-token delay, generation throughput and peak memory separately. Add repeated trials and retain failures. If a smaller-memory machine requires a different model, present that as a different workload rather than an identical hardware race.
Use the memory planner, inspect the M3 Ultra records, and compare repeats with the benchmark analyzer. Confirm the exact chip before assigning a bandwidth figure to an M1-generation MacBook Pro.
Implementation map
Sources and limits
Apple M2 Max, M3 Ultra specifications, M5 Ultra specifications and Ollama context. Documentation checked October 14, 2026. Recommendations and worked examples are editorial methods, not claims of a completed client engagement.
Owner evidence: M2 Max 64GB
Measured workload, not a hardware ranking.
Owner-supplied oMLX v0.7.0 screenshots show Code (Python), 128 output tokens, and a model label beginning Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-Opti… . The full artifact and quantization are not visible.
| Input / batch | Generation tok/s | TTFT ms | E2E seconds | Peak GB reported |
|---|---|---|---|---|
| 1024 / 1× | 81 | 1076.3 | 2.662 | 19.89 |
| 4096 / 1× | 78.4 | 3956.5 | 5.595 | 21.79 |
| 1024 / 2× | 133.2 | 2085.7 | 4.47 | Not shown |
| 1024 / 4× | 213.1 | 3871.2 | 8.526 | Not shown |
At 2× and 4× batching, generation is aggregate throughput, not the rate each user receives. The screenshot reports 1.64× and 2.63× speedup.
All-time serving: a separate view
The All-Time / All Models dashboard reports 215.6 tok/s prompt processing excluding cached tokens and 33.2 tok/s generation. Its date range, model mix and request count are unknown. These are mixed-use averages, not another benchmark or proof of a latency/cost saving. The empty Today history does not invalidate the all-time counters.
The M2 Max specification is 400 GB/s memory bandwidth; the M3 Ultra is 819 GB/s. The supplied tests use different artifacts and oMLX versions (v0.7.0 versus v0.5.4), so their token speeds cannot isolate bandwidth or establish which chip is faster. Inspect both datasets, bandwidth sources and original screenshots →
More memory didn’t fix the model. Finding the right model did.
Even our M3 Ultra Mac Studio with 256GB unified memory could run models that failed to do the work we needed. Qwen3.6 35B MoE became our sweet spot for agentic AI, coding and basic operations.
- Did not meet our needs
Smaller models tried
Frequent hallucinations and insufficient reasoning for our OpenClaw workflows.
- Did not meet our needs
Other Qwen variants
The variants we tried did not sustain the agent workflows we needed.
- Did not meet our needs
“Mistral 70B” — owner’s label
Still unsuccessful in our setup, including on the 256GB M3 Ultra. Exact artifact unconfirmed.
- Our operational sweet spot
Qwen3.6 35B MoE
Worked for our agentic AI, coding and basic operations; our preferred model among those tried.
Running in parallel for months of basic operations, according to the owner’s experience with Qwen3.6 35B MoE.
Our recommendation: test the workflow before buying more RAM.
For an OpenClaw setup like ours, start by evaluating this 35B MoE model against the tasks your agents actually perform. Check reasoning, hallucinations, tool use and completed work, then measure latency and memory. A model fitting into RAM does not establish that it can run the workflow successfully.
Evidence scope and how to read this verdict
This is Fazal Shah’s retrospective account of models tried in his own setup, not a universal claim that other models fail. “Failed” means the model did not meet his operational needs; it does not necessarily mean it failed to load. Smaller models reportedly hallucinated and could not support the reasoning and work required by his OpenClaw agents.
Exact alternative model repositories, quantizations, dates, prompts, failure counts and intervention rates have not been supplied. “Mistral 70B” preserves the owner’s wording, not a verified model identifier. The 16-agent account does not establish 16 simultaneous inference requests, uninterrupted uptime, unattended operation or a measured success rate. Its exact machine allocation and deployment artifact remain unconfirmed.
The screenshot benchmarks test 1×, 2× and 4× batching with 128 output tokens, not the 16-agent operational deployment. They show Qwen3.6-35B-A3B-8bit on the M3 Ultra and a differently named, truncated artifact on the M2 Max. They cannot independently verify months of agent operation or identify the exact deployment artifact.
Next evidence to collect: a redacted OpenClaw agent roster, dated run history, exact model artifact and configuration, representative completed tasks, failed attempts and human interventions. Keep task quality and throughput as separate measurements.
Bring the problem. We’ll scope the next step.
Something in your workflow keeps breaking, or your team is doing the same manual work every week.
Send the current setup, what failed, and the result you need. I can help with software integrations, local AI infrastructure, agent permissions, failure recovery and deployment.
Useful first details: system or runtime, expected workload, data restrictions and one redacted example. Don’t send credentials or private customer data.Fazal Shah builds AI systems, automation and software products. Based in Pakistan, working with a global audience. About Fazal →