跳转至

EvoCodec-v0 · 第一个项目自有可进化 Baseline

当前状态:A0 本地合同与 CUDA one-batch 均通过;下一 Gate 是 A1 32-item tiny-overfit 协议冻结。 这不是质量结果,也不声称算法原创性。

EvoCodec-v0 是我们在完成 8 个代表模型家族和 22 个 operating points 后选择的第一个自有 seed。 它不是为了立刻击败 SOTA,而是把从 SOTA 学到的机制压缩成一个足够小、可训练、可审计、可被 Agent 做因果归因的实验基质。

冻结的数据流

flowchart LR A["16 kHz mono waveform"] --> B["Causal encoder<br/>stride 2×4×5×8"] B --> C["256-D latent<br/>50 frames/s"] C --> D["RVQ<br/>2 / 4 / 8 × 1024"] D --> E["EVOC0<br/>128-B header + packed 10-bit codes"] E --> F["Fresh source-blind decoder process"] F --> G["Causal waveform decoder"]

选择 causal RVQ 的原因很朴素:同一个 checkpoint 能通过码本深度形成严格的 1/2/4 kbps 曲线; encoder 和 decoder 可以真正用 bitstream 隔开;架构又没有大到让第一次训练只剩算力和调参问题。 它使用的是已知的 causal convolution、residual vector quantization 和多码本深度机制,未经对照实验的 组合不能叫作新算法。

A0 冻结合同

项目 冻结值
输入 16 kHz、mono
hop / frame rate 320 samples / 50 fps
RVQ 最多 8 个码本,每个 1024 entries,10 bits/code
合法 q-depth 2 / 4 / 8
representation rate 精确 1,000 / 2,000 / 4,000 bit/s
full graph 静态参数 30,915,329
decoder endpoint 静态参数 18,850,433
decoder endpoint FP32 state 75,401,732 B(71.91 MiB)
state ceiling 100 MiB

配置的 canonical SHA-256 是 96a0b0843e87783f4855adedd6afc8e6f4b1679cda0075bdaab15cd26122691e。静态数值会在 CUDA 冒烟中与真实 model.parameters() 逐项核对;在那之前,它们只能称为源码公式的确定性结果。

EVOC0 为什么重要

EVOC0 v1 不是“候选自己报一个 bitrate”。评估器读取真实文件,并独立验证:固定 128-byte header、 模型/config/checkpoint SHA、q-depth、帧数、末帧有效样本、payload 长度、header/payload CRC、零 padding 和无尾随字节。representation rate 与整个文件的 serialized wire rate 分开报告。

encoder job 明确接收 active_codebooks=2/4/8;decoder job 不接收码率,也看不到原音、文本、语言或 speaker。它只从已经严格验证的 EVOC0 header 得到 q-depth,因此系统内只有一个解码码率真相源。

实现审查曾在任何 CUDA/质量结果产生前发现原协议漏掉了 encoder 的速率字段,已用 a0_protocol_amendment_v1_1.json 修正。保留这段历史比悄悄改掉协议更重要。

已验证与未验证

本地非神经验收在 clean commit 4a074495e0bf99a4b80457934be860ed210ea441 上完成:58 项测试 全部通过,Ruff、compileall 和 diff 检查通过;随机与边界 codes 在 q=2/4/8 bit-exact 往返,损坏 header/payload、非法索引、截断和尾随数据均 fail closed。Mac 没有导入或执行神经模型,也没有运行 codec、ASR 或 speaker inference。机器记录见 a0_local_validation.json

CUDA Gate 最终在 clean capsule commit 656137b 上通过:实际 30,915,329 个参数与静态公式完全 一致;单个 forward/backward/AdamW step 的 loss 为 0.0638075、gradient norm 为 0.639944,均 finite;step time 0.417 s,峰值 CUDA allocation 698,902,016 B(666.52 MiB);371-MB checkpoint 的每个 tensor 均精确恢复。

q=2/4/8 分别由 fresh encoder 产生 153/178/228-byte EVOC0,再由三个独立 source-blind decoder 恢复 3,200 samples;representation rate 精确为 1/2/4 kbps。328,622,789-byte 返回归档的远端与 本地 SHA-256 同为 7b1b577a…,解包后 37 个 manifest 文件逐个重哈希通过。Pod 已删除,Network Volume 保留,账户余额差额(含存储与入账时序)为 $0.2353

前三次没有被抹掉:v1 在模型前发现镜像无 soundfile;v2 在模型 import 前发现 PYTHONPATH 漏配; v3 在首个 convolution 前发现确定性 cuBLAS 环境变量漏配。三次都在看到 loss/质量结果前修订协议, v4 才通过。完整机器结果见 a0_cuda_results.json

现在仍然不知道模型能否持续学习、语音听起来如何、是否接近 SOTA。下一 Gate 是先冻结 A1 的 32-item 公共 tiny-overfit 数据、步数、loss、resume 和通过阈值,再创建短时 GPU;不能用这次随机 synthetic one-step 冒充训练成功。

代码与协议入口