# Experiment: training-free caching on 4-step block-causal video DiTs 四个 training-free 缓存方法(TeaCache / FlowCache / TaylorSeer / MotionCache)移植到两个 4-step 自回归视频 DiT(Self-Forcing、Causal-Forcing,均为 Wan2.1-1.3B block-causal)上,在匹配的 compute 预算下比较速度与质量。 ## 列定义 - **策略**:方法 + 调度 + 目标加速比。调度字符串按 chunk 内 4 个去噪步写,`F` = 必算完整 DiT,`x` = 允许方法从缓存服务。`FxxF` 是原始设定(等价于上游 `ret_steps=1` / `cutoff_steps=num_steps-1`),`FFxx` 让 TaylorSeer 在第一次预测前有两个已算点,`Fxxx` 去掉最后一步必算的限制,算术上限从 2.0× 提到 4.0×。 - **VBench-251 (%)**:Extended-251 协议的 VBench-8 selected 分(4×quality + semantic)/5,251 条 prompt(subject_consistency 72 / overall_consistency 93 / scene 86)。 - **Full**:一条视频(7 chunk × 4 步 = 28 次去噪 DiT forward)中实际执行的完整 DiT forward 等效数,251 条 prompt 的平均;MotionCache / FlowCache 这类部分重算的步按 compute-equivalent 折算。所有方法按这一列匹配 compute。 - **平均 P**:一条视频中被**缓存复用**的 forward 数 = 28 − Full。`naiveNstep` 基线走的是更短的去噪调度,缺的 forward 是**根本没有发起**而不是被复用,所以这一列对它们记为 —(它们的 Full 仍按 28 步的标尺给出,便于等算力对照)。Predictor 策略(`cfa_*`,Causal-Forcing-a)按记录里的 `full_forwards` / `predictor_forwards` 计:Full 为完整 DiT 次数,P 为 predictor 调用次数(每次约 0.03 个 forward,不计入 Full)。 - **模型路径耗时 (ms)**:251 条 prompt 上 denoise policy 路径的 GPU 平均耗时,含缓存方法自己的控制开销;不含 context/KV-cache 刷新 DiT(另计,~790 ms/视频)、文本编码、VAE 解码。 - **加速比**:matched FFFF 平均耗时 / 该策略平均耗时(同 prompt、同 seed、同一次运行内配对)。原始 26 个策略与 FFFF 同批生成;后加的策略由 `eval/retime_eval.py` 与 FFFF 在同一进程内逐 prompt 配对重新计时(只跑 denoise 路径),其"模型路径耗时"来自这次配对计时,绝对 ms 与首批不在同一争用条件下,只有加速比可跨行比较。首 chunk FFFF 变体(`_c0FFFF`,`teacache_x2_c0FFFF` 除外)的耗时来自 Sep 7 在空闲 GPU 上只重跑策略 denoise 路径的单次重计时(FFFF 不重跑,以各基模 FFFF 首批记录为分母;逐条核对算量一致,视频与质量指标不变)。 - **PSNR / SSIM / LPIPS**:相对同 prompt、同 seed 的 FFFF,在解码后的 81 帧 RGB 上计算,编码 MP4 之前。FFFF 对自身固定为 120 dB / 1.0 / 0.0。Sep 7 起新增的策略不再重新生成 FFFF,参考帧读自 FFFF 那次运行写出的 MP4(H.264),表中以 § 标出;在同一批视频上实测该替换使 PSNR +0.10 dB、SSIM −0.024、LPIPS +0.012(MP4 抹掉了参考的高频细节),与其它行比较时按此修正。 - 策略 id 与 `eval_out/` 目录一致(去掉 `sf_`/`cf_`/`cfa_` 前缀):不带调度后缀的是原始 `FxxF` 研究,`_FFxx_`/`_Fxxx_` 为放宽调度后的操作点,`_x` 是搜索时的目标加速比,实际 compute 看 Full 列;`cfa_*` 为 Causal-Forcing-a 上的 Predictor 策略(DisCa / ATC-chunk / ATC-last-frame,均为 Stage-1 监督蒸馏;`atc_chunk_s2_*` 为 ATC-chunk 再经 Stage-2 随机出口 DMD(Wan-14B real score、LoRA rank-128 fake score,2000 步)后的 EMA 权重),后缀 `fppf`/`fppp` 是 chunk 内的调度模式(P = predictor 步)。 视频规格:81 帧、480×832、16 FPS、seed 0、bf16、每 prompt 一个样本。 ## 1. Extended-251 评测结果(已完成) ### Self-Forcing | 策略 | VBench-251 (%) | 平均 P | Full | 模型路径耗时 (ms) | 加速比 | PSNR | SSIM | LPIPS | |---|---:|---:|---:|---:|---:|---:|---:|---:| | **原始调度(chunk 0 与其它 chunk 相同)** | | | | | | | | | | `ffff` | 80.5372 | 0.000 | 28.000 | 3157.96 | 1.000× | 120.000 | 1.0000 | 0.0000 | | `euler_FFFF` | 78.7741 | 0.000 | 28.000 | 3171.53 | 0.996× | 9.996 § | 0.3108 § | 0.6051 § | | | | | | | | | | | | *≈1.3×* | | | | | | | | | | `teacache_x1.3` | 79.5878 | 5.633 | 22.367 | 2547.49 | 1.240× | 15.161 | 0.5325 | 0.3198 | | `flowcache_x1.3` | 79.6210 | 6.076 | 21.924 | 2547.75 | 1.240× | 15.151 | 0.5325 | 0.3202 | | `taylorseer_x1.3` | 79.8313 | 7.000 | 21.000 | 2439.16 | 1.295× | 13.315 | 0.4421 | 0.4469 | | `taylorseer_FFxx_x1.3` | 79.2201 | 6.000 | 22.000 | 2588.89 | 1.226× | 13.128 | 0.4449 | 0.4290 | | `motioncache_x1.3` | 79.2294 | 6.537 | 21.463 | 2762.30 | 1.143× | 13.264 | 0.4499 | 0.4431 | | `reuse_FRFF` | 79.2460 | 7.000 | 21.000 | 2382.76 † | 1.325× † | 13.186 § | 0.4401 § | 0.4497 § | | | | | | | | | | | | *≈1.6×* | | | | | | | | | | `teacache_x1.6` | 78.9947 | 8.757 | 19.243 | 2187.41 | 1.444× | 13.116 | 0.4428 | 0.4520 | | `flowcache_x1.6` | 78.4997 | 9.255 | 18.745 | 2215.58 | 1.425× | 12.991 | 0.4339 | 0.4659 | | `taylorseer_x1.6` | 79.0823 | 11.000 | 17.000 | 2008.93 | 1.572× | 13.398 | 0.4082 | 0.5029 | | `taylorseer_FFxx_x1.6` | 66.3821 | 10.000 | 18.000 | 2102.06 | 1.509× | 11.321 | 0.3028 | 0.6140 | | `motioncache_x1.6` | 79.4907 | 10.597 | 17.403 | 2126.98 | 1.485× | 13.127 | 0.4332 | 0.4722 | | | | | | | | | | | | *≈1.75×* | | | | | | | | | | `teacache_x1.75` | 79.2788 | 7.725 | 20.275 | 3142.11 | 1.381× | 13.142 | 0.4471 | 0.4460 | | `taylorseer_x1.75` | 78.6295 | 13.000 | 15.000 | 2379.43 | 1.823× | 13.479 | 0.4007 | 0.5163 | | `motioncache_x1.75` | 79.0342 | 12.222 | 15.778 | 2713.77 | 1.599× | 13.046 | 0.4265 | 0.4823 | | | | | | | | | | | | *≈2×* | | | | | | | | | | `teacache_x2` | 78.7743 | 14.000 | 14.000 | 1608.20 | 1.964× | 13.020 | 0.4222 | 0.4854 | | `flowcache_x2` | 78.7743 | 14.000 | 14.000 | 1613.54 | 1.957× | 13.020 | 0.4222 | 0.4854 | | `taylorseer_x2` | 78.2747 | 14.000 | 14.000 | 1667.04 | 1.894× | 13.486 | 0.3974 | 0.5240 | | `taylorseer_FFxx_x2` | 57.1775 | 14.000 | 14.000 | 1687.69 | 1.880× | 9.626 | 0.1555 | 0.8272 | | `motioncache_x2` | 78.7809 | 14.000 | 14.000 | 1621.06 | 1.948× | 13.020 | 0.4222 | 0.4854 | | `reuse_FRRF` | 78.7743 | 14.000 | 14.000 | 1604.42 † | 1.968× † | 13.102 § | 0.4150 § | 0.4865 § | | | | | | | | | | | | *≈2.85–3×* | | | | | | | | | | `teacache_Fxxx_x2.85` | 60.1481 | 14.000 | 14.000 | 2207.42 | 1.965× | 11.844 | 0.3029 | 0.6665 | | `teacache_Fxxx_x3` | 58.6783 | 20.155 | 7.845 | 913.40 | 3.473× | 11.946 | 0.2851 | 0.7049 | | `flowcache_Fxxx_x3` | 55.7999 | 19.851 | 8.149 | 987.12 | 3.214× | 12.013 | 0.2866 | 0.6946 | | `taylorseer_Fxxx_x2.85` | 60.3007 | 19.000 | 9.000 | 1468.31 | 2.954× | 11.750 | 0.2608 | 0.7051 | | `motioncache_Fxxx_x2.85` | 58.6018 | 20.344 | 7.656 | 1707.75 | 2.540× | 11.928 | 0.2649 | 0.7232 | | `motioncache_Fxxx_x3` | 59.2793 | 18.785 | 9.215 | 1625.07 | 1.952× | 12.240 | 0.2860 | 0.6889 | | | | | | | | | | | | *≈3.3–4×* | | | | | | | | | | `reuse_FRRR` | 58.1223 | 21.000 | 7.000 | 823.91 † | 3.833× † | 11.699 § | 0.2565 § | 0.7347 § | | | | | | | | | | | | **首 chunk FFFF(`_c0FFFF`)** | | | | | | | | | | | | | | | | | | | | *≈1.3×* | | | | | | | | | | `teacache_x1.3_c0FFFF` | 80.3851 | 3.785 | 24.215 | 2721.09 | 1.161× | 20.370 | 0.8421 | 0.0866 | | `taylorseer_x1.3_c0FFFF` | 80.4439 | 6.000 | 22.000 | 2517.09 | 1.255× | 17.312 | 0.6934 | 0.1524 | | `motioncache_x1.3_c0FFFF` | 79.9742 | 5.490 | 22.510 | 2790.03 | 1.132× | 17.332 | 0.6934 | 0.1520 | | | | | | | | | | | | *≈1.6×* | | | | | | | | | | `teacache_x1.6_c0FFFF` | 80.0586 | 7.179 | 20.821 | 2334.11 | 1.353× | 17.180 § | 0.6581 § | 0.1808 § | | | | | | | | | | | | *≈1.75×* | | | | | | | | | | `taylorseer_x1.75_c0FFFF` | 79.4426 | 11.000 | 17.000 | 1930.29 | 1.636× | 16.752 | 0.6201 | 0.2132 | | `motioncache_x1.75_c0FFFF` | 80.3427 | 10.328 | 17.672 | 2180.22 | 1.448× | 16.749 | 0.6578 | 0.1794 | | | | | | | | | | | | *≈2×* | | | | | | | | | | `teacache_x2_c0FFFF` | 79.7515 | 12.000 | 16.000 | 1766.63 | 1.788× | 16.611 | 0.6511 | 0.1883 | | | | | | | | | | | | *≈2.85–3×* | | | | | | | | | | `teacache_Fxxx_x3_c0FFFF` | 61.3078 | 17.713 | 10.287 | 1092.03 | 2.892× | 13.994 | 0.4180 | 0.5821 | | `taylorseer_Fxxx_x2.85_c0FFFF` | 65.5397 | 16.000 | 12.000 | 1330.42 | 2.374× | 14.321 | 0.4627 | 0.4903 | | `motioncache_Fxxx_x2.85_c0FFFF` | 62.0397 | 17.174 | 10.826 | 1650.77 | 1.913× | 14.279 | 0.4229 | 0.5744 | ### Causal-Forcing | 策略 | VBench-251 (%) | 平均 P | Full | 模型路径耗时 (ms) | 加速比 | PSNR | SSIM | LPIPS | |---|---:|---:|---:|---:|---:|---:|---:|---:| | **原始调度(chunk 0 与其它 chunk 相同)** | | | | | | | | | | `ffff` | 81.1659 | 0.000 | 28.000 | 3156.09 | 1.000× | 120.000 | 1.0000 | 0.0000 | | | | | | | | | | | | *≈1.3×* | | | | | | | | | | `teacache_x1.3` | 81.2244 | 6.088 | 21.912 | 2488.55 | 1.268× | 13.229 | 0.5272 | 0.3419 | | `flowcache_x1.3` | 81.8224 | 5.145 | 22.855 | 2683.28 | 1.176× | 13.260 | 0.5272 | 0.3415 | | `taylorseer_x1.3` | 81.6245 | 7.000 | 21.000 | 2437.75 | 1.295× | 11.994 | 0.4488 | 0.4509 | | `taylorseer_FFxx_x1.3` | 80.2569 | 6.000 | 22.000 | 2569.62 | 1.223× | 11.395 | 0.4381 | 0.4580 | | `motioncache_x1.3` | 81.2477 | 6.424 | 21.576 | 2716.36 | 1.162× | 12.068 | 0.4614 | 0.4450 | | `naive3step` | 81.4017 | — | 21.000 | 2377.69 † | 1.327× † | 11.873 | 0.4393 | 0.4448 | | `reuse_FRFF` | 81.3133 | 7.000 | 21.000 | 2387.76 † | 1.322× † | 11.845 | 0.4615 | 0.4467 | | | | | | | | | | | | *≈1.6×* | | | | | | | | | | `teacache_x1.6` | 81.2088 | 9.781 | 18.219 | 2058.41 | 1.533× | 11.932 | 0.4590 | 0.4511 | | `flowcache_x1.6` | 80.4213 | 10.631 | 17.369 | 2086.39 | 1.513× | 11.738 | 0.4424 | 0.4744 | | `taylorseer_x1.6` | 80.4207 | 11.000 | 17.000 | 2008.23 | 1.572× | 12.175 | 0.4082 | 0.5063 | | `taylorseer_FFxx_x1.6` | 65.8948 | 10.000 | 18.000 | 2092.15 | 1.502× | 9.924 | 0.3015 | 0.6262 | | `motioncache_x1.6` | 80.8268 | 10.521 | 17.479 | 2243.38 | 1.407× | 11.911 | 0.4404 | 0.4737 | | | | | | | | | | | | *≈1.75×* | | | | | | | | | | `teacache_x1.75` | 81.2378 | 9.127 | 18.873 | 2386.91 | 1.481× | 11.899 | 0.4596 | 0.4493 | | `taylorseer_x1.75` | 79.9462 | 13.000 | 15.000 | 1977.36 | 1.788× | 12.178 | 0.4020 | 0.5182 | | `motioncache_x1.75` | 80.6695 | 13.388 | 14.612 | 2270.46 | 1.557× | 11.936 | 0.4400 | 0.4824 | | | | | | | | | | | | *≈2×* | | | | | | | | | | `teacache_x2` | 79.9681 | 14.000 | 14.000 | 1607.05 | 1.964× | 11.900 | 0.4402 | 0.4835 | | `flowcache_x2` | 79.9681 | 14.000 | 14.000 | 1612.28 | 1.958× | 11.900 | 0.4402 | 0.4835 | | `taylorseer_x2` | 79.7412 | 14.000 | 14.000 | 1666.32 | 1.894× | 12.160 | 0.3995 | 0.5260 | | `taylorseer_FFxx_x2` | 57.3124 | 14.000 | 14.000 | 1673.11 | 1.879× | 8.788 | 0.1646 | 0.8242 | | `motioncache_x2` | 79.9909 | 14.000 | 14.000 | 1618.55 | 1.950× | 11.901 | 0.4402 | 0.4835 | | `naive2step` | 80.5679 | — | 14.000 | 1589.72 † | 1.985× † | 11.745 | 0.4131 | 0.4883 | | `reuse_FRRF` | 80.0407 | 14.000 | 14.000 | 1607.58 † | 1.963× † | 11.900 | 0.4402 | 0.4835 | | | | | | | | | | | | *≈2.85–3×* | | | | | | | | | | `teacache_Fxxx_x3` | 65.0186 | 18.378 | 9.622 | 1087.44 | 2.891× | 11.352 | 0.3356 | 0.6346 | | `flowcache_Fxxx_x3` | 65.1726 | 18.073 | 9.927 | 1161.04 | 2.707× | 11.338 | 0.3387 | 0.6278 | | `taylorseer_Fxxx_x2.85` | 60.9596 | 19.000 | 9.000 | 1217.30 | 2.904× | 10.339 | 0.2573 | 0.7044 | | `motioncache_Fxxx_x2.85` | 59.5795 | 19.957 | 8.043 | 1706.05 | 2.072× | 10.619 | 0.2432 | 0.7114 | | `motioncache_Fxxx_x3` | 60.9864 | 18.657 | 9.343 | 1698.44 | 1.849× | 10.941 | 0.2716 | 0.6802 | | | | | | | | | | | | *≈3.3–4×* | | | | | | | | | | `naive1step` | 75.5181 | — | 7.000 | 797.85 † | 3.956× † | 11.470 | 0.4009 | 0.5506 | | `reuse_FRRR` | 58.8612 | 21.000 | 7.000 | 825.80 † | 3.822× † | 10.148 | 0.2478 | 0.7408 | | | | | | | | | | | | **首 chunk FFFF(`_c0FFFF`)** | | | | | | | | | | | | | | | | | | | | *≈1.3×* | | | | | | | | | | `teacache_x1.3_c0FFFF` | 81.0382 | 4.697 | 23.303 | 2611.40 | 1.209× | 16.495 | 0.7670 | 0.1410 | | `taylorseer_x1.3_c0FFFF` | 81.3120 | 6.000 | 22.000 | 2522.30 | 1.251× | 14.728 | 0.6736 | 0.1983 | | `motioncache_x1.3_c0FFFF` | 81.3863 | 5.410 | 22.590 | 2754.74 | 1.146× | 14.950 | 0.6803 | 0.1935 | | `naive3step_c0FFFF` | 81.3914 | — | 22.000 | 2457.13 † | 1.284× † | 14.407 § | 0.6324 § | 0.2236 § | | `reuse_FRFF_c0FFFF` | 81.3370 | 6.000 | 22.000 | 2467.84 † | 1.279× † | 14.775 § | 0.6624 § | 0.2046 § | | | | | | | | | | | | *≈1.75×* | | | | | | | | | | `taylorseer_x1.75_c0FFFF` | 80.7431 | 11.000 | 17.000 | 1935.50 | 1.631× | 14.443 | 0.5972 | 0.2719 | | `motioncache_x1.75_c0FFFF` | 81.1129 | 11.295 | 16.705 | 2173.89 | 1.452× | 14.454 | 0.6430 | 0.2301 | | `naive2step_c0FFFF` | 81.7050 | — | 16.000 | 1746.77 † | 1.807× † | 14.259 § | 0.6122 § | 0.2437 § | | `reuse_FRRF_c0FFFF` | 81.1816 | 12.000 | 16.000 | 1766.47 † | 1.787× † | 14.502 § | 0.6254 § | 0.2413 § | | | | | | | | | | | | *≈2×* | | | | | | | | | | `teacache_x2_c0FFFF` | 81.1816 | 12.000 | 16.000 | 1764.22 | 1.789× | 14.431 § | 0.6423 § | 0.2327 § | | | | | | | | | | | | *≈2.85–3×* | | | | | | | | | | `teacache_Fxxx_x3_c0FFFF` | 65.6584 | 16.558 | 11.442 | 1225.90 | 2.574× | 12.895 | 0.4612 | 0.5070 | | `taylorseer_Fxxx_x2.85_c0FFFF` | 65.4647 | 16.000 | 12.000 | 1334.99 | 2.364× | 12.802 | 0.4509 | 0.5047 | | `motioncache_Fxxx_x2.85_c0FFFF` | 64.0830 | 16.900 | 11.100 | 1792.95 | 1.760× | 12.959 | 0.4250 | 0.5596 | | `naive1step_c0FFFF` | 79.1501 | — | 10.000 | 1035.46 † | 3.048× † | 14.104 § | 0.5977 § | 0.2779 § | | `reuse_FRRR_c0FFFF` | 59.5377 | 18.000 | 10.000 | 1061.93 † | 2.972× † | 12.433 § | 0.3890 § | 0.6052 § | ### Causal-Forcing-a(Predictor) | 策略 | VBench-251 (%) | 平均 P | Full | 模型路径耗时 (ms) | 加速比 | PSNR | SSIM | LPIPS | |---|---:|---:|---:|---:|---:|---:|---:|---:| | **7 chunk(81 帧)** | | | | | | | | | | `ffff` | 81.1659 | 0.000 | 28.000 | 3225.29 | 1.000× | 120.000 | 1.0000 | 0.0000 | | | | | | | | | | | | *≈1.3×* | | | | | | | | | | `atc_chunk_s2_fpff` | 80.9902 | 6.000 | 22.000 | 2519.19 † | 1.280× † | 14.667 | 0.6761 | 0.1970 | | | | | | | | | | | | *≈1.75×* | | | | | | | | | | `atc_chunk_fppf` | 81.5505 | 12.000 | 16.000 | 1900.49 | 1.697× | 14.635 | 0.6532 | 0.2215 | | `atc_chunk_s2_fppf` | 81.2486 | 12.000 | 16.000 | 1871.26 † | 1.724× † | 14.452 | 0.6460 | 0.2260 | | `atc_last_frame_fppf` | 81.2733 | 12.000 | 16.000 | 1897.37 | 1.700× | 14.622 | 0.6531 | 0.2217 | | `disca_fppf` | 81.4375 | 12.000 | 16.000 | 1857.48 | 1.736× | 14.551 | 0.6516 | 0.2213 | | `disca_s1000_fppf` | 81.2360 | 12.000 | 16.000 | 1824.35 ‡ | 1.768× ‡ | 14.830 § | 0.6229 § | 0.2380 § | | `atc_chunk_fpf` | 81.2960 | 6.000 | 16.000 | 1819.13 | 1.773× | 14.523 § | 0.6117 § | 0.2419 § | | | | | | | | | | | | *≈2.85–3×* | | | | | | | | | | `atc_chunk_fppp` | 77.3396 | 18.000 | 10.000 | 1238.59 | 2.604× | 14.328 | 0.6088 | 0.3012 | | `atc_chunk_s2_fppp` | 78.6374 | 18.000 | 10.000 | 1221.75 † | 2.640× † | 14.135 | 0.5971 | 0.2976 | | `atc_last_frame_fppp` | 77.3843 | 18.000 | 10.000 | 1234.61 | 2.612× | 14.298 | 0.6096 | 0.3005 | | `disca_fppp` | 75.9581 | 18.000 | 10.000 | 1157.33 | 2.787× | 14.073 | 0.5782 | 0.3242 | | `disca_s1000_fppp` | 72.2150 | 18.000 | 10.000 | 1153.31 ‡ | 2.797× ‡ | 13.858 § | 0.5182 § | 0.4040 § | | | | | | | | | | | | **14 chunk(165 帧)** | | | | | | | | | | `14c_ffff` | 81.0061 | 0.000 | 56.000 | 7410.82 | 1.000× | 120.000 | 1.0000 | 0.0000 | | | | | | | | | | | | *≈1.75×* | | | | | | | | | | `atc_chunk_14c_fppf` | 80.5734 | 26.000 | 30.000 | 4196.75 | 1.766× | 12.824 | 0.5568 | 0.3382 | | `atc_chunk_s2_14c_fppf` | 80.9730 | 26.000 | 30.000 | 4196.14 | 1.766× | 12.715 | 0.5512 | 0.3452 | | `atc_chunk_s2_s500_14c_fppf` | 81.0817 | 26.000 | 30.000 | 4167.73 | 1.778× | 12.817 § | 0.5299 § | 0.3522 § | | `atc_chunk_s2_s1000_14c_fppf` | 81.1134 | 26.000 | 30.000 | 4167.71 | 1.778× | 12.748 § | 0.5311 § | 0.3524 § | | `disca_14c_fppf` | 80.5953 | 26.000 | 30.000 | 4075.89 | 1.818× | 12.806 § | 0.5328 § | 0.3462 § | | `disca_s500_14c_fppf` | 80.1191 | 26.000 | 30.000 | 4075.51 | 1.818× | 12.268 § | 0.5120 § | 0.3670 § | | `disca_s1000_14c_fppf` | 80.5057 | 26.000 | 30.000 | 4075.84 | 1.818× | 13.040 § | 0.5250 § | 0.3631 § | | `naive2step_14c` | 80.7865 | — | 30.000 | 3880.86 | 1.910× | 12.597 § | 0.5211 § | 0.3578 § | | | | | | | | | | | | **28 chunk(333 帧)** | | | | | | | | | | `28c_ffff` | 77.9850 | 0.000 | 112.000 | 15832.56 | 1.000× | 120.000 | 1.0000 | 0.0000 | | | | | | | | | | | | *≈1.75×* | | | | | | | | | | `atc_chunk_28c_fppf` | 77.4779 | 54.000 | 58.000 | 8831.55 | 1.793× | 11.004 | 0.4520 | 0.4727 | | `atc_chunk_s2_28c_fppf` | 78.6544 | 54.000 | 58.000 | 8830.84 | 1.793× | 11.077 | 0.4412 | 0.4814 | | `atc_chunk_s2_s500_28c_fppf` | 78.5516 | 54.000 | 58.000 | 8790.80 | 1.801× | 11.109 § | 0.4214 § | 0.4906 § | | `atc_chunk_s2_s1000_28c_fppf` | 78.8416 | 54.000 | 58.000 | 8790.42 | 1.801× | 11.092 § | 0.4255 § | 0.4850 § | | `disca_28c_fppf` | 77.8652 | 54.000 | 58.000 | 8598.80 | 1.841× | 10.985 § | 0.4235 § | 0.4813 § | | `disca_s500_28c_fppf` | 75.4569 | 54.000 | 58.000 | 8599.47 | 1.841× | 10.342 § | 0.3920 § | 0.5037 § | | `disca_s1000_28c_fppf` | 77.3960 | 54.000 | 58.000 | 8599.13 | 1.841× | 11.171 § | 0.4119 § | 0.5065 § | | | | | | | | | | | | *≈2×* | | | | | | | | | | `naive2step_28c` | 78.7351 | — | 58.000 | 8139.14 | 1.945× | 11.024 § | 0.4163 § | 0.4844 § | ### HY-WorldPlay(I2V,VBench-I2V-100) 第三个基模:HY-WorldPlay 的 4-step 蒸馏自回归 I2V 模型(HunyuanVideo-1.5 架构,54 个 double-stream block,480×832,125 帧 = 8 chunk × 4 步 = **32 次去噪 forward**)。评测集为 DEV 项目的 validation25:25 张 VBench-I2V 图 × 4 组双向相机动作 = 100 个视频,seed 0。两列 VBench 都基于 `custom_input` 模式下的同一组 **Core5** 五个画质维度(subject_consistency、background_consistency、motion_smoothness、aesthetic_quality、imaging_quality,后者先除以 100):**原始**列是五项原始分的简单平均,口径与 HY-WorldPlay-DEV-Predictor 项目 experiment.md 第 8 节的 VBench Core5 一致,便于直接对照;**归一**列先按 VBench 官方 min-max 归一再平均,即 `((sc−0.1462)/0.8538 + (bc−0.2615)/0.7385 + (ms−0.7060)/0.2915 + aq + iq) / 5`,与 251 表的质量组口径一致。平均 P = 32 − Full。耗时列为去噪路径(32 次 forward)的 GPU 时间,不含每 chunk 一次的 context KV pass 和文本 KV pass;加速比与同进程内同一 job 的 FFFF 配对。 | 策略 | VBench-I2V-100 原始 (%) | VBench-I2V-100 归一 (%) | 平均 P | Full | 模型路径耗时 (ms) | 加速比 | PSNR | SSIM | LPIPS | |---|---:|---:|---:|---:|---:|---:|---:|---:|---:| | **原始调度(chunk 0 与其它 chunk 相同)** | | | | | | | | | | | `ffff` | 84.2562 | 83.3246 | 0.000 | 32.000 | 26412.97 | 1.000× | 120.000 | 1.0000 | 0.0000 | | | | | | | | | | | | | *≈1.3×* | | | | | | | | | | | `teacache_x1.3` | 84.3669 | 83.4689 | 8.000 | 24.000 | 19930.69 | 1.325× | 20.117 | 0.7697 | 0.1102 | | `taylorseer_x1.3` | 84.2522 | 83.3337 | 7.000 | 25.000 | 22387.68 | 1.180× | 18.140 | 0.6780 | 0.1582 | | `motioncache_x1.3` | 84.2313 | 83.3155 | 8.000 | 24.000 | 23101.18 | 1.143× | 17.845 | 0.6725 | 0.1642 | | `naive3step` | 84.2911 | 83.3647 | — | 24.000 | 20351.22 | 1.330× | 19.353 | 0.7400 | 0.1261 | | `reuse_FRFF` | 84.2897 | 83.3844 | 8.000 | 24.000 | 20673.89 | 1.309× | 18.187 | 0.6792 | 0.1575 | | | | | | | | | | | | | *≈1.75×* | | | | | | | | | | | `teacache_x1.75` | 84.2693 | 83.3820 | 11.320 | 20.680 | 17177.16 | 1.538× | 17.638 | 0.6630 | 0.1781 | | `taylorseer_x1.75` | 84.2668 | 83.3677 | 15.000 | 17.000 | 15685.12 | 1.684× | 16.903 | 0.6269 | 0.2090 | | `motioncache_x1.75` | 84.2535 | 83.3566 | 14.382 | 17.618 | 17322.76 | 1.525× | 17.001 | 0.6305 | 0.2058 | | | | | | | | | | | | | *≈2×* | | | | | | | | | | | `naive2step` | 84.2625 | 83.3436 | — | 16.000 | 13670.78 | 1.979× | 18.023 | 0.6641 | 0.1771 | | `reuse_FRRF` | 84.2277 | 83.3291 | 16.000 | 16.000 | 13895.92 | 1.947× | 17.001 | 0.6288 | 0.2081 | | | | | | | | | | | | | *≈2.85–3×* | | | | | | | | | | | `teacache_Fxxx_x2.85` | 82.8598 | 81.7531 | 19.380 | 12.620 | 10516.41 | 2.512× | 16.115 | 0.5980 | 0.2634 | | `taylorseer_Fxxx_x2.85` | 82.4336 | 81.1889 | 21.000 | 11.000 | 10475.24 | 2.522× | 15.394 | 0.5608 | 0.3208 | | `motioncache_Fxxx_x2.85` | 81.3278 | 79.9229 | 22.295 | 9.705 | 10594.27 | 2.494× | 15.160 | 0.5474 | 0.3761 | | | | | | | | | | | | | *≈3.3–4×* | | | | | | | | | | | `naive1step` | 83.1146 | 82.0591 | — | 8.000 | 6940.58 | 3.899× | 16.096 | 0.5808 | 0.2998 | | `reuse_FRRR` | 81.2746 | 79.8838 | 24.000 | 8.000 | 7182.47 | 3.767× | 15.043 | 0.5461 | 0.3698 | | | | | | | | | | | | | **首 chunk FFFF(`_c0FFFF`;Predictor 行 chunk 0 固定全算)** | | | | | | | | | | | | | | | | | | | | | | *≈1.3×* | | | | | | | | | | | `naive3step_c0FFFF` | 84.2618 | 83.3402 | — | 25.000 | 20247.11 | 1.305× | 21.728 § | 0.7794 § | 0.1072 § | | `reuse_FRFF_c0FFFF` | 84.2477 | 83.3293 | 7.000 | 25.000 | 20320.55 | 1.300× | 19.967 § | 0.7262 § | 0.1315 § | | | | | | | | | | | | | *≈1.75×* | | | | | | | | | | | `teacache_x1.75_c0FFFF` | 84.2781 | 83.3869 | 14.000 | 18.000 | 14225.79 | 1.857× | 18.616 § | 0.6855 § | 0.1668 § | | `taylorseer_x1.75_c0FFFF` | 84.2736 | 83.3736 | 14.000 | 18.000 | 15502.48 | 1.704× | 18.598 § | 0.6845 § | 0.1670 § | | `motioncache_x1.75_c0FFFF` | 84.2630 | 83.3633 | 13.930 | 18.070 | 16165.60 | 1.634× | 18.587 § | 0.6843 § | 0.1672 § | | `disca_s1_fppf` | 84.1670 | 83.2478 | 14.000 | 18.000 | 14662.50 ¶ | 1.801× ¶ | 19.668 | 0.7233 | 0.1346 | | `disca_s500_fppf` | 待打分 | 待打分 | 14.000 | 18.000 | 14841.37 ¶ | 1.780× ¶ | 19.350 | 0.7120 | 0.1410 | | `disca_s1000_fppf` | 84.1546 | 83.2336 | 14.000 | 18.000 | 14720.59 ¶ | 1.794× ¶ | 19.660 | 0.7216 | 0.1350 | | `atc_s1_fppf` | 84.1847 | 83.2703 | 14.000 | 18.000 | 15812.57 ¶ | 1.670× ¶ | 20.056 | 0.7439 | 0.1257 | | `atc_s2_s500_fppf_c0FFFF` | 84.2119 | 83.3056 | 14.000 | 18.000 | 20950.51 ¶ | 1.261× ¶ | 20.183 | 0.7480 | 0.1205 | | `atc_s2_s800_fppf_c0FFFF` | 84.2323 | 83.3288 | 14.000 | 18.000 | 15629.35 ¶ | 1.690× ¶ | 20.457 | 0.7570 | 0.1163 | | `atc_s2_s1000_fppf_c0FFFF` | 84.2230 | 83.3159 | 14.000 | 18.000 | 15566.46 ¶ | 1.697× ¶ | 20.265 | 0.7537 | 0.1176 | | `atc_s2_s1500_fppf_c0FFFF` | 84.2264 | 83.3206 | 14.000 | 18.000 | 15546.63 ¶ | 1.699× ¶ | 20.581 | 0.7628 | 0.1137 | | `atc_s2_s2000_fppf_c0FFFF` | 84.2402 | 83.3379 | 14.000 | 18.000 | 18191.28 ¶ | 1.452× ¶ | 20.519 | 0.7611 | 0.1144 | | `naive2step_c0FFFF` | 84.2625 | 83.3447 | — | 18.000 | 14095.82 | 1.874× | 19.723 § | 0.7122 § | 0.1480 § | | `reuse_FRRF_c0FFFF` | 84.2781 | 83.3869 | 14.000 | 18.000 | 14188.73 | 1.862× | 18.616 § | 0.6855 § | 0.1668 § | | | | | | | | | | | | | *≈2.85–3×* | | | | | | | | | | | `teacache_Fxxx_x2.85_c0FFFF` | 82.6370 | 81.4356 | 18.320 | 13.680 | 10420.56 | 2.535× | 17.402 § | 0.6493 § | 0.2323 § | | `taylorseer_Fxxx_x2.85_c0FFFF` | 81.6863 | 80.2616 | 21.000 | 11.000 | 9202.77 | 2.870× | 16.731 § | 0.6155 § | 0.2800 § | | `motioncache_Fxxx_x2.85_c0FFFF` | 81.4090 | 79.9492 | 20.875 | 11.125 | 10491.83 | 2.517× | 16.788 § | 0.6167 § | 0.2840 § | | `disca_s1_fppp` | 81.9808 | 80.7777 | 21.000 | 11.000 | 8802.08 ¶ | 3.001× ¶ | 18.980 | 0.6791 | 0.2445 | | `disca_s1000_fppp` | 82.0229 | 80.8101 | 21.000 | 11.000 | 8728.97 ¶ | 3.026× ¶ | 18.891 | 0.6772 | 0.2430 | | `atc_s1_fppp` | 81.9767 | 80.7813 | 21.000 | 11.000 | 10200.68 ¶ | 2.589× ¶ | 19.270 | 0.6931 | 0.2328 | | `atc_s2_s500_fppp_c0FFFF` | 82.8711 | 81.7725 | 21.000 | 11.000 | 12327.93 ¶ | 2.143× ¶ | 19.203 | 0.6956 | 0.2063 | | `atc_s2_s800_fppp_c0FFFF` | 82.7394 | 81.6377 | 21.000 | 11.000 | 9916.60 ¶ | 2.664× ¶ | 19.352 | 0.6991 | 0.2087 | | `atc_s2_s1000_fppp_c0FFFF` | 82.7097 | 81.5668 | 21.000 | 11.000 | 10035.86 ¶ | 2.632× ¶ | 19.248 | 0.6952 | 0.2097 | | `atc_s2_s1500_fppp_c0FFFF` | 82.7710 | 81.6625 | 21.000 | 11.000 | 9942.50 ¶ | 2.657× ¶ | 19.317 | 0.6989 | 0.2069 | | `atc_s2_s2000_fppp_c0FFFF` | 82.7682 | 81.6582 | 21.000 | 11.000 | 11259.37 ¶ | 2.346× ¶ | 19.336 | 0.6989 | 0.2077 | | `naive1step_c0FFFF` | 83.6264 | 82.6327 | — | 11.000 | 7928.52 | 3.331× | 17.717 § | 0.6393 § | 0.2345 § | | `reuse_FRRR_c0FFFF` | 81.5309 | 80.0960 | 21.000 | 11.000 | 8070.78 | 3.273× | 16.796 § | 0.6174 § | 0.2812 § | ### LingBot-World-V2-1.3B-Causal-Fast(I2V,VBench-I2V-100) 第四个基模:LingBot-World-V2 的 1.3B causal-fast 蒸馏自回归 I2V 世界模型(Wan2.1-1.3B block-causal 架构,30 个 block,相机 Plucker 条件,480×832,16 fps,125 帧 = 8 chunk × 4 latent × 4 步 = **32 次去噪 forward**,KV 窗口 18 latent、sink 6)。评测协议与 HY-WorldPlay 完全相同:validation25 的 25 张图 × 4 组双向相机动作 = 100 个视频,seed 0,Core5 五维、原始/归一两列同上;相机动作把 HY 的逐 latent 位姿(前进 0.08 单位/latent、旋转 3°/latent,前半程正向、后半程反向)换算成 LingBot 需要的逐帧 OpenCV c2w 位姿(4 帧/latent),内参取模型 480×832 示例数据的 fx = fy ≈ 415.6。**这里的 `reuse_*` 复用的是 velocity 而不是 block 残差**:R 步完全不调用 DiT,直接把上一次算出的 flow 预测当作本步预测(`x0 = x_t − σ_t·v_prev`),再照常 renoise;因此 R 步耗时≈0,FRFF/FRRF/FRRR 的 Full 精确为 24/16/8。三个缓存方法(TeaCache / TaylorSeer / MotionCache)按 `cachelib` 的同一套移植接在 30 个 block 的循环上(block 级重实现与官方 forward 逐位一致,`lb_test_exact.py`),操作点沿用 HY 的流程:TeaCache 的 rescale 多项式用 3 个 case × 125 帧标定(`lb_coeff.json`,一次多项式,R² 0.63);`x1.3` 由 compute fraction 二分得到(`lb_sweep_*.json`,61 帧);`x1.75` / `Fxxx_x2.85` 及其 `_c0FFFF` 变体在 61 帧、配对 FFFF 的实测加速比网格上定点(`lb_point_v2.json` / `lb_point_c0.json`,选点规则与 HY 相同)。naive 减步按 Self-Forcing 的规则取 4 步网格的均匀子集(4 步网格 t = 999/937/833/624;3 步 = 999/833/624、2 步 = 999/624、1 步 = 999)。`atc_chunk_*` / `disca_*` 为 Layer-17 Predictor(`lingbot-world-v2-a`,Causal-Forcing-a 的同款移植:复制教师 block 17 + 融合模块,预测 head 输入的 final hidden;离线集 = 100 组 HY 训练图 × 4 动作 × 7 chunk × 3 相邻转移 = 8400 个样本,Stage-1 监督蒸馏 2000 步、全局 batch 64、fusion lr 1e-4 / block lr 1e-5,未做 Stage-2);chunk 0 固定 FFFF,FPPF / FPPP 中 P 步锚定同 chunk 上一步的 hidden,FPF 只走 t = 999 / 937 / 624 三步(P 锚定 t = 999);P 列为 Predictor 调用次数,Full 为完整 DiT 次数,Predictor 按 1/30 次 forward 计入算量。耗时列为去噪路径的 GPU 时间,不含每 chunk 一次的 context KV pass(t=0 的 KV 重写);加速比与同进程内同一 job 的 FFFF 配对。 | 策略 | VBench-I2V-100 原始 (%) | VBench-I2V-100 归一 (%) | 平均 P | Full | 模型路径耗时 (ms) | 加速比 | PSNR | SSIM | LPIPS | |---|---:|---:|---:|---:|---:|---:|---:|---:|---:| | **原始调度(chunk 0 与其它 chunk 相同)** | | | | | | | | | | | `ffff` | 82.3539 | 80.2586 | 0.000 | 32.000 | 6093.68 | 1.000× | 120.000 | 1.0000 | 0.0000 | | | | | | | | | | | | | *≈1.3×* | | | | | | | | | | | `teacache_x1.3` | 82.1485 | 80.1311 | 8.000 | 24.000 | 4645.01 | 1.313× | 15.926 | 0.5619 | 0.3094 | | `taylorseer_x1.3` | 81.8251 | 79.8054 | 7.000 | 25.000 | 5023.59 | 1.214× | 16.037 | 0.5614 | 0.3130 | | `motioncache_x1.3` | 81.2355 | 79.1397 | 7.286 | 24.714 | 5070.72 | 1.203× | 16.005 | 0.5622 | 0.3111 | | `naive3step` | 82.1337 | 80.0778 | — | 24.000 | 4581.98 | 1.331× | 15.369 | 0.4767 | 0.3358 | | `reuse_FRFF` | 82.0735 | 80.0272 | 8.000 | 24.000 | 4573.81 | 1.332× | 15.855 | 0.5632 | 0.3077 | | | | | | | | | | | | | *≈1.75×* | | | | | | | | | | | `teacache_x1.75` | 80.9831 | 78.8059 | 9.930 | 22.070 | 4330.60 | 1.408× | 15.655 | 0.5365 | 0.3393 | | `taylorseer_x1.75` | 76.6210 | 73.8544 | 16.000 | 16.000 | 3405.13 | 1.791× | 15.126 | 0.4776 | 0.4592 | | `motioncache_x1.75` | 79.4888 | 77.0818 | 13.937 | 18.063 | 3835.59 | 1.590× | 15.496 | 0.5152 | 0.3733 | | | | | | | | | | | | | *≈2×* | | | | | | | | | | | `naive2step` | 80.5176 | 78.3186 | — | 16.000 | 3061.56 | 1.992× | 14.945 | 0.4544 | 0.3699 | | `reuse_FRRF` | 76.7683 | 73.5659 | 16.000 | 16.000 | 3059.20 | 1.992× | 14.869 | 0.4767 | 0.4288 | | | | | | | | | | | | | *≈2.85–3×* | | | | | | | | | | | `teacache_Fxxx_x2.85` | 75.1360 | 71.6186 | 17.590 | 14.410 | 2895.33 | 2.106× | 13.435 | 0.4067 | 0.5503 | | `taylorseer_Fxxx_x2.85` | 70.8612 | 65.4422 | 21.000 | 11.000 | 2534.78 | 2.406× | 11.432 | 0.2408 | 0.7647 | | `motioncache_Fxxx_x2.85` | 71.0194 | 64.6213 | 23.623 | 8.377 | 2357.22 | 2.587× | 11.080 | 0.2028 | 0.7918 | | | | | | | | | | | | | *≈3.3–4×* | | | | | | | | | | | `naive1step` | 75.1651 | 72.2501 | — | 8.000 | 1542.10 | 3.955× | 14.197 | 0.4394 | 0.4368 | | `reuse_FRRR` | 71.5376 | 65.4500 | 24.000 | 8.000 | 1541.77 | 3.952× | 10.160 | 0.1762 | 0.8437 | | | | | | | | | | | | | **首 chunk FFFF(`_c0FFFF`;Predictor 行 chunk 0 固定全算)** | | | | | | | | | | | | | | | | | | | | | | *≈1.3×* | | | | | | | | | | | `naive3step_c0FFFF` | 82.1607 | 80.1107 | — | 25.000 | 4720.24 | 1.292× | 16.469 | 0.5485 | 0.2759 | | `reuse_FRFF_c0FFFF` | 82.1895 | 80.1582 | 7.000 | 25.000 | 4720.73 | 1.292× | 17.293 | 0.6455 | 0.2377 | | | | | | | | | | | | | *≈1.75×* | | | | | | | | | | | `teacache_x1.75_c0FFFF` | 78.9073 | 76.3152 | 14.000 | 18.000 | 3439.77 | 1.773× | 16.656 | 0.5814 | 0.3268 | | `taylorseer_x1.75_c0FFFF` | 77.4694 | 74.7649 | 13.000 | 19.000 | 3860.07 | 1.580× | 16.253 | 0.5518 | 0.3966 | | `motioncache_x1.75_c0FFFF` | 78.9094 | 76.3180 | 13.992 | 18.008 | 3733.35 | 1.634× | 16.659 | 0.5815 | 0.3267 | | `atc_chunk_fppf` | 80.0022 | 77.8061 | 14.000 | 18.000 | 3536.15 | 1.728× | 17.301 | 0.6297 | 0.2778 | | `disca_fppf` | 80.0298 | 77.8495 | 14.000 | 18.000 | 3481.70 | 1.755× | 17.275 | 0.6279 | 0.2766 | | `atc_chunk_fpf` | 80.2317 | 78.0594 | 7.000 | 18.000 | 3445.52 | 1.774× | 16.765 | 0.5490 | 0.2936 | | `disca_fpf` | 80.3026 | 78.1454 | 7.000 | 18.000 | 3413.59 | 1.790× | 16.731 | 0.5497 | 0.2933 | | `naive2step_c0FFFF` | 80.8730 | 78.7215 | — | 18.000 | 3342.15 | 1.825× | 16.162 | 0.5342 | 0.3007 | | `reuse_FRRF_c0FFFF` | 76.9432 | 73.7413 | 14.000 | 18.000 | 3340.95 | 1.825× | 15.996 | 0.5476 | 0.3793 | | | | | | | | | | | | | *≈2.85–3×* | | | | | | | | | | | `teacache_Fxxx_x2.85_c0FFFF` | 76.7028 | 73.5163 | 14.650 | 17.350 | 3323.93 | 1.835× | 15.709 | 0.5422 | 0.3865 | | `taylorseer_Fxxx_x2.85_c0FFFF` | 62.0634 | 53.7016 | 21.000 | 11.000 | 2371.54 | 2.572× | 12.114 | 0.2968 | 0.7078 | | `motioncache_Fxxx_x2.85_c0FFFF` | 62.0254 | 53.9066 | 20.996 | 11.004 | 2265.94 | 2.691× | 12.192 | 0.3137 | 0.6975 | | `atc_chunk_fppp` | 73.6541 | 70.6632 | 21.000 | 11.000 | 2257.30 | 2.707× | 16.577 | 0.5786 | 0.3895 | | `disca_fppp` | 73.6381 | 70.4325 | 21.000 | 11.000 | 2166.88 | 2.820× | 16.518 | 0.5565 | 0.3864 | | `naive1step_c0FFFF` | 76.6593 | 73.9502 | — | 11.000 | 1960.37 | 3.111× | 15.430 | 0.5203 | 0.3572 | | `reuse_FRRR_c0FFFF` | 62.1155 | 53.9646 | 21.000 | 11.000 | 1961.77 | 3.109× | 11.297 | 0.2748 | 0.7399 | † 耗时来自该策略自己的生成运行(独占 GPU、单进程),与各基模 FFFF 首批记录相比得到加速比,未做同进程配对计时;按约定不再做 FFFF 重计时。其中 `atc_chunk_s2_fpff`(153/251 条)、`atc_chunk_s2_fppf`(155/251 条)、`atc_chunk_s2_fppp`(156/251 条) 的耗时只来自生成时计时未被破坏的那部分 prompt:其余记录的原始计时被一次中断且遭遇 GPU 争用的配对重计时覆盖,已在记录中标记 `latency_excluded` 并从耗时均值剔除,VBench 与像素指标仍用全部 251 条。 ‡ 该行有部分记录在生成时 GPU 被其他进程短暂共用(Sep 7 的 `disca_s1000_*`:GPU 4/7 上的 gpu_burn 占位,06:22–06:40,每策略约 84 条),这些记录事后在空闲 GPU 上只重跑策略路径重新计时(FFFF 不重跑,逐条核对算量一致,旧值保留在记录的 `generation_run_latency`);其余记录为独占 GPU 的生成运行值。所有记录均为单进程计时。 § 像素指标以 FFFF 运行写出的 MP4 解码帧为参考(其余行以 MP4 编码前的原始帧为参考);同一批视频上实测差异:PSNR +0.10 dB、SSIM −0.024、LPIPS +0.012。`cf_teacache_x2_c0FFFF` 为混合(75/251 条用 MP4 参考)。 ¶ `hy_atc_s1_*` / `hy_disca_s1_*` 来自 HY-WorldPlay-DEV-Predictor 的 validation25 评测(ATC Stage-1,`predictor_v4_atc-full_transport-global-chunk_…_4gpu_bs8x2_steps2000`,step 2000,FPPF/FPPP,chunk 0 四步全算——DEV 的 rollout 固定如此,Predictor 需要前一 chunk;FPPF = 18 full + 14 Predictor,FPPP = 11 + 21),耗时为该项目生成器的 host 端分段计时(`ar_step_transformer + ar_step_predictor`,即去噪路径,不含 context/history KV),与本表其它行的 CUDA event 计时口径接近但不完全相同;像素指标对照 DEV 项目 validation 的 FFFF 视频(与 `hy_ffff` 同源)。DisCa 为双 block Predictor(blocks [0,53],Sep 8 用 `--force_first_chunk_full` 重跑)。`hy_atc_s2_s_*` 为同一 ATC Stage-1 再经 on-policy detached chunk+timestep FPPP rollout 微调(4 卡、每卡 1 条轨迹 × 累积 2、flr 5e-5 / blr 5e-6、2000 steps)后第 N 步的权重,Sep 10 评测(DEV experiment.md 第 12 节),生成设置与 `hy_atc_s1_*` 相同。Predictor 步按 1/54(DisCa 2/54)次 forward 计入 Full。 ### 读数备注 - 2.0× 是 `FxxF` 的算术上限(14/28),到了这一档 TeaCache / FlowCache / MotionCache 全部退化成"中间两步整体跳过、残差拷贝",走的是同一条代码路径,所以三者数字一致;TaylorSeer 在 2.0× 上不同(逐模块拷贝 + 当前步调制),且略差。 - `FxxF` 下 TaylorSeer 的一阶预测从未被触发:跳步前 chunk 内只算过 step 0,差分导数不存在,实际走的是 order-0(拷贝)。`FFxx` 调度就是为了让预测真正生效。 - 像素指标(PSNR 12–15 dB)与 VBench(掉 0–1.4 分)严重脱钩;在这个设定里 PSNR/SSIM 只能当"偏离 FFFF 的程度"读,不是质量代理。 - **第一个 chunk 不该被缓存。** `teacache_x2_c0FFFF` 与 `teacache_x2` 用同一个阈值,唯一区别是 chunk 0 走满 FFFF 四步(算力 16/28 vs 14/28)。Self-Forcing 上 VBench 从 78.7743 升到 79.7515(**+0.98**,把相对 FFFF 的 1.76 分差距砍掉 55%),像素保真度改善更大:PSNR 13.02→16.61(**+3.59 dB**)、SSIM 0.4222→0.6511、LPIPS 0.4854→0.1883(几乎减半)。逐维增益集中在外观类(imaging_quality +0.021、aesthetic_quality +0.021、subject_consistency +0.014、scene +0.011),dynamic_degree −0.014(画面更稳)。机理很直接:第一个 chunk 没有前序 chunk 可复用,且整段视频的外观都继承自它,缓存它等于把误差灌进后面所有 chunk。值得注意的是它同时**又快又好于** `teacache_x1.3`(1.788× vs 1.240×,79.75 vs 79.59,PSNR 16.61 vs 15.16)——「首 chunk 全算 + 后续激进缓存」比「全程温和缓存」是更优的算力分配。 - **首 chunk FFFF 对三种方法、三个档位都成立(SF,`_c0FFFF` 行,Sep 6)。** 同参数下 VBench 一律上升:TeaCache 1.3× 79.59→80.39、1.6× 78.99→80.06(+1.07,1.353×)、`Fxxx` 3× 58.68→61.31;TaylorSeer 1.3× 79.83→80.44、1.75× 78.63→79.44、`Fxxx` 2.85× 60.30→65.54(**+5.2**);MotionCache 1.3× 79.23→79.97、1.75× 79.03→80.34(**+1.31**,已到 FFFF 的 80.54 只差 0.2)、`Fxxx` 2.85× 58.60→62.04。像素保真度更是整体抬升一个台阶:`FxxF` 各档 PSNR 从 13.0–15.2 dB 升到 16.7–20.4 dB、LPIPS 从 0.32–0.52 降到 0.09–0.21;`Fxxx` 档 PSNR 也从 11.7–11.9 升到 14.0–14.3。代价是首 chunk 多算 1–3 次 forward,实测加速比回落 0.08–0.6×(1.3× 档几乎不亏:1.24→1.16、1.30→1.26、1.14→1.13;3× 档亏最多:3.47→2.89、2.95→2.37、2.54→1.90)。两点值得写进论文:(i) `motioncache_x1.75_c0FFFF` 在 1.445× 上达到 80.34 / PSNR 16.75,是 SF 上所有非 FFFF 配置里最接近 FFFF 的一档;(ii) 即便首 chunk 全算,`Fxxx` 仍停在 61–66 分——最后一步的损失是逐 chunk 局部的,不是从首 chunk 传下来的,所以两条规则相互独立:首 chunk 全算、最后一步全算。 - **首 chunk FFFF 在 Causal-Forcing 上同样成立,但 1.3× 档没有余量。** CF 的 FFFF 是 81.17,而三种方法的 1.3× 原版已经在 81.2–81.6(与 FFFF 持平或更高,属评测噪声),所以 `_c0FFFF` 在这一档 VBench 变化在 ±0.3 内(TeaCache 81.22→81.04、TaylorSeer 81.62→81.31、MotionCache 81.25→81.39);但只要原版有损失,首 chunk 全算就把损失补回来:TeaCache 2× 79.97→**81.18**(+1.21,1.789× 下回到 FFFF 的 81.17;PSNR 11.90→14.43),1.75× TaylorSeer 79.95→80.74、MotionCache 80.67→81.11(回到 FFFF 水平),`Fxxx` 档 TaylorSeer 60.96→65.46、MotionCache 59.58→64.08(各 **+4.5**)、TeaCache 65.02→65.66。像素保真度则和 SF 一样全面抬升:`FxxF` 各档 PSNR 12.0–13.2→14.4–16.5、LPIPS 0.34–0.52→0.14–0.27。SF/CF 两个基模合起来,16 组同参数对照中 VBench 14 升 2 平(2 平的都是原本已到 FFFF 的 CF 1.3× 档),PSNR 16/16 上升。 - **naive 减步是很强的对照。** 在 Causal-Forcing 上按等算力配对(Full 完全相同):21/28 档 `naive3step` 81.40 vs `reuse_FRFF` 81.31,14/28 档 80.57 vs 80.04,7/28 档 **75.52 vs 58.86**——直接少走几步全面不输于、低算力时远好于固定位置的残差复用,因为 `FRRR` 只算首步、其余三步复用同一个残差,误差累积到崩溃。更关键的是 `naive2step`(14/28、80.57)优于所有缓存方法在同一算力下的成绩(`teacache_x2` / `motioncache_x2` 均为 79.97–79.99),即在这个基模上「直接少走两步」比「走满四步再缓存两步」更划算。 - **HY-WorldPlay 上 naive 减步几乎免费,直接复用不是(Sep 6,Core5 原始分)。** `naive3step` 84.29、`naive2step` 84.26 与 FFFF 84.26 持平,`naive1step` 83.11(−1.1)却拿到 **3.90×**;像素上 naive3/2/1 的 PSNR 19.4 / 18.0 / 16.1。等算力对照:24/32 档 `naive3step` 84.29 ≈ `reuse_FRFF` 84.29 ≈ `teacache_x1.3` 84.37;16/32 档 `naive2step` 84.26 ≈ `reuse_FRRF` 84.23;8/32 档 `naive1step` 83.11 vs `reuse_FRRR` 81.27(**+1.8**,PSNR 16.1 vs 15.0)。也就是说 HY 这类蒸馏 AR 模型对步数极不敏感(4 步→2 步无损、→1 步只掉 1 分),三种缓存方法在 `FxxF` 下做到的 1.5–1.7× 都被 `naive2step` 的 1.98× 无损覆盖;缓存方法唯一还能争的是 2.5–2.9× 那一档,而那一档它们(81.3–82.9)也输给 `naive1step`(83.1,3.9×)。把 Self-Forcing/Causal-Forcing 上「naive 减步强于缓存」的结论推广到 HY 是成立的,而且更极端。 - **首 chunk FFFF + naive 减步是 CF 上目前最强的算力分配(Sep 7)。** 后 6 个 chunk 减步、chunk 0 仍走 4 步:`naive3step_c0FFFF` 81.39(22/28,1.284×)、`naive2step_c0FFFF` **81.71**(16/28,1.807×,高于 FFFF 的 81.17)、`naive1step_c0FFFF` **79.15**(10/28,3.048×)。对比同算力的其它配置:16/28 档 `teacache_x2_c0FFFF` = `reuse_FRRF_c0FFFF` 81.18、`taylorseer_x1.75_c0FFFF`(17) 80.74;10/28 档所有 `Fxxx` 缓存方法 61–66、`reuse_FRRR_c0FFFF` 59.5,而 `naive1step_c0FFFF` 79.15 领先 13 分以上——原因同前:减步让最后一次预测仍在 t=1000 这一训练过的时间步上做(对 1 步就是唯一一步),而 `Fxxx` 是把最后一步换成过期残差。首 chunk FFFF 对 naive 的增益随减步幅度放大:3 步 −0.01、2 步 +1.14、1 步 **+3.63**(75.52→79.15),像素指标也从 11.5–11.9 dB 抬到 14.1–14.4 dB。直接复用(reuse)在同算力下始终不如减步:22/28 档 81.34 vs 81.39,16/28 档 81.18 vs 81.71,10/28 档 59.5 vs 79.2。 - **HY 上首 chunk FFFF 对基线的作用小得多(Sep 7)。** naive/reuse 六个 `_c0FFFF` 变体里,VBench 只有本来有损的两个动了:`naive1step` 83.11→83.63(+0.51,3.90×→3.33×)、`reuse_FRRR` 81.27→81.53(+0.26,3.77×→3.27×);已在 FFFF 水平的 3 步 / 2 步 / FRFF / FRRF 保持不变(±0.05)。像素指标仍全面上升(PSNR +1.6–2.4 dB,如 `naive2step` 18.0→19.7、`naive3step` 19.4→21.7)。这与 HY 是 I2V 一致:chunk 0 有输入图像做强条件,外观不像 T2V 那样完全由首 chunk 决定,所以 SF/CF 上 +1~+3.6 的 VBench 增益在 HY 上只剩零点几分。ATC Stage-1 predictor(`atc_s1_fppf`,DEV 项目 validation25)在 1.67× 下 84.18 / PSNR 20.1,像素保真度高于同速的 `teacache_x1.75`(PSNR 17.6)、与 `naive2step_c0FFFF`(1.87×,PSNR 19.7)相当。 - **HY 缓存方法在 c0FFFF 下重新搜参后达到了目标档位(Sep 8,`*_x1.75_c0FFFF` / `*_Fxxx_x2.85_c0FFFF`)。** 实测加速比 TeaCache 1.857× / 2.535×、TaylorSeer 1.704× / 2.870×、MotionCache 1.634× / 2.517×(之前为 1.54 / 2.51、1.68 / 2.52、1.53 / 2.49)。`FxxF` 档三者 VBench 全部保持 FFFF 水平(84.26–84.28 vs 84.26),像素指标比原版高 1–2 dB(PSNR 18.6 vs 16.9–17.6);但这一档 TeaCache 与 TaylorSeer 落到的都是「后 7 chunk 中间两步全跳」的量化上限点(Full = 18/32),与 `reuse_FRRF_c0FFFF` 算力等价、结果也几乎一样(84.28 / PSNR 18.6),只有 MotionCache 仍保留 27% 的 token 级活跃步。`Fxxx` 档 VBench 82.6 / 81.7 / 81.4,与原版持平或略低(TaylorSeer 82.43→81.69 是换了更激进的 interval 3.9 以换取 2.52×→2.87×),像素指标同样 +1.2–1.6 dB。同算力对照仍然是 naive 减步占优:16–18/32 档 `naive2step_c0FFFF` 84.26 / 1.87× / PSNR 19.7 不输任何缓存方法,11/32 档 `naive1step_c0FFFF` 83.63 / 3.33× 高出所有 `Fxxx` 缓存点 1–2 分。ATC Stage-1 predictor `atc_s1_fppp` 在 2.59× 下 81.98 / PSNR 19.3——VBench 与 `Fxxx` 缓存点相当,像素保真度高 2–3 dB。DisCa Stage-1(双 block,blocks [0,53],同样 chunk 0 全算)`disca_s1_fppf` 84.17 / PSNR 19.7 / LPIPS 0.135,1.80×:VBench 与 ATC 持平,像素保真度介于 ATC(20.1 / 0.126)与 naive2step_c0FFFF(19.7 / 0.148)之间,高于残差复用类(18.6 / 0.167)。FPPP 档 `disca_s1_fppp` 81.98 / PSNR 19.0(3.00×)与 `atc_s1_fppp` 81.98 / 19.3(2.59×)持平,仍低于 `naive1step_c0FFFF` 83.63。DisCa 的 step-1000 与 step-2000 checkpoint 几乎无差别(FPPF 84.15 vs 84.17,FPPP 82.02 vs 81.98,像素指标差 <0.1 dB)——HY 上 DisCa 在 1000 步已收敛,与 CF 上 DisCa 1000→2000 步 FPPP +3.7 的情况不同。 - **长视频(Sep 8,`*_14c_*` / `*_28c_*`:14 / 28 chunk = 165 / 333 帧,超过 21 帧训练上下文后 KV 走 21 帧滚动窗口)。** 14 chunk 时 FFFF 自身从 81.17 降到 81.01(`14c_ffff`;subject_consistency 95.7→92.7、background 95.8→94.1,scene 反而 56.0→61.3),说明滚动窗口下长程一致性本身在退化。ATC-chunk FPPF 在 14 chunk 上 1.766×:Stage-1 80.57(相对 `14c_ffff` −0.43,7 chunk 时是 +0.38)、Stage-2 **80.97**(−0.03);像素指标从 7 chunk 的 PSNR 14.6 / LPIPS 0.22 降到 12.8 / 0.34——Predictor 的误差随 chunk 累积(前 7 chunk 之后没有 FFFF 的「重锚定」),Stage-2(随机出口 DMD)在长视频上比 Stage-1 稳得多(VBench +0.40,主要是 subject/background consistency)。28 chunk(333 帧)时趋势放大:FFFF 自身掉到 **77.99**(subject 95.7→88.3、background 95.8→89.6、aesthetic 66.6→62.2——滚动窗口下的长程漂移是基模本身的问题),ATC Stage-1 FPPF 77.48(−0.51)、**Stage-2 78.65(+0.67,高于同长度 FFFF;subject 89.1 vs 88.3、background 91.3 vs 89.6)**,加速比 1.793×;像素指标继续下滑到 PSNR 11.0 / LPIPS 0.47–0.48。三种长度合起来:Stage-1 相对同长度 FFFF 为 +0.38 / −0.43 / −0.51,Stage-2 为 +0.08 / −0.03 / +0.67——随机出口 DMD 训练出来的 Predictor 不会随视频变长而退化,反而在 FFFF 自己漂移最严重的 28 chunk 上略优于 FFFF。 - **长视频上的 checkpoint 扫描(Sep 11–12,CF 14 / 28 chunk,FPPF,chunk 0 FFFF;HY 16 / 32 chunk 进行中)。** 对比 DisCa Stage-1 的 step 500 / 1000 / 2000、ATC Stage-2(随机出口 DMD,EMA)的 step 500 / 1000 / 2000 与 naive 2 步(`naive2step_c`:chunk 0 四步全算,之后每 chunk 只走 t=1000 / 250,与 `cf_naive2step_c0FFFF` 同一子集),三者 Full 完全相同(14 chunk 30/56、28 chunk 58/112),参考帧读同长度 FFFF 的 MP4(§)。14 chunk:ATC Stage-2 s500 / s1000 / s2000 = 81.08 / **81.11** / 80.97(FFFF 81.01,1.77–1.78×),DisCa s500 / s1000 / s2000 = 80.12 / 80.51 / 80.60(1.82×),`naive2step_14c` 80.79(1.91×);28 chunk:ATC Stage-2 78.55 / **78.84** / 78.65(FFFF 77.99,1.80×),DisCa 75.46 / 77.40 / 77.87(1.84×),`naive2step_28c` 78.74(1.95×)。三点读数:(i) ATC Stage-2 三个 step 相差不到 0.15(14c)/ 0.3(28c),s500 就已经到达平台并且不低于同长度 FFFF——Stage-2 对长视频的增益来得很早,2000 步不是必要条件;(ii) DisCa 随步数单调上升,但 2000 步仍低于 FFFF 与 naive,且视频越长早期权重掉得越多(28c 的 s500 比 FFFF 低 2.5)——没有前一 chunk 通道的 Predictor 在长视频上误差累积更快;(iii) 等 Full 的 naive 2 步与最好的 ATC Stage-2 在 14c 只差 0.3、28c 持平(78.74 vs 78.84),像素指标也几乎相同(PSNR 12.6 vs 12.7–12.8、11.0 vs 11.1),而 naive 的实测加速比更高(Predictor 调用的真实开销高于按 1/30 forward 记的算量)——在 CF 的长视频上,ATC Stage-2 相对 naive 减步的优势只剩零点几分,主要收益是不低于 FFFF 的一致性指标(subject / background consistency)。HY 的 16 / 32 chunk 行(64 / 128 latent,相机动作等比拉长)生成中,完成后补入 HY 表。 - **`FPF`(Sep 8):chunk 内只走 3 个时间步——t=1000 全算、t=750 一步 Predictor(锚定 t=1000,与训练一致)、跳过 t=500、t=250 全算。** ATC-chunk Stage-1 的 `atc_chunk_fpf` 在 **1.773×** 下 81.30(FFFF 81.17,同算力 16 full 的 `atc_chunk_fppf` 81.55 / 1.697×,`naive3step` 81.40 / 1.327×),像素指标 PSNR 14.5 / LPIPS 0.24 与 FPPF 相当。也就是说少调用一次 Predictor、直接跳过一个时间步,质量几乎不变而更快——和 naive 减步同一逻辑:中间步的价值主要在于让最后一步有一个好的 起点,而不在于步数本身。 - MotionCache 在 1.3×/1.6× 的实测加速比明显低于 compute 折算(差 9–11 个百分点):逐 token 选择与 selective forward 的簿记开销是真实存在的;`Fxxx` 下更甚,compute 3.0× 只换来 实测 1.85–1.95×。 - **最后一步不能缓存。** 凡是让 step 3 走缓存的配置——`Fxxx` 全部、`FFxx` 在 ≥1.6× 时——VBench 掉 15–25 分:imaging/aesthetic 从 ~0.66 掉到 0.41–0.50,scene 从 ~0.57 掉到 0.03–0.37,而 dynamic_degree 从 0.69–0.82 **升**到 0.89–0.96,即残留噪声没有被去掉、画面在抖。`FFxx ×1.3` 实际是 FFxF(最后一步仍算),质量与 `FxxF ×1.3` 相当。 - TaylorSeer 的一阶预测在 `FFxx` 下确实被触发了,但 ≥1.6× 时把预测用在了最后一步,"预测 vs 拷贝"与"跳不跳最后一步"在这组数据里是混在一起的;要单独检验预测本身,需要最后一步必算、中间步用一阶预测的调度(如 FFxF,上限 1.33×)。 - `Fxxx` 下 TeaCache/FlowCache 的阈值在 3 条 prompt 上搜到 ~3.0× compute,251 条上实际为 3.4–3.6×(Self-Forcing)/ 2.8–2.9×(Causal-Forcing):indicator 跨 chunk 几乎不变,可达点是 {1, 2, 4}× 的台阶,中间值靠少数 chunk 落在台阶另一侧凑出,随 prompt 集漂移。MotionCache(逐 token)和 TaylorSeer(确定性调度)不漂。 ## 2. 各策略的配置参数 阈值类方法(TeaCache / FlowCache / MotionCache)的 `thresh` 作用在**重标定后**的累计相对 L1 距离上(`calibrate.py` 按 TeaCache 的拟合流程得到的 1 次多项式,见下方系数),indicator 为时间步调制后的噪声输入(TeaCache 原始定义,非 Wan 移植的 `e0`)。TaylorSeer 的 `interval` 为平均刷新间隔,小数部分用 Bresenham 交替在相邻整数间隔间实现,`max_order=1`。固定超参:FlowCache `group_size=1`(3 帧组/chunk);MotionCache `weight_norm=mean`、`min_update_ratio=0`、无 temporal consistency。"搜索时 Full"是定参数时在搜索/配对 prompt 上的 compute,251 条上的实际值见第 1 节。 ### Self-Forcing 重标定多项式系数(最高次在前):`0.611279, -0.168851` | 策略 | 方法 | 调度 | 参数 | 取值 | 目标加速比 | 搜索时 Full | 来源 | |---|---|---|---|---:|---:|---:|---| | `ffff` | 无缓存 | FFFF | — | — | 1.0× | 28.000 | — | | `teacache_x1.3` | TeaCache | FxxF | `thresh` | 0.634766 | 1.3× | 21.600 | final_self_forcing.json,held-out 漂移 -0.079 | | `teacache_x1.3` | TeaCache | FxxF(首 chunk FFFF) | `thresh` | 0.634766 | 1.3× | nan | final_self_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `teacache_x1.6` | TeaCache | FxxF | `thresh` | 1.25065 | 1.6× | 19.200 | final_self_forcing.json,held-out 漂移 -0.032 | | `teacache_x1.6` | TeaCache | FxxF(首 chunk FFFF) | `thresh` | 1.25065 | 1.6× | nan | final_self_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `teacache_x1.75` | TeaCache | FxxF | `thresh` | 1.2496 | 1.75× | 21.000 | final_self_forcing_v2.json,按实测加速比定点(扫描 1.337×);below band (reachable speedups are quantised) | | `teacache_x2` | TeaCache | FxxF | `thresh` | 1.29167 | 2× | 14.000 | final_self_forcing.json,held-out 漂移 +0.000 | | `teacache_x2` | TeaCache | FxxF(首 chunk FFFF) | `thresh` | 1.29167 | 2× | nan | final_self_forcing_c0full.json,3-prompt 搜索点,未经 finalize | | `teacache_Fxxx_x2.85` | TeaCache | Fxxx | `thresh` | 0.9 | 2.85× | 14.000 | final_self_forcing_v2.json,按实测加速比定点(扫描 1.969×);below band (reachable speedups are quantised) | | `teacache_Fxxx_x3` | TeaCache | Fxxx(首 chunk FFFF) | `thresh` | 1.72656 | 3× | nan | final_self_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `teacache_Fxxx_x3` | TeaCache | Fxxx | `thresh` | 1.72656 | 3× | 9.667 | final_self_forcing_newsched.json,3-prompt 搜索点,未经 finalize | | `flowcache_x1.3` | FlowCache | FxxF | `thresh` | 0.635946 | 1.3× | 21.433 | final_self_forcing.json,held-out 漂移 -0.038 | | `flowcache_x1.6` | FlowCache | FxxF | `thresh` | 1.25 | 1.6× | 18.333 | final_self_forcing.json,held-out 漂移 -0.070 | | `flowcache_x2` | FlowCache | FxxF | `thresh` | 1.29167 | 2× | 14.000 | final_self_forcing.json,held-out 漂移 +0.000 | | `flowcache_Fxxx_x3` | FlowCache | Fxxx | `thresh` | 1.72461 | 3× | 10.111 | final_self_forcing_newsched.json,3-prompt 搜索点,未经 finalize | | `taylorseer_x1.3` | TaylorSeer | FxxF | `interval` | 2.08333 | 1.3× | 21.000 | final_self_forcing.json,held-out 漂移 +0.000 | | `taylorseer_x1.3` | TaylorSeer | FxxF(首 chunk FFFF) | `interval` | 2.08333 | 1.3× | nan | final_self_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `taylorseer_x1.6` | TaylorSeer | FxxF | `interval` | 2.58333 | 1.6× | 17.000 | final_self_forcing.json,held-out 漂移 +0.000 | | `taylorseer_x1.75` | TaylorSeer | FxxF(首 chunk FFFF) | `interval` | 2.75 | 1.75× | nan | final_self_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `taylorseer_x1.75` | TaylorSeer | FxxF | `interval` | 2.75 | 1.75× | 15.000 | final_self_forcing_v2.json,按实测加速比定点(扫描 1.777×) | | `taylorseer_x2` | TaylorSeer | FxxF | `interval` | 2.91667 | 2× | 14.000 | final_self_forcing.json,held-out 漂移 +0.000 | | `taylorseer_FFxx_x1.3` | TaylorSeer | FFxx | `interval` | 1.8125 | 1.3× | 22.000 | final_self_forcing_newsched.json,3-prompt 搜索点,未经 finalize | | `taylorseer_FFxx_x1.6` | TaylorSeer | FFxx | `interval` | 2.375 | 1.6× | 18.000 | final_self_forcing_newsched.json,3-prompt 搜索点,未经 finalize | | `taylorseer_FFxx_x2` | TaylorSeer | FFxx | `interval` | 2.875 | 2× | 14.000 | final_self_forcing_newsched.json,3-prompt 搜索点,未经 finalize | | `taylorseer_Fxxx_x2.85` | TaylorSeer | Fxxx(首 chunk FFFF) | `interval` | 3.65 | 2.85× | nan | final_self_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `taylorseer_Fxxx_x2.85` | TaylorSeer | Fxxx | `interval` | 3.65 | 2.85× | 9.000 | final_self_forcing_v2.json,按实测加速比定点(扫描 2.870×) | | `motioncache_x1.3` | MotionCache | FxxF(首 chunk FFFF) | `thresh` | 0.755981 | 1.3× | nan | final_self_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `motioncache_x1.3` | MotionCache | FxxF | `thresh` | 0.755981 | 1.3× | 21.574 | final_self_forcing_mc.json,held-out 漂移 +0.003 | | `motioncache_x1.6` | MotionCache | FxxF | `thresh` | 1.24609 | 1.6× | 17.333 | final_self_forcing_mc.json,held-out 漂移 -0.008 | | `motioncache_x1.75` | MotionCache | FxxF(首 chunk FFFF) | `thresh` | 1.35 | 1.75× | nan | final_self_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `motioncache_x1.75` | MotionCache | FxxF | `thresh` | 1.35 | 1.75× | 16.023 | final_self_forcing_v2.json,按实测加速比定点(扫描 1.536×,活跃步 50%,选中 28%);below band (token-wise decision goes vacuous above this point) | | `motioncache_x2` | MotionCache | FxxF | `thresh` | 2.5 | 2× | 14.000 | final_self_forcing_mc.json,held-out 漂移 +0.000 | | `motioncache_Fxxx_x2.85` | MotionCache | Fxxx(首 chunk FFFF) | `thresh` | 1.95 | 2.85× | nan | final_self_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `motioncache_Fxxx_x2.85` | MotionCache | Fxxx | `thresh` | 1.95 | 2.85× | 7.550 | final_self_forcing_v2.json,按实测加速比定点(扫描 2.537×,活跃步 43%,选中 8%);below band (token-wise decision goes vacuous above this point) | | `motioncache_Fxxx_x3` | MotionCache | Fxxx | `thresh` | 1.79297 | 3× | 9.342 | final_self_forcing_newsched.json,3-prompt 搜索点,未经 finalize | | `euler_FFFF` | euler | FFFF | — | — | — | — | 基线(无搜索参数) | | `reuse_FRFF` | reuse | FRFF | — | — | — | — | 基线(无搜索参数) | | `reuse_FRRF` | reuse | FRRF | — | — | — | — | 基线(无搜索参数) | | `reuse_FRRR` | reuse | FRRR | — | — | — | — | 基线(无搜索参数) | ### Causal-Forcing 重标定多项式系数(最高次在前):`0.807724, -0.413696` | 策略 | 方法 | 调度 | 参数 | 取值 | 目标加速比 | 搜索时 Full | 来源 | |---|---|---|---|---:|---:|---:|---| | `ffff` | 无缓存 | FFFF | — | — | 1.0× | 28.000 | — | | `teacache_x1.3` | TeaCache | FxxF | `thresh` | 0.649089 | 1.3× | 21.400 | final_causal_forcing.json,held-out 漂移 +0.025 | | `teacache_x1.3` | TeaCache | FxxF(首 chunk FFFF) | `thresh` | 0.649089 | 1.3× | nan | final_causal_forcing_c0full.json,3-prompt 搜索点,未经 finalize | | `teacache_x1.6` | TeaCache | FxxF | `thresh` | 1.27604 | 1.6× | 17.900 | final_causal_forcing.json,held-out 漂移 +0.024 | | `teacache_x1.75` | TeaCache | FxxF | `thresh` | 1.2754 | 1.75× | 16.000 | final_causal_forcing_v2.json,按实测加速比定点(扫描 1.785×) | | `teacache_x2` | TeaCache | FxxF | `thresh` | 1.29167 | 2× | 14.000 | final_causal_forcing.json,held-out 漂移 +0.000 | | `teacache_x2` | TeaCache | FxxF(首 chunk FFFF) | `thresh` | 1.29167 | 2× | nan | final_causal_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `teacache_Fxxx_x3` | TeaCache | Fxxx(首 chunk FFFF) | `thresh` | 1.70117 | 3× | nan | final_causal_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `teacache_Fxxx_x3` | TeaCache | Fxxx | `thresh` | 1.70117 | 3× | 9.000 | final_causal_forcing_newsched.json,3-prompt 搜索点,未经 finalize | | `flowcache_x1.3` | FlowCache | FxxF | `thresh` | 0.648763 | 1.3× | 22.083 | final_causal_forcing.json,held-out 漂移 +0.005 | | `flowcache_x1.6` | FlowCache | FxxF | `thresh` | 1.27604 | 1.6× | 17.125 | final_causal_forcing.json,held-out 漂移 +0.004 | | `flowcache_x2` | FlowCache | FxxF | `thresh` | 1.29167 | 2× | 14.000 | final_causal_forcing.json,held-out 漂移 +0.000 | | `flowcache_Fxxx_x3` | FlowCache | Fxxx | `thresh` | 1.69922 | 3× | 9.556 | final_causal_forcing_newsched.json,3-prompt 搜索点,未经 finalize | | `taylorseer_x1.3` | TaylorSeer | FxxF(首 chunk FFFF) | `interval` | 2.08333 | 1.3× | nan | final_causal_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `taylorseer_x1.3` | TaylorSeer | FxxF | `interval` | 2.08333 | 1.3× | 21.000 | final_causal_forcing_ts.json,held-out 漂移 +0.000 | | `taylorseer_x1.6` | TaylorSeer | FxxF | `interval` | 2.58333 | 1.6× | 17.000 | final_causal_forcing_ts.json,held-out 漂移 +0.000 | | `taylorseer_x1.75` | TaylorSeer | FxxF(首 chunk FFFF) | `interval` | 2.75 | 1.75× | nan | final_causal_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `taylorseer_x1.75` | TaylorSeer | FxxF | `interval` | 2.75 | 1.75× | 15.000 | final_causal_forcing_v2.json,按实测加速比定点(扫描 1.779×) | | `taylorseer_x2` | TaylorSeer | FxxF | `interval` | 2.91667 | 2× | 14.000 | final_causal_forcing_ts.json,held-out 漂移 +0.000 | | `taylorseer_FFxx_x1.3` | TaylorSeer | FFxx | `interval` | 1.8125 | 1.3× | 22.000 | final_causal_forcing_newsched.json,3-prompt 搜索点,未经 finalize | | `taylorseer_FFxx_x1.6` | TaylorSeer | FFxx | `interval` | 2.375 | 1.6× | 18.000 | final_causal_forcing_newsched.json,3-prompt 搜索点,未经 finalize | | `taylorseer_FFxx_x2` | TaylorSeer | FFxx | `interval` | 2.875 | 2× | 14.000 | final_causal_forcing_newsched.json,3-prompt 搜索点,未经 finalize | | `taylorseer_Fxxx_x2.85` | TaylorSeer | Fxxx(首 chunk FFFF) | `interval` | 3.65 | 2.85× | nan | final_causal_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `taylorseer_Fxxx_x2.85` | TaylorSeer | Fxxx | `interval` | 3.65 | 2.85× | 9.000 | final_causal_forcing_v2.json,按实测加速比定点(扫描 2.866×) | | `motioncache_x1.3` | MotionCache | FxxF(首 chunk FFFF) | `thresh` | 0.769531 | 1.3× | nan | final_causal_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `motioncache_x1.3` | MotionCache | FxxF | `thresh` | 0.769531 | 1.3× | 21.450 | final_causal_forcing_mc.json,held-out 漂移 -0.007 | | `motioncache_x1.6` | MotionCache | FxxF | `thresh` | 1.26471 | 1.6× | 17.612 | final_causal_forcing_mc.json,held-out 漂移 +0.006 | | `motioncache_x1.75` | MotionCache | FxxF(首 chunk FFFF) | `thresh` | 1.55 | 1.75× | nan | final_causal_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `motioncache_x1.75` | MotionCache | FxxF | `thresh` | 1.55 | 1.75× | 14.393 | final_causal_forcing_v2.json,按实测加速比定点(扫描 1.550×,活跃步 52%,选中 7%);below band (token-wise decision goes vacuous above this point) | | `motioncache_x2` | MotionCache | FxxF | `thresh` | 2.875 | 2× | 14.000 | final_causal_forcing_mc.json,held-out 漂移 +0.000 | | `motioncache_Fxxx_x2.85` | MotionCache | Fxxx(首 chunk FFFF) | `thresh` | 1.9 | 2.85× | nan | final_causal_forcing_c0full_more.json,3-prompt 搜索点,未经 finalize | | `motioncache_Fxxx_x2.85` | MotionCache | Fxxx | `thresh` | 1.9 | 2.85× | 8.043 | final_causal_forcing_v2.json,按实测加速比定点(扫描 2.316×,活跃步 65%,选中 8%);below band (token-wise decision goes vacuous above this point) | | `motioncache_Fxxx_x3` | MotionCache | Fxxx | `thresh` | 1.76953 | 3× | 9.308 | final_causal_forcing_newsched.json,3-prompt 搜索点,未经 finalize | | `naive3step` | FFFF | FFF | — | — | — | — | 基线(无搜索参数) | | `naive2step` | FFFF | FF | — | — | — | — | 基线(无搜索参数) | | `naive1step` | FFFF | F | — | — | — | — | 基线(无搜索参数) | | `reuse_FRFF` | reuse | FRFF | — | — | — | — | 基线(无搜索参数) | | `reuse_FRRF` | reuse | FRRF | — | — | — | — | 基线(无搜索参数) | | `reuse_FRRR` | reuse | FRRR | — | — | — | — | 基线(无搜索参数) | | `naive3step_c0FFFF` | FFFF | FFF | — | — | — | — | 基线(无搜索参数) | | `naive2step_c0FFFF` | FFFF | FF | — | — | — | — | 基线(无搜索参数) | | `naive1step_c0FFFF` | FFFF | F | — | — | — | — | 基线(无搜索参数) | | `reuse_FRFF_c0FFFF` | reuse | FRFF | — | — | — | — | 基线(无搜索参数) | | `reuse_FRRF_c0FFFF` | reuse | FRRF | — | — | — | — | 基线(无搜索参数) | | `reuse_FRRR_c0FFFF` | reuse | FRRR | — | — | — | — | 基线(无搜索参数) | ### HY-WorldPlay | 策略 | 方法 | 调度 | 参数 | 取值 | 目标加速比 | 来源 | |---|---|---|---|---:|---:|---| | `ffff` | 无缓存 | FxxF | — | — | 1× | — | | `teacache_x1.3` | TeaCache | FxxF | `thresh` | 0.242188 | 1.3× | hy_sweep_teacache.json;rescale 系数 hy_coeff.json | | `teacache_x1.75` | TeaCache | FxxF | `thresh` | 0.4767 | 1.75× | hy_point_v2.json;rescale 系数 hy_coeff.json | | `teacache_x1.75_c0FFFF` | TeaCache | FxxF(首 chunk FFFF) | `thresh` | 0.55 | 1.75× | hy_point_c0.json;rescale 系数 hy_coeff.json | | `teacache_Fxxx_x2.85` | TeaCache | Fxxx | `thresh` | 0.655 | 2.85× | hy_point_v2.json;rescale 系数 hy_coeff.json | | `teacache_Fxxx_x2.85_c0FFFF` | TeaCache | Fxxx(首 chunk FFFF) | `thresh` | 0.665 | 2.85× | hy_point_c0.json;rescale 系数 hy_coeff.json | | `taylorseer_x1.3` | TaylorSeer | FxxF | `interval` | 1.83333 | 1.3× | hy_sweep_taylorseer.json | | `taylorseer_x1.75` | TaylorSeer | FxxF | `interval` | 2.85 | 1.75× | hy_point_v2.json | | `taylorseer_x1.75_c0FFFF` | TaylorSeer | FxxF(首 chunk FFFF) | `interval` | 3 | 1.75× | hy_point_c0.json | | `taylorseer_Fxxx_x2.85` | TaylorSeer | Fxxx | `interval` | 3.65 | 2.85× | hy_point_v2.json | | `taylorseer_Fxxx_x2.85_c0FFFF` | TaylorSeer | Fxxx(首 chunk FFFF) | `interval` | 3.9 | 2.85× | hy_point_c0.json | | `motioncache_x1.3` | MotionCache | FxxF | `thresh` | 0.09375 | 1.3× | hy_sweep_motioncache.json | | `motioncache_x1.75` | MotionCache | FxxF | `thresh` | 0.2 | 1.75× | hy_point_v2.json | | `motioncache_x1.75_c0FFFF` | MotionCache | FxxF(首 chunk FFFF) | `thresh` | 0.36 | 1.75× | hy_point_c0.json | | `motioncache_Fxxx_x2.85` | MotionCache | Fxxx | `thresh` | 0.6 | 2.85× | hy_point_v2.json | | `motioncache_Fxxx_x2.85_c0FFFF` | MotionCache | Fxxx(首 chunk FFFF) | `thresh` | 0.9 | 2.85× | hy_point_c0.json | | `naive3step` | 无缓存 | FFF | — | — | — | naive baseline | | `naive2step` | 无缓存 | FF | — | — | — | naive baseline | | `naive1step` | 无缓存 | F | — | — | — | naive baseline | | `reuse_FRFF` | reuse | FRFF | — | — | — | naive cache baseline | | `reuse_FRRF` | reuse | FRRF | — | — | — | naive cache baseline | | `reuse_FRRR` | reuse | FRRR | — | — | — | naive cache baseline | | `naive3step_c0FFFF` | 无缓存 | FFF(首 chunk FFFF) | — | — | — | naive baseline (chunk 0 FFFF) | | `naive2step_c0FFFF` | 无缓存 | FF(首 chunk FFFF) | — | — | — | naive baseline (chunk 0 FFFF) | | `naive1step_c0FFFF` | 无缓存 | F(首 chunk FFFF) | — | — | — | naive baseline (chunk 0 FFFF) | | `reuse_FRFF_c0FFFF` | reuse | FRFF(首 chunk FFFF) | — | — | — | naive cache baseline (chunk 0 FFFF) | | `reuse_FRRF_c0FFFF` | reuse | FRRF(首 chunk FFFF) | — | — | — | naive cache baseline (chunk 0 FFFF) | | `reuse_FRRR_c0FFFF` | reuse | FRRR(首 chunk FFFF) | — | — | — | naive cache baseline (chunk 0 FFFF) | | `atc_s1_fppf` / `atc_s1_fppp` | ATC Stage-1 predictor | FPPF / FPPP | — | — | — | HY-WorldPlay-DEV-Predictor validation25(¶) | | `atc_s2_s{500,800,1000,1500,2000}_fppf` / `_fppp` | ATC Stage-1 + on-policy detached chunk+timestep FPPP rollout(step 500/800/1000/1500/2000) | FPPF / FPPP | — | — | — | HY-WorldPlay-DEV-Predictor validation25(¶) | | `disca_s1_fppf` / `disca_s1_fppp` | DisCa Stage-1 predictor(双 block,step 2000) | FPPF / FPPP | — | — | — | HY-WorldPlay-DEV-Predictor validation25(¶) | | `disca_s1000_fppf` / `disca_s1000_fppp` | DisCa Stage-1 predictor(step 1000) | FPPF / FPPP | — | — | — | HY-WorldPlay-DEV-Predictor validation25(¶) | | `disca_s500_fppf` | DisCa Stage-1 predictor(step 500) | FPPF | — | — | — | HY-WorldPlay-DEV-Predictor validation25(¶) | | `c_ffff` / `naive2step_c_c0FFFF`(n = 16 / 32) | 长视频 FFFF 参考 / naive 2 步(首 chunk FFFF),253 / 509 帧 | FFFF / FF | — | — | — | hycache,同进程配对 FFFF | | `atc_s2_s{500,1000,2000}_c_fppf_c0FFFF`、`disca_s{500,1000,2000}_c_fppf`(n = 16 / 32) | ATC rollout / DisCa Stage-1 predictor 各 step 的长视频行(64 / 128 latent,相机动作等比拉长,pose-retrieved memory 上限 20 latent) | FPPF | — | — | — | HY-WorldPlay-DEV-Predictor 生成器(`hy_dev_gen_long.py`,¶),像素指标对照 `c_ffff` 的 MP4 | ### LingBot-World-V2-1.3B-Causal-Fast | 策略 | 方法 | 调度 | 参数 | 取值 | 目标加速比 | 来源 | |---|---|---|---|---:|---:|---| | `ffff` | 无缓存 | FxxF | — | — | 1× | — | | `teacache_x1.3` | TeaCache | FxxF | `thresh` | 1 | 1.3× | lb_sweep_teacache.json;rescale 系数 lb_coeff.json | | `teacache_x1.75` | TeaCache | FxxF | `thresh` | 1.395 | 1.75× | lb_point_v2.json;rescale 系数 lb_coeff.json | | `teacache_x1.75_c0FFFF` | TeaCache | FxxF(首 chunk FFFF) | `thresh` | 1.48 | 1.75× | lb_point_c0.json;rescale 系数 lb_coeff.json | | `teacache_Fxxx_x2.85` | TeaCache | Fxxx | `thresh` | 1.905 | 2.85× | lb_point_v2.json;rescale 系数 lb_coeff.json | | `teacache_Fxxx_x2.85_c0FFFF` | TeaCache | Fxxx(首 chunk FFFF) | `thresh` | 1.9 | 2.85× | lb_point_c0.json;rescale 系数 lb_coeff.json | | `taylorseer_x1.3` | TaylorSeer | FxxF | `interval` | 1.83333 | 1.3× | lb_sweep_taylorseer.json | | `taylorseer_x1.75` | TaylorSeer | FxxF | `interval` | 3 | 1.75× | lb_point_v2.json | | `taylorseer_x1.75_c0FFFF` | TaylorSeer | FxxF(首 chunk FFFF) | `interval` | 2.85 | 1.75× | lb_point_c0.json | | `taylorseer_Fxxx_x2.85` | TaylorSeer | Fxxx | `interval` | 3.65 | 2.85× | lb_point_v2.json | | `taylorseer_Fxxx_x2.85_c0FFFF` | TaylorSeer | Fxxx(首 chunk FFFF) | `interval` | 3.9 | 2.85× | lb_point_c0.json | | `motioncache_x1.3` | MotionCache | FxxF | `thresh` | 1.40625 | 1.3× | lb_sweep_motioncache.json | | `motioncache_x1.75` | MotionCache | FxxF | `thresh` | 2.6 | 1.75× | lb_point_v2.json | | `motioncache_x1.75_c0FFFF` | MotionCache | FxxF(首 chunk FFFF) | `thresh` | 3.6 | 1.75× | lb_point_c0.json | | `motioncache_Fxxx_x2.85` | MotionCache | Fxxx | `thresh` | 3.9 | 2.85× | lb_point_v2.json | | `motioncache_Fxxx_x2.85_c0FFFF` | MotionCache | Fxxx(首 chunk FFFF) | `thresh` | 5 | 2.85× | lb_point_c0.json | | `naive3step` | 无缓存 | FFF | — | — | — | naive baseline | | `naive2step` | 无缓存 | FF | — | — | — | naive baseline | | `naive1step` | 无缓存 | F | — | — | — | naive baseline | | `reuse_FRFF` | reuse(velocity) | FRFF | — | — | — | naive cache baseline (velocity reuse) | | `reuse_FRRF` | reuse(velocity) | FRRF | — | — | — | naive cache baseline (velocity reuse) | | `reuse_FRRR` | reuse(velocity) | FRRR | — | — | — | naive cache baseline (velocity reuse) | | `naive3step_c0FFFF` | 无缓存 | FFF(首 chunk FFFF) | — | — | — | naive baseline (chunk 0 FFFF) | | `naive2step_c0FFFF` | 无缓存 | FF(首 chunk FFFF) | — | — | — | naive baseline (chunk 0 FFFF) | | `naive1step_c0FFFF` | 无缓存 | F(首 chunk FFFF) | — | — | — | naive baseline (chunk 0 FFFF) | | `reuse_FRFF_c0FFFF` | reuse(velocity) | FRFF(首 chunk FFFF) | — | — | — | naive cache baseline (velocity reuse) (chunk 0 FFFF) | | `reuse_FRRF_c0FFFF` | reuse(velocity) | FRRF(首 chunk FFFF) | — | — | — | naive cache baseline (velocity reuse) (chunk 0 FFFF) | | `reuse_FRRR_c0FFFF` | reuse(velocity) | FRRR(首 chunk FFFF) | — | — | — | naive cache baseline (velocity reuse) (chunk 0 FFFF) | | `atc_chunk_fpf` / `atc_chunk_fppf` / `atc_chunk_fppp` | ATC Stage-1 predictor(block 17,previous_scope=chunk) | FPF / FPPF / FPPP(首 chunk FFFF) | — | — | — | lingbot-world-v2-a Stage-1,100 组图 × 4 动作离线集,2000 步 | | `disca_fpf` / `disca_fppf` / `disca_fppp` | DisCa Stage-1 predictor(block 17,无 previous-chunk 通道) | FPF / FPPF / FPPP(首 chunk FFFF) | — | — | — | lingbot-world-v2-a Stage-1,100 组图 × 4 动作离线集,2000 步 |