主题
跨集并行和 Shot 级最小重跑如何在速度、成本与一致性之间调优?
题型:调优 · 优化对象是依赖图和重跑范围,不只是并发数。
建议回答
我会先用真实 DAG 计算关键路径和可并行宽度,再按 LLM、图像、视频等资源类型设置独立并发池与配额,避免便宜的解析任务被昂贵长任务阻塞。分集并行以已发布的全剧设定版本为屏障,运行中的 Episode 固定读取同一快照;新版本发布后,是让旧任务完成、主动取消还是标记结果过期,要根据生成成本和一致性风险选择,而不是混用两个版本。
最小重跑通过依赖指纹和失效传播实现:比较实体输入、设定、Prompt、模型和节点代码版本,只重跑指纹变化的节点及其下游。对确定性转换可积极复用,对模型生成产物还要考虑随机种子、质量状态和人工确认。若一个 Shot 的重跑经常导致整集失效,说明节点边界或依赖声明过粗,应先修正建模。
关键指标
- 端到端完工时间、DAG 关键路径、可运行任务数和队列等待时间。
- 各模型并发利用率、限流率、超时率和每项目或租户的公平性。
- 重跑放大系数、产物复用率、无效生成次数和每个有效 Shot 成本。
- 跨集设定冲突率、过期版本产物比例和人工返工量。
关键权衡
- 更高并发提升速度,但会增加限流、预算失控和同一全局版本上的集中失败风险。
- 更细的 Shot 粒度减少返工,却增加状态数量、调度开销和合成边界处理。
- 允许旧版本任务跑完可减少浪费,但结果可能只能作为候选,不能直接进入新版本发布。
易错点
- 不要只按 Episode 数量设置并发,真正瓶颈可能是某类模型或产物提交。
- 不要用文件是否存在判断缓存命中,必须校验完整依赖版本和质量状态。