Hacker Timesnew | past | comments | ask | show | jobs | submitlogin
Running Kimi K3 on a M1 Max (github.com/gavamedia)
138 points by tito 29 days ago | hide | past | favorite | 93 comments


SSD streaming on an M5 Max 128GB: https://x.com/antirez/status/2082136334160818528

Soon decent speed across two Mac Studios with 512GB of RAM.


I’ve wondered for a while: given the lower cost of SSD per GB could you build a very wide RAID0 style striped array of SSDs (maybe one per slot) to get almost RAM like read speeds?

To really go fast you’d probably have to do PCB layout and do like 256 or 1024 chips in parallel with a fast SRAM aggregation buffer feeding a GPU or TPU rig.

Or could you do the same with custom layout of cheap slower RAM?

I wonder if anyone is doing this? You would flash in a model and then just run it. It would need RAM for context but much less of it.


The problem is you'd have to traverse the PCI-E bus every transfer. Even with DMA it still has to physically get off the drive and onto the card. Even with the mythical PCI-E 6, if you had enough NVMEs to saturate, you have to do two transfers to get it to the inference hardware. And that tops out at 128 GB/s which is roughly the speed of DDR5 but with one extra hop.

Optane would actually be useful in this era. Intel was ahead of their time.


That’s why I think you’d have to build boards with raw flash chips and do your own bus to make it rival fast RAM.


I'm guessing that there are storage vendors that already do that - maybe like Liqid. But then you've got to traverse the NIC as well.


wow cool! I like watching the new models come out and how they end up crammed in to run on local machines. I learned what mxfp4 is thanks to this latest Kimi release - although it sounds like it means that there's less room for compression in the model compared to others.


0.3tx per second is decent speed?

And it gets worse with every token.


That's not what parent said, but this is already quite decent speed for unattended inference (overnight or even spanning multiple business days) which is arguably the right target for this model. This is a challenging model to infer locally, it has roughly ~115 GB of dense active parameters(!) plus ~25 GB of sparsely routed experts per token. Plus the KV cache (which is actually reasonably lean for this one model, around 27GB for a full 1Mtok context). What you're seeing in antirez's video is essentially the performance we should expect from a 128GiB system that has to load sparsely routed experts in full from disk because there's no real room for caching them.

192GiB Gorgon Halo systems will be an interesting future target for this model, the best you can do with 128GiB or less is probably to push batching higher in order to amortize the weights traffic over multiple inferences - which of course will sink single-session speeds even lower for a modest gain in total throughput.


Would it even finish over a few weeks?

For AI agents this would take a year


I read about its format being tough to compress further. What should we expect in terms of creating smaller models to run locally?


No one will ever derive any utility from running models at this speed. Please prove me wrong. Give me the number of tokens input and output (and dont forget about reasoning) and acceptable time to wait for it and the use case.


The OpenAI and Anthropic batch APIs give you a 50% discount.

This is like 98%.


I'm not aware of any service that gives you a 98% discount and is served off of M1s. Did you do the math for what this would cost vs K3 on openrouter?


antirez's own video (the one I referenced in my comment) shows K3 inference running on M5 Max, not M1-series silicon (which is OP). M1 series has far lower SSD read throughput and memory bandwidth, and can barely fit the model weights on its maxed out internal storage (2TB). (This is why the linked OP resorts to streaming the sparse parameters from the network which is incredibly slow.)


My answer doesn't change if it is M5s. Where is the math showing a 98% discount over K3 on openrouter. Heck, where is the math showing it is any % cheaper? How much electricity will your M5 sip to hit 1M input and 1M output tokens that would cost $3 + $15 there? I bet it is more expensive on the Mac.


I just mean in terms of incremental inference cost.

If you already committed to your hardware, huge models at single or sub-digit TPS are still useful. LLM-as-judge is a good use case.

If your machine is gonna be idle overnight (and the power efficiency is excellent here), why pay openrouter if it’s not an interactive workload?


Because it's probably still more expensive in electricity costs compared to openrouter. Certainly it's not 98% cheaper.


That's not what he said. He said with 2x the hardware it will be faster.


Thanks for sharing antirez! (huge fan btw)

We've made some updates to deltafin since this was shared 5 days ago. I wonder if you'd be able to get better speeds now? https://github.com/gavamedia/deltafin


Cool stuff. Do you have a the hardware and a way to bridge the compute? Or just hopeful?


Supposedly RDMA over Thunderbolt 5 can allow this.


0.01 tk/s is unusable for anything, you would wait a whole day for just 1000 token of output, what is the point of projects like this?


It is fun.

Also its answering the question of what gonna happen if you wake up tomorrow and datacenters are gone. Or internets are gone.

Some people on our globe live in countries with no internet whatsoever. Of course most of them dont have Macbook with 64GB RAM either, but it's much much easier to get than internet connection or rack of GB200.

SOTA LLMs are efficiently compression of all the knowkedge humanity has built. Having ability to run it at home to extract said knowledge is important no matter the speed.


A post-apocalyptic desert landscape. The hero descends into the ruins, now a temple. Crude drawings of times before, people riding dinosaurs and mobile phones with arms and legs swinging a whip at the oppressed. He reaches the altar, a old MacBook, bottlecaps and fidgit spinners glued as a mosaic onto it. In the corner three starved men, riding on power generating bicycles providing some artificial light and supplying the machine with divine electricity. He proceeds and types: "we are starving. How can we get food?". Everybody waits in silence. Hours pass. Days. Slowly, letters emerge on the cracked screen: "you are absolutely right —" the screen flickers and fades. Panic. The link to God severed cynically. The hero has to seek out a new device, into distant lands. Maybe this time it will save them


“How long?” he said. “Seven and a half million years,” said Deep Thought.


That's not a great argument for having an llm in an apocalyptic scenario.

People tend to think they are the thriving hero but most won't survive the first year.

I'd much rather have a USB stick of prepper disk. It works on any shitty machine I find, and it's not going to take days for an answer on how to make potash or fix a solar panel.


Even if somehow all the data centers are gone, it's still uselessly slow.

But also that's a pretty extreme hypothetical. Imagine the polymarket on that.


I like seeing the latest and greatest model crammed into new systems to see how it fares. To deal with the speed, one person on reddit suggested using it in an email interface rather than a chat interface.


> one person on reddit suggested using it in an email interface rather than a chat interface

Kimi Pen Pal. Bring back lettets and postcards. Do OCR, and use one of those 3D printer-like pen plotters write the model output as a letter.

Challenge would be automating the opening and OCR preparation, and the folding and mailing of the return letter. But given it's done commercially it should be possible.


Email would indeed be fitting for K3 running on a M1 Mac, as it'd take days/weeks to receive a response, which matches with my real-world emailing experience pretty well.


I had my clanker implement this idea in a standalone Rust server that speaks IMAP and SMTP and proxies your emails to an OpenAI endpoint you configure: https://tangled.org/clee.sh/posthorn

Works in mutt; other MUAs may vary.


lovely! I'm a fan of asynchronous LLM systems like this. There are times where I prefer slow, complete responses to immediate replies.

For example there's a billboard on 101 for Poppy Bank offering 4% interest and I asked my daily LLM to look into it through a voice note. The next morning, lo and behold it says it's an advertised rate, hard to actually get, and businesses aren't eligible. OK, done. Better than getting the response while I'm driving. And even if I wasn't driving, there's a level of, how do you say, it's easy to drop it the next day when I see it vs getting engrossed in the research.


Love the email idea


Having the right type of interface makes a huge difference.

It reminds me of when Willow Garage chose to name their bot the TurtleBot, because if they named it anything else, people would think it was fast and capable. But when they called it Turtle Bot, people just kind of liked it and were satisfied with what it did.

At the level of Kimi 3, I probably can code only about 1,000 good tokens per day, too. (thankfully coding isn't my job)


I can only guess some post purchase remorse.

Need to justify buying an expensive rig that doesn't do what you expected.

Specifically thinking the people they could do something AI with cpu, and realizing it isn't feasible. Happened at my fortune 20 company. They had to get approvals and ofc it was useless. Plenty people tried to explain, but they were the principle engineer, and out ranked everyone.

"It's not going to work", the topic changed, and we never spoke about it again.


So you subscribe to the belief we won't in future find mentalism in other galaxies or solar systems which operate on mechanisms we don't understand and think v e r y s l o w w w w w w w l y ?

(note. I am not a believer in AGI)

"useful" is highly contextual. The clock of the long "now" is not useful in the sense you mean, to synchronise your wristwatch. I'm still glad it exists.


Are there any well thought through stories about what this would look like? For example, I'm thinking about like nutrient flow, decision making, energy input, gravitational force, things like that seem to govern the value and speed of intelligence.


Hard to avoid spoilers here but Vernor Vinge hits on pretty much exactly this in A Fire Upon the Deep. Though he's interested less in the hard sci-fi aspects of how/why and more on the consequences of it (story-wise).


thanks!


For the opposite, "Dragon's Egg" by Robert L. Forward is a fantastic read


I think this is a slow version of the quandry behind Quantum Computing: how do you distinguish events from the noise floor? It happens in the quantum context and it would happen in the millenial timeframe completing "operations" which have to be compared to e.g. the stability of orbit around a sun.


'Large Language models? They can barely produce gibberish sentences, what would this tech ever be useful for?'

- bunch of people only ~4 years ago


I questioned the speed not the output quality, that is another discussion


It applies to speed too. The project paves way for more optimization at many layers overtime.


16 tokens / s is not nothing.


It's the other way around due to poor framing, it would be much easier to compare if you [the repo] said 0.02 tps.


Confusing numbers everywhere.

16tk/s... Then 3 tks per minute. Then someone else posted 0.3tk/s.


? Readme says 60-70s per token


You can't improve what you can't measure.

Consider this like if it were the first test


The title should probably be edited to specify "M1 Max" instead of "M1 Mac". You aren't running K3 on a base M1 anytime soon. Either way, still a very impressive project.


Done, Mac -> Max


Anyone who knows the state of NVMe hardware more than me know if this would obliterate the lifespan of your drive? Seems like the biggest limitation to me (some people are probably fine with letting their Macs churn over the weekend).


No problem at all to read data over and over. In fact, LLM weights are a great candidate for low-quality flash that can't handle a lot of write cycles, and you want a large amount of storage cheaply...


Reads are not generally life-limiting for flash. (Well, no more so than power-on time in general. You still have aging mechanisms like electromigration, but these are orders of magnitude slower than write-induced damage.)


Cool, thanks


Going to try this on my M1 Ultra 128gb.

The point of these engineering tricks is to see the envelope of what's possible. You can use these tricks to both run a bigger model on smaller hardware or run a smaller model on smaller hardware.


Would be interesting to see how fast it would be on 4x mac studio 512gb machines.


Exactly my machine 64GB M1 Max So happy about this! ♡

idk how people access (soldout) and even afford 512GB RAM MacStudio's. Isn't it $40k or so?


I just checked eBay. There's an insane price difference between used and new. $5k vs $40k.


wow, that's crazy! But why? I know Apple will release a new model in September, but what do these guys selling jump onto?

I do really care to know: "Is there a new and more beefy solution we don't know about yet?"


You're lucky, mine is the M1 Pro 16GB


> ~60–76 s/token

I don't know if I'd call this "running"


Had the same feeling when I first saw min/km units in some (human) running context.

UPD: I know it's not the same at all, just the reversal of units that gets me


I commented similarly below, but as a terrible programmer, I probably perform about 1 minute per token too (at Kimi 3 level). It puts into context how I think about intelligence


Maybe in terms of code produced, but one token is only a fragment of a thought for an LLM.

It’d be like thinking as slowly as Ents talk to each other in Lord of the Rings.


Oh, is that how it works? So, when somebody says a model is running at X tokens per second, it means that the thinking process is running at that, and output tokens are much lower then? Thanks to the explanation.


It’s all just tokens to the model. Whether it’s thinking tokens or output tokens, they take the same amount of computation to produce. The only difference is whether the token is displayed to the user.


Local AI is going to win. Not because it's cheaper btw.


Super cool, and I appreciate the upfront speed disclaimer


Does anyone else feel like the writing is on the wall for a future of local models? Spamming data centres everywhere, powering them, having to commit insane capital to hardware, all the effort to serve inference over a network reliably - when here we are with a frontier model nearly running on a laptop.

Local AI on your device seems like a much more likely future to me than datacenters in space. For inference at least, training is another story.


0.01 tk/s on an M1 Max is not "nearly". This is completely unusable, and in no way cost effective.

0.01 tokens per second means 1 million tokens ($3 worth of API usage [1]) takes 3.2 YEARS.

[1] https://www.kimi.com/resources/kimi-k3-pricing


Ok in terms of running a 2.8T parameter model, that's true.

Looking more broadly though, a model I can run on my laptop (Gemma 4) is ~4 points away from GPT-5.3 codex or Sonnet 4.5 on arena.ai LLM leaderboard. Those models were SOTA less than a year ago.


And the leaderboard has Opus 4.8 thinking +2 points away from Gemini 3.6 flash. Try to use Gemini flash in an agentic coding harness and see what comes out.


Now set it up with an agent and a permanent `/goal` to say it cannot stop until it has solved for speed, then leave it on and livestream so we can all see when it becomes exponential. Could have the Eternal Jukebox playing in the background!


That sounds like the most boring exciting livestream of all time.


60s/token - if only there was a way to drop that "s" this would be amazing


under 0.02 tok/s


Says it requires a 2TB disk? Must it be internal NVMe?


You can use an external drive if it's mounted as a writable volume. I would make sure it's fast, maybe thunderbolt 3/4/5 enclosure with a fast drive.


FYI, Thunderbolt 3 NVMe enclosures will be 10Gbps and 4 will be 40Gbps which is a big difference (and you'll notice it in the pricing as well)


The Github specifically mentions an option to stream it from an online host. It's extremely slow.


Will it fit on ESP32??


Better questions, how many ESP32s would it take to reach 1 tok/s decoding speed with K3?


1 button Kimi morse code interface


how much money in hardware would it cost to get 100tps?


Thanks for sharing, tito! I figured it was time I chimed in properly, as the lead on this project.

Quick mission statement, since it explains everything below: Deltafin runs the full, never-pruned, 2.8-trillion-parameter Kimi K3... all 16 experts, every token, no shortcuts, nothing re-encoded down to "close enough." Speed is not allowed to come from quality.

A few similar K3 projects have shown up claiming to be the same thing, just faster. But they all get there by shrinking the model - quantizing it down, trading fidelity for speed, calling the results close enough. Those are great projects, and have real value - but they're very different projects. Deltafin's purpose remains the real full K3, unaltered and uncut, as fast* as possible.

  * it's not fast
Next, an update since this was posted five days ago. Thanks to everyone who filed issues, including a couple of you running M3 Ultra and M5 Max boxes, which helped a lot!

Since this was posted, throughput on the M1 Max laptop went from 0.0141 tok/s to 0.2847 tok/s - about 20x, and still climbing. Most of that came from routine hardening: fixing a storage race, a rust/c++ rewrite, and tolerating a float32 rounding drift that looked like a routing bug until it wasn't.

None of that is a moonshot (get it?). It's the boring, necessary work of making something this huge survive on consumer hardware.

Now one huge thing to get out of the way, because this is about half the comments: is this a viable business product, the kind of thing that makes people in suits happy because it helps them sell widgets? No. My interest in computing goes beyond that, and I suspect a lot of yours does too. I'd like to think that's still what hacker news is largely about.

A research project usually isn't the useful thing itself. It's what falls out of chasing it.

It is genuinely hard to squeeze even a small speed gain out of a model this size on a machine this small. Yes, an M1 Max is a good laptop. But Kimi's own recommended setup is 16 nodes at ~300GB of VRAM each. That's $2,000,000 of hardware. Next to that, this laptop is an ant lifting a car. And that is the point of this project - the insane challenge.

My hope is that if we push as hard as we can to get the largest public model ever released running on the smallest machine that can plausibly hold it, some of what falls out along the way could be useful elsewhere... maybe to smaller models, on smaller machines, running faster than they do today.

But first I wanted to find out whether this was even possible at all. K3 is the largest public model that exists. Nobody had run something this size on a laptop before. The closest comparable projects like colibri and DwarfStar ran quantized models at half this size. Turns out: yes, it's doable, but slow af.

But I've spent a long time frustrated with the quality ceiling on local models, and quantization is a big part of that ceiling. The hallucinations. The reasoning that almost holds together, but then doesn't.

So I'm done compromising on that axis. This isn't going to be another quantized, slightly-worse copy of the real model wearing its name.

Maybe no techniques we’re using are groundbreaking at all in the end. Bummer. But, at least I tried. Try and fail at life, people. That’s okay. Just try, and at least you’ll have lived a little. It's a decent way to spend the time you get.

If people want to keep following this, I'll post updates here instead of just on Reddit like I have been.


tokens/second, no, more like seconds/token


The link beat you to it:

> It is not fast — about 16 seconds per token on our M1 Max


At least it's not minutes/token?


Update - now running at 4 tokens / minute https://github.com/gavamedia/deltafin


Cool gimmick


Why not train another smaller LLM to give the same answers as Kimi K3?


why not zip the entire internet to 1MB so everyone can have a copy? because it is not possible - we don't know if it is possible. I mean we know it is impossible, but we don't know if it is possible to do it with acceptable quality loss.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: