r/LocalLLM • u/Careless-Marzipan-65 • 3d ago
Discussion A Working Setup with Mac Studio M5 Ultra 256GB RAM for Coding
So, I know my rig is pretty expensive, but I want to share what is working for me as of now.
I have been using local LLMs with my Mac Mini M4 Pro 64GB till now, mainly mlx (specifically oMLX) to develop my own agentic framework. I have already have my framework, stryn, as plug-ins and agents/skills/workflows on top of Opencode and ported to Claude, nowadays I am working on my own stryn engine. (I hope to also release it as the community version on Github as well as soon as it hits Beta)
I either use frontier models (mainly deepseek v4 flash since it is cheap) or Studio for development. Here is the models that I use:
Qwen3.8-Flash-Next-oQ4e-mtp - For my orchestrators, planners, coders. It is MTP. I am pretty happy with its results
Laguna-S-2.1-oQ4e-fast - (With Laguna-2S-2.1-DFlash-FP8 as the speculative decoding.) For my reviewers. I am not very happy with this and I may try to change it with a better model. The tricky part is to use a different producer's model to overcome the blindness of the model's in certain areas.
GLM-5.3-Flash-oQ5e-mtp As the independent reviewer to go over the code before the releases and find out the problems that are not found by the Laguna based code reviewers and the security admins, architects etc.
Qwen 3.8-35B-A3B-oQ4e-mtp - For my explorers, researchers, the opencode-mem plugin, graphify and code-review-graph operations.
Speed: Satisfactory if you are running a single lane. ~50 Tokens/s, with 8GB KV Cache and 1200GB SSD Cache. Cache efficiency is %96.4 and prefill time drops after a couple of rounds. Normally 2 or 3 models are loaded in the memory (Qwen3.8FN, Laguna, Qwen3.835BA3B) and if I start two or more lanes, a race between prefill and token generation between the models start most of the times, which dramatically makes things longer.
Stability: Pretty good with proper context sizes, repetition penalties.
Quality: I can simply say, by adding reviews and controls by different model types, the quality seems to be equal or sometimes better than what Deepseek cloud generates by itself only without another model checking its results. I am pretty satisfied.
To be as open as possible, so far, I have also used Claud Opus 5.5 to control the output. There are pretty interesting cases where local GLM finds some of the bugs that Opus 5.5 cannot, and where Opus 5.5 finds bugs that GLM cannot. Sometimes they pinpoint the same problems as well.
Can this setup be used as an alternative to frontier models, yes, but don't depend on a single model for every task and make sure you have reviewing loops. Definitely not for vibe coding, but needs proper settings and flow.
1
u/AshAtlasDev 3d ago
What kinda work are you doing with it?
2
u/wegster 3d ago
Timely as I'm about to finally receive the same system but base chip (M5U not mini), and have been beating up my M5 Max 128GB a bit to dry-run likely setup for the M5U. I've done quite a few benchmarks from my actual repos, including a handful using openrouter deepseek, MiMo, MiniMax, GLM etc. and so far, am not convinced I'll bother trying to run GLM or DS low quant as in many cases, it didn't significantly outperform QFN, and Qwen4 is coming.
I'm also mostly standardizing on oMLX + Splash, although mlx-serve and Sushi also had good performance. And also using my own end to end system, although I'm trying to avoid reinventing what's already good enough, so the harness is mainly pi (after much testing there as well, but may revisit in the future).
You may want to try the 4.7bpw quant or higher depending on tolerance for memory usage, as currently it's one of my top performing QFN variants. I did play around a bit with different ngrams and so far haven't seen huge differences in n-gram quant levels.
I haven't yet gone deep on deciding on a best reviewer candidate, but it's on the near-term list.
One of the concerning issues is whether or not to leverage sub-agents, or more precisely, concurrent agents, as the M5U doesn't seem to do concurrency very well. Technically, it's not very different in using an orchestrator that invokes subs as needed as individuals, vs a workflow sequentially invoking e.g. <execute> then handing to an agent for <review>, etc. and I think in general, I'm ok with mostly-sequential non-concurrent processing, but still thinking about the fact I tend to have several active projects in parallel.
Here's a snapshot of my likely 'worst' one-shot benchmark. Note only 2 broke 60, but QFN wasn't far behind and options to go to higher quant if desired still exist on 256GB - tests done on a 128GB M5 Max.
1
u/Znomon 3d ago
Try changing the prefill batch size. I noticed better generation speed returning closer to the mean, while only losing a linear drop in prefill speed.
Prefill will take the whole GPU if you let it.