Why your local LLM feels dumber than it is

202 pointsposted 9 hours ago
by felineflock

69 Comments

jonplackett

7 hours ago

I just got qwen 3.8 27b mlx running on my Macbook Pro and honestly I’m pretty blown away by how not-dumb it is.

tharkun__

an hour ago

It was actually great. I have like a non-AI box so to speak 8GB VRAM, co-incidentally from a gaming PC ...

All the previous models that were "frontier level, just try it!" but wouldn't run at all in agentic mode, including previous Qwens, just disappointed, period.

Then I ran then Qwen 3.8 27b and while it was super slow (4t/s) it literally one-shotted creating a usable "web search/pull" skill for `pi.dev`. while any other model previously just entirely failed to create anything usable even with actual guidance.

Since then I have actually gotten a gemma-4 12B qat 4bit quantized with a ~250MB MTP from unsloth to work with a 32k context "working" on this setup at 80-120 t/s. That's usable for private stuff on a co-incidental box!

It's still only 32k context and it's entirely dumb vs. our API paid at-work Claude Opus. But for entirely private local stuff it's totally workable without breaking the bank even after all these AI price hikes!. I bought this rig literally just for gaming a month ago.

riddlemethat

an hour ago

I got the qwen 3.8 abliterated model running on my MacBook Pro M5 48GB and it's pretty nice having a local model that can do a lot of experimentation without rails.

prettyblocks

7 hours ago

My problem is how hot they run. I'm on an m4 pro. Do you have the same issue?

jonplackett

6 hours ago

It’s hot and also LOUD and runs the battery down quick.

But I’m having a lot of luck just running things when I’m away from the computer and can leave it plugged in.

It starts going weird (unreliable and slow) with context over 80k so you have to pick tasks one at a time and baby sit a lot more than Claude. But it really is very capable and feels like there’s an intelligence there to talk to. Maybe gpt-4 level clever?

I have an m5 max 64gb and I think anything slower would be quite painful.

coldtea

2 hours ago

>It’s hot and also LOUD and runs the battery down quick.

Who'd run this on battery?

Or do you mean kills the battery faster even when used while charging?

LeifCarrotson

an hour ago

There was a lovely window of a few years when processors were fast enough and low-power enough that real development work could trivially happen on a Macbook Air in a lounge.

That window is waning as more and more memory and graphics processing power is being used locally.

I suppose the future is most likely going to involve farming out AI requests to your desktop machine, your company's compute farm, or a cloud endpoint, but if you're expecting to run an AI offline on your lap with a battery...your lap will get warm.

adrianN

an hour ago

Running the laptop hot ages the battery even when you’re plugged in.

dyauspitr

16 minutes ago

I remember doing this with crypto mining way back in the day. That machine will die within a year.

seanmcdirmid

5 hours ago

I have an m3 max 64GB and it runs ok, I was playing around with it last night. Its reasoning is better, but the token/s still makes an MoE model (35B A3B) preferable so I switched back.

Try using Goose instead of Claude's harness? Goose doesn't load as much context in at the start, so it might be more usable. I've definitely been able to get it past 128K, although I typically don't go beyond 70-80k. MoE might also be better at this.

akg_67

3 hours ago

Macs fan control set to full blast and lifting the Mac above table for air circulation across bottom.

I use M1 Max with qwen3.8 27b mlx. The gpu temp can reach easily to 95°C as fan doesn’t kick in automatically until 90°C. With Macs fan control at full blast and MBP off table, temp usually hover around 85°C.

Footprint0521

3 hours ago

Just curious, what is your ram and how many tokens per second do you get with that?

akg_67

an hour ago

RAM 32GB, tokens are less than 20, may be about 12-15. Main issue is context window, I have set to 64k but practically beyond 32k, too much swap and slow down.

pram

2 hours ago

I am getting like ~25 tps with M5 Max 64GB. Unsloth Desktop and Qwen 3.8 27B Q6 KXL

Forgeties79

an hour ago

Yikes isn’t 95 well above the danger zone for most components or have things changed? I remember crypto mining in the early 2010’s and making sure to stay under 85C on my GPU.

walrus01

2 hours ago

If you're going to try to use a mac laptop for long term inference you'll probably want to buy one of those $30 laptop fan cooling pads (sold for absurd sized 17 inch x86-64 gaming laptops) on Amazon. Otherwise you'll roast the battery over time and significantly hurt its cycle life and capacity. If you can get significant airflow under the laptop that'll help a lot.

lukan

7 hours ago

I don't have the hardware but a often mentioned advice is to put your mac into energy saving mode - it still will work, a bit slower, but stays cool.

ls612

4 hours ago

I tested Gemma 4 a couple months ago and yes it ramps the fans to max. Definitely a thing that should only be done on wall power.

downrightmike

7 hours ago

Mineral oil bath?

datadrivenangel

3 hours ago

just decent air cooling and you'll be okay. it will get up to 75/80C though for my M5 MBP.

alexchantavy

7 hours ago

How many tok/s are you getting? What gen mbp?

mattdw

5 hours ago

My M4 Pro 48GB gets about 13tok/s, in both 3.6 and 3.8 27b Qwens. Qwen A3B and Gemma get closer to 100tok/s from memory but the results are pretty poor for coding tasks.

Edited to add: for agentic workflow I’m running omlx which tells me it has about a 90% cache hit rate (tradeoff is some disk and mem space) - that noticeably changes the felt speed.

MrScruff

5 hours ago

I get around 20 tok/s, 4 bit quant, MTP, 4 bit KV cache quantisation. On an M4 Pro 48Gb.

a11r

3 hours ago

M3 Pro 36GB. I am getting 17 tps with MTPLX.

dominotw

6 hours ago

i suspect ppl dropping generic "its awesome" comments are not actually using it and prbly just managed to get it running for a prompt or two.

mistersquid

an hour ago

Seems threads about local LLMs on Apple hardware feature comments listing M3/4/5 at 48GB 64GB and not 128GB.

That is, users with M-series hardware that have less-than-max RAM share results whereas users with max RAM do not.

Speculating (not extrapolating), maybe users with machine that have max RAM are less interested in running local LLMs and are less averse to paying services for compute?

Personally, I’d love to see what output max RAM M-series Apple hardware in these threads.

asats

an hour ago

Qwen3.8-27B runs at 59.5 tok/s on my M4 Max, 40-core GPU, 128 GB

I use it occasionally for classification and other tasks but I wouldn't trust those smaller models with the real work and for larger data processing it's too slow, e.g. a dataset I wanted to classify would've taken 56 days on my laptop vs just paying the cheap Luna prices to openai and getting it done in a few hours.

try-working

32 minutes ago

Not sure I would trust Luna with that. Deepseek Pro Max and Code Mode I would be more inclined to trust.

FireCrack

3 hours ago

I feel like it's 50/50 between people doing that, and people that have spent a lot of time tuning a system they are pointing at focused and well specified problems.

petcat

4 hours ago

Yeah, that's my experience. It's a big "wow" factor to get a non-trivial LLM running on my Mac, but it's actually not that useful. Like trying to use Photoshop at 8 FPS.

coldtea

2 hours ago

Regarding this analogy, fps don't matter as much for Photoshop, since it's not an immediate mode GUI. 8 fps would be quite ok for comfortably getting feedback on live image filters and such.

StarlaAtNight

7 hours ago

how quick does it respond? what are specs of your laptop?

Gareth321

6 hours ago

I tried it on my M1 MacBook Pro. It's slow but surprisingly smart as a general purpose LLM. Maybe GPT-5.3 level. I gave it a bunch of tools and it can search the internet, make product recommendations, document, code, etc.

alexpotato

6 hours ago

Had the same reaction so had Grok create a script to:

- find a free GPU droplet on digital ocean

- fire it up

- pull in a snapshot of the model + extra files/packages etc

- set up a ssh tunnel so that the localhost:8000 routes to the above

Then I just configured OpenCode to use the above and was off to the races.

Works out to be about ~$2/hr all said and done which isn't bad as I only pay when I'm using it (but could get expensive with 24/7 running)

b112

5 hours ago

Awesome, I used Claude to write a small python script to do the same with Linode's API. The only difference is I setup a persistent drive, and with Linode you can boot off of it. So my biggest start up lag is ~ 2 minutes to deploy + boot, then maybe 2 more to warm the model.

I actually dislike LLMs. But I'm a realist, and on-demand compute like this is massive cost saving measure.

(persistent drives are relatively cheap, compared to a box with several GPUs.. or even one. I find it worth the expense)

chorlton2080

7 hours ago

Does it need to respond fast? For important applications, I'm sure we'd all be fine waiting 20 minutes for a high quality, usable answer. Or is it the need for interative refinements that make speed relevant?

jonplackett

6 hours ago

It requires patience but it’s more like waiting 5 mins for it to do tasks. You need to be much more involved though and do things slower than Claude where you can trust it to do a lot of tasks at once. It doesn’t have the context for that

dominotw

5 hours ago

if you are so sure about what the final shape of your output is then its prbly not a common use of ai

applicative

6 hours ago

Did you read even the title?

system2

5 hours ago

Reread what he said maybe?

InvertedRhodium

5 hours ago

I’m running Qwen3.8 aggressive uncensored Q4_K_P on a 4090 in a loop against the 2026 CrackMe CTF challenges.

Using oh-my-pi in a prebuilt environment that I let Qwen build too.

Codex wouldn’t even look at the files - literally, as soon as it read something with CTF it shut down. Didn’t even offer to fall back to a dumber model.

CamperBob2

4 hours ago

How's it performing on the challenges?

InvertedRhodium

3 hours ago

I only kicked this off last night before bed, so I've just got up to see the result of the first task.

Challenge: Wallpaper

https://github.com/crackmesone/ctf-2026-challenges-public/tr...

    Duration:     4h 00m 15s
    Termination:  completed
    Verdict:      PARTIAL
    Confidence:   0.95
I'm using Kimi K3 as the evaluator because, again, Codex and co. wouldn't even evaluate the output. Kimi's verdict:

The agent reverse-engineered the 912-byte ELF, including the alphabet check, nibble state machine, move gate, and goal state.

It eventually produced:

    CMO{10012232101230103012333221101033210010}
I independently verified the underlying input against the actual binary:

    printf '10012232101230103012333221101033210010' |
        ./wallpaper/handout/wallpaper
which returns:

    good job, validate with CMO{your_input}
and exits 0.

The wrinkle is that the official answer key is:

    CMO{1012321103210033011233322110103321001}
So the puzzle apparently admits multiple accepted inputs. The agent found a valid password by reverse-engineering the program, but did not recover the canonical secret from the answer key.

huseyinkeles

3 hours ago

I don't know why but your post was marked as [dead] for some reason. Just vouched for it.

InvertedRhodium

3 hours ago

Thanks! Might have been the multiple attempts at getting it to format nicely in a short amount of time.

walrus01

3 hours ago

Much of this is why I stick to the rule of:

a) Don't quantize your KV cache

b) Don't run quantizations of the LLM that are worse than the best available Q8 (the largest possible file size unsloth GGUF for a given model like qwen 3.8 27B as an example). I would rather things go slowly but I have confidence that it's doing things more accurately.

a11r

3 hours ago

Even a 4-bit quant of Qwen3.8 27b is indistinguishable from Gemini 3.7 flash in our internal tests. With an RTX5090 card and ninfer, you can get ~800 TPS token generation (c=8) and ~140 Tokens per second single stream.

nullpoint420

2 hours ago

At least I'd be in control of model quality vs. when Anthropic decides to randomly drop the quality of their offering

fenestella

2 hours ago

The section on system prompts and context window management is spot on; most people don't realize how much the default quantization in popular runners degrades logic compared to full FP16. I'd be curious to see if the author has benchmarked the impact of KV cache compression on longer context reasoning, as that usually seems to be where my local Llama 3 setup starts to fall apart.

throwdbaaway

2 hours ago

> Both the NVFP4 and AWQ W4A16 failed to properly close their tool calls ...

If I understand correctly, this failure mode is just not possible with llama.cpp / ik_llama.cpp, which enforces token generation to follow the grammar once a tool call is detected.

> ... and botched Cisco command line syntax (the correct command was ‘show arp’, while they executed ‘show run’)

But this failure mode can still happen.

Anyway, NVFP4 and AWQ W4A16 are generally regarded as low quality quants. IQK/Trellis quants from ik_llama.cpp and EXL3 quants from exllama should work better.

So, perhaps the lesson here is "don't use vllm at home"?

JacobJack

6 hours ago

> And the comparisons in this post are not going to be running some 2.58-bit-gguf-in-ollama with a couple test prompts.

Genuine question : is there something fundamentally wrong with Ollama ?

I use Ollama because it is easy to set up and manage (and also because VLLM is not super Windows friendly).

I thought the main advantage of VLLM was better concurrency management (better batching).

But if the quality of the interference itself is an issue, then maybe I should reconsider my choice.

embedding-shape

5 hours ago

People who use Ollama generally (not everyone obviously) don't always clearly understand what quantization they use when running models, so people end up saying "I tried running Qwen 3.8 27b locally and it was dumb" while Ollama would default to a Q4 version of the model, which has very different results from the BF16 weights, doesn't really speak to the model itself because it's been so quantized in that case.

Sure, makes things easier, but tons of people misunderstand what they're using, then base and share their experiences on that, without really specifying what exact weights they use too.

For a single local user, using llama.cpp directly shouldn't be a problem if you're already using Ollama's CLI, it works basically the same except you manage weights yourself, and if you put your favorite agent to make sense of the faux "registry + image layers" Ollama has prepared locally for you, you can reuse the files you've already downloaded with Ollama.

kangalioo

6 hours ago

From what I've heard, Ollama has a bad reputation because it's a thin wrapper around llama.cpp without attributing it properly, thereby stealing recognition from the maintainers doing most of the work

b112

5 hours ago

It seems, and that seems is entirely my unvalidated impression, that Ollama lags in features, as they're integrating after the fact those changes. But (seriously) an LLM told me that, when some aspects of MoE models were better supported with the latest llama.

And it did in that case make a significant difference.

smcleod

5 hours ago

It's very far behind llama.cpp, vLLM and SGLang in features yes. In part because of that but also due to some poor default settings it generally performs a lot worse as well.

zepearl

5 hours ago

I know nothing about "vLLM" -> anything better compared to "llama.cpp"?

I started with "Ollama" (precompiled version) and it worked and was good enough to understand the very basics.

Then I downloaded the sourcecode of "llama.cpp", compiled it with specific compilation options for my GPUs (CUDA/nVidia using proprietary module on Gentoo Linux) & CPU (AMD), and the same model ran twice as fast -> since then I stuck with "llama.cpp" (and "ik_llama.cpp" in very few cases).

I honestly don't know what made "Ollama" (precompiled) so much slower than "llama.cpp" (compiled locally) at that time and I'm too lazy to doublecheck now, in any case I now absolutely love all the knobs that "llama.cpp" has to tune your hardware setup & your workload, which is the reason why I recommend it.

VCFundedGenYer

4 hours ago

In my limited testing of ollama (in a Docker container because I don't want Meta touching bare metal disk), I noticed that first of all the model is abandoned. Last updated in 2023. Secondly, it basically can't do anything. Anything I asked of it resulted in a lot of "I can't do that" so it's just stupid.

Macha

4 hours ago

Are you confusing llama (the model from meta that popularised a lot of open AI stuff but is quite dated now) and ollama (the set of tools for running models, originally llama but no longer limited to it, not maintained by meta)

catlifeonmars

5 hours ago

> I will make you read the really long unpleasant version with math.

This is the version I want to read :)

I assume it is unpleasant in spite of the math, not because of it?

a1o

5 hours ago

I thought it was a link too because of the line under the with math but it isn’t. :/

IronWolve

4 hours ago

sglang, 150+ tok/s on a 5090 in ubuntu 26.04 via wsl. gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090, dspark, medium reasoning, 96k context.

Using opencode and it built a old fashioned arcade vertical shooter with no issues.

Images are ok'ish, just had grok create updated images, and it came out great.

paulyy_y

3 hours ago

Slop images littered throughout the blog post -> opinions irrelevant. Simple as.

dannyw

2 hours ago

You've missed a really great human-authored piece then.

anotherCodder

7 hours ago

most of the time when a local model feels dumb its not the quant, its the chat template. a lot of gguf mints just drop the template from the metadata and the runtime silently falls back to chatml. model still talks fine so nobody notices, it just gets noticeably dumber. got burned by this myself serving qwen, now i grep the gguf for the template tokens before i blame anything else. second place is sampling, people run whatever defaults their ui ships instead of what the vendor recommends and then compare that to benchmark numbers that were run greedy or with the official settings

washadjeffmad

3 hours ago

I've been comparing against TextGen and llama.cpp while I port to LocalAI and have been surprised by what's happening over the API, even with the defaults and jinja. It's been a fair reminder not to eschew familiarizing myself with the repos.

dannyw

2 hours ago

Nothing beats the classic of figuring out something yourself with your brain, but I also like dictating to LLMs a stream of consciousness with what I'm interested in (while forcing it to NOT give any answers or opinions), and getting back file names it suggests I look at and explore.

Modern frontier LLMs can still be used as rubber ducks, and it's a great.