Earth-2 Model Intercomparison Project (MIP) เป็นเฟรมเวิร์ก AI ที่ใช้ Python ซึ่งช่วยให้นักวิจัยและนักวิทยาศาสตร์ด้านสภาพอากาศสามารถสำรวจและทดลองใช้แบบจำลอง AI สำหรับสภาพอากาศและสภาพภูมิอากาศ มันให้เวิร์กโฟลว์อ้างอิงเพื่อทำความเข้าใจว่าแบบจำลอง AI จับภาพฟิสิกส์ของบรรยากาศของโลกได้อย่างไรและวิธีการทำงานกับแบบจำลองการพยากรณ์อากาศเชิงตัวเลขแบบดั้งเดิม ตัวอย่างเช่น repo ให้อินเทอร์เฟซแบบสม่ำเสมอสำหรับการอนุมานโดยใช้จุดตรวจสอบรุ่นก่อนที่ได้รับการฝึกอบรมมาก่อนและให้คะแนนทักษะของโมเดลดังกล่าวโดยใช้ตัวชี้วัดมาตรฐานบางอย่าง ที่เก็บนี้มีวัตถุประสงค์เพื่ออำนวยความสะดวกให้กับชุมชนสภาพอากาศและสภาพภูมิอากาศเพื่อสร้างพื้นฐานการอ้างอิงที่ดีของเหตุการณ์เพื่อทดสอบแบบจำลองและใช้กับแหล่งข้อมูลที่หลากหลาย
Earth-2 MIP จะสามารถติดตั้งได้บน PYPI เมื่อเปิดตัวทั่วไป ในช่วงเวลานั้นเราสามารถติดตั้งได้จากแหล่งที่มา:
git clone [email protected]:NVIDIA/earth2mip.git
cd earth2mip && pip install .
ดูเอกสารการติดตั้งสำหรับรายละเอียดเพิ่มเติมและตัวเลือกอื่น ๆ
Earth-2 MIP ให้ชุดตัวอย่างที่สามารถดูได้ในหน้าเอกสารตัวอย่างซึ่งสามารถใช้เพื่อเริ่มต้นกับเวิร์กโฟลว์ต่างๆ ตัวอย่างเหล่านี้สามารถดาวน์โหลดได้ทั้งเป็นสมุดบันทึก Jupyer และสคริปต์ Python สคริปต์ Python แหล่งที่มาสามารถพบได้ในโฟลเดอร์ตัวอย่าง
Earth-2 MIP ให้ API ระดับสูงสำหรับการอนุมานกับโมเดล AI ตัวอย่างเช่นสิ่งต่อไปนี้สามารถใช้ในการเรียกใช้สภาพอากาศ Pangu โดยใช้สถานะเริ่มต้นจาก Climate Data Store (CDS):
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 ใช้ประโยชน์จากสวนสัตว์แบบจำลองในโมดูลัสเพื่อให้ชุดอ้างอิงของโมเดลพื้นฐานบรรทัด เป้าหมายคือการเปิดใช้งานให้กับชุมชนเพื่อขยายคอลเลกชันของแบบจำลองดังที่แสดงในตารางด้านล่าง
รหัสประจำตัว | แบบอย่าง | สถาปัตยกรรม | พิมพ์ | อ้างอิง | แหล่งที่มา | ขนาด |
---|---|---|---|---|---|---|
FCN | FourcastNet | ผู้ประกอบการประสาทฟูริเยร์แบบปรับตัว | สภาพอากาศทั่วโลก | arxiv | โมดูลัส | 300MB |
DLWP | การทำนายสภาพอากาศที่เรียนรู้ลึก | ตัวเข้ารหัสแบบ convolutional | สภาพอากาศทั่วโลก | agu | โมดูลัส | 50MB |
ปาง | สภาพอากาศ Pangu (ลำดับชั้น 6 + 24 ชม.) | หม้อแปลงวิสัยทัศน์ | สภาพอากาศทั่วโลก | ธรรมชาติ | onnx | 2GB |
pangu_6 | Pangu Weather 6hr รุ่น | หม้อแปลงวิสัยทัศน์ | สภาพอากาศทั่วโลก | ธรรมชาติ | onnx | 1GB |
pangu_24 | Pangu Weather 24 ชั่วโมงรุ่น | หม้อแปลงวิสัยทัศน์ | สภาพอากาศทั่วโลก | ธรรมชาติ | onnx | 1GB |
fcnv2_sm | FourcastNet v2 | Harmonics Harmonics Fourier Neural | สภาพอากาศทั่วโลก | arxiv | โมดูลัส | 3.5GB |
กราฟ | Graphcast, 37 ระดับ, 0.25 องศา | กราฟประสาทเครือข่าย | สภาพอากาศทั่วโลก | ศาสตร์ | คนอื่น ๆ | 145MB |
graphcast_small | Graphcast, 13 ระดับ, 1 องศา | กราฟประสาทเครือข่าย | สภาพอากาศทั่วโลก | ศาสตร์ | คนอื่น ๆ | 144MB |
graphcast_operational | Graphcast, 13 ระดับ, 0.25 องศา | กราฟประสาทเครือข่าย | สภาพอากาศทั่วโลก | ศาสตร์ | คนอื่น ๆ | 144MB |
การตกตะกอน _afno | การตกตะกอน FourcastNet | ผู้ประกอบการประสาทฟูริเยร์แบบปรับตัว | การวินิจฉัย | arxiv | โมดูลัส | 300MB |
Climatenet | รูปแบบการแบ่งส่วน Climatenet | เครือข่ายประสาท | การวินิจฉัย | GMD | โมดูลัส | 2MB |
* = เร็ว ๆ นี้
บางรุ่นต้องการการพึ่งพาเพิ่มเติมที่ไม่ได้ติดตั้งโดยค่าเริ่มต้น อ้างถึงคำแนะนำการติดตั้งสำหรับรายละเอียด
หมายเหตุ : จุดตรวจแต่ละรุ่นอาจมีใบอนุญาตที่ไม่ซ้ำกัน เราสนับสนุนให้ผู้ใช้ทำความคุ้นเคยกับแต่ละคนเพื่อให้เข้าใจถึงความหมายสำหรับกรณีการใช้งานเฉพาะของพวกเขา
เราต้องการรวมโมเดลของคุณเข้ากับกระดานคะแนนเพื่อแสดงชุมชน! วิธีที่ดีที่สุดในการทำเช่นนี้คือผ่าน Nvidia Modulus คุณสามารถมีส่วนร่วมในรูปแบบของคุณ (ทั้งรหัสการฝึกอบรมรวมถึงจุดตรวจสอบแบบจำลอง) และเราสามารถมั่นใจได้ว่ามันได้รับการดูแลเป็นส่วนหนึ่งของชุดอ้างอิง
Earth-2 MIP เป็นความร่วมมือโอเพ่นซอร์สและความสำเร็จนั้นมีรากฐานมาจากการมีส่วนร่วมของชุมชนเพื่อส่งเสริมภาคสนาม ขอขอบคุณที่มีส่วนร่วมในโครงการเพื่อให้ผู้อื่นสามารถสร้างผลงานของคุณได้ สำหรับคำแนะนำเกี่ยวกับการบริจาคให้กับ Earth-2 MIP โปรดดูแนวทางที่มีส่วนร่วม
งานนี้ได้รับแรงบันดาลใจในการอำนวยความสะดวกในการมีส่วนร่วมที่คล้ายกันระหว่างทีมที่นี่ที่ NVIDIA - ผู้เชี่ยวชาญ ML พัฒนาโมเดลใหม่และผู้เชี่ยวชาญด้านโดเมนในวิทยาศาสตร์ภูมิอากาศเพื่อประเมินทักษะของโมเดลดังกล่าว ตัวอย่างเช่นข้อมูลอินพุตที่จำเป็นเช่นค่าคงที่การทำให้เป็นมาตรฐานและค่าไฮเปอร์พารามิเตอร์จะไม่ถูกบรรจุควบคู่ไปกับน้ำหนักของแบบจำลอง ทุกรุ่นมักจะใช้อินเทอร์เฟซที่แตกต่างกันเล็กน้อย รูทีนการให้คะแนนนั้นมีความเฉพาะเจาะจงกับแบบจำลองที่ได้คะแนนและอาจไม่สอดคล้องกันในทุกกลุ่ม
MIP Earth-2 จัดการกับความท้าทายเหล่านี้และเชื่อมช่องว่างระหว่างผู้เชี่ยวชาญโดเมนที่ส่วนใหญ่มักจะประเมินแบบจำลอง ML และผู้เชี่ยวชาญ ML ผลิตพวกเขา เมื่อเปรียบเทียบกับโครงการอื่น ๆ ในพื้นที่นี้ Earth-2 MIP มุ่งเน้นไปที่การให้คะแนนแบบจำลองการบิน มันมี Python APIs ที่เหมาะสำหรับการทำซ้ำอย่างรวดเร็วในหนังสือ Jupyter, Clis สำหรับรุ่นการให้คะแนนที่แจกจ่ายผ่าน GPU จำนวนมากและเฟรมเวิร์กปลั๊กอินที่ยืดหยุ่นที่ช่วยให้ทุกคนใช้โมเดล ML ของตัวเอง MIP Earth-2 MIP ที่สำคัญกว่านั้นต้องการอำนวยความสะดวกในการสำรวจและการทำงานร่วมกันภายในชุมชนการวิจัยสภาพภูมิอากาศเพื่อประเมินศักยภาพของแบบจำลอง AI ในการจำลองสภาพอากาศและสภาพอากาศ
โปรดดูหน้าเอกสารสำหรับข้อมูลเชิงลึกเกี่ยวกับ Earth-2 MIP, ฟังก์ชั่น, API ฯลฯ
Earth-2 MIP มีให้ภายใต้ Apache License 2.0 โปรดดู License.txt สำหรับข้อความใบอนุญาตเต็มรูปแบบ