Instructions to use bschooled/caeleste-speech with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use bschooled/caeleste-speech with Transformers:
# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("bschooled/caeleste-speech", device_map="auto") - Notebooks
- Google Colab
- Kaggle
caeleste-speech β prequantized models
4-bit NF4 (bitsandbytes) quantizations of the open models used by a self-hosted speech stack (speech-to-text, text-to-speech, and a small text LLM).
Each model lives in its own repository (listed below) and is a standalone,
standard transformers checkpoint. Nothing here is a new model: these are
quantized copies of the upstream repositories linked below, at the exact pinned
revisions shown.
Why this exists
Quantizing at load time means every deployment downloads full-precision weights and repeats the quantization pass on every model load. Publishing the quantized weights removes both costs. Measured on an RTX 5080:
| Model | Upstream size | Here | Load (runtime quant) | Load (prequantized) |
|---|---|---|---|---|
MOSS-TTS-v1.5 (8B) |
15.83 GiB | 6.23 GiB | does not fit 16 GB | fits |
higgs-audio-v3-stt |
5.00 GiB | 2.61 GiB | 9.2 s | 0.8 s |
Qwen2.5-0.5B-Instruct |
0.93 GiB | 0.44 GiB | 1.2 s | 0.2 s |
MOSS-TTS is the clearest case: quantizing it at load time needs more VRAM than the quantized model itself occupies, so a 16 GB GPU cannot produce it locally but can run it once quantized.
Contents
caeleste-speech-higgs-audio-v3-stt-nf4β Speech-to-text. Quantization ofbosonai/higgs-audio-v3-sttatdb4966839bef. Whisper-large-v3 encoder retained in bf16; Qwen3 decoder quantized to NF4.caeleste-speech-moss-tts-v1.5-nf4β Quality text-to-speech. Quantization ofOpenMOSS-Team/MOSS-TTS-v1.5atcdd3b911b158. Fully NF4. Quantized on an AMD gfx1030; the artifact is hardware-independent.caeleste-speech-qwen2.5-0.5b-instruct-nf4β Text LLM. Quantization ofQwen/Qwen2.5-0.5B-Instructat7ae557604adf. Fully NF4.
Usage
Fetch the subfolder you need, then load it as a local checkpoint:
from huggingface_hub import snapshot_download
from transformers import AutoModel
path = snapshot_download("bschooled/caeleste-speech", allow_patterns="higgs-audio-v3-stt-nf4/*")
model = AutoModel.from_pretrained(
f"{path}/higgs-audio-v3-stt-nf4",
device_map={"": "cuda:0"},
trust_remote_code=True,
)
allow_patterns keeps the download to only the model you want.
Note: for models that use
trust_remote_code, load from a downloaded local directory as shown above rather than passingsubfolder=tofrom_pretrained.transformersresolves remote-code modules relative to the repository root, sosubfolder=cannot find them.
Models without remote code load directly:
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
"bschooled/caeleste-speech", subfolder="qwen2.5-0.5b-instruct-nf4", device_map={"": "cuda:0"},
)
Each subfolder also contains its own README.md with per-model provenance.
Requirements
Loading requires bitsandbytes and a supported accelerator:
| Vendor | Support |
|---|---|
| NVIDIA | compute capability sm_75+ (Turing / RTX 2000 and newer) |
| AMD ROCm | RDNA3 (gfx1100βgfx1102), RDNA3.5 (gfx1150βgfx1152), CDNA |
NF4 was chosen over FP8 and NVFP4 specifically for this reach: FP8 requires
sm_89+ and NVFP4 requires sm_120+, which would exclude most consumer GPUs.
How these were produced
Weights were quantized with bitsandbytes NF4 (double quantization, bf16 compute
dtype) and saved with save_pretrained. Tokenizer, processor, and any
trust_remote_code modules are copied unmodified from the upstream revision.
No architecture, vocabulary, or generation defaults were changed.
Some architectures leave a submodule in full precision β this is recorded in the
per-model card. It is required for correctness: transformers matches a
parameter's quantization state by substring rather than by prefix, so when one
quantized module's path is a suffix of another's (for example layers.0.β¦ and
audio_tower.layers.0.β¦), the saved checkpoint cannot be reloaded. Leaving one
side unquantized keeps the artifact loadable by stock transformers, and has the
side effect of preserving full precision in the audio encoder.
Verification
Every artifact in this repository was reloaded after saving and checked to be still 4-bit before upload.
Licensing and attribution
These are derivative works. Each is redistributed under its upstream licence, with all upstream copyright, patent, trademark and attribution notices retained. The upstream repository is the authoritative source for licence text; consult it before use.
| Subfolder | Upstream | Upstream licence |
|---|---|---|
caeleste-speech-higgs-audio-v3-stt-nf4 |
bosonai/higgs-audio-v3-stt |
apache-2.0 |
caeleste-speech-moss-tts-v1.5-nf4 |
OpenMOSS-Team/MOSS-TTS-v1.5 |
apache-2.0 |
caeleste-speech-qwen2.5-0.5b-instruct-nf4 |
Qwen/Qwen2.5-0.5B-Instruct |
apache-2.0 |
Changes made relative to upstream: weight tensors replaced with NF4-quantized
equivalents, and a quantization_config block added to config.json.
Models intentionally not included
Some models used by the stack are not redistributed here because their licences impose obligations that are better handled directly between the user and the upstream publisher. These are downloaded from upstream and quantized at load time instead:
canopylabs/orpheus-tts-0.1-finetune-prod / unsloth/orpheus-3b-0.1-ftβ Derived frommeta-llama/Llama-3.2-3B-Instruct. The Llama 3.2 Community License attaches naming, attribution and usage-scale obligations to derivative models, so it is not redistributed here.LiquidAI/LFM2.5-Audio-1.5Bβ Distributed under the LFM Open License v1.0, which permits redistribution of derivative works but attaches a commercial-use threshold. Not redistributed here so that the licence relationship stays directly between the user and the upstream publisher.