Instructions to use mmnga-o/Kimi-K3-REAP50-Width50-UD-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 mmnga-o/Kimi-K3-REAP50-Width50-UD-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 mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M # Run inference directly in the terminal: llama cli -hf mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M # Run inference directly in the terminal: llama cli -hf mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M
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 mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M # Run inference directly in the terminal: ./llama-cli -hf mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M
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 mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M
Use Docker
docker model run hf.co/mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M
- LM Studio
- Jan
- Ollama
How to use mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf with Ollama:
ollama run hf.co/mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M
- Unsloth Desktop
- Pi
How to use mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M
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": "mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf with Docker Model Runner:
docker model run hf.co/mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M
- Lemonade
How to use mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M
Run and chat with the model
lemonade run user.Kimi-K3-REAP50-Width50-UD-gguf-UD-IQ1_M
List all available models
lemonade list
- Hermes Agent
How to use mmnga-o/Kimi-K3-REAP50-Width50-UD-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 mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M
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 mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M
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 "mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf:UD-IQ1_M" \ --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"
Kimi-K3 REAP50 Width50 UD GGUF
This is an experimental, reduced GGUF build of Kimi-K3.
Calibration and selection
Prepared Japanese responses for chat, code generation, reasoning, and tool use were tokenized and evaluated with a forward pass of the original Kimi-K3. Only semantic assistant tokens were scored; prompts and control or structure tokens were excluded.
REAP50: expert axis
For expert e, the score is:
REAP(e) = mean[t routed to e](top-16-renormalized router weight × ||unweighted expert output||₂)
Experts are ranked separately in each of the 92 MoE layers. The top 448 of 896 are retained. No experts are reserved by hand.
Width50: intermediate axis
For every calibration token t routed to expert e, Width50 follows the actual expert MLP:
a(t,e) = SiTU(Wgate,e × h(t), Wup,e × h(t))
y(t,e,b) = router_weight(t,e) × Wdown,e[:,b] × a(t,e)[b]
score(e,b) = Σ[t routed to e] ||y(t,e,b)||₂²
Here, b is one 32-channel slice of the 3072-channel intermediate activation. Each slice is passed through only the matching columns of Wdown, producing a hidden-size output vector. Its router-weighted squared L2 norm is accumulated over semantic assistant tokens.
Eight adjacent 32-channel scores are summed into one physical QK256 score. The highest 6 of 12 QK256 blocks are retained independently for each expert. Low-coverage experts blend this activation score with a weight-based prior. The width map is measured on the original expert IDs and remapped through the REAP50 keep list before GGUF slicing.
Blocks are scored independently; cross-block cancellation and the post-mixture RMSNorm are not part of this ranking.
GGUF build flow
Kimi-K3 weights
→ Quantization
→ Q1 / Q2 GGUF
→ REAP50 expert-axis slice
→ Width50 QK256-block slice
→ final split GGUF
The REAP50 step slices the expert axis of ffn_gate_inp.weight, exp_probs_b.bias, and ffn_{gate,up,down}_exps.weight from 896 to 448 for every MoE layer.
The Width50 step slices the intermediate axis of ffn_gate_exps.weight, ffn_up_exps.weight, and ffn_down_exps.weight from 3072 to 1536. Complete quantization blocks are copied directly, so retained data is not dequantized or requantized.
| Original | This build | |
|---|---|---|
| Routed experts per MoE layer | 896 | 448 |
| Routed expert FFN width | 3072 | 1536 |
| Experts used per token | 16 | 16 |
All other tensor data is unchanged. The shared expert metadata is represented as 4 × 1536 instead of 2 × 3072 so that its physical width remains 6144 in llama.cpp.
Files
| Folder | Shards | Size |
|---|---|---|
UD-IQ1_S |
14 | about 181 GiB |
UD-IQ1_M |
15 | about 194 GiB |
UD-Q2_K_XL |
19 | about 243 GiB |
Load the first shard in the selected folder.
Usage
Use the Kimi-K3 Width support branch of llama.cpp.
git clone --branch kimi-k3-width-support https://github.com/mmnga/llama.cpp
cmake -S llama.cpp -B llama.cpp/build -DGGML_CUDA=ON -DCMAKE_BUILD_TYPE=Release
cmake --build llama.cpp/build -j --target llama-server
Example using UD-IQ1_S:
./llama.cpp/build/bin/llama-server \
-m ./UD-IQ1_S/Kimi-K3-UD-IQ1_S-00001-of-00014.gguf \
-ot ".*.ffn_.*_exps.*=CPU" \
-ngl 45 \
--ctx-size 8192 \
--flash-attn on \
--jinja \
--override-kv kimi-k3.expert_shared_count=int:2 \
--override-kv kimi-k3.expert_shared_feed_forward_length=int:6144 \
--override-kv kimi-k3.expert_used_count=int:16
The example was tested with a 32 GB RTX 5090 while keeping routed experts on the CPU. Adjust -ngl and context size for your available VRAM and RAM. Load the first shard when using another quantization folder.
This is a heavily reduced experimental model. Quality and stability may differ from the original Kimi-K3.
- Downloads last month
- 258
1-bit
2-bit
Model tree for mmnga-o/Kimi-K3-REAP50-Width50-UD-gguf
Base model
moonshotai/Kimi-K3