brokenjade/Confucius4-TTS-mlx-mix
022
Confucius4-TTS — MLX 混合精度量化版(OPTIQ int8)
中文语音合成(TTS)模型,已转换为 Apple MLX 格式,并采用 OPTIQ 混合精度 int8 量化(28 层 float32 + 68 层 int8),可在 Apple Silicon 上本地推理。
模型概述
- 任务:中文文本转语音(Text-to-Speech)
- 采样率:22050 Hz
- 框架:Apple MLX(加载见 mlx-audio)
- 精度:混合精度(float32 / int8 group 量化)
- 用途:本地离线朗读中文文本,无需 GPU 服务器
该混合精度配置经多种精度组合实测比较后选定,已在 Apple M5 Max 芯片上实测可用,同时保留了绝大部分语音生成性能。
量化参数
量化信息记录于仓库内 config.json:
{
"model_type": "confucius4",
"sample_rate": 22050,
"quant_bits": 8,
"quant_group_size": 64
}子模型组成
本仓库是一个多组件 TTS 系统,共 5 个 safetensors 权重文件:
另含 checkpoints/tokenizer.json 分词器。
量化张量明细
T2S 主模型(t2s_model.safetensors,24 层 Decoder)
共 68 个 int8 量化张量:
规律:所有 MLP 投影与绝大多数 attention 投影量化到 int8;4 层的 `c_attn` 与全部 `c_proj` 保留 float32。
W2V-BERT 编码器(w2vbert_mlx.safetensors)
136 个 int8 量化张量:各 encoder 层的 self_attn.linear_q/k/v/out 与 ffn1/ffn2 的 intermediate_dense/output_dense 均量化。
未量化组件
s2a_mlx、bigvgan_mlx、campplus 均为全 float32,未量化——语音解码、声码、说话人编码等影响音频质量的模块保持高精度。
说明与限制
- 本模型适用于 中文 语音合成。
- 本地推理需 Apple Silicon(MLX 依赖 Metal)。
- 量化以
group_size=64的 int8 进行,主要缩减 LLM 与语义编码器模型体积;音频质量关键层保留 float32,以兼顾体积与音质。 - 混合精度配置为实测比较不同精度组合后选定:在 Apple M5 Max 芯片上实测可见效(可用、可正常推理),同时保留了绝大部分语音生成性能(音质与合成效果基本等同高精度版本)。
使用方式
import mlx.core as mx
from mlx_lm.utils import load # 或以 mlx-audio 的 Confucius 加载接口为准详细推理流程可参考本项目 mlx-audio 的 Confucius4 实现。
