MOSS-Audio-Tokenizer · full v1 / full v2 / Nano · 可审计模型档案¶
当前结论:D0–D5 passed;下一步是 integrate the four MOSS points into the common Pareto matrix; run D6 only for a predeclared frontier or capability-teacher point。 每个 Gate 只建立该 Gate 明示的证据;D5 passed 表示冻结共同 benchmark 已完整归档和审计,不表示存在全局赢家或 D6/D7 已完成。 D0 只证明身份、来源和本地 artifact 一致;后续 Gate 的通过不会反向扩大 D0 的证据边界。
Gate 状态¶
| Gate | 状态 |
|---|---|
| D0 | passed |
| D1 | passed |
| D2 | passed |
| D3 | passed |
| D4 | passed |
| D5 | passed |
| D6 | not_started |
| D7 | not_started |
D0 · 身份、标准与本地 artifact¶
| 项目 | 冻结身份 |
|---|---|
| 主论文/规范/资料 | MOSS-Audio-Tokenizer: Scaling Audio Tokenizers for Future Audio Foundation Models · arXiv:2602.10934v2 |
| 规范更新 | MOSS-V2-RELEASE, MOSS-NANO-RELEASE |
| 官方实现 | https://github.com/OpenMOSS/MOSS-Audio-Tokenizer · fixed main commit / 8c50ac4c5d72 |
| 本地环境 | Darwin 26.5 · arm64 · arm |
| 学习参数/模型状态 | 1774566400 / 7098265600 bytes(official hugging face checkpoint) |
| 已冻结运行 artifact | 24 个,共 15,682,269,098 bytes |
| 当前公共点 | 0.75 kbps, 1 kbps, 2 kbps, 4 kbps · application=executed public English/Mandarin speech under protocol v2 · signal hint=paper-aligned full v1 at 24 kHz mono · executed legal RLFQ/RVQ prefix depths q6/q8/q16/q32 · 80 ms |
冻结范围与明确排除¶
- 论文/规范家族:24 kHz mono full v1 at 12.5 frames/s with 1–32 prefixes of a 1024-entry RLFQ/RVQ; the paper reports 0.125–4 kbps, speech/sound/music reconstruction, streaming, TTS and ASR experiments;
- 本地选择端点:paper-aligned full v1 is the D1–D4 primary endpoint; post-paper 48 kHz stereo full v2 and Nano remain separately identified family endpoints;
-
不纳入当前身份:
- treating Nano as a quality proxy for either full checkpoint
- treating the post-paper 48 kHz stereo v2 checkpoint as the 24 kHz v1 artifact evaluated in arXiv:2602.10934v2
- the paper's training-time discriminator and decoder-only semantic-alignment LLM, which are not present in the released inference checkpoints
- quality, streaming-equivalence or SOTA conclusions from the earlier eight-utterance Transport Qualified runs
- an author-defined compressed file/network bitstream; official inference returns tensor codes, while EvoSpeech's MOSSAUD payload wrappers are project-owned
Primary-source manifest¶
| ID | 作用 | bytes | SHA-256 |
|---|---|---|---|
| MOSS_PAPER_V2_PDF | author paper, method, training, evaluation and limitation source | 1,378,196 | 3d79a9847d6e094a35373018ac944bdb9d9feacbe41b11490387a3e6e8b46bf9 |
| MOSS_SOURCE_ARCHIVE | release-exact inference, streaming and evaluation documentation source | 1,948,204 | 7b6bd90d5ba26afd76a4e9e512adea6b20b4e5151f97b08d17a5e963a083bcc0 |
| MOSS_FIXED_README | official variant, usage, rate, streaming, evaluation and release boundary | 20,440 | 05fcbc5ce428940db6ca05c0e6ddfb3ccc1fa3b88666f25f2ccd7251828b6db4 |
| MOSS_FIXED_LICENSE | source license evidence | 11,374 | 08af5a268e2223ebf492a30ef8c21a734a6faa1723af0d09a2027d60ed78ea24 |
| MOSS_V1_MODEL_CARD | paper-aligned checkpoint use, metric table and model license evidence | 10,778 | 795c97ec27b38994d4bee033dc3f6f0ad56763510deec3e04a5c1de385139223 |
| MOSS_V2_MODEL_CARD | post-paper v2 channel, sample-rate, checkpoint and use boundary | 12,976 | f491cd9d124156d854d6a3401dc1f227d5d70373b6584b1a5f8adb908a5f7a70 |
| MOSS_NANO_MODEL_CARD | post-paper Nano channel, sample-rate, checkpoint and use boundary | 12,491 | 83cae343211c7c482433c9758f16fc9d17046a0cd450d185b473542e87e35ef8 |
Source releases and licenses¶
| Artifact | revision | bytes | SHA-256 | license |
|---|---|---|---|---|
| moss-audio-tokenizer-8c50ac4.tar.gz | 8c50ac4c5d7287d2ed6ea20a08c90ca439887d23 |
1,948,204 | 7b6bd90d5ba26afd76a4e9e512adea6b20b4e5151f97b08d17a5e963a083bcc0 |
Apache-2.0 |
| full-v1-shard-1 | 3cd226ba2947efa357ef453bcad111b6eafba782 |
4,998,259,168 | 037f441ed30a0ab59f6049de83b824a1b3bd6feb7dbd46c3fbca41fc2f649f28 |
Apache-2.0 model card |
| full-v1-shard-2 | 3cd226ba2947efa357ef453bcad111b6eafba782 |
2,100,202,560 | a187d73d2cda1c2d0676586d9d03c09c0a5813450266af32029c871493fc9582 |
Apache-2.0 model card |
| full-v2-shard-1 | f6e20e543b33d2c252a7ef71bdf8aa71e5ff9169 |
3,978,639,168 | 2d9f9182f17b143a23937feb87c63c08221bd28e685e4bc2fa55dcdce17fcde7 |
Apache-2.0 model card |
| full-v2-shard-2 | f6e20e543b33d2c252a7ef71bdf8aa71e5ff9169 |
3,992,738,352 | d4e48106d0254fe3b00ea0707e88fc6aee076993825e108dd9cef847f9db236e |
Apache-2.0 model card |
| full-v2-shard-3 | f6e20e543b33d2c252a7ef71bdf8aa71e5ff9169 |
523,681,336 | d0449fe1b0ef1f6045946867148d8166b9a91a58d0feca4a18b641494d0b22da |
Apache-2.0 model card |
| nano-shard-1 | 6aa02b01e445cc585582cf0ba480bc3ea6c8dd68 |
87,922,568 | 34d9880d805eecb21bde975202b1c256dbd0eb98c8680b9d3aeffd2bc6ac2f67 |
Apache-2.0 model card |
Installed encoder/decoder identity¶
| Artifact | bytes | SHA-256 | resolved path |
|---|---|---|---|
full_v1:config.json |
6,601 | 0f669e288d39c9c0ffae4e39babe5167b57e89d3132f0785655d1096a8da8e45 |
.model-envs/moss_audio_tokenizer/checkpoint-v1/config.json |
full_v1:model.safetensors.index.json |
148,113 | e107e83fee64adc3ccdb993975290cecb00fcf7d72cdaa388011abad16bcc82d |
.model-envs/moss_audio_tokenizer/checkpoint-v1/model.safetensors.index.json |
full_v1:configuration_moss_audio_tokenizer.py |
12,933 | 349b7ff7e1b3f160f9c80df9a0311672b326b8b73e90459122fb39e6878962bf |
.model-envs/moss_audio_tokenizer/checkpoint-v1/configuration_moss_audio_tokenizer.py |
full_v1:modeling_moss_audio_tokenizer.py |
70,906 | 65cae7744845f1b8ac65957e918cea508efe331a38e87b882b7530b6c8d7caa5 |
.model-envs/moss_audio_tokenizer/checkpoint-v1/modeling_moss_audio_tokenizer.py |
full_v1:model-00001-of-00002.safetensors |
4,998,259,168 | 037f441ed30a0ab59f6049de83b824a1b3bd6feb7dbd46c3fbca41fc2f649f28 |
.model-envs/moss_audio_tokenizer/checkpoint-v1/model-00001-of-00002.safetensors |
full_v1:model-00002-of-00002.safetensors |
2,100,202,560 | a187d73d2cda1c2d0676586d9d03c09c0a5813450266af32029c871493fc9582 |
.model-envs/moss_audio_tokenizer/checkpoint-v1/model-00002-of-00002.safetensors |
full_v2:config.json |
10,166 | aeb9a0e9d88c74bf9fbaa81ee54443d463e09b5f335b3306bb798e282a10e564 |
.model-envs/moss_audio_tokenizer/checkpoint-v2/config.json |
full_v2:model.safetensors.index.json |
191,718 | 912f52f053e04ff7e9abc8f05aa75dfbb40b31c86a0f4ad5c5a36e4aa28a624f |
.model-envs/moss_audio_tokenizer/checkpoint-v2/model.safetensors.index.json |
full_v2:configuration_moss_audio_tokenizer.py |
19,772 | f87a7a975868ce3f0077f374f46ebd2aab610fd7a26cd7569d16827a14e29529 |
.model-envs/moss_audio_tokenizer/checkpoint-v2/configuration_moss_audio_tokenizer.py |
full_v2:modeling_moss_audio_tokenizer.py |
105,970 | 7f807e6ee77a60d512e5aa4a8f58a1d5af4e3722f4ab350d70dd538429391cb9 |
.model-envs/moss_audio_tokenizer/checkpoint-v2/modeling_moss_audio_tokenizer.py |
full_v2:model-00001-of-00003.safetensors |
3,978,639,168 | 2d9f9182f17b143a23937feb87c63c08221bd28e685e4bc2fa55dcdce17fcde7 |
.model-envs/moss_audio_tokenizer/checkpoint-v2/model-00001-of-00003.safetensors |
full_v2:model-00002-of-00003.safetensors |
3,992,738,352 | d4e48106d0254fe3b00ea0707e88fc6aee076993825e108dd9cef847f9db236e |
.model-envs/moss_audio_tokenizer/checkpoint-v2/model-00002-of-00003.safetensors |
full_v2:model-00003-of-00003.safetensors |
523,681,336 | d0449fe1b0ef1f6045946867148d8166b9a91a58d0feca4a18b641494d0b22da |
.model-envs/moss_audio_tokenizer/checkpoint-v2/model-00003-of-00003.safetensors |
nano:config.json |
7,385 | b38892f8ba00efc18af2ad9eca999c7603f871548c2e7f99258cb1cefc70ee06 |
.model-envs/moss_audio_tokenizer/checkpoint-nano/config.json |
nano:model.safetensors.index.json |
34,346 | 2bf639e2c37c8502b1d0d92bf616b8108cb9975d42f587487a103682575b1d6d |
.model-envs/moss_audio_tokenizer/checkpoint-nano/model.safetensors.index.json |
nano:configuration_moss_audio_tokenizer.py |
19,249 | b2d67dc4581e70f4b69b2d7eccefe32581d0c5192fe4d97fe1830e94a255b8aa |
.model-envs/moss_audio_tokenizer/checkpoint-nano/configuration_moss_audio_tokenizer.py |
nano:modeling_moss_audio_tokenizer.py |
138,814 | b14af7c188944da5101adbd4aaa9c3617d66b83507f0efbd6eb416381a105930 |
.model-envs/moss_audio_tokenizer/checkpoint-nano/modeling_moss_audio_tokenizer.py |
nano:model-00001-of-00001.safetensors |
87,922,568 | 34d9880d805eecb21bde975202b1c256dbd0eb98c8680b9d3aeffd2bc6ac2f67 |
.model-envs/moss_audio_tokenizer/checkpoint-nano/model-00001-of-00001.safetensors |
project:moss-audio-tokenizer-nano-native-v1.txt |
845 | f9a6d74a97bb2dba68fea8e2b9ee10407d9cb66ad5627a80621f9c751313fae2 |
environments/moss-audio-tokenizer-nano-native-v1.txt |
project:moss-audio-tokenizer-full-v1-native-v1.txt |
885 | 0effef90079b3975ce1f286a98baa0d0aaba9c888f85d562daad4e656429563c |
environments/moss-audio-tokenizer-full-v1-native-v1.txt |
project:moss-audio-tokenizer-full-v2-native-v1.txt |
838 | 7bf31fab877529822cab7267386ba41e4ca06d3042f2cb72c098e376d930288b |
environments/moss-audio-tokenizer-full-v2-native-v1.txt |
project:moss_audio_tokenizer_payload.py |
18,219 | 306870008b87de146e7221ace6dafdcdd48de1af297180b88cc9c61233299885 |
codecs_/moss_audio_tokenizer_payload.py |
project:moss_audio_tokenizer_v1_payload.py |
17,891 | 6e366547d9365d679bef084c5f1eed1e48d7f403dc4bd84702398bc04cb674c0 |
codecs_/moss_audio_tokenizer_v1_payload.py |
project:moss_audio_tokenizer_v2_payload.py |
21,295 | 2db47970377cdf1db395bb89288b1e665abdd4c9dc6ba6527bcffcd8b417d89f |
codecs_/moss_audio_tokenizer_v2_payload.py |
表示与计账边界¶
- codec 表示:full v1 emits 12.5 frames/s with up to 32 1024-entry quantizer indices per frame; a prefix of q stages derives to 125q representation bps before finite-utterance padding;
- 当前存储/传输 artifact:EvoSpeech MOSSAUD wrappers bit-pack 10-bit indices with variant/rate/length identity; this is a project transport artifact, not an upstream standardized file or network format;
- 分账规则:raw representation bits, complete project payload bytes, full decoder/checkpoint state, runtime memory and compute are reported separately;
- source-blind decoder:true;
- 不能由 D0 推出的结论:deep algorithmic understanding beyond identity and rate fields;reproduction of paper reconstruction, scaling, TTS, ASR, sound or music results;equivalence between full-utterance and stateful streaming inference;quality equivalence among full v1, full v2 and Nano;quality, intelligibility, identity, expression, latency, streaming or Pareto superiority;an official author-defined compressed file or network bitstream。
D1 · 论文深读与证据边界¶
本节深读的是 arXiv:2602.10934v2(2026-02-12,27 页),并交叉检查固定官方源码、
full-v1 模型卡与 2026-06-16 发布的官方 MOSS-Audio-Tokenizer-Eval。它仍是预印本,不写成
“已同行评审”。论文 PDF 已逐页渲染检查;下述页码均指 PDF 页码,而非提取文本的行号。
一句话心智模型¶
CAT 的主张可以压缩成一句话:把 codec 的卷积 encoder/decoder 换成对称、分层 patchify 的 纯因果 Transformer,用 32 层 residual/factorized quantization 把 24 kHz 波形压到 12.5 Hz, 再以重建、语义和对抗目标把整个系统从头联合训练,并通过模型、数据、batch 与 quantizer depth 共同扩展上限。 [论文 Figure 2、§3.1–3.2,pp.4–6;Appendix A,p.22]
这不是“把已有低码率 codec 调得更好”的局部思路。作者在赌一种 SOTA-first 路线:音频 tokenizer 也会像 LLM 一样从同质架构和大规模训练中获益。对 EvoSpeech 而言,它正是检验“通用强模型在 low-bit slice 上能否降维打击专用 low-bit 方法”的关键教师;但 Figure 5 同时提醒我们,参数规模 和 quantization capacity 必须协同,低 bit 本身可能成为再大模型也跨不过去的瓶颈。
论文到底解决什么¶
论文不把 tokenizer 只定义成通信压缩器,而把它定义成原始音频与 autoregressive audio language model 之间的原生离散接口。作者由此提出四类要求:跨 speech/sound/music 的统一表示、架构简单且 可扩展、严格因果、低 frame rate 并能覆盖宽 bitrate。[§2,pp.3–4]
作者认为既有方法通常至少依赖一类外部先验:卷积/混合结构、预训练 SSL/ASR encoder、semantic distillation、分阶段训练或多级生成 pipeline。这些选择可以在特定任务上有效,却可能让模型容量、 数据量、量化容量和训练计算无法作为一个整体扩展。CAT 的研究假设不是“Transformer 天生更适合 波形”,而是同质结构加端到端训练更容易持续吸收规模。[Introduction、Table 1、§6.1]
这个命题需要拆成四个独立证据,不能因一张 headline 图就全部成立:
- reconstruction:同码率是否优于公开 tokenizer;
- scaling:模型、batch 和训练步数增加时是否持续改善;
- semantic sufficiency:离散 token 是否能直接服务 TTS/ASR;
- deployment:论文所称严格因果、frame-level streaming 是否在发布实现中成立。
D1 只确认作者怎样论证这些命题;D4 才能裁决公开 artifact 能复现多少。
CAT 结构:纯 Transformer 不等于“没有下采样”¶
Figure 2 画出对称的 waveform → encoder → RVQ32 → decoder → waveform 主路,以及 quantizer
hidden state → 0.5B decoder-only LLM 的语义支路和多判别器支路。encoder 与 decoder 都是 causal
Transformer,但时域压缩仍依赖 patchify:输入 patch size 240,并在第 12、24、36 层后继续
以 2/2/2 下采样。总 stride 是 240×2×2×2 = 1920,所以 24,000/1,920 = 12.5 frame/s。
[§3.1,p.4;Appendix A.1,p.22]
encoder 四个 stage 的 hidden size 是 768/768/768/1280,block 数 12/12/12/32,attention head 数 12/12/12/20,FFN 均为 hidden 的四倍;总计 68 个 causal Transformer block,使用 RoPE 和 10 秒 sliding-window attention。decoder 反向镜像这套结构,也是 68 blocks。论文称两侧各约 0.8B 参数。[Appendix A.1,p.22]
“CNN-free”因此不能误读为“原样逐采样点做全局 attention”。真正的计算结构是早期大 patch 加 分层 temporal reduction,再在降采样后的序列上扩大 hidden dimension。10 秒 window 说明它并非 无限历史模型;streaming 状态、chunk 边界和 full-utterance 等价仍需代码与数值 gate 验证。
量化、表示率和可变码率¶
CAT 使用 32 层 residual vector quantizer,每层 1024 entries,即每个 index 需要 10 bit。作者 采用 factorized vector quantization:量化 latent dimension 为 8,并对 code 进行 L2 normalization; codebook 直接以梯度下降更新,不使用额外 EMA 更新机制。[§3.1–3.2,pp.4–5;Appendix A.1]
由发布合同可确定,每增加一层的名义表示率是 12.5×10 = 125 bps,因此 q1 到 q32 覆盖
0.125–4 kbps。Table 2 的六个作者点恰好是 q6/q8/q12/q16/q24/q32,对应
750/1000/1500/2000/3000/4000 bps。这里的 bps 是离散 index 信息量,不是带 header、长度、
variant identity、纠错或容器 overhead 的 wire rate。[Table 2,p.8]
quantizer dropout 概率为 1.0:训练时持续暴露不同 RVQ prefix,使同一 decoder 能以 prefix depth 作为合法 rate knob。它与 CAT-TTS 的 Progressive Sequence Dropout 不同:前者训练 tokenizer decoder 接受不同重建层数,后者训练生成模型只预测不同深度的 token prefix。[§3.1、§3.3; Appendix A.1、Figure 8]
训练目标:重建、语义、离散和感知是联合约束¶
语义支路使用 0.5B decoder-only causal LLM,输入 quantizer output,任务标签区分 ASR、
multi-speaker ASR 和 audio captioning,以标准 autoregressive cross-entropy 形成
L_sem(Eq.1)。作者强调它不是预训练 audio encoder 或 semantic teacher;但这不等于“没有
外部语言先验”,论文没有在 D1 范围内证明这个 0.5B LLM 是否完全随机初始化,发布 checkpoint
也不包含该训练支路。[§3.2,p.5;Appendix A.1]
离散部分包含 commitment loss 与 codebook loss(Eq.2–3),通过 stop-gradient 分别约束 encoder
output 和 codebook。重建部分使用 11 个尺度、window 2^5 到 2^15、hop 为 window/4 的
normalized-STFT mel L1(Eq.4)。感知支路沿用 XY-Tokenizer 的 adversarial、feature matching
和 discriminator loss,Appendix 指定 multi-period discriminator 与 complex-STFT discriminator。
总 generator loss是六项加权和(Eq.5)。[§3.2,pp.5–6;Appendix A]
Appendix 给出权重:λsem=20, λrec=15, λcmt=0.25, λcode=1, λadv=1, λfeat=2。数值不能直接解释
为语义比声学“更重要”,因为各 loss 尺度不同;真正需要的是消融,而论文没有逐项 loss ablation。
数据、优化与真正的规模¶
作者称 tokenizer 在约 300 万小时 speech、sound、music 上训练,混合 clean/in-the-wild、 audio-only 和 paired audio-text。带 transcription/caption 的样本使用语义目标,audio-only 只走 声学目标。论文没有给 corpus 名单、语言分布、去重、过滤、授权、每域占比或 manifest,因此 “3M hours”是作者报告的训练规模,不是可重建数据身份。[§4.1;Appendix A.2]
优化使用 AdamW、bf16;generator learning rate 1e-4、weight decay 0.01,discriminator 无
weight decay。训练分两阶段:先关闭 discriminator-related loss 预训练 520k steps,batch 1536,
作者约算为每 batch 5 小时音频;再 adversarial finetune 500k steps,batch 768。虽然作者称 all
modules end-to-end,这里的准确含义是各阶段中参与的模块联合更新,而不是从第 1 step 就同时打开
所有 loss。[Appendix A.2–A.3]
D0 对发布 full-v1 safetensors 的确定性计数是 1,774,566,400 个 FP32 state elements:encoder 和 decoder 各 886,609,920,quantizer 1,346,560。论文 headline 的“1.6B”和 Appendix 的“两侧各约 0.8B”是近似规模口径;发布 artifact 的精确 state 更大。训练 discriminator 与 0.5B semantic LLM 不在推理 checkpoint 内,不能加进 decoder deployment state,也不能假装它们从未参与训练。
官方怎样评测 reconstruction¶
Table 2 把 bitrate 分成 low 750–1500、medium 1500–2500、high 2500–6000 bps。speech 轨使用 LibriSpeech test-clean(英语)和 AISHELL-2(中文),指标为 speaker cosine similarity、STOI、 PESQ-NB、PESQ-WB;sound 轨使用 AudioSet evaluation subset,music 轨使用 MUSDB,指标为 Mel-Loss 与 STFT-Dist,后两项越低越好。[§4.2、Table 2;Appendix B.1]
作者六个重建点的数字是:
| q / bps | SIM EN/ZH | STOI EN/ZH | PESQ-NB EN/ZH | PESQ-WB EN/ZH | Mel audio/music | STFT audio/music |
|---|---|---|---|---|---|---|
| 6 / 750 | .82/.75 | .93/.89 | 3.14/2.73 | 2.60/2.22 | .86/.85 | 2.21/2.10 |
| 8 / 1000 | .88/.81 | .94/.91 | 3.38/2.96 | 2.87/2.43 | .82/.80 | 2.16/2.04 |
| 12 / 1500 | .92/.86 | .95/.93 | 3.64/3.27 | 3.20/2.74 | .77/.74 | 2.08/1.96 |
| 16 / 2000 | .95/.89 | .96/.94 | 3.78/3.46 | 3.41/2.96 | .73/.70 | 2.03/1.90 |
| 24 / 3000 | .96/.92 | .97/.96 | 3.90/3.64 | 3.61/3.20 | .69/.66 | 1.98/1.84 |
| 32 / 4000 | .97/.93 | .97/.96 | 3.95/3.71 | 3.69/3.30 | .68/.64 | 1.96/1.82 |
这些是 paper_claim,不是我们的测量。Table 2 的比较不是一个完全对齐的固定码率 leaderboard:
各模型 sample rate、frame rate、codebook 数、训练域和可用点不同;同一“low/medium/high”区间内
码率也不严格相等。它能支持“作者在若干 rate slices 上报告强结果”,不能单独证明任意条件下的
全局 SOTA。
主观听测提供趋势,但没有可独立审计的统计合同¶
Appendix B.1 说听者按 MUSHRA-based 1–100 分评价重建 speech,Figure 7 给出多模型、多码率均值 曲线。图中 MOSS 曲线从约 83 分上升到约 90 分,reference 约 91;作者据此声称宽码率感知质量 稳定。[Appendix B.1–B.2,p.23]
但论文没有公布听者数、句子数、语言构成、anchor/hidden-reference 规则、筛选、随机化、置信区间、 原始 vote、每模型精确 operating point 或显著性检验。Figure 7 也没有误差条。它因此只能作为作者 主观结果,不能被图像读数伪装成精确可复现表。EvoSpeech 的人工听测仍要保留 item/listener 层级、 tie/JND 与内容/身份/表达/总体分维度合同。
TTS:Progressive Sequence Dropout 的真正作用¶
CAT-TTS 采用 Qwen3-1.7B 初始化 Temporal Transformer,四层随机初始化 Depth Transformer; 训练约 200k 小时 VoxBox + 内部 speech,Seed-TTS-Eval 测试。每个 time step 先把保留 RVQ prefix 的 embedding 相加送进 Temporal Transformer,再由 Depth Transformer 在本时刻按 coarse-to-fine 顺序 autoregressively 预测 token(Eq.8–9)。[§3.3、§4.3;Appendix C]
Progressive Sequence Dropout 以概率 p 启用;启用时均匀采样 K∈[1,Nq−1] 并丢弃更深层,
未启用时保留全 32 层(Eq.6–7)。Figure 3 比较 p=0/.25/.5/1:full bitrate 接近,p=0 在低 rate
下 WER/SIM 明显崩得更快,非零 p 曲线相近,而 p 越大训练显存越低,所以作者后续取 p=1。
这项机制启发我们:搜索 low-bit 生成系统时,训练分布必须覆盖部署 prefix;仅在 inference 截断
一个 full-rate 生成器,会把 distribution shift 误判成 tokenizer 不够强。
Table 3 报告 CAT-TTS 在 Seed-EN 上 WER 1.89、SIM 73.1,在 Seed-ZH 上 CER 1.23、SIM 78.5; SIM 是表中最高,WER/CER 并非所有模型最优。论文“outperforms”应按维度理解,不能改写成四项 全部第一。训练数据包含内部集,也没有 checkpoint/完整代码,因此这条 downstream headline 对 当前 codec D4 是 blocked,而非失败。
ASR:token 有语义,不等于 codec 重建 ASR 已复现¶
CAT-ASR 把 Qwen3-1.7B 作为 backbone,在 vocabulary 中初始化 32 个 speech token;每帧把 32 个
RVQ depth embedding 求和成为一个 LLM input embedding。训练用约 200 万小时内部 audio-text、
global batch 1M tokens、200k steps、4k warmup、Adam peak 5e-5。[Appendix E,pp.26–27]
Table 4 报 CAT-ASR 在 LibriSpeech test-clean WER 2.96、AISHELL-2 iOS CER 3.44。它说明作者能用 CAT token 训练出 competitive ASR,但它测的是另一个 1.7B、2M-hour downstream model,不是 “重建音频经 Whisper/SenseVoice”的同一个问题。EvoSpeech 的双 ASR 仍是 common benchmark 的 内容裁判;不能拿 CAT-ASR 数字代替 codec 后重建内容保持率。
Scaling 结果:最重要的机制与最重要的反例¶
Figure 4 比较 full end-to-end 与冻结 encoder/quantizer 的 partial optimization:前者在 500k steps 的 SIM/STOI/PESQ 曲线上继续提高,后者较早平台。论文由此支持“冻结表示会限制 decoder 单独吸收 更多计算”的因果假设,但没有多 seed、误差条或与完全相同 compute 的完整数表。[§5.1,pp.9–10]
Figure 5 固定 32 quantizers/12.5 Hz,比较 319M、505M、710M、1169M combined encoder-decoder。 模型越大通常越强,尤其高 bitrate;但低 bitrate 时 1169M 可以输给较小模型的更高 bitrate 点。 作者明确将其解释为模型容量与 quantization capacity 的 co-scaling:系统由最窄瓶颈决定。 [§5.2,pp.10–11]
这对 EvoSpeech 的结论非常具体:
- SOTA 模型必须进入 low-bit 比较,因为 representation learner 的规模可以改变整个前沿;
- 但“更大 SOTA 在任意 low-bit 下一定更强”同样不成立,bit budget 可能成为信息瓶颈;
- agent 搜索空间应联合包含 encoder/decoder capacity、latent/codebook capacity、token rate、prefix training distribution 和 state/compute,而不是只搜索一个 bitrate scalar;
- 最终裁决必须是多轴 Pareto,避免用模型 state 换质量后仍宣称“低码率获胜”。
Figure 6 固定 steps 与其他超参,扩大 global batch(图例从 2^0 到 2^8 的相对 scale),四项
speech metric 均随更大 batch 改善。论文把 batch size 当训练 compute/data-throughput proxy,但未给
总 token、硬件、wall-clock、每组 seed 和统计区间,因此不能从图推出通用 scaling law 常数。
六月官方 evaluator 补了什么,又没有补什么¶
固定 commit b8e23bff… 的官方 evaluator 是重要的后续 primary source。它提供三种 MOSS adapter、
RVQ layer sweep、deterministic sharding、manifest stale-check、LibriSpeech test-clean 的公开 parquet
准备脚本,以及 STOI/PESQ-NB/PESQ-WB/mel/spectral-convergence/SDR/SI-SDR/STFT;SIM 与 UTMOS
需要另下权重。环境固定到 Python 3.10、Torch/Torchaudio 2.7.0、Transformers 5.11.0。
但它不是论文原始实验 capsule:
- example config 不固定 checkpoint revision,D3 必须覆盖成 D0 revision;
- 它只给 LibriSpeech 准备脚本,没有冻结论文 reconstruction 用 AISHELL-2 split、AudioSet subset 或 MUSDB split;
- README 没有内置 Table 2 的 expected values/tolerance,也没有 paper-run manifest;
- SIM 依赖 Google Drive 上的 WavLM checkpoint,README 没给 SHA-256;
MOSS_ALIASES把 Nanomax_nq写成 32,而 D0 checkpoint 只有 16 quantizers;nq: all在 adapter load 后若没有从嵌套 config 修正,会计划 q17–q32 并在 reconstruct 时失败;- 默认 metric 集还包含论文 Table 2 未报的 SDR/SI-SDR 等,不能把新增指标当论文复现数字。
这不是否定 evaluator 的价值。相反,它让 D3 能冻结一条作者维护的执行路径,同时要求我们明确 修补 revision、Nano depth 和数据身份,并把“paper-native reproduction”与“official current-tool evaluation”分成两个 verdict。
可复现性缺口与措辞纪律¶
当前公开证据不足以严格重建的部分包括:3M-hour tokenizer 数据 manifest、2M-hour ASR 内部集、
200k-hour TTS 内部集;AISHELL-2 reconstruction 的精确 split;AudioSet evaluation subset 清单;
MUSDB split/preprocess;所有 baseline 的固定 revision;训练/metric container;Figure 3–7 原始点;
多 seed;MUSHRA votes 和统计设计;CAT-TTS/CAT-ASR checkpoint。它们在 D3 必须分别标记
strict_reproducible、approximate_only 或 blocked_before_execution,不能用自己的 60 句结果
替代论文结果。
另一个重要边界是 causality。论文写 strictly causal、10 秒 sliding window 和 frame-level
streaming,固定 README 暴露 chunk_duration;但没有给 stateful/full exact-equivalence table、
algorithmic delay、look-ahead、first-token latency 或长期 state memory。因而 D1 能建立“作者声称且
代码暴露接口”,不能建立“已验证实时通信合同”。
对 EvoSpeech 的核心启发¶
第一,SOTA-first 是必要的,但必须做 state-aware SOTA-first。 MOSS 说明更大的统一 tokenizer 可能在 0.75–2 kbps 改写专用 low-bit 模型的质量边界;与此同时,7.10 GB full-v1 state 与通信 bit 必须分账。否则“表示低码率”会掩盖部署成本。
第二,最小充分表示应研究 co-scaling surface。 搜索变量不只 bps,而是
(model capacity, frame rate, codebook capacity, active depth, training coverage, context, data scale);
搜索目标不只 reconstruction proxy,还包括语言内容、speaker、state、RTF 和 latency。
第三,prefix 是可进化的 curriculum,不只是 runtime knob。 CAT 的 quantizer dropout 与 TTS 的 Progressive Sequence Dropout 都在训练时覆盖不同 prefix。这启发 agent 同时搜索“表示结构”和 “训练时如何让每个低码率 slice 真正可用”,而不是训练满配模型后机械截断。
第四,语义和声学可以共享表示,但 evaluator 必须解耦。 语义 LLM supervision 可能提高 token 可预测性/内容,却也可能牺牲声学细节;论文没有 semantic-loss ablation。EvoSpeech 应把 content、 identity、expression、quality 拆成 Pareto 轴,并让 Breaker 找到相互冲突的样本。
第五,官方 evaluator 本身也是待审代码。 它能成为 D4 起点,不是不可质疑的 oracle。Nano depth、revision、split 和 metric weight identity 都要在协议层冻结,正是 CandidateContract 与 sealed evaluator 的必要性。
D1 形成的 D3/D4 入口¶
D1 给下一阶段留下的可执行问题是:
- D2 追踪 full-v1 的 waveform patchify、stage-wise causal Transformer、factorized RLFQ/RVQ、 prefix slicing、decoder、padding 和 chunked state,验证 tensor shape 与 exact rate;
- D2 对比 full-v1、v2、Nano remote code,明确 v2 stereo interleave 与 Nano depth;
- D3 冻结 Table 2 的 q6/q8/q12/q16/q24/q32、LibriSpeech test-clean 与能获得的中文/音频/音乐轨;
- 对未知 AISHELL-2/AudioSet/MUSDB identity 提前写 blocker,不在结果后换数据;
- 固定 official eval commit、checkpoint revision、metric source/weights/hash、逐样本输出和容差;
- 将 Figure 7 MUSHRA、CAT-TTS、CAT-ASR、scaling training runs 标为 blocked/claim-only,除非作者 后续公开原始资产;
- D5 再用 EvoSpeech 30 EN + 30 ZH、真实 project payload、双 ASR 和共同 metrics 进入跨模型 Pareto。
D1 的最终定位是:CAT 提供了本项目目前最强的“规模化 tokenizer”研究假设,也提供了反对简单 大模型崇拜的证据。MOSS 值得作为能力教师和 agent 搜索空间来源;在 D4/D5 完成前,它仍不是本地 已证明的赢家。
D2 · 核心代码深读¶
D2 结论:passed。 本节把论文主张映射到 paper-aligned full-v1 checkpoint 的固定 remote code、固定权重 index、固定 GitHub README、2026-06-16 官方 evaluator 和 EvoSpeech 当前 payload adapter。18 条 paper-to-code mapping、14 个 hash-bound source file、12 个 release gap 与一个可重放的合成机制 trace 共同回答“实际执行的代码是什么”。它不回答音质 是否达到 Table 2,也不把小模块 trace 写成完整模型复现。
一句话执行心智模型¶
MOSS full v1 的执行图不是“波形先变频谱,再过神经 codec”,而是:
24 kHz mono waveform
→ right-pad to 1920-sample boundary
→ reshape patch 240
→ 12-layer causal Transformer
→ reshape patch 2 → 12-layer causal Transformer
→ reshape patch 2 → 12-layer causal Transformer
→ reshape patch 2 → 32-layer causal Transformer
→ 12.5-Hz, 768-D latent
→ 32-stage Residual LFQ, each 1024 entries × 8-D
→ sum selected prefix vectors
→ mirrored 32/12/12/12-layer Transformer decoder
→ inverse reshapes 2/2/2/240
→ padded waveform
“纯 Transformer”在这里指每个可学习的时序建模块都是 Transformer;降采样仍由无参数的
patch reshape 完成。总 patch factor 240×2×2×2=1920,所以 24,000 Hz / 1,920 = 12.5
frames/s。每帧每个 codebook 是 1024 选一,信息量为 10 bits,因此 q 个 prefix layers 的
名义表示率为 12.5×q×10=125q bps。这条等式描述离散表示,不描述容器、模型状态或计算量。
固定代码面与可信边界¶
D2 的主执行身份不是笼统的 GitHub main。full-v1 checkpoint 自带
configuration_moss_audio_tokenizer.py 和 modeling_moss_audio_tokenizer.py,两者分别固定在
Hugging Face revision 3cd226ba…,SHA-256 为 349b7ff7… 与 65cae774…。权重 index 同一
revision,记录 1,774,566,400 个 FP32 state elements。GitHub commit 8c50ac4… 是项目发布面,
但不能替代 checkpoint remote code 身份。官方 evaluator 又是第三个仓库,固定 commit
b8e23bf…。
这三层必须分账:
| 层 | 决定什么 | 不能替代什么 |
|---|---|---|
| full-v1 checkpoint remote code | 本地模型类、config property、encode/decode/streaming 行为 | 论文训练 pipeline |
| GitHub 项目 | 当前官方说明、variant/API/部署文档 | 某 checkpoint 的逐字节执行代码 |
| MOSS-Audio-Tokenizer-Eval | 当前官方重建、manifest 与 metrics runner | 论文当时的完整 evaluation capsule |
| EvoSpeech adapter | source-blind 文件化、真实字节计账、arena 重采样 | 上游标准 bitstream |
论文训练使用 semantic LLM、discriminator、六类 loss 和两阶段训练;发布 inference state 只有 encoder、quantizer、decoder。固定源中没有可直接重跑 3M-hour 训练的完整代码/数据 manifest, 因此 D2 可以核对 inference mechanism,不能宣称训练代码逐式复现论文。
Encoder:patchify 是维度搬运,不是卷积¶
MossAudioTokenizerPatchedPretransform.encode 对 (B,D,T) 做:
它没有 kernel、bias 或 learned resampler。full-v1 的四个 factor 是 240/2/2/2;Transformer 前后的 linear projection 再把 patch channels 投到每阶段的 hidden size。对已经 pad 到 24,960 samples 的一秒合成 tensor,D2 实际调用固定类得到物理 shape:
| stage | patch | tensor shape B×D×T | 由原始 24,000 传播的 reported length |
|---|---|---|---|
| input | – | 1×1×24,960 | 24,000 |
| patch 1 | 240 | 1×240×104 | 100 |
| patch 2 | 2 | 1×480×52 | 50 |
| patch 3 | 2 | 1×960×26 | 25 |
| patch 4 | 2 | 1×1,920×13 | 12 |
表中的 channel 数只是纯 patch microtrace;正式 config 在每次 patch 之间经过 Transformer 输出 projection,所以正式图的通道依次是 240→384、768→384、768→640、1280→768。时间维与 reported length 的差异不受这些 projection 影响。
发现:代码注释说 ceil,实际却逐层 floor¶
这是 D2 最重要的新发现。_encode_frame 先把 tensor 右 pad 到 1920 的整数倍;patchify 注释随后
明确说应该用 ceil division,以免丢掉 partial padded frame。但下一行实际代码是:
四层重复 floor。24,000 samples 应覆盖 ceil(24000/1920)=13 个物理 frame,实际 length side
channel 变成 12。既有八句 full-v1 smoke 也留下同样痕迹:例如一个物理 41-frame 的句子,
encoder_reported_frame_length 是 40;75 对 74、112 对 111。恰好 stride-aligned 的 84-frame
样本才相等。
量化器用 reported length 构造 mask,所以最后的 physical padded frame 对非整倍数输入被标为 invalid;EvoSpeech 旧 adapter 则保存实际 code tensor 的全部 ceil frames,decode 后按原样本长度 裁剪。这说明旧 transport test 仍证明“文件可独立解码且长度正确”,但最后一个 partial frame 的 内容并非完整利用原始尾部信息。D4 quality 会自然包含这个端点效应;D3 还应加入 aligned 与 non-aligned 成对边界项。我们没有在 D2 擅自修改上游 remote code,也不会把注释当执行事实。
Causal Transformer:为什么它是因果的¶
每个 MossAudioTokenizerProjectedTransformer 先把 BDT 转成 BTD,经过 input linear、若干
Transformer layers、output linear,再转回 BDT。full-v1 四阶段层数 12/12/12/32,hidden size
768/768/768/1280,heads 12/12/12/20;decoder 镜像。
每层采用 pre-norm:norm1 → self-attention → residual,再 norm2 → linear/GELU/linear →
residual。config 的 gating="none",所以发布 full-v1 走普通 FFN;layer scale 初始化 0.01。
attention 将 Q/K 应用 RoPE,再根据绝对 position 构造 delta = pos_q - pos_k:要求 delta≥0
保证看不到未来,同时 delta<context 形成有限滑窗。context 不是每层固定同一个 token 数,而是
当前 scale 的 frame rate × 10 秒:约 1000/500/250/125 tokens。
D2 用固定类实例化 2-layer、8-D、2-head、context=4 的小模块,把最后两个 future frames 加 100。 前四帧输出 max absolute difference 为严格 0.0,future region 则明显改变。这证明固定 attention 实现对这个确定性 micro instance 满足 causal-prefix 性质;它不是 1.775B checkpoint 在任意 chunk 划分上的数值等价证明。
RLFQ:8-D 搜索、512-D 残差与 prefix rate¶
full-v1 config 的 quantizer 输入/输出是 768-D,内部 residual space 是 512-D,共 32 stages;每个 stage 先用 weight-normalized 1×1 Conv 把 512-D residual 投到 8-D,再做:
- 将 latent 与 1024×8 codebook 都 L2 normalize;
- 以平方欧氏距离选择最近 entry;
- 取出未归一化 codebook vector;
- 投回 512-D;
- 加入累计量化向量并从 residual 中减去;
- 到
n_quantizers后停止。
decoder 的 decode_codes 只遍历实际传入的 nq stages,求和后再做一次 output projection。这正是
prefix rate control 可行的代码基础:q6、q8、q16 和 q32 不是四个不同 decoder,而是同一组有序
codebook 的不同前缀。
D2 同时跑了一个固定源码的 4-stage micro instance。输入 residual 是四份相同单位向量之和,四个
codebook 被设成可审计的 ±e0/±e1。每层都选 entry 1,residual RMS 依次
1.4142→1.0607→0.7071→0.3536→0;forward 累积结果与 decode_codes 严格相等,max diff 0.0。
它验证 residual subtraction、prefix stack 与 decode sum 的执行语义,不推断真实 checkpoint 每个
stage 都必然改善 waveform metric。
Decoder:只见 codes,但模型状态很重¶
_decode_frame 的输入是 (nq,B,T) 整数 codes 与可选 length。它调用 quantizer
decode_codes,得到 (B,768,T),依次通过八个 decoder modules,最后 depatchify 回 waveform。
该方法没有 source path 或 source waveform 参数,因此固定模型接口支持 source-blind decoder。
“decoder 只见 bitstream”仍不等于轻量通信 codec。独立 decoder 需要完整 decoder + shared quantizer state;D0 对 full-v1 权重 state 的精确分解是 encoder 886,609,920、quantizer 1,346,560、decoder 886,609,920 elements,总状态 7,098,265,600 bytes。index 的 1.775B 与论文 “约 1.6B”是不同精度口径,不能为了贴近 headline 删除实际发布 state。
decoder 输出的是 padded waveform。裁剪到 original length 和 24→16 kHz resample 都发生在 EvoSpeech adapter,不是模型本体。未来 CandidateContract 必须把 decoder checkpoint identity、 post-processing/resampler 和 payload schema 一起冻结,否则“同 codes”不保证同最终 WAV。
Streaming:有 KV cache 路径,不等于已经证明等价¶
chunk_duration encode/decode 会检查:值大于 0、不超过 10 秒、duration×sample_rate 可被 1920
整除、当前 batch size 为 1。然后对每个 Transformer module 打开 streaming state,逐 chunk 调用
相同 _encode_frame/_decode_frame,最后 concat。MHA 的 RingKVCache 保存有限 context 的 K/V
与 position,RoPE offset 随 chunk 前进。
这足以把 checkpoint 描述为“存在 stateful causal streaming execution path”,但 release 没给:
- full 与 chunk 输出的固定 corpus、rtol/atol 和 hash;
- 首帧/稳态/尾帧延迟分解;
- state memory 随 context 和 batch 的测量;
- 不同合法 chunk boundary 的一致性;
- packet loss、reset 和长时漂移测试。
所以 D2 没有将小 causal test 扩张为“streaming equivalence passed”。D3 必须在看质量结果前冻结 full-vs-chunk boundary matrix;若不等价,两个路径应当视为不同 model points。
官方 evaluator:当前可用,但不是论文时间胶囊¶
固定 evaluator 的执行顺序值得肯定:发现 dataset → build adapter → adapter.load() → 解析 nq →
按 model/nq/dataset 建输出目录 → 保存 GT/synthetic → 写 manifest。manifest hash JSONL、记录有序
output filenames、model metadata 与 nq;分布式 shard 也有 rank/world-size identity。
但 JSONL hash 并不逐个 hash 它引用的 audio file,且 example config 的 repo id 没固定 HF revision。 D3 必须补上 D0 checkpoint revision、音频内容 hash、metric asset hash 和 expected item count。它还 只提供 LibriSpeech test-clean 准备脚本,不能自动重建论文 AISHELL-2、AudioSet subset、MUSDB。
metric 代码实现 STOI、PESQ-NB/WB、spectral convergence、SDR/SI-SDR、mel 与多尺度 STFT;SIM
和 UTMOS 需要额外权重/环境。这些是“当前官方 evaluator 的函数身份”,并不证明与论文运行时的
package version、preprocessing 或 checkpoint 字节一致。因此 D4 会把 paper-native reproduction 与
current-official-tool validation 分栏,不用同一个 official 标签混淆。
Nano alias 32→16:纠正 D1 的风险判断¶
D1 静态审计看到 MOSS_ALIASES["moss-audio-tokenizer-nano"]["max_nq"] = 32,而 Nano checkpoint
只有 16 stages,因此把 nq: all 的 q17–q32 标成待 D2 验证风险。D2 现在执行并读完了调用顺序:
- alias 初始值确实是 32;
run_reconstruct先调用adapter.load();- load 后检查 config 的
num_quantizers/n_quantizers/num_codebooks; - Nano config class 有直接 property
num_quantizers,返回嵌套 quantizer kwargs 中的 16; - 然后才调用
parse_nq_spec("all", max_nq=16),实际计划 1…16。
因此当前固定执行路径不会计划 q17–q32。静态 alias 仍是维护异味:若未来 checkpoint config 不暴露直接 property,风险可能重开;但不能把“可能”写成已经发生的 evaluator bug。这个结论也 说明 D1/D2 分 Gate 的价值:论文/表面审计提出风险,代码/运行 trace 负责证伪或确认。
EVSMV101:representation 不是 file¶
上游只返回 code tensor,没有官方 file/network format。EvoSpeech 的 EVSMV101 为了此前 G4
transport qualification 加了固定 checkpoint、source revision、config/index/modeling hash、原始长度、
frame count、rate/channel identity,再把 quantizer-major symbols 按 10 bits 打包。
D2 对 24,000-sample synthetic identity 构造 32×13 codes:
| 项目 | 实测 |
|---|---|
| nominal continuous representation | 4,000 bps |
| finite one-second padded representation | 4,160 bits |
| packed token body | 520 bytes |
| project header + identity | 1,111 bytes |
| complete payload | 1,631 bytes |
| parse 后 codes | exact |
| 重复 serialization | byte-identical |
40 bytes/frame 是 32×10/8,但完整 payload 不是 40-byte network packet stream;表中的
audio_packet_count=13 是为统一 D2 validator 表达的逻辑 frame accounting。当前 adapter 还把
NUM_CODEBOOKS=32 写死,shape validator 拒绝 6/8/16 stages。也就是说论文/模型支持 prefix rate,
项目的现有真实 bitstream 只支持 q32。D3 前必须新增 versioned prefix-capable payload,不能仅在
内存里 slice codes 后自报名义码率。
确定性 executable trace¶
scripts/trace_moss_audio_tokenizer_code.py 必须用冻结 MOSS venv 重放。它不加载 7.10-GB 权重,
只做四类可在数秒内完成的机制审计:
- 实际调用固定 patchify class,捕捉 tensor/report length 分叉;
- 实际调用固定 causal Transformer class,做 future mutation prefix test;
- 实际调用固定 ResidualLFQ class,验证 residual 与 prefix decode;
- 对 synthetic q32 codes 做 source-blind payload roundtrip;
- 加载 Nano config class 与 evaluator nq parser,验证 32→16 覆盖顺序。
trace 明确写 external_speech_or_quality_sample=false、full_checkpoint_loaded=false、
quality_metric_computed=false。全模型已有八句 G4 是另一份历史 transport evidence;D2 不重复耗时
encode/decode,也不把历史 speech 输出改名为合成机制测试。
论文、代码与 release surface 的关键差异¶
| 论文/表面印象 | 固定代码事实 | 对后续实验的约束 |
|---|---|---|
| pure causal Transformer | 可学习时序模块是 Transformer,rate change 依赖 reshape patch | 搜索 patch schedule 与 Transformer capacity 要分参数轴 |
| low-rate prefix 灵活 | 模型 encode/decode 支持 nq prefix | EvoSpeech payload 仍需新增 q6/q8/q16 schema |
| patch length 应 ceil | 注释写 ceil,表达式是 floor | D3 加 stride boundary;D4 报 endpoint effect |
| streaming API 已发布 | KV cache/chunk path 存在 | 未做 full/chunk equivalence 与 latency 前不判 passed |
| Nano alias max 32 | load 后 config property 覆盖成 16 | 记录 stale default,但撤回“当前必然 q17–q32 失败” |
| 1.6B model | release index 是 1.7745664B state elements | 资源账使用实测 release state,论文 headline 保留原文 |
| official evaluator | 是晚于论文的当前官方工具 | current-tool 与 paper-native 两条复现轨分开 |
对原创 baseline 与 AI evolution 的启发¶
MOSS 最值得迁移的不是 1.775B 权重本身,而是“同质模块 + 明确瓶颈 + 可扩展 prefix”的搜索结构。 原创 baseline 可以先建立远小于 MOSS 的 causal patch Transformer,保留以下可进化轴:
- patch schedule:总 stride 相同下比较一次大 patch 与多级 2× patch;
- model capacity:每 scale 的 width/depth/head 数,而不是只增总参数;
- quantizer capacity:stages、codebook size、factorized dimension、residual dimension;
- context:不同 scale 的秒数或 token 数;
- training coverage:prefix dropout 分布、低码率采样权重、data mixture;
- state/runtime:decoder state、KV cache、RTF、首帧延迟;
- wire contract:prefix depth、frame/length identity、真实完整字节。
agent 的 reward 不能只优化 PESQ 或只优化 bitrate。最小向量至少包含 content、quality、speaker、wire bps、decoder state、RTF,并保留语言/数据集条件。MOSS Figure 5 已提示低 rate 时 quantization bottleneck 会遮蔽 model scaling;D2 又发现 length side-channel 能让尾帧默默失效。这两者都说明自动研究者必须 能生成 breaker:rate bottleneck breaker、non-stride length breaker、streaming-boundary breaker, 而不只是沿当前平均分爬山。
D2 对 D3/D4/D5 的直接约束¶
- D3 的 primary model point 仍是 full-v1 revision
3cd226…,不能改用 Nano 省算力后声称同模型; - 新增 prefix-capable payload v2,支持且只支持预注册 q6/q8/q16/q32,decoder 只见 payload;
- payload header 固定 nq、codebook size、frame count、original length、checkpoint/code hashes;
- D3 加
T mod 1920 = 0/1/1919或等价边界,单独记录 physical frames 与 reported lengths; - current evaluator 全部覆盖 fixed revision,不接受 mutable repo id;
- paper-native 轨把缺失 AISHELL-2/AudioSet/MUSDB manifest 标 blocked,不用自选集冒充;
- common benchmark 复用公共 EN/ZH 60 句和双 ASR/质量/speaker/state schema;
- full/chunk equivalence 在看结果前固定 chunk sizes、rtol/atol、边界长度和失败分类;
- 云端 runner 使用持久 Volume + 临时 GPU,output 先落 volume 再回传 hash-bound artifacts;
- D4 允许“官方主张未复现/blocked”作为结果,禁止为了过 Gate 改 tolerance。
D2 允许与禁止的结论¶
D2 允许说:
- full-v1 的真实 inference 图、stage 数、投影、attention、RLFQ 和 decoder call path 已映射到固定行;
- fixed small-module trace 验证 patch shape、causal prefix 与 residual-prefix decode 语义;
- 发现并复现 non-multiple length 的 13 physical / 12 reported frame 分叉;
- 当前 evaluator 的 Nano
nq: all在 load 后正确收敛到 1…16; - q32 project payload 对合成 codes 真实打包、完整计字节、精确 roundtrip;
- 现有 project payload 不支持 q6/q8/q16,是 D3 前置缺口。
D2 禁止说:
- MOSS 本地音质达到或超过 Table 2;
- 27 页论文的训练、MUSHRA、TTS、ASR 或 scaling run 已复现;
- 小模块 causal test 等价于 full checkpoint 所有 streaming chunk 都数值等价;
- 4 kbps representation 等于 4 kbps wire;
- stale Nano alias 已导致官方 evaluator 运行失败;
- full v2 或 Nano 的质量可代表 paper full v1;
- Apple CPU 的旧 G4 RTF 代表 CUDA production latency;
- MOSS 已是无条件 SOTA 或 minimum-sufficient-speech winner。
Primary-source code manifest¶
结构化 manifest 位于 code_map.json,source hashes 同步写入 measurements/code_trace.json。D2 固定
14 个文件,覆盖 full-v1 config/model/index、项目 README、官方 evaluator 的 adapter/RVQ/
reconstruct/manifest/metrics、Nano config 身份。每条 mapping 都引用 D1 claim ID,保证“代码发现”
能追溯到它支持、收窄或反驳的论文/官方主张。source map 与 trace 若有一个字节变化,registry 或
--check replay 必须失败,而不是静默生成新证据。
MOSS-Audio-Tokenizer:论文原生复现协议¶
D3 · 论文原生复现协议¶
D3 在任何正式 full-v1 quality run 之前冻结。此前已经做过 checkpoint 身份、八条公共样本的 Transport Qualified、无语音的 D2 mechanism trace,以及数据/metric 资产下载;它们没有产生这份 协议所定义的 2,620 条 × 6 码率最终 SIM、STOI、PESQ-NB 或 PESQ-WB。正式 D4 只能在本协议 commit 之后启动。若云端结果不理想,不能回头更换样本、码率、模型、judge 或成功阈值。
一句话裁决¶
MOSS 是目前项目里最接近“论文数据集和当前官方 evaluator 都可执行、但 paper-time 完整复现包仍 不完整”的模型。英文轨可以在完整 LibriSpeech test-clean 上,用论文同名四指标和 paper-aligned full-v1 checkpoint 做很强的current-official cross-check;但是 evaluator 晚于论文发布,SIM 的 transitive runtime 未完全固定,AISHELL-2/AudioSet/MUSDB manifest、baseline outputs、MUSHRA votes、 TTS/ASR/scaling checkpoints 都没有释放。因此 D4 必须同时给出可执行结果和明确 blocked rows,不能 把“本地跑出四个数”升级成整篇论文已经复现。
full v1 是唯一 D4 主体¶
paper-aligned endpoint 固定为 OpenMOSS-Team/MOSS-Audio-Tokenizer revision
3cd226ba…:24 kHz mono、12.5 frames/s、32 层 ordered RLFQ、每层 1024 entries。7.098 GB 的六个
checkpoint/remote-code 文件逐个核 bytes/SHA-256;模型加载后还必须核 1,774,566,400 state elements、
stride 1,920 和 32 个 quantizers。post-paper full v2 与 Nano 都是独立 endpoint,不能为了更便宜的
GPU 计算替代 v1,也不能借它们的分数解释 Table 2。
固定 source commit 是 8c50ac4…。当前 evaluator commit 是 b8e23bff…,它独立晚于论文,因而
单独记录 archive 与七个关键成员。example config 没 pin checkpoint revision;项目 runner 必须使用
本地 hash-bound checkpoint,禁止让 Hugging Face main 漂移。
完整 LibriSpeech test-clean,而不是结果友好的小样本¶
论文英文 speech row 指定 LibriSpeech test-clean。本地 OpenSLR archive 是 346,663,984 bytes,
SHA-256 39fde5…。D3 扫描全部 2,620 个 16-kHz mono FLAC,逐文件记录 relative path、bytes、SHA、
speaker、chapter、samples、duration、transcript 与 resample 后长度。manifest 有 40 speakers、
19,452.480625 秒,SHA-256 a5f740…。
最终英文结果必须覆盖全部 2,620 条。64 条 pilot 只负责吞吐/费用判断,selection 已用固定 salt 的 SHA-256 排序在分数前落盘;它不能变成 final subset。四条 calibration 是两个 stride-aligned、两个 non-aligned、四个不同 speaker 的短句;它们只验证优化等价性,不用于决定 final score。所有 decode 或 metric failure 都保留,不能因为太长、PESQ 报错或 SIM 慢就换句。
六个论文 rate 与真实 payload¶
正式点是 q6/q8/q12/q16/q24/q32,对应 nominal representation 750/1000/1500/2000/3000/4000 bps。
这些值是 12.5 frames/s × q × 10 bits/index,不是完整 wire rate。上游只返回 tensor codes,没有
author file/network bitstream。EvoSpeech 的新 EVSMVP02 将每个 10-bit index 真实 bit-pack,绑定
source/checkpoint/config/index/shard、q、frame、原长度与 rate 身份;D4 同时报 raw representation bits、
token body bytes、header bytes 和完整 payload bytes。
decoder CLI 只获得 payload ledger、checkpoint 与 output directory,不接收 source waveform path 或 dataset manifest。reference WAV 由 encoder 阶段另存,evaluator 最后只读 reference/reconstruction pairs。这条进程边界让 payload accounting 与 source blindness 成为接口事实,而不是候选自报字段。
q32 一次编码优化必须先证明等价¶
官方 evaluator 对每个 q 调一次 reconstruct,会重复 encoder 六次。RLFQ 的合法 rate control 是
ordered prefix,所以项目计划 q32 encode 一次、写六个 prefix payload、分别 decode。这能显著减少
GPU 时间,但不能仅凭算法直觉宣布等价。
校准固定四条公共句和 24-kHz 长度 3839/3840/3841 的三条 deterministic sine boundary。每个 case 的
q32 prefix 必须与 fresh q6/q8/q12/q16/q24/q32 encode token tensor 完全相同;两条 decode waveform
最大绝对差不超过 1e-6、平均绝对差不超过 1e-8。七个 case、六个 q 全部通过才可运行 optimized
pilot/full。任一失败即停,不能放宽 tolerance;后续只能走官方六次 encode 或发布新协议。
stride 尾部必须成为可见诊断¶
D2 发现固定代码注释说 length propagation 使用 ceil,但实际 patchify 重复 floor。完整 test-clean 中
157 条 resample 后恰好被 1,920 整除,2,463 条不整除;物理 tensor 用 padding 产生 ceil frames,
reported length 可能少一帧。D4 每条必须同时保存 physical frames、encoder-reported frames、remainder
和最终 decoded samples。所有 2,620 条仍进入主 aggregate;aligned/non-aligned 只做诊断,不能成为
剔除规则。3839/3840/3841 boundary 则显式夹住 mod=1919/0/1。
当前官方四指标与统计¶
SIM 使用 evaluator 指定的 wavlm_large_finetune.pth,本地文件 1,301,926,579 bytes、SHA-256
51f07e…;STOI 固定 16 kHz non-extended;PESQ-NB/WB 都按当前 evaluator 先 resample/trim 到共同长度。
SIM 的 Stopes/s3prl 路径和 transitive WavLM runtime 在 author release 中没有完整 lock,因此即使权重
hash 一致,也只能称 current-official。
每个 q/metric 保存全部 per-item value。aggregate 报 mean、median、sample standard deviation;95%
interval 用 speaker-cluster bootstrap,10,000 replicates、seed 3407。缺失或非有限值不能转成 0,也
不能从均值静默消失:该 rate 判 failed 并保留 error。论文英文 author value 与当前 mean 并排并报
current - author,但没有“差小于 X 就算复现”的阈值,因为 paper-time evaluator、baseline outputs
和每项账本没有完全释放。
64 条 pilot 与费用停止规则¶
pilot 的 64 IDs、总音频 440.64 秒和 full/pilot 音频比例 44.145970917 已写入 D3 identity。它必须先 通过 calibration,再完成六个 payload/decode 和四指标,无掉行。用实际 per-item encode/decode 与 metric phase wall time乘固定比例,model-load overhead 单独报告且不能从保守投影中扣除。
只有 projected total ≤ 8 GPU-hours、按实际机价 projected cost ≤ 8 USD、missing/failed rows 为零, 才授权 full。单 Pod 仍受 policy 的 ≤4 hours/≤10 USD/自动 terminate 保护;runner 按 item 原子写账本, 所以 full 可以跨 disposable Pods resume。投影失败时不得缩为 64 条“完成”:保留 full 目标,改用 更便宜同机房 GPU、并行执行或显式 protocol v2。
哪些论文结果在运行前就 blocked¶
AISHELL-2 缺 author exact split/waveform manifest;AudioSet 缺 evaluation subset IDs 与可获得的固定 segments;MUSDB 缺 exact release/track/stem/preprocessing;完整 Table 2 还缺所有 baseline checkpoint、 decoded outputs 和 paper-time judge lock。这四类不能被 D5 中文集、任意 AudioSet samples 或新 baseline 输出填补。
Figure 7 只有 MUSHRA-style 均值曲线,没有 stimuli、anchors、hidden references、assignments、listeners、 screening、votes 和 uncertainty formula。用户之后肉耳听当前样本很有价值,但那是 D6 新实验。 CAT-TTS/CAT-ASR 缺 downstream code/checkpoints/data/prompts/outputs;ASR table 也不是 reconstructed-audio ASR。scaling/training figures 缺训练混合、intermediate checkpoints、optimizer state、seed 与成本账本。 stateful streaming 有 API,却缺 full/stateful numerical oracle、长期 state memory 和 timing harness。
RunPod capsule 与恢复边界¶
第一次 RunPod 付费尝试直接拉 linux/amd64
pytorch/pytorch@sha256:7db0…。Pod 已被分配 RTX 4090,但反复保持 uptimeSeconds=0,SSH 只返回
pod not ready;容器、job、checkpoint 和模型都没有启动,也没有任何 quality value。精确 Pod 随后删除,
50-GB Network Volume 保留。该事件是 infrastructure_startup_failed_before_container,不能写成 MOSS
失败。脱敏字段、费用上界和清理状态保存在 d4_infrastructure_attempts.json。原始 provider create JSON
包含账户 SSH public-key identity,因此没有提交。
D3.1 在未看见任何结果时只修订环境供应方式,不动数据、模型、六码率、四指标、calibration tolerance、
统计或预算 gate。新路径使用 RunPod 官方缓存模板 runpod-torch-v21,创建前由 adapter 实时检查模板
ID 与 imageName;冻结时 registry tag 解析为 linux/amd64 manifest sha256:2594f25b…、config
sha256:4f4d622c…。RunPod API 不暴露 Pod 内实际 pull 的 digest,所以协议明确记录这个证据边界,不把
“tag 当时解析到该 digest”夸成 provider 内部字节已经独立证明。
模板里的 Torch 2.1/CUDA 11.8 只负责快速进入容器,不参加正式模型运行。job 在
/workspace/evospeech/envs/moss-audio-tokenizer-d4-cu128-v2 建立不含 system-site-packages的 Python
3.10 venv,从 PyTorch 官方 CUDA 12.8 index 显式安装 torch==2.7.0+cu128 与
torchaudio==2.7.0+cu128;Pod 选择同时要求 host 至少 CUDA 12.8。任何 formal phase 前都硬核这两个
版本、torch.version.cuda == 12.8、CUDA available 和 GPU name。requirements SHA、完整 pip freeze、
OS package inventory、driver/GPU report 与 log 必须随结果归档。
第二次 Pod 用缓存模板约五秒即获得 SSH,RTX 4090、24,564 MiB、driver 580.126.20 和 Python 3.10.12
都通过,但 formal job 前的只读检查发现 base template 没有 ffmpeg;其他 curl/gcc/git/sha256sum/tar
均存在。D3.2 因而把最低 OS bootstrap 也写进 hash-bound job:仅当 ffmpeg 或 libsndfile 缺失时,
执行 apt-get install --no-install-recommends ffmpeg libsndfile1,不做系统 upgrade,随后再次核命令并在结果
中导出完整 dpkg-query -W。这不是模型失败,也没有产生 checkpoint load、inference 或 metric value;
它避免每台临时 Pod 都依赖一条未记录的人工安装命令。
D3.2 commit 后启动的第一次正式 calibration job 完成了隔离环境版本自检,并下载、hash-bound 了
full-v1 checkpoint 与 LibriSpeech archive;checkpoint 尚未 load、正式 calibration block 尚未进入时,GNU
tar 在 Network Volume 上因尝试恢复 archive 的 uid/gid 而返回失败。archive SHA-256 正确,退出时已经解出
完整 2,620 个 FLAC 与 87 个 transcript;错误只涉及 ownership metadata,不涉及音频 bytes。D3.3 因而只把
解包改成 --no-same-owner,并用绑定 archive hash 的完成 sentinel 取代“目录存在即完成”。若解包中断,
sentinel 不会产生,重试会覆盖 partial tree;数据、模型、六码率、指标、阈值、统计与预算 gate 全部不变。
脱敏事件保存在 infrastructure ledger,不能写成 MOSS 模型失败。
D3.3 retry 随后通过 extraction sentinel,固定 evaluator commit 并完成 WavLM judge hash;CUDA runtime identity
也通过。未加载 checkpoint 前,冻结的 dataset freezer 因仓库内缺 data/raw/test-clean.tar.gz 停止:job 已
建立 data/raw/LibriSpeech/test-clean,却漏了 freezer 用于重新核 archive bytes/hash 的第二个固定路径。
D3.4 只增加从该 repository-relative path 到已核验 persistent archive 的 symlink;freezer 本身和所有
scientific contracts 不变。这次失败同样没有 model inference、metric 或 formal result artifact。
checkpoint、数据、WavLM、cache、venv 和结果只放 /workspace 持久 Network Volume,不进临时容器盘。
job 启动时要求当前 D3 amendment commit 是 HEAD ancestor,检查 CUDA、checkpoint、archive、manifest 和 judge hash。
旧 direct-image key 已从可执行 policy 移到 retired ledger,防止日常命令误重试。
正式 phases 是独立 process:calibrate → encode → decode → metrics。每 item 的中间 JSON、payload、WAV
与 SHA 允许在自动 terminate 后 resume;已经存在的结果不能仅凭文件名信任,最终 archive 必须重核
hash/schema/row count。本地回传验收后才删除 Pod,Network Volume 保留。
D4 calibration · q32 prefix 优化已通过¶
正式成功 run 使用 protocol commit 9e14b043…、RTX 4090、driver 580.126.20、Torch/Torchaudio
2.7.0+cu128 与 CUDA 12.8。四条冻结 LibriSpeech 语音和 3,839/3,840/3,841-sample 三条 deterministic
stride-boundary sine 共 7 cases;每条都比较 q6/q8/q12/q16/q24/q32,因此总计 42 comparisons。
结果为 42/42 code tensor exact、42/42 waveform passed。observed maximum absolute difference 与所有
case 的 mean absolute difference 都是 0.0,严格低于预先冻结的 1e-6 / 1e-8。checkpoint load
66.53 秒,比较计算 8.55 秒,runner 总计 75.10 秒。结果文件 SHA-256 为 d3e6058d…a60d8;pip freeze、
requirements hash、OS package inventory、NVIDIA report 和完整 formal log 都独立归档并由
d4_calibration_runtime.json 绑定。
这个结论只解除“q32 编一次再截 prefix 会不会改变结果”的优化风险。它不产生任何 PESQ/STOI/SIM 分数,
也不证明论文 Table 2、完整 2,620 条费用、中文、streaming 或 Pareto 结论。D4 仍为 in_progress;下一步
必须先通过冻结的 pilot/cost gate,再跑完整 2,620 条。
D4 pilot · 已完整通过并授权 full¶
第一次正式 pilot 在完成 calibration、64/64 q32 encode 和 384 个 payload 后,暴露了一个确定性的 result-root
相对路径重复拼接问题;它在第一条 decode 读取前停止,因此没有看到任何 metric value。修复只改变路径解析和
目录穿越检查,经回归测试后以 commit e57c9bf… 恢复同一组 hash-checked encode 结果。
成功重试从 2026-07-21T15:04:29Z 到 15:12:05Z,完成 64 encode、384 source-blind decode,以及
q6/q8/q12/q16/q24/q32 每档 64 条 SIM/STOI/PESQ-NB/PESQ-WB;所有值 finite,零 evaluator error。
pilot 均值只作为运行与方向检查,不替代完整结果:
| q | nominal bps | SIM | STOI | PESQ-NB | PESQ-WB |
|---|---|---|---|---|---|
| 6 | 750 | 0.8104 | 0.9260 | 3.1111 | 2.5620 |
| 8 | 1000 | 0.8676 | 0.9395 | 3.3316 | 2.8244 |
| 12 | 1500 | 0.9164 | 0.9543 | 3.5978 | 3.1478 |
| 16 | 2000 | 0.9396 | 0.9625 | 3.7471 | 3.3909 |
| 24 | 3000 | 0.9593 | 0.9708 | 3.8891 | 3.5976 |
| 32 | 4000 | 0.9664 | 0.9742 | 3.9404 | 3.6847 |
按冻结公式投影,full 需要 8,920.98 GPU 秒,即 2.4781 小时;以本次 RTX 4090 的
$0.699/hour 计为 $1.7322。两者均低于 8 小时 / 8 美元,故 full 已授权。pilot 运行还发现 s3prl
会下载一个 wavlm_large.pt:1,261,965,425 bytes,SHA-256 6fb4b3c3…00f。这是当前 evaluator 的
transitive asset,不证明 paper-time WavLM identity;full 前只把它移入持久、hash-bound cache,不改变数据、
rate、metric、统计或阈值。
D4.2 因而在任何 full metric value 之前新增一个纯运行环境约束:job 把 s3prl download dir 显式指向
/workspace/evospeech/cache/s3prl/download,并在导入 evaluator 前检查这个 base checkpoint 的 bytes 与
SHA-256。缺失时可以从已记录 URL 下载到 .part,只有完整身份通过才原子替换;不再使用临时 Pod 的 home
cache。这个修订不会重选数据、改 rate、换 metric、改统计或放宽费用门禁。
pilot 完成时 D4 仍为 in_progress:只有完整 2,620 × 6 = 15,720 个 source-blind decode、每档
2,620 条 finite metrics、speaker-cluster bootstrap、author delta、runtime identity 和完整 log 全部
通过审计,才能完成 D4。后续 full 结果已按这条预注册门禁完成,见下一节。
第一次 full attempt 在 item 83、任何 full metric value 之前再次 fail-closed。1188-133604-0018 有
184,799 个 16-kHz samples,精确目标长度为 277,198.5;TorchAudio resampler 按 ceiling 输出 277,199,
但 v5 derived manifest 用 Python round 得到 277,198。D4.3/protocol v6 将长度规则写死为
ceil(source_samples × 24000 / 16000),只更正 12 条 derived model-length/remainder 字段。source audio ID、
bytes、SHA、顺序、六档 rate、payload、metric、统计和费用门禁均不变;calibration/pilot 受影响条数都是 0,
因此既不重选 pilot 也不丢弃 full item。已完成的 82 个 atomic encode records 与 492 payload 在恢复时逐文件
重核后复用。
D4 full · 完整 2,620 条当前官方交叉验证已通过¶
protocol v6 恢复运行最终完成 2,620/2,620 个冻结 LibriSpeech test-clean 源、15,720/15,720 个真实
EVSMVP02 payload、15,720/15,720 个 source-blind decode 与 15,720/15,720 行四指标。没有缺行、
非有限值或 evaluator error;每档统计都覆盖 40 个说话人,并按冻结的 seed 3407 执行 10,000 次
speaker-cluster bootstrap。
| q / nominal bps | SIM(current / author) | STOI(current / author) | PESQ-NB(current / author) | PESQ-WB(current / author) |
|---|---|---|---|---|
| 6 / 750 | 0.8245 / 0.82 | 0.9263 / 0.93 | 3.1373 / 3.14 | 2.5999 / 2.60 |
| 8 / 1000 | 0.8770 / 0.88 | 0.9401 / 0.94 | 3.3751 / 3.38 | 2.8687 / 2.87 |
| 12 / 1500 | 0.9242 / 0.92 | 0.9549 / 0.95 | 3.6387 / 3.64 | 3.2003 / 3.20 |
| 16 / 2000 | 0.9453 / 0.95 | 0.9631 / 0.96 | 3.7754 / 3.78 | 3.4051 / 3.41 |
| 24 / 3000 | 0.9633 / 0.96 | 0.9712 / 0.97 | 3.9040 / 3.90 | 3.6104 / 3.61 |
| 32 / 4000 | 0.9696 / 0.97 | 0.9746 / 0.97 | 3.9504 / 3.95 | 3.6891 / 3.69 |
这是当前 checkpoint + 论文之后发布的官方 evaluator 的完整数据集 approximate cross-check,不是
paper-time Table 2 的二进制等价复现。14 个 claim families 中,3 个严格通过、英文分数轨 1 个
approximate、9 个因作者资产未公开而 blocked、共同多语言横评 1 个留给 D5。正式逐项 ledger、
置信区间、完整 delta 和边界见 paper_native_results.json、paper_native_items.jsonl 与
paper_native_report.md。
本次 disposable RTX 4090 Pod 约使用 3.179 GPU-hours / $2.193;证据回传验哈希后 Pod 已删除, 50-GB Network Volume 保留。D4 不运行 Whisper、SenseVoice 或外部 ASR API,也不要求个人录音。 下一 Gate 是 D5:在现有 30 English + 30 Mandarin 冻结共同集上评估 q6/q8/q16/q32,且不得把该中文轨 冒充论文未公开精确 split 的 AISHELL-2 结果。
D5 protocol · 同一 60 条公共参考、四个合法 prefix¶
D5 在任何 MOSS 共同横评输出之前冻结。它逐字节复用 encodec_common_benchmark_v1 的 30 条
LibriSpeech English + 30 条 FLEURS Mandarin 16-kHz PCM16 reference;60 个 WAV 的 samples、bytes 与
SHA-256 已单独写入 MOSS manifest,不重新选择、重采样或按结果删句。FLEURS 中文仍是新共同实验,
不是论文未公开精确 split 的 AISHELL-2。
点位预先固定为 q6/q8/q16/q32,即 nominal 750/1000/2000/4000 bps。encoder 每句只执行一次 q32,
再发出四个真实 EVSMVP02 prefix;这项优化只因 D4 已在 42/42 比较上证明 exact。decoder 是独立
process,只接收 checkpoint、payload-only manifest 与 output directory,不接收 reference root、文字或
metric;普通共享 filesystem 仍明确不写成强隔离。
自动裁判沿用 Batch A 同 revision 的 Whisper-small、SenseVoiceSmall、WavLM-SV、Resemblyzer、 ViSQOL v3.3.3、STOI、SI-SNR 与三项表达 proxy。只有 reference WAV SHA-256 完全相同时,才复用原音 ASR transcript 与 speaker embedding;所有新 decoded hash 各自评一次。D5 完整条件是 60 次 q32 encode、 240 个 payload、240 个 source-blind decode 与每个指标家族 240 行;没有“必须胜出”的阈值,也不要求 个人录音。
7.098-GB checkpoint/model state、nominal representation、finite payload 与运行时分账。为了避免对 1.775B 模型反复冷加载,CUDA runner 每个 encode/decode phase 只 load 一次,逐句报告 warm timing、phase 单列 model-load;这些时间不能冒充 Batch A cold-process timing。所有 dataset、point、cache、metric、验收与 过度声明禁区都已由 deterministic freezer 验 hash,只有对应 protocol commit 后才允许启动新 Pod。
第一次云端 dry-run 在两次相邻库存查询之间发生了变化:前一次仍有 EU-RO-1 候选,后一次只剩
EU-CZ-1,旧 adapter 把同机房当排序偏好,因而生成了一个不能安全挂载现有 Volume 的提案。该提案
没有执行,Pod、codec output 和 metric output 均为零。D5.1 因此在结果前补入双重硬门:候选列表只保留
live Network Volume 所在 datacenter,pod_command 再独立拒绝跨机房组合;adapter 自身也进入 D5
冻结哈希。数据、码率、指标、统计和验收条件均未改变。
签出 D5.1 后,fresh provider template 的启动检查又暴露出继承自 D4 的多余 ffmpeg 要求。D4 从
FLAC archive 建数据,确实需要 ffmpeg/libsndfile bootstrap;D5 输入已经是哈希绑定的 PCM16 WAV,codec
stage 不调用 ffmpeg,ASR 与 ViSQOL 又在独立的本地裁判环境运行。D5.2 因而没有临时污染机器,而是把
job 收紧到它实际调用的 dpkg-query、git、nvidia-smi 与 sha256sum。此时虽然 disposable Pod
已经创建,但 checkpoint 未加载,codec/metric output 仍为零;科研合同仍未改变。
D4 的固定输出与失败规则¶
D4 最终必须导出:prefix equivalence、pilot cost projection、2,620-item × 6-rate payload/decode ledger、 四指标 per-item ledger、aggregate/CI/author delta、endpoint identity、metric identity、完整 log 和 Markdown report。至少 15,720 decode rows;每个 q 至少 2,620 个 finite metric rows。任何 identity、calibration、 row count、payload、source blindness 或 missing-value contract 失败,都不能写“D4 passed”。
blocked claim 仍是正式结果行;blocked_before_execution 不是失败逃生口,而是证明缺少哪项 author asset。
当前英文值即使非常接近论文,也只能 approximate;若明显不同,也不能直接宣布论文错误,必须先审计
checkpoint、resample、SIM transitive runtime、PCM serialization 和 current-vs-paper evaluator 差异。
D3 允许与禁止的结论¶
以下是 D3 冻结时的历史结论边界;D4 的实际执行结果以上文 full 归档为准。
D3 允许说:full-v1、完整英文数据、六码率、四指标、prefix calibration、tail diagnostics、统计、预算 stop、D3.4 RunPod persistent overlay/minimal OS bootstrap/Network-Volume-safe extraction/repository-relative archive identity、结果合同和十四个 claim families 已在分数前冻结;新 payload 真正支持 q1–q32;provider startup failure、OS preflight、archive ownership failure 与 archive-link omission 都没有进入模型;D3.4 commit 后正式云端 calibration 可以恢复。
D3 禁止说:任何 quality score 已通过;当前 evaluator 就是 paper-time evaluator;MOSS 已严格复现或 超过 Table 2;64 条 pilot 可以替代 2,620 条;nominal bps 就是 wire bitrate;full v2/Nano 代表 v1; D5 中文或 ASR 可以补论文 AISHELL-2;full-utterance score 证明 streaming equivalence;缺 checkpoint 的 TTS/ASR/scaling/MUSHRA 已经验证。当时的下一步只允许按已提交协议先跑 calibration,再跑 pilot 并 裁决是否授权 full;这些 Gate 的后续实际结果已经在上文逐项归档。
D4 · 完整 LibriSpeech English current-evaluator 交叉验证¶
D4 已通过:2,620/2,620 个冻结 LibriSpeech test-clean 源各执行一次 q32 编码,生成并独立解码 q6/q8/q12/q16/q24/q32 共 15,720 个真实 EVSMVP02 payload;15,720 行 SIM、STOI、PESQ-NB、PESQ-WB 全部有限且无 evaluator error。decoder CLI 没有接收 source path,但本实验没有把普通共享文件系统误写成进程级文件系统隔离。
| q / nominal rate | SIM current / author / Δ | STOI current / author / Δ | PESQ-NB current / author / Δ | PESQ-WB current / author / Δ |
|---|---|---|---|---|
| q6 / 750 bps | 0.8245 / 0.82 / +0.0045 | 0.9263 / 0.93 / -0.0037 | 3.1373 / 3.14 / -0.0027 | 2.5999 / 2.60 / -0.0001 |
| q8 / 1000 bps | 0.8770 / 0.88 / -0.0030 | 0.9401 / 0.94 / +0.0001 | 3.3751 / 3.38 / -0.0049 | 2.8687 / 2.87 / -0.0013 |
| q12 / 1500 bps | 0.9242 / 0.92 / +0.0042 | 0.9549 / 0.95 / +0.0049 | 3.6387 / 3.64 / -0.0013 | 3.2003 / 3.20 / +0.0003 |
| q16 / 2000 bps | 0.9453 / 0.95 / -0.0047 | 0.9631 / 0.96 / +0.0031 | 3.7754 / 3.78 / -0.0046 | 3.4051 / 3.41 / -0.0049 |
| q24 / 3000 bps | 0.9633 / 0.96 / +0.0033 | 0.9712 / 0.97 / +0.0012 | 3.9040 / 3.90 / +0.0040 | 3.6104 / 3.61 / +0.0004 |
| q32 / 4000 bps | 0.9696 / 0.97 / -0.0004 | 0.9746 / 0.97 / +0.0046 | 3.9504 / 3.95 / +0.0004 | 3.6891 / 3.69 / -0.0009 |
每个区间都按冻结规则对 40 个说话人做 10,000 次 speaker-cluster bootstrap;逐项值、median 与 sample standard deviation 同时保存在 JSON/JSONL:
| q | SIM 95% CI | STOI 95% CI | PESQ-NB 95% CI | PESQ-WB 95% CI |
|---|---|---|---|---|
| 6 | [0.8136, 0.8363] | [0.9204, 0.9316] | [3.0860, 3.1926] | [2.5291, 2.6705] |
| 8 | [0.8691, 0.8857] | [0.9346, 0.9450] | [3.3264, 3.4268] | [2.7973, 2.9398] |
| 12 | [0.9192, 0.9299] | [0.9501, 0.9591] | [3.5976, 3.6818] | [3.1331, 3.2665] |
| 16 | [0.9417, 0.9494] | [0.9588, 0.9668] | [3.7383, 3.8134] | [3.3428, 3.4660] |
| 24 | [0.9607, 0.9661] | [0.9675, 0.9744] | [3.8732, 3.9356] | [3.5582, 3.6621] |
| 32 | [0.9675, 0.9720] | [0.9712, 0.9776] | [3.9213, 3.9803] | [3.6400, 3.7376] |
这些数字是完整数据集、当前发布 checkpoint、post-paper current official evaluator 的 approximate cross-check。它们不是 paper-time Table 2 等价复现:paper-time transitive judge runtime、AISHELL-2 精确 split、各 baseline decoded corpus、AudioSet/MUSDB manifests 和 MUSHRA votes 均未发布。作者差值保存在结构化结果中,只作描述,不设事后接近阈值。
运行于 RunPod NVIDIA GeForce RTX 4090(EU-RO-1),计费约 3.179 GPU-hours / $2.193;结果已回传验哈希,Pod 已删除,持久 Network Volume 保留。D4 没有运行 Whisper、SenseVoice、SOTA ASR API,也不要求个人录音。
下一步 D5 使用 EvoSpeech 已冻结的 30 English + 30 Mandarin common benchmark,单独评估真实 payload、质量、内容与资源;它不会冒充论文 AISHELL-2 行。
MOSS-Audio-Tokenizer D5 v2 · 冻结共同 benchmark¶
状态:在显式 evaluator 修订下完成。模型、码率、数据、真实 payload、source-blind decoder 和 signal 指标均继承结果前冻结的 v1 协议;v2 只替换没有完成的本地 Whisper/SenseVoice 尾批, 并把批量 speaker 神经评委迁移到 RunPod GPU。
固定实验单元¶
- endpoint:论文对应的 24-kHz mono full-v1 checkpoint,固定 revision
3cd226ba2947efa357ef453bcad111b6eafba782; - 点位:合法 RLFQ/RVQ prefix
q6/q8/q16/q32,名义表示率分别为750/1000/2000/4000 bps; - 数据:同一 30 English + 30 Mandarin 公共语音,四点共 240 个 decoded rows;
- codec:每个 source 只做一次 q32 encode,再从同一 code tensor 产生四个真实 bit-packed payload;
- decoder:独立进程只收到 payload 与固定 checkpoint,不收到原音路径;
- 计账:10-bit code representation、完整
EVSMVP02serialized payload、7.098-GB endpoint model state、运行时间与缓存分别报告。
evaluator 修订为什么合理¶
用户明确要求不再在 Mac 运行 ASR。旧 v1 的 Whisper/SenseVoice cache 因此作为中断历史保留, 不能用 289/300 与 60/300 的不完整结果冒充正式面板。v2 在最终 ViSQOL 完成之前冻结,没有改变 模型点、数据或赢家规则,并采用:
- Qwen3-ASR-1.7B:中英统一开源主内容评委;
- Fun-ASR-Nano-2512:中英独立副评委;
- Parakeet-TDT-0.6B-v3:English 快速独立副评委,不伪造中文覆盖;
- WavLM-SV + Resemblyzer:双 speaker proxy;
- 官方 ViSQOL v3.3.3 固定 image + STOI/SI-SNR/F0/voicing/energy signal proxies。
所有内容分都同时保存原音 absolute ER、重建 absolute ER 与
decoded − reference delta;不同 ASR 的分歧不平均成单一真值。WavLM 首次 batch-padding 实现的
跨运行时校准失败被永久保存,正式 v2.1 改为 single-utterance pooling 后才通过阈值。
Gate 的准确含义¶
D5 passed 只表示四个合法 prefix 在这套公共中英协议下完成 240 行、全部必需值有限、身份和 哈希可追踪。它不表示 MOSS 是全局赢家,不复现论文未公开的 AISHELL-2 split/Table 2,也不证明 人类自然度、身份、表达、长音频、流式状态等价或真实网络鲁棒性。是否进入 D6,必须先放进完整 共同 Pareto 矩阵,并由预先声明的前沿/能力教师规则决定。
MOSS-Audio-Tokenizer D5 v2 · GPU 评委共同 benchmark¶
同一 30 English + 30 Mandarin、q6/q8/q16/q32、真实 payload 与 source-blind decode。 v2 明示替代未完成的本地 Whisper/SenseVoice 尾批;Mac 没有运行 ASR 或 speaker 神经模型。
总体结果¶
| Point | repr bps | payload bps | ViSQOL | STOI | Qwen ΔER en/zh | Fun ΔER en/zh | WavLM | Resemblyzer | enc ×RT | dec ×RT |
|---|---|---|---|---|---|---|---|---|---|---|
moss_v1_q6_750bps |
754.0 | 2171.4 | 4.2048 | 0.9154 | -0.0025/+0.0142 | +0.0000/+0.0298 | 0.9810 | 0.9593 | 21.84 | 69.58 |
moss_v1_q8_1000bps |
1005.4 | 2423.7 | 4.2357 | 0.9298 | +0.0068/+0.0126 | -0.0035/+0.0147 | 0.9866 | 0.9724 | 21.84 | 72.47 |
moss_v1_q16_2000bps |
2010.8 | 3430.4 | 4.2901 | 0.9562 | -0.0002/+0.0039 | -0.0035/+0.0013 | 0.9940 | 0.9882 | 21.84 | 67.80 |
moss_v1_q32_4000bps |
4021.5 | 5441.1 | 4.3257 | 0.9698 | +0.0027/+0.0039 | -0.0005/+0.0000 | 0.9962 | 0.9938 | 21.84 | 68.95 |
内容评委边界¶
- Qwen3-ASR-1.7B 是七语统一开源主评委;Fun-ASR-Nano 是中文/英日独立副评委;
- Parakeet 只覆盖 English/欧洲语言,因此本轮仅有 English 120 decoded rows,不伪造中文零值;
- reference absolute ER 用来校准评委,codec 比较使用同一评委 decoded-minus-reference ΔER;
- evaluator 分歧逐项保留,未生成单一内容分或投票分。
证据边界¶
- v1 原协议、未完成 Whisper/SenseVoice cache 与 speaker batch-padding 失败均保留,未回写历史;
- v2 是透明的 evaluator 治理修订,不声称在所有输出不可见时完成模型/码率选择;
- ViSQOL/STOI/ASR/speaker 都是自动代理;D5 passed 不证明人类自然度、身份、表达或总体偏好;
- FLEURS Mandarin 不是论文未公开精确 split 的 AISHELL-2,D5 不能冒充 Table 2 复现;
- q6/q8/q16/q32 的 nominal representation rate 与完整 EVSMVP02 payload、7.098GB endpoint state 分账。
详见 ASR GPU v2 实测与选型 以及同目录 speaker panel 报告。