Repository
exllamav3
exllamav3 fork: DFlash2/DSpark speculative decoding, fp8+NVFP4 KV caches, aarch64 (GB10) port, OpenAI-compatible server with tool calling
README
ExLlamaV3 fork (MiaAI Lab)
Fork of ExLlamaV3 — EXL3
inference for local LLMs — adding what we needed to serve Qwen3.8-27B
on DGX Spark (GB10, aarch64) and 24 GB GPUs.
What this fork adds
- Speculative decoding: DFlash2 and DSpark diffusion draft models, and
MTP drafting for checkpoints with a multi-token-prediction head
(Qwen3.8-27B ships one —--mtp). - Quantized KV cache: NVFP4 (E2M1 + block-16 E4M3 scales, ~4.5 bits/elem)
and FP8 lanes with online dequant in the Triton paged-attention kernels —
measured lossless at generation level, ~3.5x more context per GB than fp16. - aarch64 / GB10 (sm_120 / sm_121) support: builds and runs from source on
DGX Spark (no prebuilt wheels exist upstream). tools/serve_openai.py— OpenAI-compatible server: chat completions
(stream + non-stream), Qwen tool calling with typed arguments, batch-1
speculative decode.tools/webconsole.py— web UI over the CLI: quantize, serve, chat
playground, eval harnesses, job registry with live logs.start.sh/stop.sh— self-bootstrapping launcher: venv, GPU torch,
engine build, HF weight download, YaRN long-context config swap.quantize.sh— GB10-friendly launcher for the EXL3 quantizer.
Quick start (serving)
Easiest: the deployment kit —
MiaAI-Lab/Qwen3.8-27B-DFlash2-EXL3-5.0bpw
(one command: downloads the weights, builds everything, serves the OpenAI
API — see its README for the full instructions).
From this repo:
./start.sh # creates .env from .env.example on first run; edit and rerun
Library/API use follows upstream; the upstream README is preserved as
UPSTREAM_README.md.
License
MIT (as upstream). Fork changes: MIT.