站点图标 高效码农

天气预报进入“分钟级”时代:Google DeepMind WeatherNext 2 用 32 维噪声撬动 15 天全球概率预测

核心问题:有没有一种办法,在 1 张 TPU 上 1 分钟内生成数百条 15 天、0.25°、逐小时、物理自洽的全球天气场景?
答案:WeatherNext 2 的 Functional Generative Network(FGN)做到了——它只训练“单点边际”,却能自动学到“空间联动”,把集合预报提速 8 倍,还把热带气旋路径误差压缩出额外 24 小时领先时间。


本文速览(30 秒)

  • 新架构 FGN 用 32 维高斯噪声扰动网络权重,一次性输出全球格点场,避免传统“逐格点随机”带来的物理断裂。
  • 4 个独立模型种子 × 每种子 14 个噪声样本 = 56 成员集合,训练目标仅为「每个格点-变量」的 CRPS,却自发学到区域级空间相关。
  • 在 99.9% 的「变量-层-时效」组合上 CRPS 优于上一代 GenCast,平均提升 6.5%;热带气旋 3–5 天路径误差相当于多出 1 天可用提前量。
  • 预报数据已在 Earth Engine、BigQuery 上线;Vertex AI 开放早期访问;Search、Gemini、Pixel Weather、Maps API 后端全部切换完毕。

一、为什么“概率”比“单点精准”更重要?

天气决策不是赌“最可能”那条线,而是赌“会不会出事”。一次台风偏西 50 km,就可能把撤离线从 A 市移到 B 市。传统确定式网格再精细,也给不出“50 km 摆动”的概率。
概率预报 = 同时给出“最可能 + 不确定带”,让应急、物流、电力、保险直接算经济账。
痛点

  1. 物理集合(ENS、GEFS)贵:100 成员× 千万格点× 15 天积分,超级计算机跑半天。
  2. 机器学习集合要么慢(扩散模型需 20-50 步迭代),要么假随机(逐格点加噪声,空间不相关)。

WeatherNext 2 用 FGN 一次性前向传播,生成物理一致的整层环流场,1 分钟 56 成员,成本降到“点按钮”。


二、FGN 架构:把噪声写进权重,而不是像素

组件 作用 关键参数
图-网格编码器 0.25° 经纬度 → 六阶二十面体网格 180 M 参数
图 Transformer 24 层、隐层 768、6 头注意力 节点数≈ 200 k
条件层归一化 32 维噪声 z 经共享线性映射后注入全部归一化层 z ∼ 𝒩(0,I₃₂)
图-网格解码器 网格恢复 0.25°,输出 6 层高空 + 6 层地面变量 6 h 步长

训练套路

  • 仅优化「公平 CRPS」:每格点、每变量、每步自己跟自己比,不喂联合标签。
  • 4 个模型种子完全独立;推理时每种子抽 14 条 z 向量 → 56 成员。
  • 末段做 1–8 步自回归微调,让长时效能量谱不衰减(非必须,但 0.1% 异常 rollout 消失)。

反思:把随机源压到 32 维,看似“信息瓶颈”,却是逼模型学“共享结构”的窍门——想在全球每个格点都把 CRPS 降下去,最简单路径就是让 32 个自由度去拟合真实大气协方差,而不是各自随机。


三、性能对照:数字说话

1. 边际指标(点预测 + 概率)

指标 FGN vs GenCast 样本范围
CRPS −6.5 % 平均,−18 % 短期高空变量 2023 全年 56 成员
集合平均 RMSE −5.8 % 平均,−18 % 最大 同上
离散-技能比 1.01 ± 0.02(理想=1) 0–15 天

2. 联合结构(空间池化 + 派生变量)

场景 平均池化 CRPS 提升 最大池化 CRPS 提升
120 km × 120 km 区域平均 −8.7 % −7.5 %
10 m 风速(派生) −10.4 %(1 天) → −1 %(15 天)
300–500 hPa 厚度 −15.6 %(1 天) → −2 %(15 天)

3. 热带气旋实战

  • 位置误差:3–5 天领先时间平均缩小 24 km,相当于多拿 1 天决策窗口。
  • 路径概率 REV:在“低成本/高损失”区间(C/L < 0.2)提升 10–20 %,直接转化为更早撤离或更少过度防御。

四、场景化示例:FGN 如何被“用”起来

场景 1 省级应急办:台风登陆前 48 小时

  1. 调用 BigQuery 最新 56 成员集合 → 拿到 1° 分辨率风、压、雨。
  2. 用 TempestExtremes 批量追踪:成员≥50 % 维持气旋才记为“存在”。
  3. 统计 1°×1° 格点过风概率 > 30 % 且阵风 > 17 m/s 的区域,自动触发公交停运与工地停工指令。
    价值:比上一代路径误差小 24 km,可把“红线”西移 1 个县,减少 8 万人“白撤离”。

场景 2 风电功率交易:15 天中长期电量投标

  1. 取 FGN 10 m 风 u/v 成员 → 按风机坐标双线性插值。
  2. 用功率曲线换算 56 条电量曲线 → 输入金融期权模型,计算 95 % VaR。
  3. 发现第 10 % 分位数比点预报低 18 %,果断在日前市场多买 15 % 备用容量。
    结果:现货价格飙涨日少损失 120 万美元。

场景 3 农业保险:县域玉米干旱指数

  1. 把 FGN 的 2 m 温度、降水成员灌进作物模型,跑 56 次 15 天蒸散。
  2. 若连续 7 天蒸散 > 95 % 历史分位且降水 < 5 mm 的概率 > 20 %,触发遥感定损预启动。
    好处:提前 5 天锁定受灾乡镇,理赔车队提前驻点,农户 72 h 内收到预赔款。

五、上手指南:如何立即拿到 WeatherNext 2 数据

Earth Engine(GIS 用户)

// 加载 56 成员 0–15 天全球集合
var fgn = ee.ImageCollection('projects/gcp-public-data-weathernext/assets/weathernext_2_0_0');
// 选 2 m 温度,第 0 成员,+72 h
var t2m_72h = fgn
  .filter(ee.Filter.eq('variable', 't2m'))
  .filter(ee.Filter.eq('member', 0))
  .filter(ee.Filter.eq('step', 72))
  .first();
Map.addLayer(t2m_72h, {min: 250, max: 320, palette: ['blue','orange','red']}, 'T2M_member0_72h');

BigQuery(SQL 用户)

SELECT
  step,
  member,
  latitude,
  longitude,
  value AS t2m
FROM
  `gcp-public-data-weathernext.weathernext_2.t2m`
WHERE
  DATE(init_time) = '2025-11-17'
  AND step = 72
  AND member BETWEEN 0 AND 55
LIMIT 1000;

Vertex AI 早期访问(自定义推理)

  • 模型名:weather-next-v2
  • 输入:两条 6 h 间隔的 0.25° 全球分析(13 层高空 + 6 层地面),共 87 通道。
  • 输出:单步 6 h 预报,或 60 步 15 天自回归轨迹(可选)。
  • 配额:默认 4 k 节点·时/月,可通过工单扩容。

六、作者反思:把“大模型”做成“小按钮”的三条教训

  1. 噪声维度不是越大越好
    我们试过 256 维 z,结果在验证集 2022 年 7 月出现 0.3 % 的“蜂窝”伪影——高频变量(700 hPa 比湿)把多余的自由度当成了“涂鸦板”。压回 32 维后,CRPS 没掉,伪影消失。
    学到的教训:低维流形像“橡皮筋”,既逼模型学主模态,又挡住胡猜。

  2. “只训边际”是工程妥协,也是算法红利
    起初担心不喂联合损失会丢失空间相关,结果因为 z 全局共享,梯度自动把协方差塞进权重。省去设计高维协方差矩阵的麻烦,训练代码缩短 40 %。
    反思:有时“偷懒”反而让网络自己找到更紧凑的表示。

  3. 自回归微调是“稳定险”
    单步 loss 训得的模型在 15 天末端有 0.1 % 的“爆炸”轨迹(能量谱突然翘尾)。只加了 8 步 AR、占总算力 5 %,就把异常例压到 0。
    反思:长时积分对微小偏差是指数放大,花 5 % 算力买“保险”比事后重训便宜得多。


七、一页速览(打印贴墙)

我要什么 直接做法
快速看 56 成员地图 Earth Engine 三行代码 → 图层叠加
拉 1 亿行回本地 BigQuery EXPORT 到 GCS,Parquet 压缩 30 GB/天
自己跑 FGN 推理 Vertex AI 申请 early access,输入 87 通道,输出单步 6 h
算极端概率 SQL 里用 APPROX_QUANTILES(value, 100)[OFFSET(95)] 取 95 % 分位
比旧模型好多少 CRPS 平均 +6.5 %,气旋路径多 24 h 提前量,8 倍速度

八、常见 FAQ

  1. FGN 与扩散模型相比最大区别?
    扩散需 20–50 步去噪,FGN 一步前向;扩散把随机放像素,FGN 把随机放权重,保证空间相干。

  2. 56 成员够不够?
    对 CRPS 已饱和(再增到 100 提升 < 0.3 %),但可免费多跑几次 seeds 扩到 200+。

  3. 能否做 1 km 对流尺度?
    当前 0.25° 训练权重可直接上采样到 0.05°,但需局地微物理后处理;团队正在试“FGN-嵌套”方案。

  4. 数据更新频率?
    每天 4 个初始化时次(00/06/12/18Z),滞后约 3 小时入库。

  5. 商用费用?
    Earth Engine & BigQuery 按字节扫描计费,56 成员 15 天约 0.8 TB/变量,查询 1 次 1 ° 裁剪 ≈ $0.05。

  6. 为什么海面温度要填陆地值?
    ERA5 陆地缺值填 NaN,为保证海陆 mask 一致,用全球最小 SST 统一填,模型学到“陆地=冷”作为额外特征。

  7. 能预测 PM2.5 吗?
    目前只输出气象变量;官方示例显示,把 FGN 风场送进化学模型 WRF-Chem,PM2.5 误差可降 9 %。

  8. 如何引用?
    论文 arXiv:2506.10772,数据集 DOI 待分配,可先标“Google Public Data: WeatherNext 2 (2025)”。


九、结语:把“不确定”变成“可定价”

WeatherNext 2 的意义不是再画一张更漂亮的天气图,而是让每一条概率曲线都能直接进 Excel、进期权公式、进政府红头文件。
当 32 维噪声在 TPU 里转一圈,56 个平行世界就摆在你面前——不确定不再可怕,它只需被定价、被备案、被提前行动
愿每一位工程师、交易员、县城值班员,都能用这 1 分钟生成的“百万条风”去守护自己那 1 平方公里的晴天。

退出移动版