Cosmos 3 · OmniMoT ▸ 生成路径 ▸ 训练 vs 推理
生成侧用 rectified flow。约定 x₀ = 噪声、x₁ = 干净数据,
插值 x_t = t·x₀ + (1−t)·x₁(t=1 纯噪声,t=0 干净)。
MoT 生成分支就是速度场预测器 v_θ;训练在随机单个 t 处监督它,
推理沿 t: 1→0 反复查询它做 ODE 积分。权重完全相同,区别只在怎么调。
在随机时间点加噪一次,让网络学会预测速度。scripts.train → trainer/
TrainTimeSampler 取 t∈[0,1](默认 uniform,可选 logit-normal / waver / ltx2);x₀ ~ N(0,I)。diffusion-forcing 时逐帧独立取 tget_interpolation:x_t = t·x₀ + (1−t)·x₁v_predcompute_flow_matching_loss:时间加权 MSE(v_pred, x₀−x₁);文本 token 走 AR 交叉熵;MoE 加 load-balance 辅助损失从纯噪声出发,沿 t:1→0 多步积分去噪。scripts.inference → inference/
x ~ N(0,I),起点 t=1ReasonerKVCache,逐 token 因果解码——无去噪循环t 处造一个 (x_t, 目标速度) 对,单次前向算 MSE。并行看整个 batch、整条时间区间靠多 step 覆盖。
x_t 一路推到 x₁。步数 N 决定质量/速度权衡。
moe_gen 权重,训练调 1 次、推理调 N 次——这正是扩散/流模型"训练便宜、采样贵"的来源。
文本模态则两侧都走自回归(训练 teacher-forcing、推理 KV-cache),不参与去噪循环。