My local model setup on an M4 Pro Mac Mini
106 points by raybb 6 hours ago | 53 comments

amanzi 5 hours ago
No mention of the performance of the models? I'm able to load a bunch of different models on my little mini-PC with 16GB RAM, but the performance is terrible. I always wonder what performance people are getting with local models that they find is acceptable?
reply
argee 5 hours ago
I have an M4 pro (48 GB ram) and I run Gemma 4 26b a4b at 52 tok/s and Qwen 3.5b a3b at 72 tok/s. Both 4bit quantized. These are enough for my needs and the performance is more than good enough. I'm not running the MLX version of the Gemma model, if I did the inference speed would likely be a bit better. I wouldn't use them for coding features though.
reply
dolebirchwood 26 minutes ago
> enough for my needs

Which are...?

reply
hkchad 5 hours ago
I run a similar setup to the one he described on similar hardware. I run bifrost and llama swap though (tailscale rocks). My local model usage is for some out of band batch processing one of my personal apps uses. Basically a personalized recommender for media, it curates stuff for me based on a database i've compiled over years, so non-interactive. For that use case, I don't really care that it might take a few minutes to run. It's free. The machine is just sitting there anyway. I have tried using qwen-coder and opencode on my M5 Max 128gb and compared to claude code it's painful. I did setup a workflow where claude plans, qwen executes (unattended overnight, again b/c it's slow) and then claude reviews. I benchmarked this several times and I ended up using MORE tokens with claude because it had to 'fix' all the qwen issues. While the code it produced was 'good enough' the fixes were worth it so I just stick to coding task using API models (codex and claude).
reply
brettdav 2 hours ago
Can you share a bit more about your bifrost and llama swap setup? I’m facing memory constraints and am looking for a managed model solution that will help with hot swapping loaded models and stay-warm concurrency. Ideally with prioritization.
reply
hkchad 2 hours ago
What do you want to know? Just start llama-swap with the models i have downloaded, add llama-swap as a provider in bifrost, expose the models you want and they become available in one single endpoint you can use in anything like opencode, openwebui or anything that speaks openai.
reply
pcarolan 5 hours ago
It’s not. Do it as a hobby or for privacy but for performance just use a frontier model api. You’re paying less than cost for something that would take tens of thousands to set up locally.
reply
ux266478 4 hours ago
That's not even remotely close to being true, even once you account for capex. You have to look at the actual usage, look at the token limits. Even if you're paying Anthropic $200k/month for scale-tier, you're going to blow through your token limits trying to run max output 24/7. Three users running Opus 4.8 at max non-stop will probably clean your monthly allowance from daddy Dario in less than a week.

With an 8x MI355x cluster at full tilt and including cooling, your power draw runs ~17kW. That's what it looks like when it's running full tilt. To be fair, hey that's pretty expensive. It does mean 8 multi-trillion parameter models unquantized running 24/7 without pause. And you get the full month like that, your monthly token limit is the time in a month. That cluster, the electrical upgrade, the cooling setup, and the electricity to run it all costs less in 2 months than your maximum affordance from Anthropic does in the same time period. Two billing cycles, and realistically it's more like two weeks. In 4 quarters you've wasted over a million. Like, what are we talking about here?

Now if you aren't using AI all that much, which is perfectly valid, and especially if you aren't using it at its absolute maximum, the story changes. Because even though at that point you're not paying nearly as much in electricity to run the cluster anymore, you still have the $300k+ capex to get the setup in the first place. But if we're not redlining it non-stop, then we're not really talking about performance anymore, are we? If your org never comes close to hitting token limits, it's probably because AI is rather marginal for you. Which again, is perfectly valid. I don't even use AI professionally.

Fact of the matter is, if your corp can justify the capex for a cluster and makes heavy use of AI, you are literally burning money by not having one in your building. The numbers are painfully obvious. Even deepseek isn't as cheap. This is before we get into things like LoRAs, custom inference pipelines, etc. which you know are kind of important if you actually care about model performance.

reply
pcarolan 47 minutes ago
Here’s an experiment: purchase an anthropic pro max subscription for $200/m. Now go buy the hardware to run DeepSeek’s equivalent. In a year, who spent more?
reply
ericd 37 minutes ago
That's not apples to apples on almost any dimension.
reply
Aurornis 2 hours ago
> With an 8x MI355x cluster at full tilt and including cooling, your power draw runs ~17kW. That's what it looks like when it's running full tilt. To be fair, hey that's pretty expensive.

Pretty expensive is an understatement. You couldn’t buy one of these if you wanted to right now. If you could it would be multiple hundreds of thousands of dollars.

> It does mean 8 multi-trillion parameter models unquantized running 24/7 without pause

You can’t even run one unquantized multi-trillion parameter (>=2T) model on 8 x MI355x with enough context for concurrent users. I don’t know how you think it’s going to run 8 of them at the same time. Did you mean 8 concurrent sessions?

Your math is way off across this post. If replacing an Anthropic subscription for a whole company was as easy as buying a box for the office and then breaking even in 2 months, it wouldn’t be some little secret that we only discover in a comment online.

reply
ericd 2 hours ago
>You couldn’t buy one of these if you wanted to right now.

You can: https://www.exxactcorp.com/Exxact-TS4-149591758-E149591758 . You can get thousands of tps of GLM 5.3 output out of this thing, which grades around Opus 4.8. Payoff is around 1 year vs. spot prices on these GPUs, including power.

reply
arjie 5 minutes ago
I have quoted large nodes from this supplier and have lots of GPUs from them for personal use. Current lead time is more than 30 months.

They're a good provider but you have to be a big shot buying NVL72s before you're getting anything within your payback period.

reply
Aurornis 29 minutes ago
> You can: https://www.exxactcorp.com/Exxact-TS4-149591758-E149591758 .

No, you can get a quote for possibly being allocated one in the distant future.

The backlog for these is huge. You cannot buy one any time soon.

reply
ericd 16 minutes ago
Ah gotcha. Have you tried to order something like this in the past?
reply
CamperBob2 56 minutes ago
I can't tell from the ad -- it says "supports" 8x MI350X GPUs, but does that mean "includes" 8x MI350X GPUs? For $300K I'd certainly hope so, but I'm assuming not.

A system with 4x RTX 6000s costs about $60K these days, and can (as you note) trade blows with Opus 4.8 if not Fable. In fact, it'll give you a better pelican than Fable 5.1, and in less time.

reply
Aurornis 27 minutes ago
> trade blows with Opus 4.8 if not Fable.

Okay I love the open models, but the hype is getting ridiculous. The models you can run on 4 X RTX6000 are not Fable level.

reply
CamperBob2 22 minutes ago
Well, they are if you're into animating pelicans. :-P But yes, in the general case Opus is a better match.

And Opus is no slouch. I'm satisfied that GLM 5.3 is just as strong as Opus.

reply
ericd 43 minutes ago
Ha fair, I'd definitely confirm with a salesperson before wiring them $300k. But most of the signs on the configurator seem to point to it including the GPUs? Not going to make 30k BTUs/hr of heat without the 8kw of GPUs.
reply
ux266478 22 minutes ago
> Pretty expensive is an understatement. [...] If you could it would be multiple hundreds of thousands of dollars.

Obviously, I quantified both the operating expense and the capital expense in my post. What I find curious beyond that is you're quoting me talking about the operating expenditure, and changing the topic to be about the buy-in like these are interchangeable things. You don't think that this is a crucial and important distinction?

> You couldn’t buy one of these if you wanted to right now.

You could have spent all of 5 seconds of searching rather than just assuming[1]. You're not buying an Nvidia Superpod™.

> You can’t even run one unquantized multi-trillion parameter (>=2T) model on 8 x MI355x with enough context for concurrent users.

That's certainly fair a point. Although in the English language, especially in legal contexts, the multi- prefix is used inclusively for fractional values. That is it's strictly >1, not >=2. IE an 18 month contract is a multi-year contract, or a $1.6 million dollar asset is a "multi-million" dollar asset. But this is uninteresting semantics.

You are right, but it also doesn't matter. The gap is just that big. You can run 1 single user of Kimi K3 and still not even come remotely close to the $70k or so that a single Opus 4.8 user can burn over the course of a month on left on max. The per-token cost is just really expensive from an API.

> Your math is way off across this post.

You made one technical point above, one that doesn't ever arrive at a relevant rebuttal to the substance of my post. But please, I'd love to hear you elaborate.

> If replacing an Anthropic subscription for a whole company was as easy as buying a box for the office and then breaking even in 2 months

If you're locked in, then you're locked in. But don't pretend like you're saving money. You're not.

> it wouldn’t be some little secret that we only discover in a comment online.

Why does this have you so nasty and defensive? It's not a "little secret" that running your own infrastructure is cheaper. Of course it is. You know what else is cheaper? Owning your own office building out in the sticks, rather than leasing part of one in the city. Not everybody can make that work, there are no free lunches after all.

History repeats, these same exact lines were rolled out ad nauseum during the cloud craze. Datacenters are businesses, not charities. Frontier companies rent quite a fair amount of their infrastructure. Even if they resold that compute below cost (they don't), there's a pretty steep cliff before the economics start to look attractive.

Here's the math. Let's say you are paying a ridiculous amount of money for electricity, a price nobody anywhere in the US pays, $2 per kilowatt hour. That's about 5x the average rate in California. 17kW @ $2/kWh * ~8766 hours in a year puts that cluster's electrical costs at just shy of ~$298k annually assuming it takes no breaks. It's also assuming you didn't invest in a solar hookup for your building, which I don't know why you haven't at this point. 12 months of Claude burning $70k a month is $840k. For a buy in of, you know what, let's call it $500k. Why not? It still doesn't matter. The operating cost is so much lower it's paid for itself plus an additional $40k in the first year. Even at a ridiculous penalty of 5x an already ridiculous electricity cost, even overinflating the amount of money you'd pay for the cluster, it's not even remotely close for a single user.

[1] - https://www.avadirect.com/GIGABYTE-G893-ZX1-AAX4-Dual-AMD-EP...

reply
ericd 41 minutes ago
What're you using that monster for?
reply
Gigachad 4 hours ago
It does make me wonder how the hosted stuff is so cheap. For pretty much everything else, hosted/rented is more expensive but offers better convenience and flexibility. But for AI, even if you consider the total lifetime cost and are utilizing it heavily. You never break even by buying.
reply
srcreigh 2 hours ago
They're not cheap at all. I did one xhigh Qwen 3.8 27B agentic coding task last week via OpenRouter and it cost me like $10.

If you were to use hosted LLMs for a lot of agentic coding, a maxed out M5 Ultra Mac Studio would pay for itself in under a year.

reply
Gigachad 2 minutes ago
Qwen is weirdly expensive. Deepseek v4 flash is dirt cheap. You'd need at least 128gb of ram to run this model and in my experience, a days work with it costs around 80 cents.
reply
asteroidburger 2 hours ago
It's a time sharing agreement, just like old-school mainframes and such. You're not getting a full machine to yourself, but a few cycles at a time.
reply
api 4 hours ago
There are economies of scale but there’s also a data center bubble (probably) so there might be some selling dollars for fifty cents going on.
reply
whatsThisBtn4 4 hours ago
I watched someone at a fortune 20 company get embarrassed for buying a Mac to run a 70B model in 2025.

He was a lead engineer, so after he announced it wasn't going to work, everyone pretended it never happened. But we all knew.

reply
copper-float 2 hours ago
Sounds like a really rude workplace. Who cares if he wants to try running things locally?
reply
whatsThisBtn4 4 hours ago
I can't imagine using CPU... Oh I did twice.

If you are work from home and do dishes between prompts you can get a gpt3-like result.

I found it useful when I was... Well I didn't find it useful. But an Nvidia 3060 let me ask unethical questions pretty fast.

reply
ramgine 3 hours ago
With which model. I have a 3060 with a bunch of system ram
reply
ericd 4 hours ago
I honestly wouldn’t bother with local models right now unless I either had a 5090 and was happy with running Qwen 3.8 27B, or a pair of DGX Sparks running DSv4 flash, or better, 2x6000 RTX Blackwells. Those are the kinds of rigs that the local model enthusiasts are running. With the GPU setups, you’re looking at generally >100tps generation in single stream, and >10k tps of prefill, so it’s snappier than Claude code, which somewhat makes up for it being dumber.

That said, it is really cool to be able to run an LLM on eg a Mac laptop. Just not a better experience on almost any metric for interactive use than eg Claude Code, beside privacy and guardrails.

reply
gruez 4 hours ago
>I honestly wouldn’t bother with local models right now unless I either had a 5090 and was happy with running Qwen 3.8 27B

How's the actual performance of Qwen 3.8 27B? On deepswe it supposedly performs slightly worse than gpt 5.6 luna high[1], but I can't help but think they've been benchmaxxed.

[1] https://deepswe.datacurve.ai/, https://unsloth.ai/docs/models/qwen3.8#benchmarks

reply
ericd 4 hours ago
Not sure, I haven't run it, I've just been running DS V4 Flash non-stop since it came out, and that's replaced a lot of my Claude Code usage. People seem very impressed, though, it seems like it trades vram/world knowledge for extra thinking time, which I think is a good trade for local. tbf, I've heard luna's not great at coding. Fast and good for things like classifiers, summarization, though.

A friend and I were actually discussing today how benches show Luna Max at about par on coding with Sol Medium, but how it's nowhere near in reality. We were speculating that maybe it's because a lot of benches are best-of-n, and should probably be worst-of-n, because variance in performance is killer with large coding projects. Consistency is what lets you actually build on this stuff.

reply
villish 3 hours ago
Keep in mind these downloadable models use 3-10x the amount of tokens as well. You really can’t beat a couple $20 subscriptions.

https://quesma.com/benchmarks/babaisbench/

reply
ericd 3 hours ago
Looks like GLM 5.2 is coming in at <2x the tokens of Opus 4.8 (and 1/10 the cost)?

Great showing from Sol, though.

But also, it's Baba Is You :-D

reply
brainless 2 hours ago
I experiment a lot with local LLMs, particularly small ones like Qwen3.5 4B and 9B. I have build multiple experiments to make harnesses that use these models for code generation, planning, local search, etc.

These are really good models but the harness has to be built around them. I have a ton of generated system prompts for specific purposes. Even parts of a SolidJS stack, for example Route management, has its own prompt. These are experiments but the results are real. If we build harnesses around small models, we can build a locally running WYSIWYG editor which works on plain text prompts.

The performance, in simple tokens/second, is not the most important factor. For many private data points, like emails, I would rather have a local graph based search and LLM on top where the harness is specific to problems like calendar, contacts, finance, etc.

I run all experiments on an 16GB M4 Mac Mini but coding agents building the harness are a mix of Codex, Claude Code and opencode.

reply
jumploops 4 hours ago
My biggest problem with running local LLMs on my M4 Max/128GB RAM is the prefill latency.

I've since acquired two DGX Sparks, and it feels so much snappier.

reply
shell0x 3 hours ago
Would you mind sharing your local Mac setup and which models you currently use and whether it’s GGUF or MLX? I’ve the hardware same specs.
reply
jumploops 3 hours ago
Primarily used ds4[0] by antirez

[0]https://github.com/antirez/ds4

reply
shell0x 3 hours ago
Thanks, that’s what I’m currently using too.
reply
c0rruptbytes 4 hours ago
m5 max really fixed pp with the better matmul support, im sure the m5 ultra will be even crazier

the sparks have much slower memory bandwidth is the trade off

reply
jumploops 50 minutes ago
I believe the dgx spark is still twice as fast at prefill as the m5 max, but the ultra should get closer to parity.

Another benefit of the 2x spark setup is that you can parallelize to ~6 streams pretty efficiently.

All depends on the workflows you’re using it for.

I’m quite excited for the M7 class machines.

reply
mkagenius 4 hours ago
I tried the 1 bit model of Qwen3.6 27B on my M1 pro (16G) and got 13 tok/s with only 5G of ram usage.

https://x.com/mkagenius/status/2093730391429685732

(xcancel seems to have received a cease and desist)

reply
crossroadsguy 2 hours ago
> <a href="https://omlx.app">oMLX</a>

Is that supposed to be hallucination? The human or other kind. Feels like a made up URL. It's .ai, isn't it?

reply
whatsThisBtn4 4 hours ago
Apple did great work convincing people their unified memory was good at AI. Even AI says Apple is the best of all time at marketing.

Meanwhile the stock market has Nvidia at the top... Until everyone gets cuda.

reply
alexgoodhart 4 hours ago
I have an m1 Mac 64gb and look forward to trying this out

Not many people share setup with actual setup handholding so that was very G of you

reply
miles_io 4 hours ago
M4 Pro has been a solid performer for iterating on smaller local models. Much more convenient than spinning up cloud instances for dev.
reply
whatsThisBtn4 4 hours ago
If you just want chat.

Agents require at least DeepSeek pro and even that is the minimum.

You might be able to get a good model to write instructions and run it in smaller models.

Otherwise, cool your AI got the current weather.

reply
max979 4 hours ago
That M4 Pro is probably a beast for quantised models. My M2 Pro handles 34B just barely; what speeds are you seeing?
reply
xydac 5 hours ago
yes, share performance, numbers if you can, also i wonder if you figured out a way to do a 2way audio with local models, or even explored that. I have a very similar setup but not too happy with the token speed, will try omlx though !!!
reply
mintflow 4 hours ago
Have a macmini m4 32G, not the pro version, previously everytime I tried local LLM is a bit disappointing, and I finally decide to not waste time and perhaps in the future invest a better hardware to server more modern and dense model

I am curious is what is the 80% request served by this setup, I was using it for OpenClaw which run serveral cron jobs that discover stuffs over the wide internet, check my support system's unanswered tickets, browser X and some social media for me to filter the valued ones(though I have to say even with GPT 5.6 sol, the quality is low for the timeline X sent to me)

Btw, Tailscale is quite cool and did a good job, I was using it to serve the local LLM and connct the openclaw on a Linux Machine to it.

reply
arcanemachiner 4 hours ago
You have tried Qwen 3.8 27B before coming to this conclusion, I hope? It's an incremental improvement over 3.6, but I mostly want to make sure you didn't just try running some old junker before coming to this conclusion.
reply
tukHelix 2 hours ago
[flagged]
reply
shell0x 3 hours ago
[dead]
reply