Instructions to use PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-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 PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-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 PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF # Run inference directly in the terminal: llama cli -hf PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF # Run inference directly in the terminal: llama cli -hf PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF # Run inference directly in the terminal: ./build/bin/llama cli -hf PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF
Use Docker
docker model run hf.co/PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF
- Llama new
- LM Studio
- Jan
- Ollama
How to use PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF with Ollama:
ollama run hf.co/PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF
- Unsloth Desktop
- Pi
How to use PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF
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": "PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF with Docker Model Runner:
docker model run hf.co/PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF
- Lemonade
How to use PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF
Run and chat with the model
lemonade run user.GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF-{{QUANT_TAG}}List all available models
lemonade list
- Hermes Agent
How to use PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-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 PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF
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 PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF
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 "PaoAI/GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF" \ --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"
YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
- GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF
GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF
The balanced GLM-5.3-Flash quant for AMD Strix Halo (Ryzen AI Max+ 395 / gfx1151). Measured, not marketed: loads on ONE Strix Halo box with zero special accommodations โ the smallest file (71.8 GiB) and the no-fuss daily driver.
Brand: PaoAI ยท community quant, not affiliated with Z.AI.
Updated 2026-09-21 โ re-measured on the latest version (paoai-strix-engine,
strix-main @ 4a8440f58): decode faster at every depth (+32% at 128K), chain re-run stated honestly below, all sweep points integrity-checked. Weights unchanged.
What is this? (30 seconds)
We took the 642 GB GLM-5.3-Flash and compressed it organ by organ: the parts that need precision keep it, the parts that don't get compressed harder. The BALANCED mix stays small enough for one box with no offload flags.
The recipe (what's inside)
| Model part | What it does | Format |
|---|---|---|
| ๐ Attention (attn, indexer) | reads your prompt, tracks context | Q3_K (~3.4 bpw) |
| ๐ง Experts (FFN MoE) | the knowledge (most of the size) | IQ1_M (~1.75 bpw, imatrix) |
| โ๏ธ Draft head (blk.45) | MTP speculative guessing | Q6_K (~6.6 bpw) |
| ๐ก Router, glue, norms | keep signals correct | FP32 (never touched) |
Chain-test results (N=3 medians โ Sep 2026)
We run a fixed coding exam ("chain test") where tasks are graded by execution, not opinion: the model reads deceptive code and must trace it, implements a novel state machine, and writes a thread-safe ring buffer that survives a 5,000-operation stress harness. Three identical runs per model; we report medians with spreads (identical runs vary โ single scores are unreliable).
| Task (what it measures) | Median of 3 | Runs |
|---|---|---|
| Automaton โ implement novel rules + exact state trace | 100 | 100 ยท 100 ยท 40 |
| Hunt โ read lying code: trace it + find the planted bug | 60 | 60 ยท 100 ยท 60 |
| Ring buffer โ multi-threaded code under stress | 20 | 20 ยท 20 ยท 100 |
Task median: 67/100 (runs 60 ยท 73 ยท 67)
Re-run 2026-09-21 on the latest version (4a8440f58): hunt 60 ยท automaton 40 ยท ringbuffer 20 โ task 40 (runs 40 ยท 40 ยท 60). Hunt and ring-buffer match the published profile; automaton dropped from 100 to 40 median (3 runs, never reached 100). Cause not yet isolated โ stated plainly rather than hidden.
Plain read: novel-algorithm implementation is reliable (100 median). Multi-threaded code is the known weak spot โ for concurrency tasks, generate โ run the tests โ regenerate once if needed.
Speed (decode, tokens/second, per phase)
| Phase | t/s (3-run range) |
|---|---|
| Spec (planning) | 11.0 โ 13.7 |
| Hunt (analysis) | 14.5 โ 15.5 |
| Automaton (code writing) | 15.7 โ 18.2 โ fastest sustained code output of our builds |
| Ring buffer (code writing) | 10.2 โ 12.5 |
| Publish (long output) | 10.3 โ 10.7 โ filled the full 12,000-token budget every run |
These are short-context speeds (tasks send a few hundred tokens of prompt).
Deep-context sweep โ what happens when the window fills (7.7K โ 131K)
Latest version โ re-measured 2026-09-21 (4a8440f58, defaults, every point integrity-checked):
| Filled context | Decode t/s (n=4) | Prefill t/s | MTP accept |
|---|---|---|---|
| 7.9K | 14.1 | 133.6 | 0.51 |
| 16.4K | 13.3 | 115.5 | 0.59 |
| 32.8K | 11.1 | 90.2 | 0.57 |
| 65.6K | 10.1 | 67.7 | 0.65 |
| 98.3K | 9.1 | 57.0 | 0.64 |
| 131.1K | 8.6 | 49.4 | 0.64 |
Plain read (latest): decode is faster than the previous version at every depth (+32% at 128K); prefill wins mid-range (+9-15% at 16-33K) and is slightly behind at 64-128K.
Previous version (7.7K โ 128K)
The phase table above is short-context speed. This is the other question: how fast is it when the context is actually full? One server launch per arm; we filled the window in five steps and measured decode + prefill per point โ 300 output tokens each, a fresh prompt every point (no prefix-cache reuse), run at draft depth 4 and depth 6.
| Filled context | Decode t/s (n=4) | Decode t/s (n=6) | Prefill t/s | MTP accept (n=4) | Memory (GTT) |
|---|---|---|---|---|---|
| 7.7K | 13.7 | 12.6 | 134.8 | 0.55 | 82.3 GB |
| 30.6K | 11.5 | 10.4 | 100.0 | 0.55 | 82.3 GB |
| 61.2K | 10.8 | 9.2 | 82.5 | 0.61* | 82.4 GB |
| 91.8K | 8.4 | 6.8 | 71.8 | 0.54 | 82.4 GB |
| 122.4K | 6.5 | 7.1 | 64.7 | 0.46 | 82.5 GB |
One Strix Halo, nothing else serving, flash attention, q8_0 KV โ measured on the previous version (ROCmFPX port build). Prefill reproduced within 1โ2% across both arms. *ยฑ0.03 sampling noise.
Plain read: the decay is clean and predictable. Per-token cost grows straight-line at +1.8 ms per 1K of context (linear within ยฑ3% across the whole range) โ no cliff, nothing unexpected biting. Memory stays flat across 16ร context (82.3 โ 82.5 GB GTT), so nothing is spilling. Prefill declines gently but never collapses (134.8 โ 64.7 t/s). Single-pass acceptance wobbles run-to-run (ยฑ0.05), so don't over-read any one acceptance point. Even at 122K of packed context, you still get 6.5 t/s on one box.
Draft depth 4 vs 6: depth 6 is slower at short context (12.6 vs 13.7 t/s at 7.7K โ deeper guesses cost more than they return), but the longer draft pays off once the window is packed: at 122K it edged ahead (7.1 vs 6.5 t/s), because fewer verify passes matter more when each pass is expensive. At the top end both arms are within single-pass sampling noise of each other โ depth 4 stays the default; depth 6 is only interesting if you live at 100K+ of context.
Facts
| Metric | Result |
|---|---|
| File size | 71.8 GiB (single file) |
| Load | full GPU, no special flags needed |
| Context | tested at 64K (-c 65536); sweep run at -c 131072 |
| Served with | MTP speculative decoding (n-max 4), flash attention, KV q8_0 |
Requirements โ which llama.cpp build
Latest version (recommended): paoai-strix-engine, branch strix-main, commit 4a8440f58 โ this is what the latest-version numbers below were measured on.
Previous version: the ROCmFPX route below still works and matches the previous-version numbers.
This model uses two things stock llama.cpp doesn't have:
- the
glm5nextarchitecture (GLM-5.3-Flash) - the
Q4_0_ROCMFP4_FASTquant type (type 101 โ ROCm FP4, gfx1151-native)
Both live in guevae2/ROCmFPX, branch glm5next, commit 3345156 (glm5next arch + FP4 type merged; head of that branch โ also buildable from kingjones30/ROCmFPX main once glm5next is upstreamed). Tested with GGML_VULKAN=ON on Strix Halo (gfx1151).
If you build from the wrong tree you'll see exactly one of these:
| Build | Error |
|---|---|
| stock llama.cpp | unknown model architecture: 'glm5next' |
| Unsloth's glm5next branch | invalid ggml type 101. should be in [0, 43) |
How to run (measured, locked)
llama-server -m GLM-5.3-Flash-PaoAI-ROCmFP4-STRIX-BALANCED.gguf \
--host 0.0.0.0 --port 8080 -ngl 999 -c 65536 --parallel 1 \
--spec-type draft-mtp --spec-draft-n-max 4 \
-fa on --cache-type-k q8_0 --cache-type-v q8_0 --lazy-mode off
Add --path <webui assets> if your build serves the WebUI from disk.
Known limits (honest)
- Threading code: ring-buffer implementations crash or deadlock in most chain runs (median 20). Single-threaded generation is strong. Regenerate-once guidance above.
- Long thinking: GLM-5.3-Flash reasons heavily; give it generous token budgets for complex tasks or answers get cut mid-thought
- Driver wall (Strix Halo): Vulkan single allocations near ~98GB can wedge the GPU (needs reboot) โ this model at 71.8 GiB is safely under, but don't merge shards into one file
Serving features explained (plain words)
| Flag | What it does | Cost |
|---|---|---|
--spec-type draft-mtp --spec-draft-n-max 4 |
draft head guesses 4 tokens ahead, model verifies in one pass โ ~2ร decode (acceptance ~50%) | needs the fine draft head we kept (Q6_K) |
-fa on |
flash attention โ faster prefill + decode | none |
--cache-type-k/v q8_0 |
half context memory โ 64K fits one box | negligible |
--reasoning-budget 1500 |
caps thinking so answers always arrive | complex tasks may need more |
| prompt caching (default) | follow-up turns prefill in ms | none |
Decode speed drops as context fills โ now measured in detail: 13.7 t/s at 7.7K โ 6.5 t/s at 122K, straight-line cost growth with no cliff (full table + chart above). Stable over time. Full plain-words guide: serving-glossary.md in our repo docs.
Update log
| date | change |
|---|---|
| 2026-09-21 | Re-measured on latest version (4a8440f58): decode faster at every depth; prefill re-run with integrity checks; chain re-run stated honestly; requirements now list the paoai-strix-engine route. |
| 2026-09-12 | Initial release. |
Fleet recipes
Serving configs, ring self-heal infra, and our benchmark battery: paoai-strix-recipes (GitHub).
Credits & license
- Z.AI โ GLM-5.3-Flash base model (MIT license; included in repo)
- Unsloth โ BF16 source + imatrix
- kingjones30 / charlie12345 โ ROCmFPX format & recipes
- ggml-org โ llama.cpp
- PaoAI โ glm5next port, hybrid recipe, fleet benchmarking, chain test
MIT, same as the base model. Not affiliated with Z.AI.
- Downloads last month
- 610
We're not able to determine the quantization variants.
