/ Модель

Характеристики

Лицензия
Apache 2.0
Библиотека
pytorch
Опубликована
10 июл 2026

afno-v4-pm25

Прогноз временных рядовTime_series → time_series

Модель AFNO V4 прогнозирует почасовую концентрацию PM2.5 в Индии на 16 часов вперёд по 10 часам метеорологических и загрязняющих данных на сетке.

0скачиваний за 30 дней0лайковвеса обновлены15 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

AFNO V4 PM2.5 — модель прогнозирования качества воздуха, разработанная для соревнования ANRF AISEHack Phase 2, Theme 2 в IIT Delhi. Она предсказывает концентрацию PM2.5 над Индией на следующие 16 часов по 10 предыдущим часовым кадрам метеорологических и загрязняющих данных на сетке 140×124 с разрешением около 25 км.

Модель построена на PyTorch и содержит около 7 млн параметров; веса обучены с нуля. Архитектура сочетает 2D U-Net, спектральное смешивание AFNO и временной модуль SimVP. Вход включает 20 каналов, в том числе наблюдаемые поля загрязнения и метеорологии, производные признаки, временные и статические данные. Для воспроизведения результата соревнования README рекомендует усреднить предсказания двух наборов весов и применить калибровочные коэффициенты по горизонту. На закрытой части соревнования модель заняла второе место.

Модель рассчитана на исследовательские и сравнительные задачи прогнозирования PM2.5 по данным соревнования. Она обучена на симуляционных данных WRF-Chem за 2016 год и не предназначена для прямого оперативного прогноза по текущим наблюдениям; для этого потребуется обучение на данных реанализа и проверка по наземным измерениям. Репозиторий распространяется по лицензии Apache-2.0.

Сценарии применения

  • прогнозирование PM2.5 в Индии на ближайшие 16 часов
  • сравнение моделей прогноза загрязнения воздуха на данных соревнования
  • оценка влияния метеорологических полей на динамику PM2.5

Ограничения

Модель обучена на симуляционных данных WRF-Chem за 2016 год с входами, специфичными для соревнования, и не может напрямую использовать текущие реальные наблюдения. Для оперативного применения требуется переобучение на данных реанализа и проверка по наземным измерениям.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

AFNO V4 - PM2.5 Air Quality Forecasting

A neural-operator model that forecasts PM2.5 over India for the next 16 hours from the previous 10 hours of gridded meteorology and pollution data (140x124 grid, ~25 km resolution, hourly). Built for the ANRF AISEHack Phase 2, Theme 2 pollution-forecasting competition (IIT Delhi). ~7M parameters, trained from scratch.

Results

  • Private score 0.8833 on the official metric (public 0.8959) - places 2nd on the final competition leaderboard (1st = 0.8893).
  • Validation (leak-free holdout): 0.9110 / 0.9114 for the two seeds.
  • Baselines: prior v3 0.8609; persistence NormGlobalSMAPE 0.851.

Metric: w1*NormGlobalSMAPE + w2*NormEpisodeCorr + w3*NormEpisodeSMAPE (weights undisclosed by the organizers).

Architecture

Input tensor: (batch, 20 channels, 10 time steps, 140, 124).

  1. Per-frame 2D U-Net encoder (20->64->128->256, MaxPool x2).
  2. Multiscale AFNO (AdaptFNO-style): 1 spectral block at the 35x31 encoder scale.
  3. Bottleneck AFNO: 6 spectral blocks at 18x16 (global 2D-FFT token mixing).
  4. SimVP temporal translator (Incep1D, 4 layers): 10 -> 16 frames.
  5. Lead-time embedding (per-forecast-hour bias) + 2 post-translator AFNO blocks.
  6. U-Net decoder (256->128->64->32) with last+mean skip fusion.
  7. Persistence-residual head: output = last_observed_frame + delta.

Input channels (20)

  • observed (9): PM2.5, q2, t2, u10, v10, pblh, psfc, swdown, rain
  • engineered (5): wind speed, ventilation coefficient (PBLH x wind), advection tendency, PM tendency, diurnal climatology anomaly
  • time (2): hour sin, hour cos
  • static (4): lat, lon, PM2.5 climatology, episode sigma

All channels are derived from the competition data - no external or pretrained inputs.

Files

  • s42_phaseA_best.pt, s1337_phaseA_best.pt - EMA (eval) weights for the two seeds, each {'model': state_dict, 'metrics': {...}} for AFNOv4.
  • horizon_scales.npy - 16 per-horizon multiplicative calibration factors.
  • stats.npz - per-pixel normalization stats.
  • afno_v4.py - full model, data, and inference code.

Usage

import ast, torch, torch.nn as nn, torch.nn.functional as F, numpy as np, os
from huggingface_hub import hf_hub_download

repo = "imvetri/afno-v4-pm25"
src = open(hf_hub_download(repo, "afno_v4.py")).read()
ns = {"os": os, "torch": torch, "nn": nn, "F": F, "np": np}
blocks = "".join(ast.get_source_segment(src, n) + "\n" for n in ast.parse(src).body
                 if isinstance(n, ast.ClassDef) and n.name in
                 {"C","AFNO2D","AFNOBlock","ConvBlock","Incep1D","Translator","AFNOv4"})
exec(blocks, ns)

model = ns["AFNOv4"]().eval()
ck = torch.load(hf_hub_download(repo, "s42_phaseA_best.pt"), map_location="cpu", weights_only=False)
model.load_state_dict(ck["model"])

# x: (B, 20, 10, 140, 124) normalized inputs (build with stats.npz as in PM25Test)
# last_log: (B, 140, 124) log1p of the last observed PM2.5 frame
# with torch.no_grad(): pred_log = model(x, last_log)   # -> (B, 16, 140, 124)

Inference used to reproduce the competition result: average the two seeds' predictions and multiply by horizon_scales per forecast hour.

How it was built

The biggest gain came from fixing a validation data leak (random splits over overlapping windows) that had been masking real progress. On trustworthy leak-free validation, the model then adds atmospheric-physics features, multiscale spectral mixing, a 2-seed ensemble, and per-horizon calibration.

Scope and limitations

This model is trained on 2016 WRF-Chem simulation data with competition-specific inputs. It is a research / benchmark artifact, not an operational real-world forecaster - it cannot ingest live observations as-is. A real-world version would require retraining on reanalysis inputs (ERA5 / MERRA-2 / CAMS) with ground-truth validation (OpenAQ / CPCB).

Citation / references

  • Adaptive Fourier Neural Operator (Guibas et al., ICLR 2022)
  • FourCastNet (Pathak et al., 2022)
  • SimVP (Gao et al., CVPR 2022)
  • STL (Cleveland et al., 1990)

Code: https://github.com/Vetri-78640/afno-v4-pm25

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · pytorch

Нельзя запустить

Временные ряды пока не поддерживаются.

Ревизия весов
cd4a02a

0 моделей