Downloads · 30 days
13
7% of all-time downloads
moe2382/dramabox-dit-int8
dramabox-dit-int8 is a text-to-speech model from moe2382. Use it when you need text read aloud. It is set up for pytorch. The card lists the license as other.
A selectively quantized version of the DramaBox TTS 3.3B DiT (Diffusion Transformer) model from Resemble AI. Reduces VRAM by 20% and checkpoint size by 45% while preserving audio quality.
Downloads · 30 days
13
7% of all-time downloads
All-time downloads
195
Public
Repo size
3.6 GB
Likes
2
Public
Click a slice to open those files.
.safetensors3.6 GB · 100%
From the Hugging Face model README
A selectively quantized version of the DramaBox TTS 3.3B DiT (Diffusion Transformer) model from Resemble AI. Reduces VRAM by 20% and checkpoint size by 45% while preserving audio quality.
Base model: ResembleAI/Dramabox | Code: resemble-ai/DramaBox | Architecture: LTX-2.3 DiT + Gemma 3 12B
| File | Size | Description |
|---|---|---|
dramabox-dit-int8-selective.safetensors | 3.37 GB | Quantized DiT weights (INT8 data + BF16 scales) |
config.json | 28 KB | Layer map: which 562 layers are quantized |
load_int8.py | 3.6 KB | Loader script (works with or without torchao) |
inference_optimized.py | 4.3 KB | Full pipeline with INT8 + Gemma CPU offload |
You still need the other components from ResembleAI/Dramabox:
dramabox-audio-components.safetensors (1.9 GB) — VAE + vocoder| Metric | Baseline (BF16) | This model (INT8) | Change |
|---|---|---|---|
| DiT checkpoint size | 6.1 GB | 3.37 GB | -45% |
| Peak VRAM | 17.39 GB | 13.8 GB | -20.6% |
| VRAM during denoising | 17.39 GB | 5.93 GB | -65.9% |
| Audio quality (MCD) | 0.0 dB | 4.98 dB | Within threshold |
| Generation time | 2.62s | 3.22s | +23% |
MCD (Mel-Cepstral Distortion) measures spectral distance from the BF16 baseline. Lower is better. Scores below 5.0 dB are perceptually near-identical for speech.
Method: Selective INT8 weight-only quantization via torchao Int8WeightOnlyConfig. Weights are stored as INT8 with per-channel BF16 scales and dequantized at runtime during matrix multiplication.
What's quantized (562 layers, ~81.5% of DiT parameters):
to_q, to_k, to_v, to_out) across all 48 transformer blocksgate_logits layersaudio_ff.net.0.proj) across all 48 blocksaudio_ff.net.2) in blocks 15–47, excluding block 17audio_patchify_proj, audio_proj_out)What's NOT quantized (kept in BF16):
This layer map was discovered through 80+ automated experiments using Andrej Karpathy's auto-research methodology, systematically testing each layer type and block index.
If you just want VRAM savings without downloading this checkpoint, you can apply quantization at load time to the original DramaBox model:
import torch, re
from torchao.quantization import quantize_, Int8WeightOnlyConfig
# After loading the standard DramaBox TTSServer:
attn_proj_keys = ("to_q", "to_k", "to_v", "to_out")
def dit_filter(mod, fqn):
if not isinstance(mod, torch.nn.Linear): return False
if "norm" in fqn: return False
if "gate_logits" in fqn: return True
if any(k in fqn for k in attn_proj_keys): return True
if "audio_ff" in fqn:
m = re.search(r'transformer_blocks\.(\d+)\.', fqn)
if m:
idx = int(m.group(1))
if "net.2" in fqn and idx >= 15 and idx != 17: return True
if "net.0.proj" in fqn: return True
return False
def io_filter(mod, fqn):
return fqn in ("audio_patchify_proj", "audio_proj_out") and isinstance(mod, torch.nn.Linear)
quantize_(tts._velocity_model, Int8WeightOnlyConfig(), filter_fn=dit_filter)
quantize_(tts._velocity_model, Int8WeightOnlyConfig(), filter_fn=io_filter)
from load_int8 import load_int8_dit
# Loads the INT8 safetensors and reconstructs quantized Linear layers
load_int8_dit(tts._velocity_model, "dramabox-dit-int8-selective.safetensors")
For maximum VRAM savings (5.93 GB during denoising), use the included inference_optimized.py which also offloads Gemma 12B to CPU between text encoding and audio generation.
We ran 80+ experiments using an automated loop inspired by Karpathy's auto-research methodology:
Key findings from the search:
torch.compile breaks audio output even on the unquantized baseline (MCD 24–32 dB). The iterative denoising loop is numerically sensitive to graph optimizations.If you use this work, please cite the original DramaBox model:
@misc{dramabox2025,
title={DramaBox: Expressive Text to Speech Model},
author={Resemble AI},
year={2025},
url={https://github.com/resemble-ai/DramaBox}
}
Same as the base DramaBox model — LTX-2 Community License.