scragnog/Ace-Step-1.5-MXFP4-Quants
ACE-Step DiT Models — MXFP4 (Blackwell Tensor Core Optimised)
MXFP4 quantized DiT models for ACE-Step music generation, in GGUF format.
Compatible with [acestep.cpp](https://github.com/ServeurpersoCom/acestep.cpp) and [HOT-Step-CPP](https://github.com/scragnog/HOT-Step-CPP).
What is MXFP4?
MXFP4 (Microscaling FP4) is a 4-bit floating point format from the Open Compute Project MX Specification. Unlike integer quantization (Q4KM etc.), MXFP4 stores weights as E2M1 floating point values with shared E8M0 block scales.
On NVIDIA Blackwell GPUs (RTX 5090, RTX 5080, RTX 5070 Ti, etc.), MXFP4 models use native FP4 Tensor Core instructions — the hardware decodes and multiplies FP4 values directly, without dequantization overhead. This provides measurable speedups over traditional quantization formats.
On older NVIDIA GPUs (Ampere, Ada Lovelace, Turing), MXFP4 models still work correctly — the engine falls back to INT8 dp4a matmul with software dequantization. You'll get the same quality and memory savings, just without the Tensor Core speed boost.
Benchmark Results
Tested on RTX 5090 (Blackwell) with acestep-v15-merge-base-turbo-xl-ta-0.5:
Quality (Listening Test — Full Quality ✅)
MXFP4 passed subjective listening tests with no audible degradation compared to Q4KM and only minimal loss compared to BF16.
Speed (Blackwell Tensor Core Advantage)
MXFP4 is 22% faster than Q4_K_M and 33% faster than NVFP4 on compute-heavy workloads — same file size, same bits per weight, purely from native FP4 Tensor Core acceleration.
Memory
Available Models
Standard Models (~1.2 GB each)
XL Models (~2.5 GB each)
Usage
With HOT-Step-CPP
- Place the
.gguffiles in youracestep.cpp/models/directory - Launch HOT-Step-CPP — models appear automatically in the DiT model dropdown
- Select any MXFP4 model and generate as normal
With acestep.cpp CLI
./ace-synth \
--dit-model models/acestep-v15-xl-turbo-MXFP4.gguf \
--lm-model models/acestep-5Hz-lm-1.7B-Q8_0.gguf \
--vae-model models/vae-BF16.gguf \
--caption "upbeat synth pop, 120bpm, electronic drums" \
--lyrics "[verse]\nDancing through the neon lights" \
--duration 30 \
--steps 60 \
--output output.wavGPU Compatibility
These models are compatible with acestep.cpp and HOT-Step-CPP on any supported GPU. The Blackwell Tensor Core optimisation activates automatically when running on Blackwell hardware — no configuration needed.
Tip: On non-Blackwell GPUs, MXFP4 provides the same ~3.8x compression and quality as Q4KM, but without the speed advantage. If you're on Ada Lovelace or older and want maximum speed, Q4KM is equally good. MXFP4 shines specifically on Blackwell.
Quantization Details
- Source format: BF16 GGUF
- Target format: MXFP4 (E2M1 values + E8M0 block scales)
- Block size: 32 elements per scale
- Bits per weight: ~4.5 (including scale overhead)
- Quantizer:
quantize-expfrom acestep.cpp - Promoted tensors: Embedding, output projection, and 1D tensors (biases, norms) are kept at F32 for stability
Technical Details
On Blackwell, the GGML engine uses the PTX instruction:
mma.sync.aligned.kind::mxf4.block_scale.scale_vec::2X.m16n8k64.row.col.f32.e2m1.e2m1.f32.ue8m0This is a native FP4 matrix-multiply-accumulate that operates directly on E2M1 data with E8M0 scales — no dequantization step needed. The result is accumulated in FP32 for numerical stability.
License
These quantized models inherit the license of the original ACE-Step 1.5 project.
Credits
- ACE-Step 1.5 — Original model and training by the ACE-Step team
- acestep.cpp — C++/CUDA inference engine
- HOT-Step-CPP — Full-featured music generation UI
- GGML — Tensor library with Blackwell FP4 Tensor Core support
