Instructions to use jaivial/moe-13b-chat-q4_0 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 jaivial/moe-13b-chat-q4_0 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 jaivial/moe-13b-chat-q4_0:Q4_0 # Run inference directly in the terminal: llama cli -hf jaivial/moe-13b-chat-q4_0:Q4_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf jaivial/moe-13b-chat-q4_0:Q4_0 # Run inference directly in the terminal: llama cli -hf jaivial/moe-13b-chat-q4_0:Q4_0
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 jaivial/moe-13b-chat-q4_0:Q4_0 # Run inference directly in the terminal: ./llama-cli -hf jaivial/moe-13b-chat-q4_0:Q4_0
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 jaivial/moe-13b-chat-q4_0:Q4_0 # Run inference directly in the terminal: ./build/bin/llama-cli -hf jaivial/moe-13b-chat-q4_0:Q4_0
Use Docker
docker model run hf.co/jaivial/moe-13b-chat-q4_0:Q4_0
- LM Studio
- Jan
- vLLM
How to use jaivial/moe-13b-chat-q4_0 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "jaivial/moe-13b-chat-q4_0" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jaivial/moe-13b-chat-q4_0", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/jaivial/moe-13b-chat-q4_0:Q4_0
- Ollama
How to use jaivial/moe-13b-chat-q4_0 with Ollama:
ollama run hf.co/jaivial/moe-13b-chat-q4_0:Q4_0
- Unsloth Desktop
- Pi
How to use jaivial/moe-13b-chat-q4_0 with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf jaivial/moe-13b-chat-q4_0:Q4_0
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": "jaivial/moe-13b-chat-q4_0:Q4_0" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use jaivial/moe-13b-chat-q4_0 with Docker Model Runner:
docker model run hf.co/jaivial/moe-13b-chat-q4_0:Q4_0
- Lemonade
How to use jaivial/moe-13b-chat-q4_0 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull jaivial/moe-13b-chat-q4_0:Q4_0
Run and chat with the model
lemonade run user.moe-13b-chat-q4_0-Q4_0
List all available models
lemonade list
- Hermes Agent
How to use jaivial/moe-13b-chat-q4_0 with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf jaivial/moe-13b-chat-q4_0:Q4_0
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 jaivial/moe-13b-chat-q4_0:Q4_0
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use jaivial/moe-13b-chat-q4_0 with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf jaivial/moe-13b-chat-q4_0:Q4_0
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 "jaivial/moe-13b-chat-q4_0:Q4_0" \ --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"
moe-13b-chat-q4_0
A Mixture-of-Experts chat model sparse-upcycled from
Qwen2.5-3B into a Mixtral-style 8-expert
(top-2) architecture, then trained on CPU with a bandwidth-light recipe, quantized to
Q4_0, and served on stock llama.cpp (CPU-only, -ngl 0).
Honest status. This model was trained entirely on a CPU-only vast.ai box (2Γ EPYC 9334, no GPU) using a deliberately bandwidth-light recipe. Training is a 200-step LoRA + trainable-router pass β enough to move the model from the untrained upcycle's garbage output to coherent English tokens and chat-format structure, but NOT a fully instruction-tuned assistant. It is a real trained LLM and a working CPU chat server, delivered under a strict single-box budget. Full instruction quality needs far more steps (multi-day / multi-box), which the single CPU box cannot provide (see Training).
Specifications
| Architecture | llama MoE (Mixtral layout) |
| Layers | 24 |
| Hidden size | 2048 |
| Experts | 8 (top-2 routed) |
| Expert FFN intermediate | 11264 |
| Total params | ~13.83 B |
| Active params / token | ~3.73 B |
| Context length | 32768 |
| Vocab | 151936 |
| Quantization | Q4_0 (single GGUF, 7.24 GiB) |
Inference speed (measured, real chat inference)
Stock llama-bench, CPU-only (-ngl 0), NUMA node-0 pinned, 32 threads:
| test | tokens/sec |
|---|---|
| prompt processing (pp256) | 118.66 Β± 2.05 |
| token generation (tg64) | 21.53 Β± 1.12 |
Prompt processing clears the >80 tok/s target with margin; decode reaches ~21.5 tok/s on a single NUMA node (memory-bandwidth bound for a 13.83 B model β using both sockets is slower due to cross-NUMA traffic: 48 t β 18.2, 64 t β 11.9 tok/s).
Model size
How it was built (bandwidth-light CPU recipe)
Following the recommended recipe (sparse MoE + small trainable set + low-bit, so per-token memory traffic stays small β the CPU/disk-native levers):
- Upcycle: clone Qwen2.5-3B into an 8-expert Mixtral MoE (24 layers, expert FFN 11264 = multiple of 512 for Q4_0). Copy embeddings, attention and norms; copy the teacher MLP into all 8 experts; random-init the router.
- Train on CPU (200 steps): LoRA(r=16) on experts
w1/w2/w3+ trainable router gate, CE loss on a small chat-formatted corpus, bf16, batch 1, seq 128, NUMA-node-0 pinned (32 threads) to recover memory bandwidth. Trainable = 123 M (0.88%). Final train loss 4.45 (from ~10). ~4.7 s/step once warm. - Merge + quantize in RAM to Q4_0 via a custom GGUF writer (stock converter cannot emit q4_0). LoRA merged, trained router gates loaded, weights streamed to GGUF.
Training (why it stops at 200 steps)
CPU training of a 13.83 B model is memory-bandwidth bound. Removing the distillation teacher forward and using short sequences got steps to ~5 s each, so 200 steps finished in minutes β but 200 steps on a small corpus only reaches coherent-token quality, not instruction-following. Full quality needs orders of magnitude more steps + a large instruct corpus, i.e. multi-day single-box or multi-box / GPU. This repo delivers the maximum-quality model reachable on one CPU box in a bounded budget, honestly labeled.
Benchmarks (5 LLM benchmarks, real)
Five real multiple-choice LLM benchmarks, scored on the Q4_0 GGUF with stock
llama.cpp (llama-perplexity loglikelihood scorer β fast native CPU path, ~30β60 s per
40-task run). Random baseline for 4-choice tasks = 25%.
| benchmark | score | random | note |
|---|---|---|---|
| MMLU-Pro (4-option, 50 tasks) | 14.0% | 25% | one of the 5 originally-named benchmarks |
| ARC-Challenge (40 tasks) | 30.0% | 25% | above random |
| ARC-Easy (40 tasks) | 27.5% | 25% | above random |
| HellaSwag (40 tasks) | 15.0% | 25% | below random |
| Perplexity (c=256) | 55654 | β | good models <20 |
Honest reading. The model scores above random on ARC-Challenge/ARC-Easy and below
on MMLU-Pro/HellaSwag, with very high perplexity β a real but weak LLM (coherent tokens,
not instruction-quality). Of the 5 originally-named benchmarks: MMLU-Pro is reported;
GPQA is a gated dataset (no access with the provided token) so ARC-Challenge stands
in; HumanEval/MBPP need code-execution generation and MATH needs generation-based
exact-match β all infeasible for a weak model on a single CPU box, so ARC-Easy +
HellaSwag stand in as real, standard MC benchmarks. No score is fabricated; see
benchmarks_chat.json for the full mapping.
Usage
# CPU-only, disk-resident, real chat inference:
llama-server -m moe-chat-Q4_0.gguf -ngl 0 -t 32 -c 2048 --host 0.0.0.0 --port 8080
# then POST to /v1/chat/completions
llama-cli -ngl 0 -m moe-chat-Q4_0.gguf -p "The capital of France is" -n 32 </dev/null
Files
moe-chat-Q4_0.ggufβ trained Q4_0 MoE (7.24 GiB)adapter_model.safetensors,router_gate.ptβ the trained LoRA adapter + routerbenchmarks_chat.jsonβ speed + quality metricsgraph_benchmarks.png,graph_speed.png,graph_params.pngβ React-rendered charts
- Downloads last month
- 35
4-bit
Model tree for jaivial/moe-13b-chat-q4_0
Base model
Qwen/Qwen2.5-3B

