Earth-2模型對比項目(MIP)是一個基於Python的AI框架,使氣候研究人員和科學家能夠探索和試驗使用AI模型在天氣和氣候中。它提供了參考工作流程,以了解AI模型如何捕獲地球大氣的物理學以及它們如何與傳統的數值天氣預測模型一起工作。例如,該存儲庫提供了使用預訓練的模型檢查點運行推理的統一接口,並使用某些標準指標對此類模型的技能進行評分。該存儲庫的目的是促進天氣和氣候社區提出良好的事件參考基線,以測試模型,並與各種數據源一起使用。
一般版本後,Earth-2 MIP將在PYPI上安裝。同時,可以從來源安裝:
git clone [email protected]:NVIDIA/earth2mip.git
cd earth2mip && pip install .
有關更多詳細信息和其他選項,請參見安裝文檔。
Earth-2 MIP提供了一組示例,可以在示例文檔頁面上查看,可用於使用各種工作流程開始。這些示例可以作為Jupyer筆記本和Python腳本下載。源python腳本可以在示例文件夾中找到。
Earth-2 MIP提供了用於使用AI模型運行推理的高級API。例如,以下可用於使用氣候數據存儲(CDS)的初始狀態運行Pangu天氣:
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
您可以像這樣獲得ACC/RMSE:
>>> 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'
這些筆記本用幾個型號說明瞭如何使用的方法,只要兼容,它就可以作為引用您自己的檢查站的參考。可能還有其他工作使其與Earth-2 MIP兼容。 Earth-2 MIP在模量中利用模型動物園來提供一組基礎線模型。目的是使社區能夠發展此模型集合,如下表所示。
ID | 模型 | 建築學 | 類型 | 參考 | 來源 | 尺寸 |
---|---|---|---|---|---|---|
FCN | 四castnet | 自適應傅里葉神經操作員 | 全球天氣 | arxiv | 模量 | 300MB |
DLWP | 深度學習天氣預測 | 卷積編碼器解碼器 | 全球天氣 | agu | 模量 | 50MB |
pangu | Pangu天氣(分層6 + 24小時) | 視覺變壓器 | 全球天氣 | 自然 | onnx | 2GB |
pangu_6 | Pangu天氣6小時型號 | 視覺變壓器 | 全球天氣 | 自然 | onnx | 1GB |
Pangu_24 | Pangu天氣24小時型號 | 視覺變壓器 | 全球天氣 | 自然 | onnx | 1GB |
fcnv2_sm | Fourcastnet V2 | 球形諧波傅里葉神經操作員 | 全球天氣 | arxiv | 模量 | 3.5GB |
Graphcast | Graphcast,37級,0.25度 | 圖神經網絡 | 全球天氣 | 科學 | github | 145MB |
Graphcast_small | Graphcast,13級,1度 | 圖神經網絡 | 全球天氣 | 科學 | github | 144MB |
graphcast_operational | Graphcast,13級,0.25度 | 圖神經網絡 | 全球天氣 | 科學 | github | 144MB |
strad_afno | 四castnet降水 | 自適應傅里葉神經操作員 | 診斷 | arxiv | 模量 | 300MB |
氣候 | 氣候分割模型 | 卷積神經網絡 | 診斷 | GMD | 模量 | 2MB |
* =即將到來
一些模型需要默認情況下未安裝的其他依賴項。有關詳細信息,請參閱安裝說明。
注意:每個模型檢查點可能都有其獨特的許可。我們鼓勵用戶熟悉每個人,以了解對其特定用例的影響。
我們希望將您的模型集成到記分牌中,以展示社區!最好的方法是通過NVIDIA模量。您可以貢獻您的模型(培訓代碼和模型檢查點),我們可以確保將其作為參考集的一部分進行維護。
Earth-2 MIP是一種開源協作,其成功源於社區對進一步領域的貢獻。感謝您為該項目做出貢獻,以便其他人可以基於您的貢獻。有關為Earth-2 MIP做出貢獻的指南,請參考貢獻指南。
這項工作的靈感是為了促進NVIDIA的團隊之間的類似交往 - ML專家開發了新模型和氣候科學領域的領域專家,評估了此類模型的技能。例如,通常必要的輸入數據(例如歸一化常數和超參數值)與模型權重並不包裝。每個模型通常都會實現一個略有不同的接口。評分例程是特定於要評分的模型,並且在各組之間可能不一致。
Earth-2 MIP解決了這些挑戰,並彌合了最經常評估ML模型的領域專家與ML專家生產它們之間的差距。與該領域的其他項目相比,Earth-2 MIP專注於即時評分模型。它具有適用於Jupyter書籍的Python API,適用於在許多GPU上分發的CLIS CLIS,以及一個靈活的插件框架,可讓任何人使用自己的ML模型。更重要的是,Earth-2 MIP渴望促進氣候研究界內的探索與協作,以評估AI模型在氣候和天氣模擬中的潛力。
請參閱文檔頁面,以獲取有關Earth-2 MIP,功能,API等的深入信息。
Apache許可證2.0提供了Earth-2 MIP,請參見License.txt,以獲取完整的許可文本。