Clark Air · Sana 1.6B
A Sana 1.6B text-to-image transformer compressed to ternary (~1.85 bits/weight): 8.6× smaller than FP16, near-FP16 quality.
Samples generated by Clark Air Sana 1.6B at 1.58 bits.
Footprint (measured)
| Artifact | Size | vs FP16 | What it is |
|---|---|---|---|
| FP16 transformer | 3.21 GB | 1× (100%) | reference |
| Clark Air (packed) | 374 MB | 8.6× (≈12%) | packed ternary (clark-air-sana-1.6b-packed.safetensors) |
| Clark Air (unpacked) | 3.21 GB | compatibility | this repo's transformer/, dequantized bf16, drop-in diffusers |
Measured ~1.85 bits/weight → 8.6× smaller (374 MB packed ÷ 3.21 GB FP16).
ℹ️ The
transformer/here is the unpacked compatibility format: it loads in stockdiffuserswith no custom code, so it is the same 3.21 GB as FP16. The actual compressed artifact is the 374 MB packedsafetensorsin this repo.
Usage (drop-in diffusers)
import torch
from diffusers import SanaPipeline, SanaTransformer2DModel
transformer = SanaTransformer2DModel.from_pretrained(
"clark-labs/clark-air-sana-1.6b-1.58bit", subfolder="transformer", torch_dtype=torch.bfloat16)
pipe = SanaPipeline.from_pretrained(
"Efficient-Large-Model/Sana_1600M_512px_diffusers", transformer=transformer, torch_dtype=torch.bfloat16)
pipe.to("cuda")
pipe("a half empty bottle of red wine", num_inference_steps=20, guidance_scale=4.5).images[0].save("out.png")
About
The transformer weights are quantized to ternary with group-wise scales; a small high-precision tail (~5% of parameters, the conditioning and projection layers) is kept at higher precision.
- Base: Sana 1.6B, 512px
License
Apache-2.0 © Clark Labs, Inc.
Quality vs. bit-width
Same prompts and seed across columns: fp16 base | naive 3-bit PTQ | naive 2-bit PTQ | Clark Air 1.58-bit (trained ternary). Naive post-training quantization collapses by 2 bits, while the trained ternary model uses fewer bits yet tracks fp16.