Instructions to use QuantPasture/Kimi-K2.5-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use QuantPasture/Kimi-K2.5-GGUF with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf QuantPasture/Kimi-K2.5-GGUF:IQ2_S # Run inference directly in the terminal: llama cli -hf QuantPasture/Kimi-K2.5-GGUF:IQ2_S
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf QuantPasture/Kimi-K2.5-GGUF:IQ2_S # Run inference directly in the terminal: llama cli -hf QuantPasture/Kimi-K2.5-GGUF:IQ2_S
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf QuantPasture/Kimi-K2.5-GGUF:IQ2_S # Run inference directly in the terminal: ./llama-cli -hf QuantPasture/Kimi-K2.5-GGUF:IQ2_S
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf QuantPasture/Kimi-K2.5-GGUF:IQ2_S # Run inference directly in the terminal: ./build/bin/llama-cli -hf QuantPasture/Kimi-K2.5-GGUF:IQ2_S
Use Docker
docker model run hf.co/QuantPasture/Kimi-K2.5-GGUF:IQ2_S
- LM Studio
- Jan
- Ollama
How to use QuantPasture/Kimi-K2.5-GGUF with Ollama:
ollama run hf.co/QuantPasture/Kimi-K2.5-GGUF:IQ2_S
- Unsloth Desktop
- Pi
How to use QuantPasture/Kimi-K2.5-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf QuantPasture/Kimi-K2.5-GGUF:IQ2_S
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "QuantPasture/Kimi-K2.5-GGUF:IQ2_S" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use QuantPasture/Kimi-K2.5-GGUF with Docker Model Runner:
docker model run hf.co/QuantPasture/Kimi-K2.5-GGUF:IQ2_S
- Lemonade
How to use QuantPasture/Kimi-K2.5-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull QuantPasture/Kimi-K2.5-GGUF:IQ2_S
Run and chat with the model
lemonade run user.Kimi-K2.5-GGUF-IQ2_S
List all available models
lemonade list
- Hermes Agent
How to use QuantPasture/Kimi-K2.5-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf QuantPasture/Kimi-K2.5-GGUF:IQ2_S
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default QuantPasture/Kimi-K2.5-GGUF:IQ2_S
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use QuantPasture/Kimi-K2.5-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf QuantPasture/Kimi-K2.5-GGUF:IQ2_S
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "QuantPasture/Kimi-K2.5-GGUF:IQ2_S" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
1x RTX 5090 on EPYC, CPU-only speeds
Thank you for the quants, @AesSedai .
I have some Q4_X benchmarks with a single GPU with EPYC 9355 on ik_llama:
./llama-sweep-bench \
--model "$MODEL_PATH" \
--no-mmap --merge-qkv \
-mla 3 -amb 512 \
-b 4096 -ub 4096 \
-ctk f16 -ctv f16 -c 131072 \
-ngl 999 -ot exps=CPU \
--threads 16 \
--threads-batch 28 \
--warmup-batch \
-n 128
| PP | TG | N_KV | T_PP s | S_PP t/s | T_TG s | S_TG t/s |
|---|---|---|---|---|---|---|
| 4096 | 128 | 0 | 15.560 | 263.25 | 6.404 | 19.99 |
| 4096 | 128 | 4096 | 15.823 | 258.86 | 6.514 | 19.65 |
| 4096 | 128 | 8192 | 16.131 | 253.92 | 6.692 | 19.13 |
| 4096 | 128 | 12288 | 16.625 | 246.38 | 6.724 | 19.04 |
| 4096 | 128 | 16384 | 17.016 | 240.72 | 6.863 | 18.65 |
| 4096 | 128 | 20480 | 17.220 | 237.86 | 6.875 | 18.62 |
| 4096 | 128 | 24576 | 17.599 | 232.74 | 6.964 | 18.38 |
| 4096 | 128 | 28672 | 18.345 | 223.27 | 7.467 | 17.14 |
| 4096 | 128 | 32768 | 18.601 | 220.20 | 7.145 | 17.92 |
| 4096 | 128 | 36864 | 18.925 | 216.44 | 7.637 | 16.76 |
| 4096 | 128 | 40960 | 19.276 | 212.50 | 7.315 | 17.50 |
| 4096 | 128 | 45056 | 19.713 | 207.78 | 7.271 | 17.60 |
| 4096 | 128 | 49152 | 20.171 | 203.06 | 7.914 | 16.17 |
| 4096 | 128 | 53248 | 20.523 | 199.58 | 7.408 | 17.28 |
| 4096 | 128 | 57344 | 20.933 | 195.67 | 7.526 | 17.01 |
| 4096 | 128 | 61440 | 21.322 | 192.10 | 8.043 | 15.91 |
| 4096 | 128 | 65536 | 21.563 | 189.95 | 8.176 | 15.65 |
| 4096 | 128 | 69632 | 22.237 | 184.20 | 8.159 | 15.69 |
| 4096 | 128 | 73728 | 22.591 | 181.31 | 8.244 | 15.53 |
| 4096 | 128 | 77824 | 22.946 | 178.51 | 8.414 | 15.21 |
| 4096 | 128 | 81920 | 23.379 | 175.20 | 8.491 | 15.08 |
| 4096 | 128 | 86016 | 23.504 | 174.27 | 8.518 | 15.03 |
| 4096 | 128 | 90112 | 23.885 | 171.49 | 8.621 | 14.85 |
| 4096 | 128 | 94208 | 24.246 | 168.93 | 8.603 | 14.88 |
| 4096 | 128 | 98304 | 24.653 | 166.15 | 8.222 | 15.57 |
| 4096 | 128 | 102400 | 25.227 | 162.36 | 8.246 | 15.52 |
| 4096 | 128 | 106496 | 25.626 | 159.84 | 8.882 | 14.41 |
| 4096 | 128 | 110592 | 26.002 | 157.52 | 8.657 | 14.79 |
| 4096 | 128 | 114688 | 26.361 | 155.38 | 9.036 | 14.17 |
| 4096 | 128 | 118784 | 26.461 | 154.80 | 8.753 | 14.62 |
| 4096 | 128 | 122880 | 26.865 | 152.47 | 9.213 | 13.89 |
| 4096 | 128 | 126976 | 27.569 | 148.58 | 8.887 | 14.40 |
I managed to fit a 192K context with a Q8_0 KV cache. Sadly, that benchmark never finished—my machine died in the middle of the run. Now the PSU cuts power about 2 minutes after startup. I can’t say I’m exactly looking forward to investigating the issue 😀.
While doing some "without GPUs" stability tests, and since some Reddit users keep asking for EPYC CPU-only numbers, I ran a couple of EPYC 9355 benchmarks without GPU on Q4_X. This is with 12x channel DDR5-6400:
./llama-sweep-bench \
--model "$MODEL_PATH" \
--no-mmap \
-mla 3 -amb 512 \
-b 8192 -ub 8192 \
-ctk f16 -ctv f16 -c 65536 \
--merge-qkv \
--threads 16 \
--threads-batch 28 \
--warmup-batch \
-n 512
| PP | TG | N_KV | T_PP s | S_PP t/s | T_TG s | S_TG t/s |
|---|---|---|---|---|---|---|
| 8192 | 512 | 0 | 84.138 | 97.36 | 35.527 | 14.41 |
| 8192 | 512 | 8192 | 127.154 | 64.43 | 50.385 | 10.16 |
| 8192 | 512 | 16384 | 167.333 | 48.96 | 63.035 | 8.12 |
| 8192 | 512 | 24576 | 207.965 | 39.39 | 80.523 | 6.36 |
| 8192 | 512 | 32768 | 251.337 | 32.59 | 89.774 | 5.70 |
| 8192 | 512 | 40960 | 291.552 | 28.10 | 108.212 | 4.73 |
| 8192 | 512 | 49152 | 333.805 | 24.54 | 122.405 | 4.18 |
| 8192 | 512 | 57344 | 374.863 | 21.85 | 136.579 | 3.75 |
./llama-sweep-bench \
--model "$MODEL_PATH" \
--no-mmap \
-mla 3 \
-ctk q8_0 -c 131072 \
--merge-qkv \
--threads 24 \
--threads-batch 32 \
--warmup-batch \
-n 512
| PP | TG | N_KV | T_PP s | S_PP t/s | T_TG s | S_TG t/s |
|---|---|---|---|---|---|---|
| 512 | 512 | 0 | 5.307 | 96.48 | 31.826 | 16.09 |
| 512 | 512 | 512 | 5.635 | 90.86 | 32.834 | 15.59 |
| 512 | 512 | 1024 | 5.628 | 90.98 | 33.526 | 15.27 |
| 512 | 512 | 2048 | 6.041 | 84.75 | 34.577 | 14.81 |
| 512 | 512 | 2560 | 6.165 | 83.05 | 35.339 | 14.49 |
| 512 | 512 | 3072 | 6.309 | 81.15 | 37.453 | 13.67 |
| ... | ... | ... | ... | ... | ... | ... |
| 512 | 512 | 81920 | 30.659 | 16.70 | 142.831 | 3.58 |
thanks for the tests, I thought of moving to turin from milan, but looks like it make more sense to invest in rtx 6000 pro
@ArtemProc RTX PRO 6000 is great for long context. I own one, and I’m thinking about replacing the 5090 with another 6000, too. But unless you buy 8, 6, or at least 4 of them, it won’t let you run the largest models. Hybrid inference is much more affordable... ehm, was much more affordable before the RAM price hike - and as long as you’re okay with quantizing the KV cache, 32 or 48 GB VRAM is enough.
That said, the situation has changed dramatically over the last few months. I paid $7,500 for 1,152 GB DDR5-6400 ECC RAM last year. Right now it would cost over $46,000 if the prices listed on memory.net reflect reality. This is crazy talk. If RAM prices keep rising, I’ll sell my RAM to buy a new house.
About performance: did you notice the drop in TG t/s around ~25,000 KV in the CPU-only chart? That might be caused by thermal throttling - see the related discussion here. Also, this is running inside a VM, and I’m not pushing the CPU beyond the “Balanced” profile in BIOS. You could likely squeeze another ~20–25% out of it if trying hard.
You might also find this benchmark run of Kimi-K2-Thinking relevant if thinking about your future setup.
Yes, it is obvious for me about hybrid vs VRAM only ofcourse.
I am running iq4_k_nl, on 7713 with ddr4 2933 8 channel (used memory was at the electronic disposal point, i.e. free)
Tg starts at 7 and drops to 5 on context 35k+
Pps start at 25 and drops to 19.
It is clean Turin 12 channel bw is doing a great job here.
Btw smt is most probably useless here + less thread may allow better per core boost.
I was thinking of building on Turin in september 2025, but could not justify the need.
It is more like hobby and not business, I just love building systems.
P.s. Ddr5: Nice investment if you can turn it in money;)
@ArtemProc Interesting. So it seems at longer context, TG t/s is not significantly better on 9355 vs 7713 and DDR5-6400 vs DDR4-2933, only PP t/s is. In that case, it seems your investment was even better than mine 😀.
Pps is really important for the agentic coding usage. As you have it, why not. Tg it is ok for wait, but in long sessions pps is killer of the joy.
@sousekd @ArtemProc - i've been testing Kimi & GLM 5 on GPUs only recently, posted some number in ik_llama - https://github.com/ikawrakow/ik_llama.cpp/issues/1481. Let me know if you want me to run anything on a bunch of RTX 6000 Pros. Btw does the image input work for all of those quants here?
@curiouspp8 Image input does work on the quants here if you include the mmproj. I recently KLD / PPL tested these quants and discovered that the something is catastrophically bad about the IQ2_S quant, and the IQ3_S isn't great either but it's not nearly as bad. The IQ2_XXS seems to have the lowest KLD / PPL compared to the IQ2_S / IQ3_S.
I've made a couple of new quants at those sizes that shows a more reasonable and expected curve for the KLD / PPL and I'll try to get them uploaded today or tomorrow and update the model card.
I've tried ubergarm ones and smol-IQ2_KL seems like a nice one for 4 cards, which is very convenient, as even if there are more GPUs the overhead adds up. Quality was very workable <100k context. Now looking for a quant that supports the image, would you say IQ2_XXS 283 GB is the best shot I should I go higher?
@curiouspp8 I've just finished uploading the remade quants, I'd say go with whichever one you can comfortably fit with the context you need to run. All three of the non-Q4_X quants look much better now on the KLD / PPL charts compared to the previous quants.

