
Всем привет, меня зовут Паша, в Яндекс Погоде я занимаюсь задачей глобального прогноза. Сегодня мне хотелось бы поделиться первыми осязаемыми результатами крайне увлекательного исследования, до сегодняшнего дня никоим образом не фигурировавшего в прогнозах нашего сервиса.
Полтора года назад мы решили рассмотреть самый новый подход к прогнозу погоды, лежащий на стыке фундаментальной науки и современных достижений в области нейросетей. Если вкратце, то мы разработали свою модель глобального прогноза: теперь буквально за пару минут мы можем получить эволюцию 70 ключевых характеристик всей земной атмосферы на 10 суток вперёд с часовым шагом. В академическом контексте мы стали первыми, кто поборол основные проблемы прогноза накопленных глобальных осадков, сравнявшись в качестве с численными моделями.
Для прода же такая модель важна потому, что любой независимый погодный сервис строит свой прогноз, отталкиваясь именно от глобальных прогнозов крупных метеорологических центров. Теперь с помощью Нейрометеума мы можем получать собственное «сырьё» для наших текущих профильных моделей и меньше боимся, что они пострадают в случае, если внешние данные не успеют доехать вовремя. А качественные осадочные данные, в свою очередь, позволили улучшить метрики нашей последней версии модели прогноза часовых осадков.
Путь был долгим и тернистым, но теперь мы можем сказать, что наш сервис стал первым в мире, кто в оперативном режиме с помощью нейросетей получает собственные глобальные погодные данные и использует их для прогноза осадков, доступного всем пользователям. Про эту историю и сопутствующий рост качества мы сегодня и поговорим. К сожалению, для понимания, что же такого мы сделали, не обойтись без обширного вступления, которое должно предоставить необходимый контекст.
Глобальная роль глобального прогноза
Глобальный прогноз представляет собой фундаментальную задачу прогноза эволюции всей земной атмосферы на несколько дней вперёд. За этой лаконичной фразой кроется широкий спектр подзадач, который на протяжении последнего полувека решается посредством численного решения системы связных дифференциальных уравнений гидродинамики, как правило, с использованием метода конечных элементов (numerical weather prediction, NWP). Как известно, подобные алгоритмы не всегда можно удачно распараллелить, поэтому даже с вовлечением колоссальных вычислительных мощностей процесс этот длительный, занимающий несколько часов. Таким образом, запустив расчёт сейчас, шансов получить глобальный прогноз на ближайшие часы нет, пока длятся вычисления.
Такая ситуация в целом устраивает комьюнити, поскольку цель задачи — описание атмосферных процессов, а прогноз погоды является приятным побочным продуктом, знанием, которое этот цифровой двойник атмосферы нам предоставляет. С другой стороны, из‑за хаотичной природы ряда атмосферных явлений прибегают к ансамблированию, то есть старту расчёта со слегка отличающихся начальных условий, получая таким образом десятки возможных сценариев дальнейшей эволюции атмосферных процессов. В данном случае снижение вычислительных затрат является неоспоримым приоритетом.
На сегодняшний день достойно задачу глобального прогноза умеют решать лишь несколько организаций в мире (будем называть их «поставщиками»):
European Centre for Medium‑Range Weather Forecasts (ECMWF), общеевропейская организация;
Icosahedral Nonhydrostatic model (ICON), Германия;
Global Forecast System (GFS), США;
Canadian Meteorological Centre (CMC);
Japan Meteorological Agency (JMA).
Каждый поставщик сначала тщательно подготавливает начальные условия (так называемый анализ), то есть взаимосогласованным образом интегрирует миллионы разнородных наблюдений в численное представление текущего состояния атмосферы, а затем уже решает диффуры с этими начальными условиями. Каждая использует свои приближения и лайфхаки, но с точки зрения вычислительных затрат всё выглядит примерно одинаково. Прогноз у них отличается качеством в родном регионе: в Штатах оно лучше у GFS, в Японии у JMA, а у ICON, помимо глобальной, имеется ещё и ряд моделей с отдельным фокусом на Германию и на Европу. Наиболее сбалансированным, пожалуй, можно назвать прогноз от международного ECMWF.
Несмотря на то что каждый поставщик решает уравнения на собственной пространственной сетке, для метеорологического анализа чаще всего используется регулярная сетка — равномерная по углам широт и долгот. На сегодняшний день стандартом является шаг сетки в 0,25°, то есть набор ячеек около 28 × 28 км на экваторе (чуть меньше на средних широтах из‑за сближения меридианов). Для сетки 0,25° каждая переменная представляется в виде массива размера (721, 1440). С недавних пор часть поставщиков стала предоставлять прогноз и на сетке 0,1° (примерно 9 × 9 км), разрешение становится уж�� (1801, 3600).


Бытие определяет сознательный выбор нейросетей
Нейросети давно зарекомендовали себя как надёжный инструмент решения прикладных задач, примеры которых лежат в различных, казалось бы, не связанных между собой областях, будь то компьютерное зрение или обработка естественного языка. В последние годы также наблюдается тренд в использовании DL‑моделей и для решения прикладных задач физики.
Однако не стоит забывать, что в данном контексте нейросети являются не чем иным, как численными методами, имеющими границы применения, и использовать их нужно осмысленно и уместно. Уместны они тогда, когда получаемое нейросетями решение как минимум не уступает в качестве традиционным алгоритмам‑предшественникам. В идеале же оно должно предоставлять дополнительные преимущества, например скорость получения решения. Оказалось, что в большом количестве прикладных задач эти условия выполняются. Наряду со всеобщим ИИ‑хайпом это объясняет беспрецедентную динамику роста числа публикаций по применению нейросетей для решения задач физики.
Прогноз погоды — не исключение. Например, прежние методы получения наукаста осадков (краткосрочного прогноза, который больше всего известен читателям как «Карта осадков») уступают в качестве нейросетевым решениям. Именно поэтому в своё время они и были вытеснены DL‑моделями во всех известных погодных сервисах по всему миру. Несколько лет назад исследователи задались вопросом, возможно ли использовать нейросетевой подход для глобального прогноза погоды. Положительному ответу на данный вопрос способствовало одно очень важное обстоятельство — скачок в качестве усвоения наблюдений в численное представление атмосферы.
И вот почему это важно. Несмотря на то что многие говорят нелестные слова в сторону качества прогноза (к счастью, не только про наш сервис), ведущие метеорологические организации всего мира декларируют беспрецедентный рост качества прогноза. За этим практически единолично стоит мощный прогресс в методах усвоения данных, имевший место примерно четверть века назад.
При формулировке задачи глобального прогноза мы использовали словосочетание «состояние всей земной атмосферы», но что за ним кроется? Это набор трёхмерных связанных физических величин, определённых на всей планете вплоть до стратосферы. По сути это результат предыдущих вычислений численных моделей, который из‑за недетерменированной природы ряда атмосферных процессов довольно‑таки быстро начинает расходиться с действительностью. Но в таком случае снижается и качество начальных условий, с которых стартуют модели.
Скорректировать расхождения можно с помощью метеонаблюдений (спутники, метеостанции, радары, буи и так далее), которые посредством техник усвоения данных можно интегрировать в численное представление атмосферы, гармонично уточнив тем самым новое начальное условие. Однако сделать это не так просто. Во‑первых, многие наблюдения являются косвенными. Во‑вторых, результат усвоения должен быть гладкими и согласованным во времени. В‑третьих, переменные коррелируют нетривиальным образом, и в процессе усвоения подразумевается согласованность между ними.

С новыми техниками ассимиляции наблюдений люди неоднократно пересмотрели весь архив наблюдений и прогнозов с 1940 года, получая всё более и более стерильные и согласованные атмосферные данные. Последняя итерация имела место в 2018 году, носит имя ERA5 и именуется реанализом, поскольку по сути это анализ анализа на сетке 0,25°.
Вполне ожидаемо, что с появлением качественных данных в высоком разрешении буквально за последние 3–5 лет мир узнал о таких DL‑моделях, как GraphCast (Google), Pangu Weather (Huawei), FourCastNet (Nvidia), Microsoft Aurora, AIFS (ECMWF). За столь короткий срок в нише уже успело сформироваться плотное соперничество, с результатами которого можно ознакомиться тут.
Как видно из списка лидеров, вся SOTA возникает только у крупных организаций, что неспроста: для обучения глобальных моделей даже в разрешении 0,25° требуются десятки, а то и тысячи GPU, как в случае Nvidia. На фоне больших языковых моделей таким уже никого не удивить, однако принципиальным отличием тут является необходимость подгрузки нескольких гигабайт данных лишь для одного форварда. Вполне стандартным также стал тот факт, что на стадии обучения ни у кого не влезает больше одного data sample на одну GPU (batch size), даже на самых современных видеокартах. Поэтому зачастую авторы статей делают отдельный акцент именно на решении инфраструктурных трудностей.
В качестве основных результатов все декларируют примерно одно и то же: способность получения прогноза за секунды, а не часы, и превосходство относительно NWP по среднеквадратичной ошибке (root mean square error, RMSE). Вопрос более детального анализа качества нейросетевого глобального прогноза до недавних пор был адресован лишь частично, но уже появились и первые пессимистичные выводы относительно физичности выходов модели, которые как по RMSE, так и визуально выглядят практически безупречно. Это привело к дополнительным, более мудрёным критериям оценки жизнеспособности нейросетей как численного метода в рамках данной задачи.
Однако даже при худшем сценарии тренд на глобальный нейропрогноз вряд ли угаснет, и вот почему. Численные методы решают дифференциальные уравнения, которые прекрасно отражают поведение атмосферы как единого целого. Прекрасно, но не идеально, поскольку они пропущены сквозь решето физических приближений, использованных при выводе уравнений динамики атмосферы. Поэтому если в дальнейшем принципиальные проблемы физичности нейропрогноза решены не будут, то им пророчат важную роль в дополнении детерминистских расчётов фактическими корректировками, извлечёнными непосредственно в процессе обучения на стерильных данных; корректировками, ускользающими от уловленных человеком закономерностей aka уравнений. Согласно исследователям, стоит ожидать синергию численных методов и нейросетей, выраженную формулой «Уравнения + скрытые закономерности на основе наблюдений = успех».
Так что в любом случае за этим подходом кроется будущее, поэтому ECMWF и ICON уже вовсю работают над своими собственными моделями. Мы тоже не смогли пройти мимо. К тому же, если вырваться из академического контекста, то было бы просто круто проверить, способны ли результаты прогноза подобных DL‑моделей положительно сказаться на наших текущих моделях, прогнозы которых доступны пользователям: добавим в них новый источник знания — и посмотрим на качество.
Задача в терминах данных и моделей
Будем следовать общепринятым практикам и в качестве основного рассмотрим датасет ERA5. По сути это переосмысление прежних результатов варки начальных условий модели Integrated Forecasting System (IFS) от ECMWF. ERA5 обновляется регулярно с задержкой в 5–6 дней, и это наиболее полный и репрезентативный архив состояния атмосферы. Исключением будут, пожалуй, только накопленные осадки, подверженные критике со стороны комьюнити за чуть меньшую согласованность с гидрологическими моделями в тропиках, чем у профильных осадочных датасетов типа MSWEP. Для нас такого рода расхождения оказываются непринципиальными, так что использование ERA5 как основного источника знаний вполне легитимно.
Исторически сложилось так, что современные нейросетевые модели глобального прогноза погоды используют не полный набор переменных, доступных в архиве реанализа, а ограничиваются лишь определённым подмножеством ключевых параметров — как правило, это температура, компоненты ветра, давление, влажность на ряде высотных уровней и прочие (они приведены в таблице ниже). Выбранное подмножество физически связано между собой и совместно определяет динамику атмосферы, являясь основным носителем информации о её состоянии и эволюции. К тому же такой выбор обеспечивает баланс между достаточностью информации для точного среднесрочного прогноза и сложностью модели.
Название переменной | Единицы | Уровни давления | Описание |
2m_temperature | K (Kelvin) | Surface | Температура воздуха на высоте 2 метра от поверхности земли |
10m_u_component_of_wind | m/s | Surface | Горизонтальная составляющая ветра (относительно востока) на высоте 10 метров |
10m_v_component_of_wind | m/s | Surface | Горизонтальная составляющая ветра (относительно севера) на высоте 10 метров |
total_precipitation | m | Surface | Количество выпавших осадков (сумма всех видов) на поверхности |
mean_sea_level_pressure | Pa (Pascal) | Surface | Давление, приведённое к уровню моря |
geopotential | m²/s² | 50, 100, 150, 200, 250, 300, 400, 500, 600, 700, 850, 925, 1000 (hPa) | Отражает «высоту» давления — важную переменную для атмосферной динамики |
U_component_of_wind | m/s | 50, 100, 150, 200, 250, 300, 400, 500, 600, 700, 850, 925, 1000 (hPa) | Горизонтальная компонента ветра на уровнях давления |
V_component_of_wind | m/s | 50, 100, 150, 200, 250, 300, 400, 500, 600, 700, 850, 925, 1000 (hPa) | Горизонтальная компонента ветра на уровнях давления |
Temperature | K (Kelvin) | 50, 100, 150, 200, 250, 300, 400, 500, 600, 700, 850, 925, 1000 (hPa) | Температура на уровнях давления |
Relative_humidity |
| 50, 100, 150, 200, 250, 300, 400, 500, 600, 700, 850, 925, 1000 (hPa) | Относительная влажность воздуха на уровнях давления |
Прогнозируемые переменные делятся на две категории: приземные и переменные по уровням. Как следует из названия, первые описывают характеристики атмосферы близ поверхности, такие как температура на высоте 2 метра, две компоненты скорости ветра на высоте 10 метров и атмосферное давление у поверхности. Переменные по уровням представляют собой слоёный пирог: срезы атмосферных переменных на фиксированных уровнях давления (pressure levels) — например, 1000, 850, 500 гектопаскалей (гПа).
Всего в ERA5 для каждой высотной переменной имеется 37 уровней, что также практически всегда является избыточным с точки зрения баланса точность / вычислительная нагрузка. Поэтому принятым минимальным подмножеством уровней является 50, 100, 150, 200, 250, 300, 400, 500, 600, 700, 850, 925, 1000, где 50 гПа примерно соответствует высоте 20 км, а 1000 — практически лежит на поверхности. Значения атмосферных переменных на уровнях по давлению, которые геометрически оказываются ниже местной топографии (например, 1000 гПа в Гималаях), получаются путём экстраполяции из модельных параметров, но они не имеют физического смысла и не отражают реальные атмосферные условия. В практическом анализе такие значения всегда маскируются или исключаются из рассмотрения.
Основные нейросетевые модели можно разделить на две категории: графовые и «картиночные». К первым относятся GraphCast и AIFS, а к последним — Pangu Weather, FuXi, Microsoft Aurora. Конечно, есть и те, которые не попадают ни в одну категорию, например, NeuralGCM (Google) или уже упомянутый FourCastNet, но они менее многочисленны и с определёнными оговорками иррелевантны в рамках текущего повествования.
Возможно, многие уже задались вопросом: «А как же physics‑informed neural networks (PINN)? Логично ведь было бы просто заменить ими численные методы?» Дело в том, что ни одна PINN‑модель пока не представляет достойной конкуренции вышеобозначенным моделям: крупные сетки, метрики хуже, про них говорить мы тоже не будем.
У всех моделей есть фиксированный горизонт прогноза, известный как «заблаговременность прогноза». Например, если у модели lead time равен 6 часам и мы ей подаём на вход состояние атмосферы в 06:00, то её прогноз будет соответствовать 12:00. Если нужен прогноз на 18:00, то обычно модели скармливают её же прогноз, что именуется авторегрессионным подходом (rollout). Практически все известные модели обучены на +6 часов, поэтому им доступны лишь горизонты, кратные 6, то есть 6, 12, 18 и так далее Очевидно, что чем больше авторегрессионных шагов будет сделано, тем больше будет аккумулироваться ошибка прогноза.
Особняком стоит Pangu Weather, подразумевающая под собой набор из четырёх идентичных моделей с lead time +1 ч, +3 ч, +6 ч и +24 ч. Таким образом, они свели задачу прогноза на произвольный час к задаче получения нужной денежной суммы минимальным набором монет фиксированного номинала — включают жадный алгоритм стека моделей, обладающего минимальной длиной. Картинка ниже демонстрирует путь получения прогноза на неделю вперёд посредством модели с lead time +24 ч.

Если рассмотреть принцип работы картиночных моделей, то все они выглядят примерно одинаково и состоят из трёх последовательных узлов: кодировщик (encoder), процессор (backbone) и декодировщик (decoder).
В качестве примера рассмотрим модель, которая сегодня является лучшей в совокупности метрик относительно реанализа и наблюдений — Aurora. В отличие от прочих моделей она считается так называемой foundation‑моделью, где на стадии претрейна она видела не только ERA5, но и все возможные датасеты, в том числе содержащие прогнозы численных моделей. За счёт архитектурных решений авторы смогли побороть существующую «разношёрстность» доступных датасетов, так как у таковых может быть разный набор уровней давления или отсутствовать часть стандартных переменных.

Кодировщик модели Aurora реализует универсальную схему преобразования входных данных в компактное скрытое представление. На вход поступают многоканальные пространственно‑временные тензоры: каждая переменная на трёхмерной сетке «широта × долгота × уровень по давлению» для предыдущего и текущего состояний атмосферы (два таймстемпа на вход).
Сначала входные данные проходят стадию эмбеддинга:
Каждая переменная получает индивидуальный variable embedding, что позволяет учесть специфику физических параметров.
Пространственные координаты (широта и долгота), уровень по давлению, а также временной шаг кодируются с помощью learnable positional embeddings. Это обеспечивает осведомлённость модели о расположении каждого значения во входной последовательности.
Все эти эмбеддинги (переменная, позиция, уровень, время) объединяются и подаются на последующий слой агрегации.
На этапе агрегации и понижения размерности Aurora использует механизмы 3D Perceiver. Входные данные бьются на патчи и проецируются на фиксированное скрытое пространство, а затем через слои cross‑attention агрегируют содержимое из различных переменных и уровней, формируя совокупное представление о секторе атмосферы.
Благодаря такой стратегии кодировщик способен гибко обобщать информацию между слоями (уровнями по давлению), различными переменными и временными срезами, структурируя данные для дальнейшего анализа backbone‑блоком. Короче говоря, кодировщик Aurora создаёт информативное сжатое представление сложных многоуровневых и разнородных атмосферных данных, максимально сохраняя их физическую структуру и взаимосвязи. В принципе, кодировщик каждой подобного рода модели стремится решить именно эту задачу, тут же это сделано элегантно и эффективно.

Backbone модели построен на архитектуре 3D Swin Transformer. Он обрабатывает входной блок посредством оконного (windowed) self‑attention в пространстве и времени. Это позволяет извлекать сложные нелинейные зависимости в скрытом представлении атмосферных полей, масштабировать модель на бóльшие разрешения и учитывать глобальный контекст. Затем уже декодировщик получает выходные скрытые представления backbone и с помощью 3D Perceiver‑слоёв восстанавливает прогнозируемые метеорологические переменные на заданных уровнях и разрешениях.

Далее рецепт простой: с помощью 32 мощных видеокарт даём модели пережевать 1,2 петабайта погодных данных из разных датасетов. Этот процесс занимает примерно две недели, после чего у нас имеется преодобученная foundation‑модель, которую можно дообучить на набор смежных задач разного рода (downstream tasks): от трекинга ураганов до оценки высоты волн или загрязнения воздуха.
Качественная оценка качества
Итак, мы знаем, с каким минимальным необходимым набором данных будет работать модель и чего от неё ждать на выходе. Рассмотрим, как обычно оценивают качество.
В задачах валидации глобальных погодных моделей прежде всего используют RMSE, взвешенный по широтам (latitude‑weighted RMSE). Это означает, что погрешности для каждой точки сетки при усреднении учитываются с весом, пропорциональным косинусу широты. Причина в том, что при дискретизации Земли по долготе и широте области между меридианами сужаются к полюсам: на экваторе ячейка по долготе больше, а на высоких широтах — меньше. Если усреднять ошибку «по сетке», экватор недооценивается, а полюса переоцениваются. Поэтому вводят весовой коэффициент — обычно косинус широты — чтобы каждая область на сфере Земли сделала вклад, пропорциональный своей площади.
Формально формула выглядит так
где — прогноз в пикселе
(соответствует широте
и долготе
,
— реанализ в тех же координатах, а
— вес широты.
ACC (Anomaly Correlation Coefficient) — вторая из ключевых метрик для оценки качества глобальных прогнозов наряду с RMSE. Она показывает, насколько хорошо модель способна прогнозировать пространственно‑временные аномалии переменных относительно их среднего многолетнего состояния. Сначала из исходных данных и прогноза вычитают «климатическое среднее» (climatology) для данного дня и часа — получают аномалии. Затем рассчитывают корреляцию Пирсона между аномалиями прогноза и аномалиями реального (анализа или наблюдения) ряда.
Эта метрика чувствительна именно к способности модели улавливать отклонения от нормы — синоптические структуры, волны, погодные конфигурации, что особенно важно в метеорологии. Зачастую RMSE может показывать небольшой разброс за счёт удачного воспроизведения фоновой картины, а ACC фокусируется на правильно пойманной динамике, игнорируя общий тренд. Диапазон значений у метрики такой:
ACC = 1 — идеальное совпадение;
ACC ≈ 0 — модель не различает аномалии и «шум»;
ACC < 0 — антикорреляция (модель систематически ошибается в фазе аномалии).
Если обозначим климатическое среднее как , то ACC выглядит так:
Для объективной и воспроизводимой проверки глобальных моделей погоды исследовательское сообщество использует специальные тестовые наборы данных и единые сценарии оценки. Например, WeatherBench2 — открытый и хорошо стандартизированный бенчмарк для сравнения качества глобальных моделей прогноза погоды. Он предоставляет подготовленные погодные данные и набор эталонных метрик (в том числе latitude‑weighted RMSE, ACC и пр.), а также фиксированные сценарии тестирования. Можно посмотреть на его scoreboard и сравнить метрики зоопарка моделей по всем переменным, как глобально, так и в разных регионах.
Помимо метрик относительно реанализа, важная составляющая — оценка прогноза моделей относительно фактических наблюдений: станций и зондов.
Осадки сладки? Самая проблемная переменная в глобальном прогнозе
Прогноз накопленных осадков остаётся сложной задачей для всех современных глобальных моделей — как численных, так и нейросетевых. В современных численных моделях погоды осадки — это не самостоятельная переменная, за которой модель следит напрямую, а так называемая диагностическая величина, то есть вычисляется она как результат сложной цепочки физических процессов в атмосфере.
Выглядит это примерно так: модель шаг за шагом рассчитывает изменения температуры, влажности, ветра и других базовых параметров по всей планете, а затем специальные блоки (параметризации) анализируют, где образуются облака, как конденсируется пар, какая часть влаги превращается в дождь или снег и сколько из этого достигает земли. Увы, это не простой набор умозрительных правил на манер «если температура ниже нуля — снег», а сложные формулы, основанные на физике взаимодействия пара, капель и кристаллов в движущемся воздухе. В итоге прогноз осадков — это точечный анализ реальных процессов.
Любопытный факт про снег
Вы наверняка замечали, что зимой прогноз обещает 10 мм осадков, а на улице вырастают огромные сугробы. Однако здесь нет противоречия: осадки всегда измеряют в водном эквиваленте. Это значит, что 10 мм — высота столба воды, если снег растопить. Но снег разный по плотности: свежий пушистый может быть в 5–10 раз объёмнее мокрого весеннего (плотность от 50 кг/м³ для сухого до 500+ кг/м³ для мокрого). Поэтому один и тот же водный объём даёт разную высоту сугроба — от 10 см до метра.
На проблемы при обучении DL‑моделей можно посмотреть с двух точек зрения.
Первая — осадки не являются непрерывным полем, как температура или давление. Они — набор фактов: в конкретной точке атмосферы должно сойтись множество условий, чтобы пошёл дождь. Если хоть одно из них выпадает — осадков нет.
Вторая — в глобальном масштабе поле накопленных осадков равно нулю почти везде (zero‑inflated distribution), особенно если мы говорим о коротких интервалах накопления, как час или три часа. И это легко представить: большая часть Земли сухая, но вдруг в тропиках появляется ливень, и в наших данных возникает локальный пик в десятки миллиметров. Распределение значений, в свою очередь, выглядит как острый пик у нуля с очень длинным «хвостом» редких, но экстремальных осадочных событий.
Для нейросетей такая несбалансированность — большое неудобство. Модели склонны недооценивать редкие сильные осадки или переоценивать слабые, потому что данных о нулях слишком много. Вероятно, поэтому осадки довольно редко фигурируют в статьях: GraphCast (от Google DeepMind), FuXi и AIFS (от ECMWF). Их подход принципиально отличается от NWP: нейросети не симулируют физику пошагово — они учатся на огромных архивах реальных данных (таких как реанализ ERA5), находя статистические закономерности между текущим состоянием атмосферы и будущими накопленными осадками. Модель просто пытается выдавать поле осадков напрямую, без детального моделирования облаков или пара.
Если бы мы хотели внедрить физику в эти DL‑модели, пришлось бы их обучать на 3D‑полях облачной воды, льда и так далее, а потом добавлять физические расчёты сверху (некий hybrid‑подход).
Во‑первых, такое решение существенно усложнило бы и архитектуру моделей, и требования к вычислительным ресурсам, да и в целом сильно бы сказалось на стандартном и понятном пайплайне обучения без осадков.
Во‑вторых, осадки физически коррелируют с другими переменными атмосферы, которые модель уже выучила. Например, зоны сильной конвергенции потока влаги (где ветер сгоняет влажный воздух) часто совпадают с осадками. А конвергенция в данном случае — это произведение скорости ветра и удельной влажности, которые в модели уже есть. Так что модель способна захватывать эти скрытые статистические связи из данных, если её архитектура позволяет информации должным образом перетекать между переменными. Поэтому все обучают к накопленным осадкам «в лоб», как если бы это было обычной плавно изменяющейся непрерывной величиной наподобие температуры.


Коварность осадков заключается в том, что даже при должном визуальном соответствии прогноза и наблюдений (ground truth, GT) страдают две вещи: близость распределений выходов модели и GT, а также очень существенно отличаются общие массы выпавших осадков в прогнозе и GT. Первое несоответствие — следствие неверной оценки интенсивности осадков, особенно сильных, а второе — критично для гидрологических приложений: ошибки в суммарных объёмах напрямую транслируются в погрешности расчёта стока и паводковых прогнозов.
Любопытный факт о миллиметрах в прогнозе
Если часовой прогноз на 15:00 обещает 5 мм осадков, речь идёт об осадках, накопленных за предыдущий час, то есть с 14:00 до 15:00. Чтобы пользователи не путались, в нашем сервисе мы корректируем отображение — показываем осадки за интуитивно понятные интервалы, в данном случае накопление с 15:00 до 16:00, что формально не есть прогноз на 15:00.
Ещё один подвох, о котором часто забывают: накопленные осадки (total precipitation в ERA5) — это не просто картинка, а интегральная величина, связанная с массой воды. Поэтому если вы, например, попытаетесь изменить разрешение данных (условно с 0,1° на 0,25°, то есть с разрешения 1801 × 3600 на 721 × 1440), обычные методы из компьютерного зрения, такие как билинейная интерполяция, сломают всё: они размывают пики, искажают сумму осадков по областям и не сохраняют общую массу воды. Впоследствии это приводит к серьёзным несоответствиям в гидрологических расчётах. Иногда даже серьёзные исследователи из уважаемых университетов грешат этим, интерполируя осадочные данные некорректным способом.
Ввиду специфики осадков метрики оценки качества у них свои. Отмечу, что тут не все метрики, а ключевые.
MAE (Mean Absolute Error). Это базовая метрика — средний модуль разницы между прогнозируемыми и реальными осадками.
CSI (Critical Success Index). Индекс попадания в событие, характеризуемое заданным порогом — например, «осадки >1 мм». По сути схоже с IoU: измеряет, насколько модель правильно ловит осадки заданной силы, без учёта более сухих зон.
Здесь TP — true positives (правильно предсказанный дождь), FP — false positives (ложная тревога), FN — false negatives (пропущенный дождь). Пороги зависят от периода накопления: для часа — низкие, чтобы ловить морось; для 6 часов — выше, для значимых событий. CSI хорош для бинарной классификации, но игнорирует интенсивность. Его значения лежат от 0 до 1, чем выше, тем лучше.
W1 (Wasserstein-1 distance, или Earth Mover's Distance). Метрика для сравнения распределений модельных и реальных осадков. Она измеряет, сколько «усилия» нужно, чтобы «перетащить» одно распределение в другое, учитывая расстояния между значениями.
Метрика хороша для осадков с длинным хвостом, так как ловит, если модель недооценивает экстремальные дожди. В отличие от простых расстояний, W1 чувствительна к форме распределения. Это положительно‑определённая метрика, идеальный случай характеризуется нулём.
FSS (Fractions Skill Score) оценивает структурное сходство прогноза и наблюдений через сравнение долей осадков выше заданного порога в окрестностях каждой точки. В отличие от попиксельных метрик, FSS допускает небольшие пространственные смещения и оценивает совпадение общих контуров и размеров осадочных зон.
где и
— доли пикселей с осадками выше порога в скользящем окне для прогноза и наблюдений соответственно,
обозначает усреднение по всем точкам домена. Далее по тексту подразумеваем окно размером 5 × 5 пикселей.
Значение FSS варьируется от 0 до 1, где 1 соответствует идеальному совпадению. Прогноз считается полезным при . Пороги интенсивности выбираются в зависимости от периода накопления: для часовых осадков характерны мелкие зоны, для шестичасовых — более крупные.
Bias (смещение). Это систематическая ошибка — средняя разница между прогнозом и реальностью. Если bias положительный, модель систематически переоценивает осадки (переливает), отрицательный — недооценивает. В отличие от MAE, которое игнорирует направление ошибки, bias выявляет хронические проблемы: если модель всегда недооценивает осадки (negative bias), то в гидрологии это накопится в ошибку стока для рек и недооценке наводнений.
Для редких событий, как осадки, bias критичен, потому что накапливается со временем: систематическая недооценка сильных дождей может привести к недооценке рисков в климатических моделях. В верификации по реальным данным низкий по модулю bias подтверждает, что модель не лукавит в прогнозе системно, а удовлетворительно отражает физику. Чем ниже, тем лучше, идеальный случай соответствует 0.
Нейросети не достигают значений bias, сопоставимого с NWP, поскольку в NWP встроена физика в виде баланса массы и энергии, которые корректируют bias постпроцессингом. Глобальные модели, в свою очередь, учатся исключительно на данных и из‑за описанного выше хвостатого распределения склонны к отрицательным значениям bias, особенно для экстремальных осадков: модель осторожничает, недооценивая ливни, чтобы минимизировать среднюю ошибку.
Как мы обучали модель
Итак, после затяжного вступления настала пора рассказать, чем наше решение принципиально отличается от других. Для нашего сервиса подобная модель в первую очередь была бы полезна, если бы она работала с часовым шагом по времени и прогнозировала осадки. Интуитивно с первым условием проблем возникнуть не должно, а вот со вторым уже не так просто, но обо всём по порядку.
Вопреки естественному стремлению исследователя везде использовать свои собственные алгоритмы, самым разумным и понятным для нулевого шага действием была проба решения «из коробки». Мы сами нашли, собрали и получили все лучшие решения с целью понимания, где, кто и что делает хорошо, где, кто и как лукавит в статьях. Нашли много незаявленных недостатков в каждой модели и решили сделать свою. Во многом проблемы начались с обучением на часовой шаг: многие модели плохо справлялись с данной задачей, особенно с добавлением осадков.
Итак, мы решили не изобретать велосипед и большей частью вдохновлялись Авророй: два состояния атмосферы на вход и архитектурные решения кодировщика оказались крайне удачными. У Pangu мы позаимствовали идею обучения нескольких моделей для достижения любого горизонта с часовым шагом с наименьшим числом авторегрессионных шагов.
Главный минус такого подхода — априорная несогласованность прогнозов модели, поскольку, будучи обученными отдельно, их прогнозы могут разниться. Избежать несогласованности можно было бы совместным обучением, но при стандартном подходе возникают проблемы с памятью. Поэтому одно из принципиальных изменений, которые мы внесли в свою модель, — авторегрессия в латентном пространстве. Она экономит вычисления, лосс можно считать сразу по четырём авторегрессионным шагам и обучать модели с разным lead time совместно, чтобы достичь согласованности.
Мы обучили набор моделей выбранной архитектуры, варьируя такие гиперпараметры, как число блоков, число голов и так далее И мы увидели насыщение в качестве, что согласуется с недавней работой исследователей из Amazon: в отличие от LLM, глобальные погодные модели испытывают насыщение. По итогу наша модель по числу параметров превзошла Microsoft Aurora на 15%, достигнув 1,5В. Если обучаться на 30 годах ERA5, то претрейн такой модели занимает порядка месяца на 32 современных видеокартах.
При обучении использовали стандартную для этой задачи функцию потерь
где и
прогноз и истинное значение,
и
обозначают поверхностные и атмосферные переменные,
и
параметризуют пространственное разрешение, а
— число уровней давления. Каждое слагаемое входит в функцию потерь с собственным весом
или
в зависимости от типа переменной. Общие вклады приземных и переменных по уровням обычно взвешивают с коэффициентами
и
.
Если не говорить про осадки, которые мы добавили во все модели (про них поговорим отдельно), то метрики на ранних горизонтах получаются едва отличимыми от Авроры. Однако на более далёких горизонтах наши ошибки растут медленнее, поскольку при обучении лосс мы считали по большему числу авторегрессионных шагов. По остальным переменным наблюдается схожая ситуация.

Средние значения метрики RMSE приземной температуры для Aurora и нашей модели относительно данных ERA5
Помимо стандартных метрик, важно оценить, насколько модель воспроизводит пространственную структуру полей. Хорошая проверка физичности выходов — спектральное разложение по сферическим гармоникам и сопоставление энергий каждой моды у прогноза и истины. Каждому волновому числу соответствует характеристический масштаб, и расхождения в энергиях, начиная с некоторого волнового числа, можно интерпретировать как неспособность моделей уловить вариации энергии процессов соответствующего характеристического масштаба.
Пока что модели, которые явным образом не включают в лосс спектральное соответствие, склонны к избыточному сглаживанию на мелких масштабах. Это означает, что эффективное разрешение таких моделей оказывается существенно грубее номинального, что, впрочем, свойственно и численным моделям. В этом контексте возникают вопросы к одному из заявленных преимуществ Aurora — способности работать с разрешением 0,1°. Судя по спектрам, модель пока не демонстрирует пропорционального улучшения на мелких масштабах: спектральные характеристики выглядят не лучше, а местами даже хуже, чем у модели с разрешением 0,25°.
Когда статью опубликовали, стало известно, что нашу позицию на этот счёт разделил и один из ревьюеров. Можно калибровать модель на соответствие по спектрам, но это отдельное и долгое повествование. Пока только недавно вышедший FourCastNetV3 заявляет полное соответствие всех переменных по спектрам. Мы перепроверили сами, на данный момент у них тоже только полуправда: где‑то действительно совпадает, где‑то нет, поэтому посмотрим, как изменится статья после ревью.
Касательно нашей модели — её спектральное соответствие оказывается идентичным Aurora, то есть расхождения со спектрами GT наблюдаются на тех же характеристических масштабах. В данном контексте прочие детерминистские модели, например GraphCast или Pangu, проявляют себя ощутимо слабее.

Как мы подошли к прогнозу осадков
Первым открытием стал факт, что добавление осадков в необученную модель дестабилизирует процесс обучения, поэтому наиболее выигрышным оказывается включение их в модель уже после претрейна. Если добавить осадки напрямую, лишь с условием неотрицательности, то получится плохо: осадки выходят размытыми, пики в областях с сильными осадками едва различимы.
Что из опробованного дало ощутимый прирост в качестве:
Удачная нормировка/перемасштабирование осадков. Опробовали многие, лучше всего показала себя модификация нормировки MetNet (Google). Они решают другую задачу, так что мы адаптировали паттерн под себя.
Хитрая функция активации для осадочного выхода. В нашей нормировке осадки строго положительны, очевидно, что добавление ReLU положительно сказалось на качестве прогнозируемых осадков. Более того, оказалось, что при зафиксированной нормировке выбор функции активации чрезвычайно важен. Поигрались и поняли, что нам подходит больше всего.
Новые лосс функции. Ключевое решение, использующее знание о природе осадков.
Первым делом мы заменили MAE на его взвешенную адаптацию: mean weighted average error (MWAE). Данный лосс был представлен в свежей статье по наукасту, и выглядит он так:
где — некая функция, определяющая, насколько мы фокусируемся на ошибках сильных осадков. В оригинальной статье использовали сигмоиду, но там авторы решают иную задачу, поэтому мы поэкспериментировали и подобрали собственную — конкретно для нашей задачи. Универсального ответа на вопрос о выборе этой функции нет, надо смотреть на эксперименты. Замена MAE на данный лосс дала прирост по метрикам MAE, CSI, FSS, но просадки по W1 и bias.
Для решения проблемы недоучёта сильных осадков и прогнозируемых масс стоит выделить критерий, который позволил бы нейросети различать, где и как именно распределены осадки. С точки зрения физики пики выпавших осадков можно отождествить с массой, поскольку накопление подразумевается на единицу площади (в нашем случае один пиксель) и имеет размеренность миллиметров. Поэтому пик в накопленных осадках есть не что иное, как объём воды, а учитывая единичную плотность воды, получаем непосредственно массу. Поэтому нас интересуют аномалии в распределении масс, которые логично охарактеризовать посредством величины под названием Центр Масс (Centre of Mass, CoM). Формально — это радиус‑вектор в системе дискретных масс с координатами, заданный выражением:
Можно просто добавить следующее выражение к MWAE:
Однако настолько прямолинейный подход демонстрирует хоть и положительную динамику по метрикам W1 и bias, но слабую, поскольку одной точки оказывается недостаточно, чтобы охарактеризовать распределение масс на всём глобусе.
Мы развили эту идею и неким хитрым образом разбили карту мира на области, в каждой из которых пенализировали нейросеть за несовпадение центров масс прогноза и GT. Чтобы избежать привязки модели к конкретному разбиению, можно проводить эту процедуру сразу для нескольких разбиений. Данный лосс довольно‑таки просто векторизуется, и его расчёт не занимает много времени.

Два лосса, будучи взвешены должным образом, дают прирост по всем осадочным метрикам. Возьмём 15 лет данных ERA5 и потюним одну и ту же часовую модель пятью способами:
Vanilla — обучение без наших хитростей, как в этой статье: нормировка log(1 + x/e), обычная ReLU на выходе и функция потерь МАЕ.
Baseline — всё ещё обучение по МАЕ, но с нашей нормировкой и способом взвешивания слагаемых лосса.
MWAE — Baseline, где MAE заменяем на MWAE.
CoM — Baseline, где к МАЕ подмешиваем СоМ лосс.
MWAE + CoM — это Baseline, где МАЕ заменяем композицией наших лоссов и включаем новую функцию активации.
Снизу приводим табличку с метриками, посчитанными на данных всего 2023 года. Как видно, стандартный подход едва ли работает с часовым накоплением. Нормировка и лоссы положительно сказываются на всех метриках, а совместное применение предложенных нами манёвров существенно улучшает все метрики. В частности, CSI по сильным осадкам вырос на 50% относительно baseline и более чем вдвое относительно общепринятого подхода. Метрики эксперимента MWAE + CoM без новой функции активации выглядят примерно как «лучшее значение из колонок MWAE и CoM», и для компактности таблицы опущены.
Особенно значимо в данной таблице значение метрики bias — оно упало в 10 раз и достигло значений, присущих численным моделям (в единицах мм/пиксель). Также немаловажно, что по остальным переменным метрики не просели.
Метрика | Vanilla | Baseline | MWAE | CoM | MWAE + CoМ |
MAE, мм ↓ | 0,063 | 0,045 | 0,056 | 0,053 | 0,035 |
CSI (0.5 мм), ↑ | 0,52 | 0,61 | 0,64 | 0,62 | 0,71 |
CSI (1 мм), ↑ | 0,47 | 0,55 | 0,58 | 0,55 | 0,65 |
CSI (5 мм), ↑ | 0,21 | 0,31 | 0,39 | 0,33 | 0,48 |
FSS (1 мм), ↑ | 0,85 | 0,93 | 0,93 | 0,94 | 0,97 |
FSS (5 мм), ↑ | 0,63 | 0,75 | 0,84 | 0,78 | 0,91 |
W1, мм ↓ | 0,031 | 0,016 | 0,025 | 0,013 | 0,009 |
Bias, мм/пик ↓ | −0,028 | −0,015 | 0,019 | −0,005 | −0,003 |
Наиболее наглядная визуализация, демонстрирующая разницу между Baseline и финальным решением, — региональный патч, содержащий сильные осадки.

Сравнимся: Нейрометеум vs новая модель Google
Полтора месяца назад Google анонсировал новое поколение своей погодной модели под названием WeatherNext2, принципиально отличающейся от предыдущих, как идейно, так и архитектурно. Они уже дважды поднимали планку качества глобального нейропрогноза — сначала это был GraphCast, затем ансамблевый GenCast, теперь новая ансамблевая модель. Про неё уже писали на Хабре.
Так как найти глобальные модели с прогнозом часовых накопленных осадков довольно сложно, сравниться напрямую нам не с чем. Вместо этого возьмём данные прогнозов модели WeatherNext2 с 6-часовым накоплением за один год. Для тех же дат и горизонтов получим часовые прогнозы нашей моделью и сложим их кучками по 6. Например, если стартовать с момента времени 2023-01-01-00, то один прогноз WeatherNext2 будет соответствовать накоплению до 2023-01-01-06, мы же получаем это накопление посредством 6 последовательных прогнозов с часовым накоплением и суммируем эти прогнозы.
Такое сравнение нам не на руку, поскольку нам требуется в 6 раз больше авторегрессионных шагов, что не может не аккумулировать ошибку модели. Зато таким образом мы получим примерную оценку нашей модели в контексте лидеров в области глобального прогноза.
Важный момент, который стоит учесть, — это ансамблевая природа модели WeatherNext2. Чтобы сравниваться с детерминистскими прогнозами, авторы предлагают сравниваться со средним по ансамблю. Из любопытства сравнимся и со средним, и с нулевым членом ансамбля — посчитаем МАЕ, CSI по порогам 2,5 мм, 10 мм и 25 мм (средние, сильные и очень сильные осадки для 6 часов), а также FSS по порогам 10 мм и 25 мм. Сравнение производим на 2024 году ERA5, что легитимно, так как обе модели обучались именно на этом датасете.


На графиках видно, что метрики среднего по ансамблю выглядят существенно лучше метрик одного члена ансамбля (сэмплы по качеству неразличимы, но каждый «прав по‑своему»).
На первом горизонте в +6 часов наблюдаем выигрыш нашей модели по МАЕ даже относительно среднего по ансамблю. Со временем, как и ожидалось, качество прогноза деградирует из‑за высокого числа авторегрессионных шагов.
Примечателен тот факт, что на протяжении 12–18 часов мы лидируем по CSI и FSS для высоких порогов, иными словами, на этом интервале наша модель точнее локализует максимумы осадков и их магнитуду. Это, собственно, то, ради чего мы и модифицировали стандартный подход обучения. Приятное обстоятельство, но всё же не стоит забывать, что WeatherNext2 — это ансамблевая модель, которая позволяет рассчитывать вероятности событий, в то время как у нас пока что детерминистская модель, предоставляющая лишь единичный сценарий развития событий.
Внедрение в нашу текущую осадочную модель
В целом, если использовать прогнозы нашей часовой модели для первых 12–18 часов, мы получаем поставщика осадков, по качеству не уступающего, а в чём‑то даже и превосходящего самую нашумевшую за последнее время глобальную нейромодель.
В качестве боевого крещения нашего решения можно было бы пойти по двум путям: показывать пользователям прогноз от глобальной модели напрямую или же обогатить знание других профильных моделей. Довольно странно было бы предлагать пользователям альтернативную информацию о накопленных осадках в ячейке размера 28 × 28 километров. Но такого характера фичи используются нашей текущей продовой осадочной моделью, которая предоставляет прогноз в ячейке 5 × 5 км. Поэтому теперь мы используем наш глобальный нейросетевой прогноз накопленных осадков при обучении профильной модели осадков. Результаты обновлённой модели доступны всем пользователям.
Что дальше?
Осадки — это лишь проба пера в добавлении в наш сервис результатов новейших и наиболее перспективных исследований на стыке AI и физики атмосферы.
Резонный вопрос: если у нас есть своя универсальная модель, ошибки которой выглядят лучше SOTA на дальних горизонтах, почему эта статья на Хабре, а не в Nature? Ответ простой: отсутствует фундаментальная новизна, но зато есть ряд удачных решений, которые позволили решить насущные для нас задачи и положительно сказаться на существующих моделях нашего сервиса. Академический интерес представляют, пожалуй, лишь манёвры, использованные при обучении к накопленным осадкам.
Не стоит также забывать, что не менее важная составляющая замкнутого цикла глобального прогноза — подготовка данных для старта, то есть анализ, который подразумевает задачу усвоения данных. Хочется, конечно, не заморачиваться с трудоёмкими алгоритмами и просто скормить всё нейросетям, но в публикациях пока что встречаются только прототипы, далёкие от практического применения. Думаем в эту сторону, опять‑таки, выбирая баланс между трудозатратностью и целесообразностью.
Спасибо всем увлечённым читателям, дошедшим до этих строк. Со своей стороны скажем, что достаточно хорошо погрузившись в это направление, мы лишь только‑только раскрутили свой исследовательский маховик. Так что в ближайшее время обязательно попробуем прыгнуть за фронт науки, да и в целом надеемся порадовать всех внедрением «ещё тёпленьких» передовых подходов в наш сервис.
