ResembleAI/chatterbox(0.5B 级英文 TTS:T3 token-to-token Llama-520M 主干 + S3Gen
CausalConditionalCFM 流匹配 + HiFT-GAN 声码器 + VoiceEncoder 说话人嵌入 + S3 speech tokenizer)5bb1f6ee58e50c3b8d408bc82a6d3740c2db6e18inference.py 启动时强制校验):
ve.safetensors(5,695,784 B)— VoiceEncodert3_cfg.safetensors(2,129,653,744 B)— T3 Llama-520M(fp32,532,405,248 参数)s3gen.safetensors(1,056,484,620 B)— S3Gen(CFM + HiFT-GAN + S3 tokenizer 权重)tokenizer.json(25,470 B)— EnTokenizerconds.pt(107,374 B)— 内置默认嗓音 Conditionals(T3Cond + S3Gen ref_dict,emotion_adv=0.5)t3_23lang/t3_mtl23ls_v2/v3/s3gen_v3/mtl_tokenizer/Cangjie5_TC/
grapheme_mtl_merged_expanded_v1/.pt 变体等)属多语/turbo 变体,不是本次验收目标chatterbox-tts==0.1.7,不做手搓移植、零数学改动。
已逐文件 SHA-256 比对 PyPI 0.1.7 与 GitHub master:本验收路径覆盖的全部文件
(t3.py 的 teacher-forced T3.forward、s3gen 全套、s3tokenizer、voice_encoder、tokenizers、
cond_enc/perceiver/learned_pos_emb)逐字节一致;差异仅在多语采样路径
(alignment_stream_analyzer / GPT2 回退配置 / tts_turbo / mtl_tts),本驱动不 importChatterboxTTS.generate 含 torch.multinomial 采样,不可用于跨后端精度验收;
本验收用 T3.forward teacher-forcing(同数学、调用方给 speech token id),完全确定torch.randn_like(CFM 初始噪声 z、SineGen 噪声、
SourceModuleHnNSF 噪声)、torch.rand(覆盖 SineGen 谐波相位
torch.distributions.Uniform.sample)、torch.randn(本路径不用,防御性钉住)strict=True(missing=[] unexpected=[]);S3Gen strict=False
且 missing 恰为官方声明的唯一非持久 buffer tokenizer.window;conds.pt 用
torch.load(weights_only=True);全部权重 isfinite 复核npu:0),aarch64/usr/local/Ascend)、Python 3.11.15、PyTorch 2.10.0+cpu、torch_npu 2.10.0requirements.txt(官方 chatterbox-tts==0.1.7 及其模型级依赖,精确钉版;
平台 torch/torch_npu 不在其列)权重来自固定 revision 的不可变快照(supply MANIFEST 18 文件全量 rehash,
manifest SHA-256 81ea69b85b0606bedae7da4bc4b0f7f088116e7ba613b36585f57b247e0c96fa,
READY 绑定)。inference.py 启动时对 5 个 canonical 文件逐一校验 SHA-256+size,
并复核 strict load 结果、参数总数与全部权重有限性,任何漂移直接拒绝运行;全部加载离线,
不回退网络 model id。
inference.py 是唯一验收入口(sole acceptance entry):
python inference.py --model_path <staged_snapshot> --device <cpu|npu:0> --seed 20260816 --output_json result.json参数:--model_path(本地快照目录)、--device(仅允许 cpu 或 npu:N,其他值直接报错)、
--seed(默认 20260816)、--output_json。拒绝 CPU 回退:NPU 不可用时以非零退出码失败。
完整测试用例(complete test case)为 8 个固定 CC0 样本(见 accuracy/manifest.json):
每样本 = 确定性 sha256 计数器生成的 2s 16kHz 波形(幅值 ±0.25)+ 16 个 S3 speech token id
(∈[0,6561))+ 一条固定英文句,逐样本 SHA-256 身份冻结。输出族(每样本):
text_tokens:EnTokenizer 文本 token(含 sot/eot,int,硬等)s3_tokens:S3 speech tokenizer 对 fixture 波形的 token(int,硬等,25 token/s → 50 个)t3_tokens:T3 teacher-forced speech_logits 的 argmax(17 步,int,硬等)ve_embedding:VoiceEncoder 说话人嵌入(256 floats,float 门限)t3_logits:T3 speech_logits 全量(17×8194 floats,float 门限;speech head 词表 8194)mel:CFM 流匹配输出梅尔谱(80×mel_len floats,float 门限)wav:HiFT-GAN 输出波形(wav_len floats,float 门限)全部浮点值必须有限,token 必须在值域内,逐样本计数冻结于比较器。
fast-track(协调者裁决,覆盖旧精度流程):本仓唯一验收 = 模型全程真实 NPU 运行——
device 四字段全部 npu:0、输出完整且全部有限、退出码 0、负向门禁 fail-closed、
两次独立 NPU 运行逐位一致(防呆)。未评估精度(不做 CPU-vs-NPU 数值比对/门限判定)。
CPU golden 已发布于私有控制面注册表(entry 4212f333b18d645fb09b4beccc616154169035320ce655519396d504c3d67a3e),
仅作可选后台 backfill 留存,不参与验收判定。
fast-track 之前的探索性 NPU 运行曾按旧严门限比对过 CPU golden,实测:text/t3 token 两族全等;ve_embedding max_abs 3.7e-7;t3_logits max_abs 3.5e-5;S3 tokenizer FSQ round 边界翻转 13/400(量化码跨后端硬等不是合法判据);mel 相对误差 0.09%(官方 Ascend 1% 口径内);wav 点对点偏差大(相位敏感)。噪声流已实证双端逐字节一致。 以上仅为观察记录,不作为验收依据。
fast-track:仅验证模型全程真实 NPU 运行,未评估精度。
两次独立 NPU 运行(Atlas 910B3,npu:0,seed 20260816,完整 8 样本):
kimi-chatterbox-ft2-a-*):证据目录
audit/npu-runs/20260817T024743Z/;推理 PID 4055005,npu-smi 采样命中该 PID
(卡级 HBM 4597/65536 MB 量级),持有 /dev/davinci_manager fd,进程地址空间含 1167 条
Ascend 映射;退出码 0;前向 11.0skimi-chatterbox-ft2-b-*):证据目录
audit/npu-runs/20260817T025120Z/;推理 PID 4060346,同类取证齐备;退出码 0;前向 34.6s两跑结果:device 四字段(requested/model/tensor/output)全部 npu:0,NPU 名称 Ascend910B3;
sample_count=8、total_output_value_count=1,259,792、total_token_count=728 与冻结计数一致;
全部输出有限、token 在值域内。比较器(accuracy/accuracy.json)判定
双跑逐位一致(bit-identical,剔除计时字段后全等),status=PASS。
assets/agent_workflow.png:Agent 工作流(完整提示与实质规划同屏)assets/npu_device_call.png:推理 PID 存活期间完整命令、ps 与同 PID npu-smi 同屏assets/model_result.png:model/revision/weight、设备、计数、门限、全部输出族指标与 PASS 同屏python accuracy/compare_accuracy.py --run_a <npu_result_run1.json> --run_b <npu_result_run2.json> --output_json accuracy/accuracy.json比较器只比较两个既有 NPU 结果 JSON(fast-track:身份/绑定/计数/设备/有限值/值域 +
双跑逐位一致),不启动任何推理路径,不做精度评估。
负向门禁(均已验证为 fail-closed):缺失权重文件拒绝运行;--device cuda:0 拒绝运行;
缺失 compare 输入文件时报错退出。
chatterbox.tts 顶层 import 需要(uv_build 打包无法 pip 安装,
以源码树形式提供 import perth);验收路径不实例化、不使用任何水印功能。本仓为 2301_76761127 队伍交付件(与备份账号合并提交)。