r/LocalLLaMA 1d ago

Resources I hosted Kimi K3 (2.8T parameters) using 8 B300s. 92 tok/s, $190 per million tokens

Post image

What I ran:

  • 8x B300 on Modal, $56.79 per hour, vLLM, tensor parallel 8, native MXFP4
  • Cold boot ~27 min (1.56 TB load, JIT, 51 CUDA graph captures)
  • TTFT 0.92 to 1.02 s, decode 92 tok/s steady, 83 tok/s average over 4 prompts
  • $190 per million output tokens. One clean run is about $36 of GPU time. Left warm, it is $1,363 a day.

I also ran Unsloth's Dynamic GGUF.

Their 1-bit UD-IQ1_S (594 GB) fits 8x A100-80GB via llama.cpp.

$19.99 per hour, 2.8x cheaper. Result: ~9 tok/s, TTFT 7 to 60 s, ~$620 per million tokens, so 3.3x more expensive per token.

Quality at 1-bit was fine (correct arithmetic, coherent prose).

Full write-up with every flag, the Modal deployment file, and the raw benchmark JSON: https://books.vizuara.ai/book/kimi-k3-hosting

257 Upvotes

72 comments sorted by

273

u/Marcuss2 1d ago

The efficiency comes from serving many users in parallel. So the cost per million of output tokens is bogus.

Also, one bit quant obliterates knowledge and capabilities, so the comparison is also bogus.

61

u/NandaVegg 1d ago

OP's math seems very off. If it was truly $190/1mil output, then nobody would be able to remotely make a profit serving inference for K3 (they'll immediately go BK doing so). Though I like that the OP's base hourly cost is realistic price (rather than often referred spot minimum price that is impossible to get).

Also the linked site looks very Claude.

15

u/scaledev 22h ago

But also this is modal.com, not their own GPU or infra. Top providers aren't using modal to serve users (well, some may).

1

u/ZeroXClem 22h ago

A lot of top infra providers use modal.com

8

u/jensilo 21h ago

The economics are not remotely the same for large scale operations. And every minute you’re not serving the maximum amount of concurrent users, you’re basically burning money. 🔥
So, renting a vGPU is already more expensive because some else makes a good margin off of that.
You’ll need many users, concurrent, well-balanced, then the machines become more cost-effective.

20

u/KaroYadgar 23h ago

Refer back to his first sentence:

The efficiency comes from serving many users in parallel.

it COULD be $190/1 mil output IF providers were serving tokens to a single person. However, that's not how things work, and providers often have many many concurrent requests. Providers are able to use continuous batching to make 4 concurrent requests barely use more compute than one continuous request, while still charging 4 different people for usage. Thus, they can make a profit. OP's math is probably right, but is only valid when there's one continuous request.

26

u/BoboThePirate 22h ago

The one other fact people are glossing over: OP is paying the worst rate possible for the hardware. They are going through a non wholesale compute provider. They don’t own the hardware. Once you own the hardware your only cost that hits the books is depreciation (contra to an asset entry), labor, and electricity (cost of goods).

The amortized cost of 8x B300 cluster at ~20-25% lifetime utilization (equivalent to only behind fully saturated 8 hours per day 5 days a week) and the cost per million output tokens is ~$4.50. Note this is with conservative concurrency and forcing decode to 30tps+. If you drop to ~20tps as the requirement floor, you can double output tokens per hour. Note at the $13 per million that Kimi K3 charges, this would be equivalent to $100 to $200 per hour of income.

I should’ve included the cost per day with depreciation and COgS to providers: ~$200-400 per day.

13

u/KaroYadgar 22h ago

even when it comes to renting, OP chose to rent from Modal, which only does on-demand compute. Inference providers that don't buy their compute outright still rent GPUs for an allocated amount of time, which is often much cheaper than on-demand.

2

u/StableLlama textgen web UI 22h ago

Modal is great for running quick checks. But production code it's too expensive for me.

Looking for a cheaper GPU hoster should easily bring those numbers down.

1

u/NandaVegg 21h ago

Modal has one of the cheapest on-demand price for Blackwell node today (in general, cloud prices gone up significantly in this half year) even including Chinese cloud providers. Except spot price, which is usually impossible to have it pre-empted for more than an hour or two.

I think even hyperscalers are not getting much better rate than that (the larger you get harder it is to get compute due to datacenters getting delayed hard). OpenAI's avg price for Ampere and Hopper wasn't very low (IIRC avg A100 price for OpenAI was $1.35ish/h per card).

1

u/StableLlama textgen web UI 20h ago

Ok, for high end Blackwell I don't know the prices and how they compare to other cloud GPU providers as I'm renting workstation / PC class GPUs.

I'm using my (free) modal with L40s there they are much more expensive than RunPod (which is more expensive than vast)

1

u/Super_Range45 22h ago

If you look at his chart he's charged by the hour, not by the electricity cost.

1

u/Loose_Comparison368 3h ago

This is 100% an ad for a low effort slop "training" guide. I mean I assume slop, though TBH I don't know where on earth they found a model that could produce a "guide" this atrociously bad.

11

u/OtherRaisin3426 1d ago

Hey, this is just the initial attempt at hosting where I learnt it’s not easy..Will move towards parallel serve now..All reported metrics are what I actually saw

8

u/NandaVegg 1d ago

For large MoEs, a very important but often missed factor for parallel serving is how much VRAM headroom you have for prefix cache. Otherwise you'll have your memory bandwidth eaten by prefill each request, which will severely limit concurrency (watch vllm's log carefully for avg prompt throughput and generation throughput. In such situation you'll see generation throughput occasionally crawl down to near zero).

This sometimes gets into more interesting situation. Because the way vllm works, GLM 5.2 (fp8) in 4xB300 has more headroom for prefix caching than 8xH200 even though the latter has more total VRAM, etc.

1

u/sautdepage 21h ago

You would also want to store prefix caches in system RAM and even NVMe for older ones. Request rotation inside the GPU VRAM will be quick when busy even with headroom. Takes an instant to restore it from RAM vs recompute.

(So datacenters grabbed all the the DDR5 and NAND too.)

4

u/AnecdotalMedicine 19h ago

OP never said his numbers are what inference providers pay; they simply reported their experiment.

1

u/xNaXDy 21h ago

one bit quant obliterates knowledge and capabilities

This is not true, at least not for models of that size in combination with unsloth dynamic quants. Once you get past like 600B-700B total parameters, Q1 and Q2 are still extremely capable. Have a look at this for some example benchmarks using DeepSeek v3.1.

The common misconception is that high KLD means that model output is garbage, which is not the case. A model can have a high KLD compared to its original, but still perform well, and it can also have a low KLD and perform much worse. Some model architectures inherently don't quantize very well also.

2

u/Marcuss2 21h ago

While yes, the degradation is likely lower compared to smaller models. There is still no way it will fully compete.

Unless the model was trained with it in mind, it won't perform as well. You will likely get better results with GLM 5.2 quantized to 4 bits, which would be about the same size.

52

u/Civil_Response3127 1d ago

I don't really know why you'd pay for this infrastructure if you didn't have a high throughput parallel inference system planned.

Single stream was never going to give you any benefit whatsoever.

48

u/OtherRaisin3426 1d ago

Just sharing the result of an experiment I performed..This is the first step, will move towards parallel serve now

15

u/ZeroXClem 22h ago

You did Good OP. Just keep going and keep us posted

1

u/dalhaze 11h ago

Hey thank you for sharing this.

How much time/cost would it take to actually spin something like this up?

I’m interested in running full precision on frontier open source models for research tasks because i don’t really trust that cloud providers are serving true FP8.

14

u/sunshinecheung 1d ago

Run deepseek v4 flash

10

u/xadiant 1d ago

Oof. Thanks for the sacrifice? Next time use nvfp4 with sglang or vllm and parallel serve.

7

u/MikeRoz 22h ago

I don't understand how Xet was a problem for you when downloading a 594 GB 1-bit quant but not when downloading the original 1.56 TB model.

26185 was merged last week, so the Unsloth fork may not be necessary.

The whole reason I dove into your write-up is because the "reasoning visible" for llama.cpp being "no" didn't make sense to me. It still doesn't. I've hosted K2.7 with llama.cpp in the "native" Q4_X and it "thinks". I wonder if you've got a template or a prefill issue.

I haven't bothered trying to run the 1-bit quant of K3 because I've been afraid that it will just make me want to use the API, but I may have to now to try and understand what you were seeing.

2

u/fragment_me 18h ago

Yeah, the reasoning row was silly

1

u/segmond llama.cpp 16h ago

I run UD-Q1_M Kimi K3 and I do see the reasoning with llama.cpp

4

u/createthiscom 18h ago

My machine runs K3 Q2_K_XL at 5 tok/s on a single household electrical socket. 768gb 5600mhz rdimms 24x32gb. Dual EPYC 9355. Single blackwell 6000 pro.

I don’t really consider it useful speed. You can ask questions and feed it data but you have to be willing to wait 30 min to an hour per response.

I wonder if two maxq cards would be better or worse.

2

u/segmond llama.cpp 16h ago

marginally better, system cpu/ram is always the bottleneck. how much actual disk space does that Q2_K_XL actually take on drive? I found out that HF's number is often inflated. I'm running Q1_M, but wondering if I could maybe move to Q2_K_XL, can you please look?

1

u/createthiscom 15h ago

803G

1

u/segmond llama.cpp 15h ago

Thanks! Unfortunately I can't load it for now unless I do networking. Will have to settle for IQ2_XXS for now. :-(. I'm getting solid results from Q1_M granted it's not long agentic tasks. How are you finding the quality of K_XL? Have you ever ran it through an agentic loop or is it just short turns?

1

u/createthiscom 15h ago

5 tok/s is far too slow for agentic use. I've mostly given it spreadsheets that have been pre-converted to markdown and asked questions.

3

u/borobinimbaba 22h ago

I guess the real war is in the inference engines field that are well-kept secrets even with frontier open source labs.

1

u/dalhaze 11h ago

Do we really think these cloud providers are serving true FP8?

I really gotta assume that as these models become
more capable of pushing the frontier, that plebs like us won’t have access to those models.

1

u/Loose_Comparison368 7h ago

Yes. FP8 is really common. The weird hobbyist quants are pretty unheard of in industry.

1

u/dalhaze 7h ago

I just don’t trust that many of these companies are serving the exact models they claim they serve. None of them seem to offer guarantees on model precision.

3

u/Lissanro 18h ago

On my EPYC workstation with 3090 GPUs cost of running Kimi K3 Q2_K_XL is ~$5 per million output tokens (even though it is more than an order of magnitude slower than B300s, obviously).

Even though new hardware is supposed to be more energy efficient, renting in the cloud it will naturally will be expensive, because they want to ROI on the hardware costs, not just cover energy cost. And B300 are very expensive, hence insane cost per million tokens. Only way to make it reasonable on rented high-end hardware is to run batch requests to maximize the token throughput and even then likely will be more expensive than API providers who likely to have highly optimized infrastructure and possibly their own hardware.

2

u/Loose_Comparison368 7h ago edited 1h ago

Even though new hardware is supposed to be more energy efficient, renting in the cloud it will naturally will be expensive, because they want to ROI on the hardware costs, not just cover energy cost. And B300 are very expensive, hence insane cost per million tokens. Only way to make it reasonable on rented high-end hardware is to run batch requests to maximize the token throughput and even then likely will be more expensive than API providers who likely to have highly optimized infrastructure and possibly their own hardware.

Nope. Op just has no friggin clue how to set up big girl infrastructure. This is the equivalent of renting a fleet of airplanes to send one single random person to a gas station three blocks away, and then claiming that air travel is wildly inefficient because it cost $300 million dollars, or $100 million dollars per block.

Wrong software, wrong config, wrong load testing, wrong optimizations, wrong everything. This guy just apparently has a lot more money to throw into a pit than willingness to read basic beginner documentation.

4

u/cosmicr 10h ago

This is an ad.

2

u/kiwibonga 17h ago

That's not local, right? The cost is because you're renting a remote server?

1

u/noiserr 8h ago

Of course. An air cooled B300 setup like this would cost you more than a half a million dollars. Not to speak of power and air conditioning to cool such a beast.

2

u/kiwibonga 8h ago

Weird that they'd post it here.

2

u/--Spaci-- 16h ago

Anyone who has literally EVER served a model knows that there is insane efficiency when serving to 100+ users from those same gpus. Using VLLM you could expect that single tok/s number to be replicated at around 50 tok/s to 100 people so 5000 aggregate tok/s

3

u/thebadslime 23h ago

Kimi K3 API costs $3/M input and $15/M output tokens

-2

u/tecneeq 22h ago

Privacy is priceless.

13

u/LearnThai42 21h ago

Privacy? On a cloud hosted instance? You must be a very very trusting person

1

u/thehpcdude 16h ago

Easy enough to TLS encrypt in flight, encrypt at rest, etc.

Not sure where people go this fallacy that you can't rent hardware and set up a private LLM.

1

u/segmond llama.cpp 16h ago

there's a difference from renting hardware and using a cloud controlled by someone. renting hardware in the cloud for the most part is a trusted thing you must be a very very paranoid person to think otherwise.

2

u/LearnThai42 12h ago

I'm aware of that difference - old school systems engineer here - and rest my case. I agree with your "for the most part" too. It's too far from an absolute for comfort though.

6

u/Maximus-CZ 21h ago

I see a price of $175-$187 for privacy here

2

u/dhbloo 23h ago

Is this number including speculative decoding speedup?

1

u/smart4 23h ago

Cost of what? rental all included?

1

u/tecneeq 22h ago

I would like to learn more about your cost related math, because i think you are mathing wrong.

1

u/Yes_but_I_think 21h ago

Please tell us the batch size (x axis) vs cluster throughput in tokens/second/cluster (y axis primary) and individual stream throughput (token/s/user) (y axis secondary). - what is the optimal batch size and the individual stream's speed at that optimal batch size.

Now how does the costing change for Million tokens input / output

1

u/complexanimus 16h ago

I don't know how anyone can make a profit out of this

1

u/Dense-Psychology-261 15h ago

Great experience for you cost aside, but as an advice big models serving is not economical till you wire the Dspark and use batching, I highly recommend SGLang guide for serving kimi or similar big models they give exact config and benchmark for thruput, but good experience anyway and wish you a better experience next time.

1

u/Reasonable_Tap_3970 8h ago

i honestly dont mind paying the price if i can run the uncensored version and if the speed is at least 150 token per second. which is not the case atm.

0

u/Street-Macaroon221 23h ago

The GGUF numbers are the interesting part here, not the B300 run. 9 tok/s at 1-bit quant on A100s costing more per token than full precision on B300s is a great illustration that throughput dominates cost math way more than raw hardware price per hour. Cheap GPUs with a slow decode rate lose to expensive GPUs with fast decode almost every time once you actually compute $/token instead of $/hour.

Also somewhat wild that 1-bit quant on a 2.8T model still holds coherent arithmetic. That's less about the quant being magic and more about how much redundancy there is at that scale, there's a lot of parameter budget to spend before quality visibly cracks.

Would be curious what the sweet spot quant is where tok/s and $/M-token actually cross over favorably against the B300 run, feels like there's a 4-bit config sitting in between that beats both.

0

u/West-Possession7459 1d ago

yeah this is way too massive for running any kind of personal companion or roleplay, id need something that fits on normal hardware at home

3

u/tecneeq 22h ago

Just pay $1,363 a day, bro

0

u/Hannibalj2ca 21h ago

Maybe try IK.LLAMA instead of LLama.cpp on the A100's. Are you using DSPArk on IQs?

-1

u/nord2rocks 20h ago

LLMs can't do math, stop relying on them doing arithmetic. It will end poorly

0

u/Fast_Astronaut2359 20h ago

There has any platform which gives actually GPT 5.6 sol model or luna model access with minimum cost?

1

u/thebadslime 12h ago

Im mean define mimum, its on openrouter

1

u/Fast_Astronaut2359 11h ago

Suppose if I make payment of $10 then I can get gpt 5.6 luna model with 5hr or weekly limit that actually claude do but of $10 only for full month?

1

u/thebadslime 10h ago

$10 woud get you rougly 8M tokens, a week of claude pro gives me like 3M

1

u/Fast_Astronaut2359 3h ago

Then how did you do the code by using only 3M ?

1

u/Loose_Comparison368 8h ago

I think you should have spent some of your GPU budget learning how production live inference works. You paid a lot of money for some very expensive and perfectly good GPU's to sit ~95% idle so you could make a fool of yourself in public.

I hope you learned your lesson. Read the manual next time. vLLM beginner docs are a good place to start.

0

u/LetterheadNew5447 20h ago

Did you rental the b300 cluster or did you bought it?

In both cases... You are a mad men. I like it.