跳转至

Marchuk: Efficient Global Weather Forecasting from Mid-Range to Sub-Seasonal Scales via Flow Matching

日期: 2026-03-25
arXiv: 2603.24428
代码: https://v-gen-ai.github.io/Marchuk/ (开源推理代码+模型)
领域: 图像生成 / 天气预报 / Flow Matching
关键词: weather forecasting, flow matching, latent diffusion, subseasonal prediction, DiT

一句话总结

提出 Marchuk,一个仅 276M 参数的隐空间 flow matching DiT 天气预报模型,在 ERA5 数据上可预测长达 30 天的全球天气,性能匹敌 1.6B 参数的 LaDCast 且推理速度快 6 倍(30 天 50 成员集合预报仅需 7.5 分钟/H100)。

研究背景与动机

  1. 领域现状:深度学习天气预报模型(GenCast、Aurora、WeatherNext2)在中期预报(≤15天)已达到或超越传统物理模型。次季节预报(2-6周)仍是"可预测性沙漠",大气混沌使预测技能在 15 天后急剧下降。

  2. 现有痛点

    • LaDCast(当前 SOTA 隐空间扩散模型)在长时间尺度上精度退化且 1.6B 参数推理慢(30天 50成员需 45 分钟)
    • 像素空间模型(GraphCast、Pangu)计算开销巨大
    • 传统数值预报集合成员通常仅 4-51 个,理论上需要 100-200 个才能充分表征不确定性
  3. 核心矛盾:预报精度需要大模型+长时序建模能力,但实际部署需要快速推理生成大规模集合预报。

  4. 切入角度:在 LaDCast 的隐空间框架基础上,用 flow matching 替换扩散、简化位置编码、扩展条件窗口、引入变长训练策略,实现"小模型大性能"。

  5. 核心 idea:用可训练空间位置嵌入替换 GeoRoPE + 时间维度 1D-RoPE + 扩展条件窗口到 1 天 + 变长训练策略 + flow matching 采样,276M 参数达到 1.6B LaDCast 的性能。

方法详解

整体框架

输入:当前天及历史的大气场(84 通道=6 大气变量×13 气压层 + 6 地表变量)
输出:未来 N 天的大气状态预测(自回归每次预测 4 天,可滚动到 30 天)
Pipeline:DC-AE 编码器(64× 空间压缩)→ 隐空间 DiT flow matching 预测 → DC-AE 解码器 → 天气图

关键设计

  1. 简化位置编码(可训练空间 + 时间 RoPE-1D):

    • 做什么:替换 LaDCast 的 GeoRoPE(需要领域知识设计旋转频率)
    • 核心思路:固定分辨率下不需要 RoPE 的跨分辨率泛化能力,直接用可训练的 2D 空间位置嵌入 + 1D 时间 RoPE
    • 设计动机:减少硬编码几何先验的约束,让模型自己学习最优的空间编码方式,同时参数更少
  2. 扩展条件窗口 + 时间戳嵌入:

    • 做什么:将条件上下文从 LaDCast 的 6 小时(单步)扩展到 24 小时(4 步),并加入日历时间嵌入
    • 核心思路:时间戳以 month:day:hour 格式编码,366天×24小时=8784 个可训练嵌入,在 Cross-Attention 中与空间 token 拼接
    • 设计动机:更长的条件窗口提供更丰富的大气初始状态信息,时间戳嵌入让模型捕捉年尺度的季节性依赖
  3. 变长训练策略(Variable Horizon Training, VHT):

    • 做什么:训练时预测窗口从 1-8 天均匀随机采样,而非固定窗口
    • 设计动机:让模型在不同时间尺度上都保持鲁棒性,避免只优化某个特定预测长度
  4. Cross-DiT 架构优化:

    • 用共享 MLP + 每块轻量 LoRA 替换逐块 MLP 调制层,将时间步调制参数从 ~40% 降到 <10%
    • 释放的容量用于增强注意力层

推理策略

  • 每次前向预测 4 天(16 步 × 6小时间隔)
  • 自回归滚动至 30 天
  • Flow matching 采样约 20 步/轨迹
  • 50 成员集合预报在单卡 H100 上仅需 7.5 分钟

实验关键数据

主实验(15天/30天 RMSE 对比)

方法 参数量 T2M-15d G500-15d T2M-30d G500-30d 30天推理速度
LaDCast-375M 375M 2.59 784.21 2.80 840.58 11 min
LaDCast-1.6B 1.6B 2.54 774.18 2.66 815.53 45 min
Marchuk-276M 276M 2.52 785.91 2.64 809.15 7.5 min
Climatology - 2.66 810.57 2.66 810.57 -

Marchuk 在 T2M(2米温度)上 15 天和 30 天都超越 LaDCast-1.6B;G500 在 30 天超越 LaDCast-1.6B(809 vs 816)。推理速度快 6 倍。

消融实验(从论文架构设计选择推断)

设计选择 效果
可训练空间嵌入 vs GeoRoPE 固定分辨率下可训练嵌入同等或更优,参数更少
条件窗口 1天 vs 6小时 更长窗口提升 skill 但降低 ensemble spread
VHT vs 固定窗口训练 VHT 在多时间尺度上更稳定
LoRA 调制 vs 逐块 MLP 参数从 40%→<10%,释放容量给注意力层

关键发现

  • 276M 打败 1.6B:在 30 天预测尺度上,Marchuk 在多数变量上与 LaDCast-1.6B 持平或更优,参数量仅为其 1/6
  • 超过气候学基准:在 30 天以内几乎所有变量上持续优于气候学基准,30 天后两个模型都趋近气候学
  • 集合预报中 skill 更高但 spread 略低:更长条件窗口提升预测准确性但约束了集合多样性

亮点与洞察

  • "小而精"的隐空间方案:DC-AE 64× 压缩 + 轻量 DiT + flow matching 的组合证明,在隐空间框架下,精心设计的小模型可以达到大模型的性能。这启示了天气预报模型的可持续发展方向——不需要无限堆参数
  • flow matching 替代扩散:flow matching 的直线采样路径天然适合这种需要高效推理的场景,20 步采样就够用
  • 时间戳嵌入的设计简洁有效:8784 个可训练嵌入直接编码日历时间,让模型学会季节性模式

局限性 / 可改进方向

  • 只在 ERA5 1.5° 分辨率上验证,未测试更高分辨率(0.25°)
  • Ensemble spread 偏低可能在极端事件预测中不够充分——需要探索更好的扰动策略
  • 30 天以后预测趋近气候学,未探索更长时间尺度或结合海洋/陆面慢变量的可能性
  • 依赖 LaDCast 的预训练 DC-AE,如果 AE 压缩有信息损失会传递到预测端

相关工作与启发

  • vs LaDCast-1.6B: Marchuk 用 1/6 参数量 + 6× 推理加速达到可比性能,核心改进在于位置编码简化和条件窗口扩展
  • vs GenCast: GenCast 在像素空间做扩散,计算开销远大于隐空间方案,且主要面向 15 天以内
  • vs FuXi-S2S: FuXi-S2S 也做次季节预测但用 VAE 扰动模块 + 日均值简化,Marchuk 在 6 小时分辨率上做概率预报

评分

  • 新颖性: ⭐⭐⭐ 在 LaDCast 基础上的增量改进,但小模型大性能的验证有价值
  • 实验充分度: ⭐⭐⭐⭐ WeatherBench2 标准评估 + 确定性/概率指标 + 多变量 + 30天
  • 写作质量: ⭐⭐⭐⭐ 结构清晰,消融设计合理
  • 价值: ⭐⭐⭐⭐ 开源模型,6× 加速对实际部署有意义