Earth-2 Model Intercomparison Project (MIP) ist ein Python-basierter KI-Framework, mit dem Klimaforscher und Wissenschaftler mit der Verwendung von AI-Modellen für Wetter und Klima untersucht und experimentieren können. Es bietet Referenzworkflows, um zu verstehen, wie KI -Modelle die Physik der Erdatmosphäre erfassen und wie sie mit traditionellen numerischen Wettervorhersagemodellen arbeiten können. Beispielsweise bietet das Repo eine einheitliche Schnittstelle für die Ausführung von Inferenz mithilfe vorhandener Modellkontrollpunkte und die Bewertung der Fähigkeiten solcher Modelle unter Verwendung bestimmter Standardmetriken. Dieses Repository soll die Wetter- und Klimakgemeinschaft erleichtern, um eine gute Referenzbasis von Ereignissen zu finden, um die Modelle gegen eine Vielzahl von Datenquellen zu testen und sie zu verwenden.
Earth-2 MIP kann bei PYPI nach der allgemeinen Freisetzung installiert werden. In der Zwischenzeit kann man aus Quelle installieren:
git clone [email protected]:NVIDIA/earth2mip.git
cd earth2mip && pip install .
Weitere Informationen und andere Optionen finden Sie in der Installationsdokumentation.
Earth-2 MIP enthält eine Reihe von Beispielen, die auf der Beispiele-Dokumentationsseite angezeigt werden können, mit der Sie mit verschiedenen Workflows beginnen können. Diese Beispiele können sowohl als Jupyer -Notizbücher als auch als Python -Skripte heruntergeladen werden. Die Quell -Python -Skripte finden Sie in den Beispielen der Beispiele.
Earth-2 MIP bietet hochrangige APIs für die Ausführung von KI-Modellen. Beispielsweise kann Folgendes verwendet werden, um das Pangu -Wetter mit einem Ausgangszustand aus dem Climate Data Store (CDS) auszuführen:
python
>>> import datetime
>>> from earth2mip.networks import get_model
>>> from earth2mip.initial_conditions import cds
>>> from earth2mip.inference_ensemble import run_basic_inference
>>> time_loop = get_model( " e2mip://dlwp " , device= " cuda:0 " )
>>> data_source = cds.DataSource(time_loop.in_channel_names)
>>> ds = run_basic_inference(time_loop, n=10, data_source=data_source, time=datetime.datetime(2018, 1, 1))
>>> ds.chunk ()
< xarray.DataArray (time: 11, history: 1, channel: 69, lat: 721, lon: 1440) >
dask.array < xarray- < this-array > , shape=(11, 1, 69, 721, 1440), dtype=float32, chunksize=(11, 1, 69, 721, 1440), chunktype=numpy.ndarray >
Coordinates:
* lon (lon) float32 0.0 0.25 0.5 0.75 1.0 ... 359.0 359.2 359.5 359.8
* lat (lat) float32 90.0 89.75 89.5 89.25 ... -89.25 -89.5 -89.75 -90.0
* time (time) datetime64[ns] 2018-01-01 ... 2018-01-03T12:00:00
* channel (channel) < U5 ' z1000 ' ' z925 ' ' z850 ' ' z700 ' ... ' u10m ' ' v10m ' ' t2m '
Dimensions without coordinates: history
Und Sie können ACC/RMSE wie folgt erhalten:
>>> from earth2mip.inference_medium_range import score_deterministic
>>> import numpy as np
>>> scores = score_deterministic(time_loop,
data_source=data_source,
n=10,
initial_times=[datetime.datetime(2018, 1, 1)],
# fill in zeros for time-mean, will typically be grabbed from data.
time_mean=np.zeros((7, 721, 1440))
)
>>> scores
<xarray.Dataset>
Dimensions: (lead_time: 11, channel: 7, initial_time: 1)
Coordinates:
* lead_time (lead_time) timedelta64[ns] 0 days 00:00:00 ... 5 days 00:...
* channel (channel) <U5 't850' 'z1000' 'z700' ... 'z300' 'tcwv' 't2m'
Dimensions without coordinates: initial_time
Data variables:
acc (lead_time, channel) float64 1.0 1.0 1.0 ... 0.9686 0.9999
rmse (lead_time, channel) float64 0.0 2.469e-05 0.0 ... 7.07 2.998
initial_times (initial_time) datetime64[ns] 2018-01-01
>>> scores.rmse.sel(channel='z500')
<xarray.DataArray 'rmse' (lead_time: 11)>
array([ 0. , 150.83014446, 212.07880612, 304.98592282,
381.36510987, 453.31516952, 506.01464974, 537.11092269,
564.79603347, 557.22871627, 586.44691243])
Coordinates:
* lead_time (lead_time) timedelta64[ns] 0 days 00:00:00 ... 5 days 00:00:00
channel <U5 'z500'
Diese Notizbücher veranschaulichen mit einigen Modellen, wie man es nutzt, und dies kann als Verweis dienen, um Ihren eigenen Kontrollpunkt einzubringen, solange es kompatibel ist. Es kann zusätzliche Arbeit geben, um es mit Earth-2-MIP kompatibel zu machen. Earth-2 MIP nutzt den Modellzoo im Modul, um einen Referenzsatz von Basislinienmodellen bereitzustellen. Das Ziel ist es, der Community zu ermöglichen, diese Sammlung von Modellen zu erweitern, wie in der folgenden Tabelle gezeigt.
AUSWEIS | Modell | Architektur | Typ | Referenz | Quelle | Größe |
---|---|---|---|---|---|---|
fcn | Fourcastnet | Adaptiver Fourier -Neuralbetreiber | Globales Wetter | Arxiv | Modul | 300 MB |
DLWP | Tiefeslernwettervorhersage | Faltungscoder-Decoder | Globales Wetter | Agu | Modul | 50 MB |
Pangu | Pangu -Wetter (hierarchische 6 + 24 Stunden) | Vision Transformator | Globales Wetter | Natur | Onnx | 2GB |
PUAN_6 | Pangu Weather 6HR -Modell | Vision Transformator | Globales Wetter | Natur | Onnx | 1 GB |
PUAN_24 | Pangu Wetter 24 Stunden Modell | Vision Transformator | Globales Wetter | Natur | Onnx | 1 GB |
fcnv2_sm | Fourcastnet v2 | Sphärische Harmonische Fourier -Neuralbetreiber | Globales Wetter | Arxiv | Modul | 3,5 GB |
Graphcast | Graphcast, 37 Level, 0,25 ° | Grafik Neurales Netzwerk | Globales Wetter | Wissenschaft | Github | 145 MB |
Graphcast_small | Graphcast, 13 Level, 1 Grad | Grafik Neurales Netzwerk | Globales Wetter | Wissenschaft | Github | 144MB |
Graphcast_operational | Graphcast, 13 Level, 0,25 ° | Grafik Neurales Netzwerk | Globales Wetter | Wissenschaft | Github | 144MB |
Niederschlag_Afno | Fourcastnet -Niederschlag | Adaptiver Fourier -Neuralbetreiber | Diagnose | Arxiv | Modul | 300 MB |
Klimazenet | Klimatenet -Segmentierungsmodell | Faltungsnetzwerk | Diagnose | GMD | Modul | 2MB |
* = bald kommt
Einige Modelle erfordern zusätzliche Abhängigkeiten, die standardmäßig nicht installiert sind. Weitere Informationen finden Sie in den Installationsanweisungen.
HINWEIS : Jeder Modellkontrollpunkt kann eine eigene eindeutige Lizenz haben. Wir ermutigen Benutzer, sich mit jedem vertraut zu machen, um die Auswirkungen auf ihren jeweiligen Anwendungsfall zu verstehen.
Wir möchten Ihr Modell in die Anzeigetafel integrieren, um der Community zu zeigen! Der beste Weg, dies zu tun, ist über den Nvidia -Modul. Sie können Ihr Modell (sowohl den Trainingscode als auch den Modellkontrollpunkt) beitragen und wir können sicherstellen, dass es als Teil des Referenzsatzes beibehalten wird.
Earth-2 MIP ist eine Open-Source-Zusammenarbeit und ihr Erfolg basiert auf dem Community-Beitrag zum Fachgebiet. Vielen Dank, dass Sie zum Projekt beigetragen haben, damit andere auf Ihrem Beitrag aufbauen können. Anleitungen zur Leitung eines Beitrags zum Earth-2-MIP finden Sie in den beitragenden Richtlinien.
Diese Arbeit ist inspiriert, ähnliche Engagements zwischen den Teams hier bei NVIDIA zu ermöglichen - den ML -Experten, die neue Modelle entwickeln, und die Domänenexperten in der Klimakissenschaft, die die Fähigkeiten solcher Modelle bewerten. Beispielsweise werden häufig notwendige Eingabedaten wie Normalisierungskonstanten und Hyperparameterwerte neben den Modellgewichten nicht verpackt. Jedes Modell implementiert typischerweise eine etwas andere Schnittstelle. Bewertungsroutinen sind spezifisch für das bewertete Modell und sind möglicherweise nicht in den Gruppen konsistent.
Earth-2 MIP befasst sich mit diesen Herausforderungen und überbrückt die Lücke zwischen den Domänenexperten, die am häufigsten ML-Modelle bewerten, und den ML-Experten, die sie produzieren. Im Vergleich zu anderen Projekten in diesem Raum konzentriert sich Earth-2 MIP auf die Bewertung von Modellen im Fliege. Es verfügt über Python -APIs, die für eine schnelle Iteration in einem Jupyter -Buch geeignet sind, CLIS für Bewertungsmodelle, die über viele GPUs verteilt sind, und ein flexibles Plugin -Framework, mit dem jeder seine eigenen ML -Modelle verwenden kann. Noch wichtiger ist, dass Earth-2 MIP die Erforschung und Zusammenarbeit innerhalb der Klimarforschungsgemeinschaft erleichtert, um das Potenzial von KI-Modellen in Klima- und Wettersimulationen zu bewerten.
Weitere Informationen zu Earth-2-MIP, Funktionalität, APIs usw. finden Sie in der Dokumentationsseite.
Earth-2 MIP wird unter der Apache-Lizenz 2.0 bereitgestellt. Weitere Informationen zum vollständigen Lizenz finden Sie in Lizenz.txt.