|
Download README.md from drbaph/FireRedTTS3-int8: direct link, hf CLI and curl.
- Browser
- Download file 4.73 kB
-
https://huggingface.co/drbaph/FireRedTTS3-int8/resolve/main/README.md
- Command line
-
hf download hf://drbaph/FireRedTTS3-int8/README.md
-
curl -L -o README.md https://huggingface.co/drbaph/FireRedTTS3-int8/resolve/main/README.md
4.73 kB
| license: apache-2.0 | |
| base_model: FireRedTeam/FireRedTTS3 | |
| pipeline_tag: text-to-speech | |
| library_name: comfyui | |
| tags: | |
| - tts | |
| - text-to-speech | |
| - voice-cloning | |
| - voice-design | |
| - speech-editing | |
| - fireredtts | |
| - qwen3 | |
| - comfyui-custom-node | |
| - int8 | |
| - convrot | |
| - quantized | |
| language: | |
| - zh | |
| - en | |
| - yue | |
| - ja | |
| - ko | |
| - es | |
| - fr | |
| - ru | |
| - ar | |
| - tr | |
| - id | |
| - pt | |
| - it | |
| - nl | |
| - vi | |
| - de | |
| - uk | |
| - th | |
| - pl | |
| - ro | |
| - el | |
| - cs | |
| - fi | |
| - hi | |
| # FireRedTTS3-int8 (community INT8 ConvRot mirror) | |
| INT8 ConvRot conversion of [FireRedTeam/FireRedTTS3](https://huggingface.co/FireRedTeam/FireRedTTS3) for | |
| [FireRedTTS3-ComfyUI](https://github.com/Saganaki22/FireRedTTS3-ComfyUI), produced with the official | |
| comfy-kitchen quantizer (`TensorWiseINT8Layout.quantize`, registry `quantize_int8_convrot_weight`). | |
| Format per quantized Linear (current ComfyUI representation): | |
| - `weight` β `torch.int8`, original `[out, in]` shape, contains the **offline Hadamard-rotated** weight (`W @ H^T` per 256-column group) | |
| - `weight_scale` β `torch.float32`, `[out, 1]` per-output-row scale | |
| - `bias` β original float bias | |
| - `comfy_quant` β uint8 JSON: `{"format": "int8_tensorwise", "convrot": true, "convrot_groupsize": 256}` | |
| At inference the companion custom node rotates activations online via | |
| `comfy_kitchen.int8_linear(..., convrot=True, convrot_groupsize=256)` β dynamic per-row INT8 activation | |
| quantization + INT8 GEMM, rescaled by `scale_x * scale_w`. No whole-weight dequantization on the hot path. | |
| ## What is quantized (safe profile, group size 256) | |
| | Component | Quantized | Kept float | | |
| | --- | --- | --- | | |
| | `fireredtts3_base` | 321/332 Linears (1.73B params, 81.5% of core): all `backbone_llm.layers.*`, `patch_encoder.blocks.*`, `dit.blocks.*` | embeddings, norms, `spk_proj_*`, `patch_encoder.in_proj/out_proj`, `dit_head`, `dit.in_proj` (1600 % 256 != 0), `dit.t_embedder`, `dit.final_layer`, `stop_head`, Conv1d | | |
| | `fireredtts3_instruct` | 321/331 Linears (1.73B params, 71.2% of core): same block families (`backbone_llm.model.layers.*`) | same exclusions | | |
| | `redae` | nothing | everything | | |
| | `campp` | nothing | everything | | |
| ## Sizes | |
| | Core | Official fp32 | This repo | | |
| | --- | --- | --- | | |
| | `fireredtts3_base` | 8.48 GB | 3.30 GB | | |
| | `fireredtts3_instruct` | 8.48 GB | 3.30 GB | | |
| | `redae` / `campp` / tokenizer | copied through unchanged | | | |
| ## Validation (base variant, full suite; instruct smoke-tested) | |
| - Per-layer weight roundtrip (official quantize -> official dequantize): worst rel-L2 **0.00967**, worst cosine **0.999953** over 321 layers | |
| - Real-activation comparison vs fp32 through the same `comfy_kitchen.int8_linear` runtime: worst rel-L2 **0.01162**, worst cosine **0.999932** | |
| - On-disk structure: all 677 original keys preserved, scales fp32 `[N,1]` and positive, Conv1d/RedAE/CAM++ untouched | |
| - Runtime proof: 321 `ConvRotInt8Linear` modules, >42k counted INT8 ConvRot kernel calls during generation, weights stay int8 across unload/reload | |
| - BF16 vs INT8 generation (same seed/settings): identical patch counts (200/200), finite latents, EN/ZH ASR-verified, speaker-similarity parity (0.9007 vs 0.8991) | |
| - Peak VRAM 13.1 -> 8.3 GiB; generation ~1.3x slower (memory optimization, honestly reported) | |
| ## Usage Disclaimer | |
| - The project incorporates zero-shot voice cloning functionality; Please note that this capability is intended **solely for academic research purposes**. | |
| - **DO NOT** use this model for **ANY illegal activities**βοΈβοΈ | |
| - The developers assume no liability for any misuse of this model. | |
| - If you identify any instances of **abuse**, **misuse**, or **fraudulent** activities related to this project, **please report them to our team immediately.** | |
| ## Citation | |
| ```bib | |
| @article{fireredtts3, | |
| title = {FireRedTTS3: Unified Speech Generation and Editing with Semantically Enriched Speech Representations}, | |
| author = {FireRed Team}, | |
| journal = {arXiv preprint}, | |
| year = {2026}, | |
| } | |
| ``` | |
| ## Acknowledgements | |
| - [Qwen3](https://github.com/QwenLM/Qwen3) and [Qwen2-Audio](https://github.com/QwenLM/Qwen2-Audio) for the language model and audio understanding foundations | |
| - [DiTAR](https://arxiv.org/abs/2502.03930) for the patch-level diffusion autoregressive formulation | |
| - [X-Codec](https://github.com/zhenye234/xcodec) for the discriminator design used in RedAE training | |
| - [CAM++](https://modelscope.cn/models/iic/speech_campplus_sv_en_voxceleb_16k) for speaker embedding extraction | |
| - [fastText](https://fasttext.cc/docs/en/language-identification.html) for automatic language identification | |
| - [WeTextProcessing](https://github.com/wenet-e2e/WeTextProcessing) (wetext) for the Chinese / English text normalization front-end | |
| All credit to the FireRed Team β see the upstream repo and model card. Apache-2.0. | |