Show HN: Running 104GB Qwen3.8-Flash-Next on 48GB Mac with at ~12 tok/s (github.com)
I built slotstream, a way to run Qwen3.8-Flash-Next 4-bit on a low-memory mac starting from 16GB, a 125B parameter model that would need 100GB+ memory/RAM, thanks to expert-offloading/ssd-streaming. Easy to install/update, and mac-native using MLX and Swift.
It ships with auto-mode, which makes a good tradeoff between memory usage and speed. I'll be implementing and porting the MTP module for speculative decoding next
98 comments
[ 0.28 ms ] story [ 12.8 ms ] threadAt this point I'd much rather see people collaborate on one of these implementations, benchmark against them, or upstream the useful bits into MLX/MLX-LM instead of producing yet another near-identical repo.
The local-LLM ecosystem really does not need every implementation idea rediscovered five times and wrapped in a new README. AI-assisted coding makes producing a new repo cheap; maintaining, benchmarking, and integrating one is the actually valuable part.
Everyone comes at it from a different point of view, and some approaches work, some don't. And when people do this themselves they learn. Existing projects have their mistakes worked out already.
Maybe one of these people is going to come up with the thing that nobody else thought of because of their experience working the problem from scratch. You may not get that from someone working from an existing project, because existing projects have their approach "baked in."
What all these projects are showing so far is that it's possible to stream from disk, but that the performance isn't ideal. But I'm sure you could take this approach with smaller models and get better performance.
In addition, it's a given that when you work with large data sets performance means organizing the data to take advantage of caches, both disk and cpu. It's not clear how that would work, exactly, given that each run is a not-quite-random walk through the data. The Big Data way is to prebuild all of that as much as possible, which is probably impossible with a big model. But what about a smaller model?
I don't think that this will bread any innovations.
AI;DR
How I have come to detest certain phrases.
I have to image whatever style of writing this was trained on is a lot more pleasant to read and I feel bad for whoever writes like this now being associated as bad AI writing.
and then above that the mention of hugging face is the bottleneck, not your link...
if someone completely new comes and read the current page... isn't that piece of information something they want to know?
and then the comment below about "extremely irritating" that whatever I read didn't read my mind to provide only and exactly only what I would consider great... it should be a twit that I can repost and be famous... instead I am so "extremely irritated".
what does it say about that group that gets "extremely irritated"?
Hey I spend 20 days working on this that covers something new and maybe grEat, check it out! "AAARRGHHH I'M SO IRRITATED it has one em-dash ARRRRRRGHHHH"
Again, the README is (was?) written in way that it was clear it was a conversation between an agent and a human, with literal replies in the README. I'm in no way whining the way you are or demonstrate, and I even give OP helpful advice to fix it. What more can you want from me?
However, feels like the battle is loosing, and now it's just about softening the landing instead of being vehemently against something the vast majority seems to be engaging in. I refuse to participate myself, but at least hopefully I could help steer some of them in a better (more concise) direction.
Sure, hand editing each one is even better, but you can get 80% of the way there with zero ongoing investment.
This is the first line of the README. I can't believe people are becoming ok with this, and I'm 100% on the AI train.
Folks talking about how 32G is not enough for local use, but then there's been work like this to empower it.
My hope is that the new 32G M6 will be "useful" locally, possibly because of work like this.
About the specifics, I have only anecdotal evidence, but I guess this info can be found somewhere
Qwen: Looking at you for a new ~35B MoE! Please and thank you
DOS/Windows and PC clones were by no means the best available, but they were cheap, ubiquitous, and versatile compared to alternatives that were either much better at one task but more expensive or better at everything but wildly expensive. They were "good enough" and represented a solid improvement over what many existing computer users had as well as a good entry point for new users. As such they spread like wildfire and became the standard while the expensive alternatives either became hardcore niche or vanished.
Though to be fair it was Linux more than Windows that killed them. Dos and Windows were competition for DEC and - ironically - IBM.
My work is showing promising results (if you can get past the way the AI tries to describe what I am doing). https://sw-ml-study.github.io/emufpga/index.html
I am doing this work initially on a 6-Xeon-cores Linux workstation with an RTX5060-16G to run MoE models larger than that. Then I will be moving this to a server with a lot more cores (Dual 32-cores) and a mix of SAS HD and SSD drives, using older GPUs.
Ultimately, I hope to build some FPGA/MCU "accelerators" that process the expert weights on systems with not enough CPU cores to offload the experts. If I can enable large capable models to run on older hardware, keeping the limited GPU VRAM for context and things that must be in VRAM, I can get useful work out of my old refurbished systems without paying today's RAM and VRAM/GPU prices.
This was definitely worth the effort. Benchmarking and testing various approaches and various options really paid off. For example, one thing that surprised me was that MTP made things slower, not faster for Qwen3.8-27B.
I use a 64GB MacBook Pro (M4 Max).
Check your quants, its worth having the mtp layer be a bigger quant if it leads to 2x throughput from more accepted tokens.
I started the server (very curiously I was running oLlama in the same prot slotserve uses by default, instead of switching it which I know you can do, I just ditched oLlama, perhaps an insight for you) and built a small html hello world served via Python. The thing pointed me to the localhost link, nice!
As an early user, my advice is to focus on efficiency. The efficiency of the installation but more importantly, the efficiency of running the thing. 8.1GB per slotserve process is a lot! Is that in your control?
Also, I've seen an interest of certain kinds of programmers for open-weight models. "We all know agree that LLMs for coding are very useful but we're giving money to a small set of big, evil corporations. They're Trump donors. I heard it's bad for the environment because it uses water". If it's local and open-weight, this could be marketed this way I think.
Finally, what's the actual, real use case for slotserve?
> ditched oLlama"
yeah! this is interesting.
> 8.1GB per slotserve process is a lot! Is that in your control?
yes, it is hard, but I agree the smaller the better. I'll work on that
> If it's local and open-weight, this could be marketed this way I think.
I like this!
> what's the actual, real use case for slotserve?
I'm working rn on an app on top of it that closes the loop and is a fully local AI app, an experiment. I'll publish it as soon as it is usable!
> built a small html hello world served via Python
What did you use as a harness here?