跳转至

M16 · 并行双塔:同条件下两张 DiT 分别出 v_A / v_B

状态 📝 提案(2026-08-29,待用户确认开跑)
一句话 单 LLM 单骨架,同一套输入并行喂给两张独立 DiT:DiT_A 重建情感速度、DiT_B 重建中立速度,λ·L_ortho 联合正则;80k 步
上游 ← M15-E:E5 证明质量可在 loss 平台期继续爬(MOS@α=0 1.27→2.14 而 L_B 不动);级联的病根是 v 与共享主干被两个任务耦合;E2 证明 L_B 水平与初始化无关
对照 M15/E5(级联)· M14-λ0(own 双路)· v4

TL;DR

⬜ 待跑。分工靠参数、同空间靠条件:两张 331M DiT 输入完全相同(同 token 骨架、同 prompt、同 \(y/t\)),仅权重独立——消除级联的"一个 v 伺候两个速度"与共享主干容量竞争。 80k 步(≈6× v4 预算),DDP 8×1(约 4 小时),每 20k 步评一次 MOS@α=0 轨迹(主判据,不以 L_B 值判)。


1 目的

M14(分工靠条件,双骨架)中段 α 塌陷;M15(同骨架,共享网分解)中立端崩坏, M15-E 五路干预均未修复且定位到耦合与容量竞争。 本实验取设计空间的剩余点:条件全同 + 参数全分。

2 实验设置

2.1 架构

情感 reference ─→ LLM ─→ token(唯一骨架)─→ 同一套 (y, mask, μ, t, spks, cond)
                                   ┌───────────┴───────────┐
                                DiT_A                    DiT_B
                                   │                        │
                                  v_A ←u_e 监督           v_B ←u_n 监督
项 值
DiT_A / DiT_B 各为 CosyVoice3 DiT 原架构(331M),均从基座 flow.pt 初始化,无任何结构手术
耦合 无级联、无残差、无共享层;仅 λ·L_ortho 在损失层耦合
可训参数 662M(两网全开;LLM / hift 冻结)
init 行为 两网同起点 → \(v_A \equiv v_B\)、\(A \equiv 0\),任意 α 下 ≡ 基座

2.2 训练

数据 data/m13_cache 情感骨架侧(同 M15 §2.2),每步:

1. 单支输入:token = pre_token_e ⊕ gen_token_e,条件 = 情感前缀 + xvec_e
2. 采样 t ~ U[0.05,0.95]、α ~ U[0,1];x_α = (1−α)x1_neu + αx1_emo(生成段)
3. y = (1−(1−σ)t)z + t·x_α                    ← 两网喂同一个 y
4. v_A = DiT_A(y,…);v_B = DiT_B(y,…)          ← 并行两次前向
5. L = ‖v_A − u_e‖² + ‖v_B − u_n‖² + λ·L_ortho(A,B)(生成段;A=v_A−v_B、B=v_B,
   L_ortho 为 80×80 时间轴归一化全对内积,同 M14 式)
6. AdamW 联合更新两网,grad_clip=1.0
参数 值
步数 80,000(全局 batch 8,≈37.6 epoch,样本见次数 ≈640k = v4 的 6×)
λ_ortho 0.1(M11a/M13/M14 三代零结果为先验;本代 A 首次为"同条件双网之差")
并行 DDP 8 卡 × per-rank batch 1(全局 batch 8 不变——与单卡 batch 8 逐步等价;每卡单样本,padding 浪费最小)
lr / 优化器 1e-5 / AdamW
grad_clip / seed 1.0 / 1234
ckpt 每 10k 步
日志 每 100 步:L_A、L_B、L_ortho、grad_norm、A_share、cos_A_B
输出 outputs/m16/

读数口径(跑前锁定)

预期 L_B 仍将停在 ~0.9——那是条件熵(M14 的 0.45 有中性前缀钉住渲染), 不作为判据。主判据 = MOS@α=0 随步数的轨迹(E5 先例:loss 平台期质量仍爬升), 在 20k / 40k / 60k / 80k 四个 ckpt 上各评一次。

2.3 推理与评测

1. LLM 一遍(情感 reference)→ 唯一一套 flow 输入
2. 每 Euler 步:v_A = DiT_A(y)、v_B = DiT_B(y)(可并行);
   生成段 v = (1−α)v_B + α·v_A,前缀段用 v_A
3. HiFT 声码
项 值
中途评测 20k / 40k / 60k ckpt 各一次(84 条,与训练共卡运行,显存占用 ~10GB)
终评 80k ckpt:P6 12 组 × 7 α = 84 条,指标同 M15 口径
探针 终 ckpt:结构 + cos(A, x1_emo−x1_neu) 二合一(A 单前向对可得)
对照 v4 · M14-λ0 · M15 · E5

3 资源

训练 DDP 8 卡约 4–4.5 小时(4×2 实测 0.31s/步 → 8×1 约 0.19s/步); 中途评测与训练共卡(训练在评测窗口慢约 5%);终评 + 探针约 1 小时。

4 结果

⬜ 待填。预计产出:

训练侧

  • L_A / L_B 曲线(与 M15/E5、M14 参照同轴)+ L_ortho / A_share / cos_A_B
  • 日志 outputs/m16/train.log.jsonl、ckpt × 8

定量

  • MOS@α=0 vs 步数轨迹图(20k/40k/60k/80k,主判据),叠 E5 的终点参照
  • 主表一行与 v4 / M14-λ0 / M15 / E5 并排;按 α 分列 CER / SECS / UTMOS
  • 逐组 delta(12 组,与 E5 配对)

定性

  • 站内音频对照表:84 条,与 M15 / E5 / M14-λ0 同名对拍

探针

  • A = v_A − v_B 结构表(rank / share / 帧间 cos / 专一性 gap)
  • cos(A, x1_emo−x1_neu)(与 M15 的 0.82 / E5 的 0.88 / M14 的 0.93 并排)

5 结论

⬜ 待填

讨论