ИИ‑прогноз погоды на своём железе: запускаем AIFS 2.0 от ECMWF. AIFS 2.0.. AIFS 2.0. ECMWF.. AIFS 2.0. ECMWF. gpu.. AIFS 2.0. ECMWF. gpu. hugging face.. AIFS 2.0. ECMWF. gpu. hugging face. временные ряды.. AIFS 2.0. ECMWF. gpu. hugging face. временные ряды. инференс.. AIFS 2.0. ECMWF. gpu. hugging face. временные ряды. инференс. Локальный запуск.. AIFS 2.0. ECMWF. gpu. hugging face. временные ряды. инференс. Локальный запуск. Машинное обучение.. AIFS 2.0. ECMWF. gpu. hugging face. временные ряды. инференс. Локальный запуск. Машинное обучение. нейросети.. AIFS 2.0. ECMWF. gpu. hugging face. временные ряды. инференс. Локальный запуск. Машинное обучение. нейросети. прогнозирование погоды.

Открывать исходный код моделей — это здорово. Но если их запуск требует слишком много усилий, доступнее для сообщества они от этого почти не становятся.

В этой статье мы разберём, как устранить этот разрыв: не просто открыть модели, но и упростить их запуск. Именно такую цель поставил перед собой ECMWF, когда открыл исходный код новых ИИ‑моделей AIFS. Эта статья — результат нашей совместной работы.

AIFS — модель ECMWF для прогнозирования погоды на основе искусственного интеллекта. Она строит глобальные среднесрочные прогнозы, затрачивая примерно в 1000 раз меньше энергии, чем традиционные модели, основанные на физических законах. Веса опубликованы на Hugging Face и доступны всем желающим.

Однако для запуска текущей версии модели требуется определённый GPU — архитектуры Ampere или новее, — а такая видеокарта найдётся далеко не у каждого. Поэтому мы подготовили патч совместимости, который позволяет запускать модель на любом устройстве. В этой статье разберём, как самостоятельно запустить AIFS Single 2.0 с помощью Hugging Face Jobs или на собственном оборудовании.

О моделях AIFS

Численный прогноз погоды традиционно строится на решении основных уравнений физики атмосферы на дискретной сетке с расчётом эволюции системы во времени. Один из примеров таких систем — интегрированная система прогнозирования ECMWF (Integrated Forecasting System, IFS), основанная на физических законах. Система прогнозирования на основе искусственного интеллекта AIFS использует другой, основанный на данных подход. Вместо того чтобы интегрировать физические уравнения атмосферы, как это делает IFS, AIFS применяет машинное обучение к историческим метеорологическим данным и учится строить статистическое представление эволюции атмосферы.

Модель использует энкодер и декодер на основе графовых нейронных сетей (GNN), а также процессор‑трансформер со скользящим окном. Она обучена на реанализе Copernicus ERA5, подготовленном ECMWF, и на данных оперативного анализа ECMWF. Энкодер преобразует входные поля в сжатое скрытое представление, процессор рассчитывает его эволюцию во времени, а декодер проецирует результат обратно на выходную сетку. Модели реализованы с помощью Anemoi — открытого фреймворка, который ECMWF разрабатывает совместно с национальными метеорологическими службами европейских стран — членов организации.

Для этой статьи особенно важны две особенности AIFS.

Во‑первых, AIFS используется в оперативном прогнозировании. ECMWF ввёл систему в эксплуатацию 25 февраля 2025 года параллельно с основанной на физических законах IFS. Это первая открытая модель прогнозирования погоды на основе машинного обучения, которая полноценно работает в оперативном режиме и охватывает столь широкий набор параметров.

Во‑вторых, инференс требует значительно меньше вычислительных ресурсов, чем численное интегрирование. По оценке ECMWF, на построение одного прогноза уходит примерно в 1000 раз меньше энергии, чем при использовании системы, основанной на физических законах.

При этом AIFS зависит от тех же начальных условий, что и IFS. Иными словами, модель учится тому, как меняется атмосфера, но для формирования её начального состояния по‑прежнему использует ассимиляцию данных на основе физических моделей.

Система доступна в двух конфигурациях:

  • AIFS Single — детерминированная модель, которая четыре раза в сутки строит один глобальный прогноз на 15 дней с шагом 6 часов. Её веса опубликованы по лицензии CC BY 4.0.

  • AIFS ENS — ансамблевая модель, введённая в эксплуатацию 1 июля 2025 года. Она состоит из 51 участника ансамбля, отражающих неопределённость прогноза.

Актуальные версии обеих моделей — v2. 12 мая 2026 года AIFS Single и AIFS ENS одновременно обновили до версии 2 вместе с переходом IFS на цикл 50r1. В обновлении появились первые разработанные ECMWF прогнозы волн и снега на основе данных, улучшенное представление стратосферы и ещё два года данных для обучения.

ИИ‑прогноз погоды на своём железе: запускаем AIFS 2.0 от ECMWF - 1
ИИ‑прогноз погоды на своём железе: запускаем AIFS 2.0 от ECMWF - 2

Практические сценарии применения

Публикация весов AIFS Single по открытой лицензии снижает порог входа для построения среднесрочных прогнозов погоды. Это открывает новые возможности для исследовательского сообщества и разработчиков открытого ПО.

Оценка качества и методологические исследования. Открытые веса позволяют всем желающим строить собственные прогнозы, анализировать отдельные выходные переменные и сверять результаты с наблюдениями или прогнозами IFS. Благодаря этому можно изучать прошлые погодные события, использовать AIFS как базовую модель в сравнительных экспериментах, а также исследовать поведение и типичные ошибки моделей, основанных на данных.

Разработка прикладных решений. Среди выходных данных AIFS есть переменные, важные для отдельных отраслей. Например, солнечная радиация у поверхности и скорость ветра на высоте турбины нужны в задачах возобновляемой энергетики, а после обновления до v2 появились и параметры волн, полезные для морских и прибрежных приложений. Открытый доступ к этим полям позволяет самым разным группам пользователей создавать прототипы прикладных инструментов.

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

Практическая ценность AIFS в оперативных системах уже подтверждена независимо от этих открытых сценариев использования. С сентября 2025 года модель передаёт данные в системы предупреждения о наводнениях Copernicus EFAS и GloFAS. Кроме того, по данным ECMWF, она улучшает прогнозирование траекторий тропических циклонов вплоть до 20% по сравнению с ведущими моделями, основанными на физических законах. Теперь ту же модель можно свободно запускать самостоятельно. Единственное практическое препятствие — инструменты для инференса, рассчитанные на оборудование, которого у большинства пользователей нет. Именно эту проблему мы и решим в оставшейся части статьи.

Руководство: запуск AIFS Single 2.0

Веса AIFS опубликованы в открытом доступе на Hugging Face, включая актуальный чекпойнт aifs‑single-2.0.

Для построения прогноза на основе опубликованных весов документация ECMWF рекомендует использовать anemoi-inference. Однако AIFS обучалась с зависимостью от flash-attn, которая компилируется только на GPU NVIDIA архитектуры Ampere или новее: A100, H100, RTX 30xx и более новых. Для тех, у кого такого оборудования нет, установка flash‑attn становится главным препятствием для запуска инференса.

Поэтому мы подготовили это руководство и лёгкую обёртку, которая упрощает запуск aifs‑single-2.0 через anemoi-inference в Hugging Face Jobs или локально, на любом GPU или CPU.

Запуск AIFS Single 2.0 с помощью Hugging Face Jobs

Почему Hugging Face Jobs хорошо подходят для этой модели?

Hugging Face Jobs позволяют запускать задачи инференса в инфраструктуре Hugging Face. Для построения прогноза AIFS этот сервис подходит особенно хорошо по нескольким причинам:

  • Вам не нужны собственные GPU и хранилище. Для запуска инференса с чекпойнтом AIFS Single v2 требуется немало оперативной памяти и вычислительных ресурсов. Jobs предоставляет по запросу конфигурации с разными GPU без какой‑либо локальной настройки.

  • Оплата начисляется поминутно, только пока задание находится в состоянии starting или running. За этап сборки платить не нужно. Если во время выполнения возникает ошибка, задание автоматически приостанавливается и списание средств прекращается.

  • Результаты загружаются в указанный вами датасет Hugging Face — открытый или приватный. После этого их легко скачать, загрузить локально или предоставить другим пользователям.

Подробнее о Hugging Face Jobs и стоимости сервиса можно узнать в документации.

В этом руководстве мы используем конфигурацию t4-small: один GPU NVIDIA T4 с 16 ГБ памяти. Это один из самых дешёвых доступных вариантов — около 0,40 доллара в час с поминутной тарификацией.

0. Начало работы с Hugging Face Jobs

Сначала установите Hugging Face CLI. Рекомендуемый способ: curl -LsSf https://hf.co/cli/install.sh | bash

  • Или через Homebrew: brew install hf

  • Или через uv: uv tool install hf

1. Создайте датасет для хранения результатов

В своей организации Hugging Face нужно создать датасет, например aifs-results, в котором будут храниться результаты прогноза. Сделать это можно через интерфейс Hugging Face или с помощью библиотеки huggingface_hub:

from huggingface_hub import create_repo
create_repo("your-hf-username/aifs-results", repo_type="dataset", token=HF_TOKEN)

2. Войдите в учётную запись Hugging Face

Создайте токен доступа по инструкции в документации. Предоставьте ему права на чтение и запись в организации, которой принадлежит aifs-results, а также разрешение на управление заданиями.

3. Запустите прогноз

После запуска задания в Hugging Face оно загрузит актуальные метеорологические данные, загрузит модель AIFS, построит прогноз на 48 часов и сохранит результаты в указанном вами датасете.

Ориентировочное время выполнения — около 10 минут: несколько минут уйдёт на сборку контейнера и загрузку данных, а сам прогноз займёт меньше минуты.

Замените your-hf-username на своё имя пользователя или название организации в Hugging Face и выполните в терминале следующую команду:

hf jobs run 
  --flavor t4-small 
  --secrets HF_TOKEN=$HF_TOKEN 
  pytorch/pytorch:2.6.0-cuda12.4-cudnn9-devel 
  bash -c "python -c "import urllib.request; urllib.request.urlretrieve('https://github.com/huggingface/AIFS-single-2.0-on-all-GPUs/archive/refs/heads/main.tar.gz', 'repo.tar.gz')" && 
           tar xzf repo.tar.gz && mv AIFS-tutorial-main /app && cd /app && 
           pip install -r requirements.txt huggingface_hub && 
           python run_forecast.py --lead-time 48 --no-plots --dataset-repo your-hf-username/aifs-results"

Что именно мы запустили?

Команда отправляет задание, состоящее из трёх основных частей.

Оборудование и окружение

  • hf jobs run отправляет задание в инфраструктуру Hugging Face — примерно как Slurm, только в облаке HF.

  • -flavor t4-small выбирает NVIDIA T4 с 16 ГБ памяти. Такая конфигурация стоит около 0,40 доллара в час с поминутной тарификацией и подходит для AIFS Single 2.0. Для более быстрого выполнения можно выбрать gpu‑l или a100.

  • --secrets HF_TOKEN=$HF_TOKEN безопасно передаёт токен доступа, чтобы результаты можно было загрузить в ваш датасет.

  • pytorch/pytorch:2.6.0-cuda12.4-cudnn9-devel — Docker‑образ с уже установленными PyTorch, CUDA и другими компонентами.

Выполнение задачи

Задание:

  • загружает и распаковывает репозиторий с материалами руководства;

  • устанавливает зависимости;

  • запускает прогноз со следующими основными аргументами:

    • --lead-time 48 — прогноз на 48 часов: 8 шагов по 6 часов;

    • --no-plots — не создавать изображения, чтобы сократить время выполнения и расход хранилища;

    • --dataset-repo your-hf-username/aifs-results — репозиторий датасета, куда будут загружены результаты.

Отслеживание задания и получение результатов

После отправки задания следить за его выполнением можно на странице Jobs в своей учётной записи Hugging Face или с помощью команды hf jobs logs.

Когда задание завершится, прогноз появится в датасете aifs‑results, откуда его можно скачать или предоставить другим пользователям.

Локальный запуск AIFS Single 2.0

Модели также можно запускать локально. Если у вас есть GPU архитектуры Ampere, воспользуйтесь примером из руководства в карточке модели.

Для других GPU или систем только с CPU мы подготовили патч совместимости. С ним AIFS Single 2.0 можно запустить на собственной машине с любым GPU — через CUDA или Apple MPS — либо на CPU. Если описать механику несколькими техническими словами, патч находится в файле aifs/compat.py в репозитории. Он создаёт фиктивное дерево модулей flash_attn и регистрирует его в sys.modules до того, как импорт Anemoi успеет запустить поиск настоящего пакета. Все вызовы механизма внимания при этом перенаправляются в SDPA из PyTorch.

0. Настройте локальное окружение

Версия Python: Python ≥3.11, <3.13

git clone https://github.com/huggingface/AIFS-single-2.0-on-all-GPUs
cd aifs-tutorial
pip install -r requirements.txt

1. Проверьте доступное оборудование

from aifs import get_device, device_label
print(device_label())
# → "CUDA — NVIDIA A100-SXM4-40GB"
# → "Apple MPS"
# → "CPU (GPU не обнаружен, инференс будет медленным)"

2. Загрузите начальные условия

Для работы AIFS нужны два последовательных анализа с интервалом 6 часов: t-6h и t. Мы загружаем их из ECMWF Open Data — бесплатно и без учётной записи.

На этом этапе загружается несколько наборов данных. После первой загрузки каждый из них сохраняется в кеше. В первый раз процесс занимает несколько минут, а последующие загрузки данных из кеша — всего несколько секунд.

Во время первой загрузки иногда срабатывают ограничения по частоте запросов или возникают ошибки. В таком случае подождите несколько секунд и повторите попытку.

from aifs import load_ics

fields, date = load_ics(cache_dir="../ic_cache")
# Первый запуск: загрузка занимает около 3–5 минут, данные сохраняются в ic_cache/
# Последующие запуски: менее 1 с при загрузке из локального кеша .npz

print(date)  
print(fields["2t"].shape)

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

3. Запустите прогноз

Время построения прогноза зависит от оборудования. Например, на Apple M5 Pro каждый шаг занимает несколько секунд.

from aifs import run_forecast

states = run_forecast(
    fields,
    date,
    lead_time=24,  
    num_chunks=16, 
)

Каждый вызов run_forecast возвращает список словарей состояний — по одному на каждый 6-часовой шаг прогноза:

for state in states:
    print(state["date"], state["fields"]["2t"].mean() - 273.15, "°C")
# 2025-01-15 06:00:00   14.32 °C
# 2025-01-15 12:00:00   14.38 °C
# 2025-01-15 18:00:00   14.41 °C
# 2025-01-16 00:00:00   14.29 °C

4. Визуализируйте поля прогноза

from aifs import plot_field, plot_field_sequence

# Одна карта
fig = plot_field(states[0], "2t")
fig.savefig("t2m_T+6h.png", dpi=150)

# Последовательность из четырёх панелей
fig = plot_field_sequence(states, "msl", max_steps=4)
fig.savefig("msl_sequence.png", dpi=150)
image

image

Использование CLI

# Прогноз на 24 часа, графики сохраняются в ./outputs/
python run_forecast.py

# Прогноз на 48 часов
python run_forecast.py --lead-time 48 --fields 2t msl z_500

# Показать содержимое кеша начальных условий
python run_forecast.py --list-cache

# Принудительно загрузить данные заново
python run_forecast.py --force-download

Ноутбук

Полная версия руководства также доступна в репозитории в виде запускаемого ноутбука notebooks/tutorial.py. В нём пошагово разобраны определение доступного устройства, загрузка начальных условий, запуск прогноза и визуализация полученных полей.

Интерактивная демонстрация в Hugging Face Space: запускаем прогноз AIFS на актуальных данных

Мы подготовили интерактивную демонстрацию AIFS Single 2.0, которую может запустить любой желающий: AIFS‑single-2.0-space.

В Space используется тот же код, что и в руководстве выше, а запускается он на ZeroGPU.

ИИ‑прогноз погоды на своём железе: запускаем AIFS 2.0 от ECMWF - 4

Вот как это работает:

  1. Выберите параметры прогноза. Укажите, на сколько часов вперёд нужно построить прогноз — его заблаговременность с шагом 6 часов — и настройте использование памяти. Для этого задаётся количество фрагментов, то есть тот же параметр num_chunks, что и в руководстве по локальному запуску: чем больше фрагментов, тем ниже расход памяти, но дольше выполнение.

  2. Приложение загружает актуальные начальные условия. Оно получает из ECMWF Open Data два последних анализа с интервалом 6 часов: t-6h и t. Поэтому каждый прогноз начинается с реального текущего состояния атмосферы.

  3. Прогноз строится шаг за шагом. Приложение загружает чекпойнт AIFS Single 2.0 и последовательно рассчитывает состояния прогноза с шагом 6 часов.

  4. Визуализируйте результаты. После завершения расчёта можно вывести на карту поля прогноза: температуру на высоте 2 м, давление, приведённое к среднему уровню моря, ветер на высоте 10 м или значительную высоту волн.

Иными словами, AIFS Single 2.0 позволяет прямо в браузере построить прогноз погоды на ближайшие дни, отталкиваясь от сегодняшнего состояния атмосферы.

ИИ‑прогноз погоды на своём железе: запускаем AIFS 2.0 от ECMWF - 5

Когда хочется перейти от экспериментов с готовыми ИИ‑моделями к собственным запускам, быстро упираешься в вопросы архитектуры, ресурсов и выбора подходящего инструмента.

Разобравшись, как устроены современные модели прогнозирования и что требуется ML‑системе для работы в продакшене, проще оценивать такие решения целиком — от инференса на локальном железе до реального внедрения. И в какой‑то момент становится понятно: ограничение часто скрывается не в самой модели, а в том, как мы организуем её запуск.

На бесплатных уроках можно продолжить разбираться в этих задачах на других практических примерах:

  • 24 августа, 20:00. «Современные модели прогнозирования — TimesNet, TimeGPT и новое поколение моделей временных рядов». Записаться

  • 3 сентября, 20:00. «Локальные LLM модели для разработки». Записаться

  • 7 сентября, 20:00. «Почему 90% ML‑проектов не доходят до продакшена? Разбираем архитектуру настоящей ML‑системы». Записаться

Полный список бесплатных уроков августа смотрите в дайджесте.

Автор: kmoseenk

Источник