跳转至

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 图就全部成立:

  1. reconstruction:同码率是否优于公开 tokenizer;
  2. scaling:模型、batch 和训练步数增加时是否持续改善;
  3. semantic sufficiency:离散 token 是否能直接服务 TTS/ASR;
  4. 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^52^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^02^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:

  1. example config 不固定 checkpoint revision,D3 必须覆盖成 D0 revision;
  2. 它只给 LibriSpeech 准备脚本,没有冻结论文 reconstruction 用 AISHELL-2 split、AudioSet subset 或 MUSDB split;
  3. README 没有内置 Table 2 的 expected values/tolerance,也没有 paper-run manifest;
  4. SIM 依赖 Google Drive 上的 WavLM checkpoint,README 没给 SHA-256;
  5. MOSS_ALIASES 把 Nano max_nq 写成 32,而 D0 checkpoint 只有 16 quantizers;nq: all 在 adapter load 后若没有从嵌套 config 修正,会计划 q17–q32 并在 reconstruct 时失败;
  6. 默认 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_reproducibleapproximate_onlyblocked_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 给下一阶段留下的可执行问题是:

  1. D2 追踪 full-v1 的 waveform patchify、stage-wise causal Transformer、factorized RLFQ/RVQ、 prefix slicing、decoder、padding 和 chunked state,验证 tensor shape 与 exact rate;
  2. D2 对比 full-v1、v2、Nano remote code,明确 v2 stereo interleave 与 Nano depth;
  3. D3 冻结 Table 2 的 q6/q8/q12/q16/q24/q32、LibriSpeech test-clean 与能获得的中文/音频/音乐轨;
  4. 对未知 AISHELL-2/AudioSet/MUSDB identity 提前写 blocker,不在结果后换数据;
  5. 固定 official eval commit、checkpoint revision、metric source/weights/hash、逐样本输出和容差;
  6. 将 Figure 7 MUSHRA、CAT-TTS、CAT-ASR、scaling training runs 标为 blocked/claim-only,除非作者 后续公开原始资产;
  7. 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.pymodeling_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) 做:

(B,D,T) → reshape(B,D,T/h,h)
        → permute(B,D,h,T/h)
        → reshape(B,D×h,T/h)

它没有 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。但下一行实际代码是:

output_lengths = input_lengths // self.patch_size

四层重复 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,再做:

  1. 将 latent 与 1024×8 codebook 都 L2 normalize;
  2. 以平方欧氏距离选择最近 entry;
  3. 取出未归一化 codebook vector;
  4. 投回 512-D;
  5. 加入累计量化向量并从 residual 中减去;
  6. 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 现在执行并读完了调用顺序:

  1. alias 初始值确实是 32;
  2. run_reconstruct 先调用 adapter.load()
  3. load 后检查 config 的 num_quantizers/n_quantizers/num_codebooks
  4. Nano config class 有直接 property num_quantizers,返回嵌套 quantizer kwargs 中的 16;
  5. 然后才调用 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 权重, 只做四类可在数秒内完成的机制审计:

  1. 实际调用固定 patchify class,捕捉 tensor/report length 分叉;
  2. 实际调用固定 causal Transformer class,做 future mutation prefix test;
  3. 实际调用固定 ResidualLFQ class,验证 residual 与 prefix decode;
  4. 对 synthetic q32 codes 做 source-blind payload roundtrip;
  5. 加载 Nano config class 与 evaluator nq parser,验证 32→16 覆盖顺序。

trace 明确写 external_speech_or_quality_sample=falsefull_checkpoint_loaded=falsequality_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 的直接约束

  1. D3 的 primary model point 仍是 full-v1 revision 3cd226…,不能改用 Nano 省算力后声称同模型;
  2. 新增 prefix-capable payload v2,支持且只支持预注册 q6/q8/q16/q32,decoder 只见 payload;
  3. payload header 固定 nq、codebook size、frame count、original length、checkpoint/code hashes;
  4. D3 加 T mod 1920 = 0/1/1919 或等价边界,单独记录 physical frames 与 reported lengths;
  5. current evaluator 全部覆盖 fixed revision,不接受 mutable repo id;
  6. paper-native 轨把缺失 AISHELL-2/AudioSet/MUSDB manifest 标 blocked,不用自选集冒充;
  7. common benchmark 复用公共 EN/ZH 60 句和双 ASR/质量/speaker/state schema;
  8. full/chunk equivalence 在看结果前固定 chunk sizes、rtol/atol、边界长度和失败分类;
  9. 云端 runner 使用持久 Volume + 临时 GPU,output 先落 volume 再回传 hash-bound artifacts;
  10. 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 必须失败,而不是静默生成新证据。

flowchart LR A["24 kHz mono waveform<br/>B×1×T"] --> PAD["Right-pad to multiple of 1920"] PAD --> P0["Patchify ×240<br/>1 → 240 channels"] P0 --> T0["12-layer causal Transformer<br/>d=768 · 12 heads · RoPE · 10 s context"] T0 --> P1["Patchify ×2"] P1 --> T1["12-layer causal Transformer<br/>d=768 · 12 heads"] T1 --> P2["Patchify ×2"] P2 --> T2["12-layer causal Transformer<br/>d=768 · 12 heads"] T2 --> P3["Patchify ×2"] P3 --> T3["32-layer causal Transformer<br/>d=1280 · 20 heads"] T3 --> Z["12.5-Hz latent<br/>B×768×F"] Z --> R["Residual LFQ / RLFQ<br/>512-D residual · 32 stages"] R --> C["1024-entry × 8-D normalized codebooks<br/>prefix q1…q32 · 125 bps/stage"] C --> S["Sum selected stage vectors<br/>N×B×F → B×768×F"] S --> DT3["32-layer causal Transformer<br/>d=1280 · 20 heads"] DT3 --> UP3["Depatchify ×2"] UP3 --> DT2["12-layer causal Transformer<br/>d=768 · 12 heads"] DT2 --> UP2["Depatchify ×2"] UP2 --> DT1["12-layer causal Transformer<br/>d=768 · 12 heads"] DT1 --> UP1["Depatchify ×2"] UP1 --> DT0["12-layer causal Transformer<br/>d=768 · 12 heads"] DT0 --> UP0["Depatchify ×240"] UP0 --> W["Padded reconstructed waveform<br/>trim outside model"] C -. "upstream tensor representation only" .-> REP["Representation accounting<br/>F × q × 10 bits"] C -. "EvoSpeech project transport" .-> MV1["EVSMV101 q32 payload<br/>identity + lengths + packed indices"] MV1 -. "current D2 gap" .-> PREFIX["q6/q8/q16 payload not yet supported"] T0 & T1 & T2 & T3 -. "chunk_duration path" .-> KV["Ring KV cache + causal offsets"] DT0 & DT1 & DT2 & DT3 -. "chunk_duration path" .-> KV LEN["Length side channel"] --> FLOOR["Repeated floor division in fixed code<br/>24,000 samples → reported 12 frames"] PAD --> PHYS["Physical tensor after padding<br/>24,960 samples → 13 frames"] FLOOR -. "D2 discrepancy" .-> PHYS EVAL["Official current evaluator"] --> LOAD["load checkpoint first"] LOAD --> NQ["config.num_quantizers overrides alias"] NQ --> NANO["Nano nq: all → 1…16<br/>not 1…32 on current path"]

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+cu128torchaudio==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:29Z15: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.jsonpaper_native_items.jsonlpaper_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-querygitnvidia-smisha256sum。此时虽然 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、完整 EVSMVP02 serialized 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 报告。