SAI
← All ICML 2026 orals

Training-Free Bayesian Filtering with Generative Emulators

Thomas Savary, François Rozet, Gilles Louppe

OralReplication score 38%Paper PDFCode repoOpenReview

Training-Free Bayesian Filtering with Generative Emulators

SAI replication review · Referee report

Summary

The paper proposes using diffusion-based generative emulators of dynamical systems as a plug-in tool to implement the fully-adapted auxiliary particle filter (FA-APF) — a theoretically superior particle-filter variant whose classical implementation has been blocked by the intractability of sampling from the optimal proposal p(xk+1xk,yk+1)p(x^{k+1}\mid x^k, y^{k+1}). The conceptual move is that a score-based emulator already exposes the transition score, so injecting the observation likelihood into the reverse SDE via moment-matching posterior sampling (MMPS) yields samples from that optimal proposal without additional training; weights are then approximated by evaluating the observation likelihood at the denoiser's conditional-mean forecast. This bridges the auxiliary particle-filter tradition (Petetin & Desbouvries; Snyder et al.) and diffusion posterior sampling, and is a genuinely useful contribution for data assimilation. Experiments span a controlled Lorenz'63 ensemble-size sweep, a 128×128 forced Navier–Stokes benchmark, and an application to GenCast's ~10610^6-variable atmospheric state under sparse-temperature and realistic observation regimes. Execution evidence confirms the machinery genuinely operates at the 10610^6-variable scale and that the 1° denoiser runs inside FA-APF within 80 GB of VRAM without gradient checkpointing, which supports the central scalability claim at the level of feasibility. However, the headline GenCast filtering curves could not be independently regenerated within compute budget, and released code covers only the GenCast experiment, so the quantitative results rest on the authors' reporting rather than reproduced numbers. The main methodological limitation is a tension between the "proper Bayesian filtering" framing and the stack of approximations used precisely in the high-dimensional regime that matters (MMPS Gaussianity, Dirac-mass weights, covariance inflation). Empirically the case is strong at first read but rests on point estimates without uncertainty, thin baselines outside L63, an equal-particle rather than equal-compute comparison, and no posterior-sampler ablation. Together these leave the core contribution intact but the evidence less airtight than the presentation suggests.

Strengths

  • Conceptual bridge. The paper cleanly identifies the FA-APF's optimal-proposal step as the missing ingredient that diffusion emulators plus MMPS can supply, giving the ensemble-filtering community a principled route out of BPF-style degeneracy without training a bespoke posterior model. Section 3 keeps the derivation compact, and the framing of FlowDAS as a single-particle degenerate case is intellectually satisfying.
  • Controlled Lorenz'63 study. The ensemble-size sweep in Figure 1 against four training-free baselines is exactly the diagnostic one wants: it shows the FA-APF advantage grows in the small-NN regime and is not merely a large-ensemble artifact, and Table 1 backs it with skill, SSR and CRPS.
  • Genuine scale demonstrated. Execution confirms the pipeline runs on the full 1° GenCast state (~10610^6 scalars per slice) and that the denoiser fits inside FA-APF within 80 GB VRAM without gradient checkpointing — the resource claim of Appendix F.1 is independently corroborated.
  • Stochastic-interpolant extension. Appendix E generalizes the construction beyond diffusion to the stochastic-interpolant family, future-proofing the method for flow-matching-based emulators.
  • Candid limitations. Section 7 and Appendix F.2 openly disclose the MMPS approximation, the Dirac-mass weight approximation, and the reliance on inflation. The tone is refreshingly honest.

Weaknesses

  • Tension between "proper Bayesian filtering" framing and the deployed algorithm. Section 5 criticizes FlowDAS as "not mathematically grounded" and Section 1.2 calls FA-APF "mathematically grounded", yet the high-dimensional experiments simultaneously rely on MMPS's Gaussian approximation, the Dirac-mass weight, and inflation of Σy\Sigma_y that the authors concede "biases the approximation of the filtering distribution". No statement is given of how far the deployed target is from the true filter in the regime where the novelty lives.
  • FlowDAS claims asserted, not shown. "FlowDAS is exact only for N=1N=1" and "generalization of FlowDAS to proper Bayesian filtering" (Section 5) are precise technical claims with no derivation, citation, or explicit reduction of FA-APF to FlowDAS.
  • Equal-particle is not equal-compute. Figure 1's "outperforms even with fewer members" holds particle count fixed, but each FA-APF particle costs a full reverse-diffusion solve with GMRES and Jacobian products, versus one forward sample for BPF. The comparison conflates per-particle statistical efficiency with a large compute increase.
  • Weight approximation validated only in 3-D. The Dirac-mass weight is checked against Monte Carlo only on L63; the flagship Navier–Stokes (16k) and GenCast (10610^6) results use it with no intermediate-dimensional check — the reverse of the regime that needs validating.
  • Thin high-dimensional baselines and distributional metrics dropped. Navier–Stokes compares only BPF/FlowDAS/FA-APF and GenCast only against the unconditional ensemble; EnKF variants (strong at low NN in L63) are absent where the scaling claim lives. Table 2 also reports only RMSE-of-mean, omitting the SSR/CRPS distributional metrics used for L63 — precisely the diagnostics that would show whether FA-APF's advantage is distributional rather than a better point estimate.
  • No dispersion on reported numbers. Tables 1 and 2 give point estimates over 32 (respectively 10) runs with no standard errors; several Table 2 gaps are within a factor of ~1.5.
  • No posterior-sampler ablation. The "MMPS due to its superior empirical performance" claim over DPS and cheaper alternatives (Appendix F.1) is asserted but never documented, even though this choice drives deployability.
  • Realistic-observation result is a qualitative negative. The most operationally relevant scenario does not converge to a stable skill (Section 4.3) and is then presented via a qualitative figure, with no quantitative breakdown of where/when divergence occurs.
  • Overclaims and notation issues. "BPF unusable in realistic geophysical systems" generalizes from one 2-D run; "training-free" is used for both no-network methods and the emulator-dependent method here; HH denotes both the (possibly nonlinear) operator and its Jacobian; the sparse-temperature operator description and its noise units (0.2 vs 0.5 K) are ambiguous; and the PPC figure plots an "observation" at an unobserved grid point.

Reproducibility & code

Veritas executed the released code (reconstructing missing pieces where needed). The overall replication score is low (0.375), driven almost entirely by coverage gaps and compute limits rather than by contradictions — nothing observed conflicts with the paper.

  • Released code covers only GenCast. The Lorenz'63 and Navier–Stokes experiments have no code in the repository: searches for lorenz, flowdas and navier return nothing, and there is no L63 integrator/baselines or NS training/filter/dataset script. Tables 1–2 and Figures 1–2 therefore cannot be reproduced from the artifacts.
  • GenCast did not run as shipped. Configs hardcode /gpfs cluster paths, and the shipped fa_apf.py recompiled the GenCast denoiser under XLA (~15 min) on every one of ~30 assimilation steps, making a full run intractable; reproduction required a substantial rewrite (~778 lines) hoisting the heavy functions to module scope, with numerical equivalence asserted but not validated. This per-step recompilation cost — the true wall-clock blocker — is undocumented in the paper.
  • Headline GenCast results not independently regenerated. The conditional filter was killed mid-compile after step 0 plus a partial step 1, at N=16N=16 rather than N=256N=256; no skill/metrics were produced. The figure-level agreements that could be checked (skill curves, SSR, trajectory fields, PPC) were graded against the authors' pre-committed figures, not this run's output. Non-degeneracy over the full ~30-step horizon and skill-below-baseline thus remain unconfirmed by execution.
  • What did reproduce. The pipeline demonstrably runs at the full ~10610^6-variable resolution, and the 1° denoiser runs inside FA-APF on an 80 GB GPU without gradient checkpointing — the Appendix F.1 memory claim is corroborated on equivalent hardware.
  • Undocumented settings. Random seeds are drawn from process-local RNG (so curves are only qualitatively reproducible); the inflation coefficient α\alpha, ESS thresholds Nthrmin/NthrmaxN^\mathrm{min}_\mathrm{thr}/N^\mathrm{max}_\mathrm{thr}, and MMPS solver iterations/tolerance are not in the paper; and the provenance of the realistic station/satellite masks is undocumented.

Recommended Changes

Essential

  • Reconcile the "proper Bayesian filtering" framing with inflation and the Dirac-mass weight. Add a paragraph (Section 5 or 7) quantifying — at least at Navier–Stokes scale — how far the inflation-modified target is from the true posterior, so the exactness contrast against FlowDAS is not made on grounds the deployed algorithm does not meet.
  • Substantiate or soften the FlowDAS claims. Either give a derivation that FlowDAS is exact only at N=1N=1 and exhibit the limit in which FA-APF reduces to it, or replace "generalization of FlowDAS" with "natural ensemble extension" and drop "not mathematically grounded".
  • Release L63 and Navier–Stokes code. Ship the L63 integrator, dataset generation, denoiser training, and all four baselines (BPF, EnKF, EnSF, EnFF) for Table 1/Figure 1, plus the NS U-Net training, FA-APF/BPF/FlowDAS drivers, and a dataset download/preprocessing script for Table 2/Figure 2.
  • Fix the released GenCast code and document real cost. Repair the per-step XLA recompilation defect in fa_apf.py, parametrize the /gpfs paths, expose a --seed, and report the true per-run wall-clock / GPU-hours behind each Section 4.3 figure.
  • Add an equal-compute comparison. Alongside the equal-NN axis of Figure 1, report skill against wall-clock or FLOPs (or state the per-particle cost ratio to BPF) so statistical efficiency is separated from the extra per-particle work.
  • Add an EnKF/LETKF baseline at high dimension to Section 4.2 (and ideally 4.3), and report SSR and CRPS for Table 2, so the scaling claim is tested against the strongest operational competitor with distributional metrics.
  • Report per-seed dispersion for Tables 1 and 2 (standard errors or bootstrap CIs), especially for the FA-APF-vs-FlowDAS gaps within a factor of ~1.5.
  • Add a per-experiment hyperparameter table listing α\alpha, NthrminN^\mathrm{min}_\mathrm{thr}, NthrmaxN^\mathrm{max}_\mathrm{thr}, DDIM step count, and MMPS solver identity/tolerance/max-iterations.

Suggested

  • Validate the Dirac-mass weight at intermediate dimension. Compare Dirac-mass weights against Monte-Carlo weights on a Navier–Stokes subgrid so the check is not confined to 3-D L63.
  • Ablate MMPS vs DPS and Zheng et al. (2025) on L63 or Navier–Stokes to support the "superior empirical performance" claim and test deployability on smaller hardware.
  • Quantify the realistic-setting failure. Report plateau skill vs unconditional GenCast per variable and per region (polar vs mid-latitude) so the negative result in Section 4.3 is actionable.
  • Disambiguate HH vs its Jacobian (e.g. HxH_x or xH\nabla_x \mathcal{H}) and state where the linearization is made.
  • Clarify the sparse-temperature operator and all noise units. Rewrite "subsample and coarsen" unambiguously, give the arithmetic yielding ~1%, and state units for every noise level in Section 4.3.
  • Fix the PPC caption to state what the dotted line is at an unobserved grid point, and add "globally averaged" to the unobserved-variable stability claim.
  • Document the realistic masks (station network, satellite retrieval, source, cutoff dates) and cite the underlying data.
  • Give a numerical SSR range for the sparse setting instead of "close to 1", and qualify "conditional variance" in the optimal-proposal statement.