#!/bin/bash set -eu Q="./build/quantize" quantize() { local bf16="$1" type="$2" local out="${bf16/-BF16.gguf/-${type}.gguf}" if [ -f "$out" ]; then echo "[Skip] $out" else $Q "$bf16" "$out" "$type" fi } # Embedding: Q8_0 only (single-shot, precision matters) quantize models/Qwen3-Embedding-0.6B-BF16.gguf Q8_0 # Small/medium LM: Q8_0 only (too small to survive aggressive quant) quantize models/acestep-5Hz-lm-0.6B-BF16.gguf Q8_0 quantize models/acestep-5Hz-lm-1.7B-BF16.gguf Q8_0 # Large LM: full range (Q4_K_M confirmed broken for audio codes) for type in Q5_K_M Q6_K Q8_0; do quantize models/acestep-5Hz-lm-4B-BF16.gguf "$type" done # DiT models: full range for bf16 in models/acestep-v15-*-BF16.gguf; do for type in Q4_K_M Q5_K_M Q6_K Q8_0; do quantize "$bf16" "$type" done done # VAE: never quantized (stays BF16)