CaptainArni commited on
Commit
80d86e7
·
verified ·
1 Parent(s): e046aa9

Document the mixed-precision q8dit builds

Browse files
Files changed (1) hide show
  1. README.md +55 -24
README.md CHANGED
@@ -1,45 +1,71 @@
1
- ---
2
- license: mit
3
- base_model:
4
- - ACE-Step/acestep-v15-xl-turbo
5
- - ACE-Step/acestep-v15-xl-sft
6
- pipeline_tag: text-to-audio
7
- tags:
8
- - gguf
9
- - ace-step
10
- - text-to-music
11
- - audio.cpp
12
- ---
13
-
14
  # audio.cpp GGUF
15
 
16
  GGUF conversions of music and speech models for
17
  [audio.cpp](https://github.com/0xShug0/audio.cpp), the ggml-based native audio
18
  inference framework.
19
 
20
- ## ACE-Step 1.5 XL (bf16)
21
 
22
  | File | Size | Package | Upstream |
23
  |---|---:|---|---|
24
- | `ACE-Step1.5-GGUF/xl-turbo/ace-step-1.5-xl-turbo-bf16.gguf` | 14.2 GB | `ace_step_xl_turbo_bf16` | [acestep-v15-xl-turbo](https://huggingface.co/ACE-Step/acestep-v15-xl-turbo) |
25
- | `ACE-Step1.5-GGUF/xl-sft/ace-step-1.5-xl-sft-bf16.gguf` | 14.2 GB | `ace_step_xl_sft_bf16` | [acestep-v15-xl-sft](https://huggingface.co/ACE-Step/acestep-v15-xl-sft) |
 
 
26
 
27
  The XL DiT is the larger ACE-Step 1.5 transformer: 32 layers of 2560 against
28
  turbo's 24 of 2048, with 32 attention heads of 128. Each file is self-contained
29
  the way audio.cpp's other ACE-Step GGUFs are — XL DiT, planner LM, text encoder
30
- and VAE in one file — so neither needs another download.
31
 
32
  XL Turbo is guidance-distilled and ignores `guidance_scale`; XL SFT takes the
33
- CFG path. Both were converted from the float32 upstream snapshots with
34
- `audiocpp_gguf --type bf16`.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
 
36
- ### Install
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
 
38
  ```bash
39
  python tools/model_manager_v2.py install ace_step_xl_turbo_bf16
40
  ```
41
 
42
- ### Run
 
 
 
43
 
44
  The DiT variant is a load option, so name it explicitly:
45
 
@@ -50,13 +76,18 @@ audiocpp_cli --task gen --family ace_step --model models/ACE-Step1.5-GGUF/xl-tur
50
  --load-option ace_step.dit_model_path=acestep-v15-xl-turbo --out song.wav
51
  ```
52
 
53
- Measured on an RTX 5090 (CUDA), 20 s of audio in 15 s including model load,
54
- either variant.
 
 
 
 
 
55
 
56
  XL support landed in audio.cpp via
57
  [PR #235](https://github.com/0xShug0/audio.cpp/pull/235); see
58
  `docs/models/ace_step.md` there for the full option reference and for rebuilding
59
- this file yourself.
60
 
61
  Weights are MIT-licensed by ACE-Step; this repository only redistributes them in
62
  a different container format.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  # audio.cpp GGUF
2
 
3
  GGUF conversions of music and speech models for
4
  [audio.cpp](https://github.com/0xShug0/audio.cpp), the ggml-based native audio
5
  inference framework.
6
 
7
+ ## ACE-Step 1.5 XL
8
 
9
  | File | Size | Package | Upstream |
10
  |---|---:|---|---|
11
+ | `ACE-Step1.5-GGUF/xl-turbo/ace-step-1.5-xl-turbo-bf16.gguf` | 14.2 GiB | `ace_step_xl_turbo_bf16` | [acestep-v15-xl-turbo](https://huggingface.co/ACE-Step/acestep-v15-xl-turbo) |
12
+ | `ACE-Step1.5-GGUF/xl-sft/ace-step-1.5-xl-sft-bf16.gguf` | 14.2 GiB | `ace_step_xl_sft_bf16` | [acestep-v15-xl-sft](https://huggingface.co/ACE-Step/acestep-v15-xl-sft) |
13
+ | `ACE-Step1.5-GGUF/xl-turbo-q8dit/ace-step-1.5-xl-turbo-q8dit.gguf` | 9.97 GiB | *(no package row yet)* | as above |
14
+ | `ACE-Step1.5-GGUF/xl-sft-q8dit/ace-step-1.5-xl-sft-q8dit.gguf` | 9.97 GiB | *(no package row yet)* | as above |
15
 
16
  The XL DiT is the larger ACE-Step 1.5 transformer: 32 layers of 2560 against
17
  turbo's 24 of 2048, with 32 attention heads of 128. Each file is self-contained
18
  the way audio.cpp's other ACE-Step GGUFs are — XL DiT, planner LM, text encoder
19
+ and VAE in one file — so none of them needs another download.
20
 
21
  XL Turbo is guidance-distilled and ignores `guidance_scale`; XL SFT takes the
22
+ CFG path. Both were converted from the float32 upstream snapshots.
23
+
24
+ ## The `q8dit` builds
25
+
26
+ `ace_step` is graded `No (planner sampling can fail)` for q8_0 in audio.cpp's
27
+ [gguf.md](https://github.com/0xShug0/audio.cpp/blob/main/docs/gguf.md#support-and-test-status),
28
+ and that grade is about the **planner LM**, not the DiT. The `q8dit` files
29
+ quantise the DiT to q8_0 and keep the planner LM, text encoder and VAE at bf16:
30
+
31
+ ```bash
32
+ audiocpp_gguf ... \
33
+ --keep-type "lm_weights*=bf16" \
34
+ --keep-type "text_encoder_weights*=bf16" \
35
+ --keep-type "vae_weights*=bf16" \
36
+ --keep-type "dit_xl_turbo_silence_latent*=bf16" \
37
+ --type q8_0 --output ace-step-1.5-xl-turbo-q8dit.gguf
38
+ ```
39
+
40
+ Measured on an RTX 5090 (CUDA), against the bf16 file at the same prompt and
41
+ seed:
42
 
43
+ | | size | 20 s of audio | RTF | waveform correlation vs bf16 |
44
+ |---|---:|---:|---:|---:|
45
+ | XL Turbo bf16 | 14.2 GiB | 14.2 s | 0.71 | reference |
46
+ | XL Turbo q8dit | 9.97 GiB | 9.3 s | 0.46 | **0.989** |
47
+ | XL Turbo, everything q8_0 | 8.36 GiB | 8.2 s | 0.41 | 0.094 |
48
+
49
+ Every build is deterministic at a fixed seed (run-to-run correlation 1.0000), so
50
+ the last column isolates what quantisation changes. On a sung 40 s take the
51
+ q8dit build scores **0.997** for XL Turbo and **0.999** for XL SFT, and an ASR
52
+ pass over both returns the same lyric line. A fully quantised build returns a
53
+ different song from the same seed — it plays, it just isn't the same model.
54
+
55
+ Validated on three prompts on one machine. Treat these as a preview: they are
56
+ not covered by audio.cpp's path-test matrix, and there is no package row for
57
+ them yet, so install them by hand.
58
+
59
+ ## Install
60
 
61
  ```bash
62
  python tools/model_manager_v2.py install ace_step_xl_turbo_bf16
63
  ```
64
 
65
+ The `q8dit` files have no package id yet — download one and point `--model` at
66
+ its directory.
67
+
68
+ ## Run
69
 
70
  The DiT variant is a load option, so name it explicitly:
71
 
 
76
  --load-option ace_step.dit_model_path=acestep-v15-xl-turbo --out song.wav
77
  ```
78
 
79
+ For sung vocals, pass the lyrics *and* a language, and give the DiT more steps
80
+ than the turbo default:
81
+
82
+ ```bash
83
+ --lyrics "[verse]
84
+ City lights are falling slow" --language en --num-inference-steps 24
85
+ ```
86
 
87
  XL support landed in audio.cpp via
88
  [PR #235](https://github.com/0xShug0/audio.cpp/pull/235); see
89
  `docs/models/ace_step.md` there for the full option reference and for rebuilding
90
+ these files yourself.
91
 
92
  Weights are MIT-licensed by ACE-Step; this repository only redistributes them in
93
  a different container format.