對於大多數工程師來說,機器學習模型的推論(Inference)通常是指輸入一張圖片或一段文字,在幾毫秒內得到結果。但當我們面對的是「地球觀測」(Earth Observation)這種地理空間數據時,規模完全不同。
Allen Institute for AI (Ai2) 推出的 OlmoEarth 平台,旨在將預訓練的地理空間基礎模型轉化為實際的應用,例如監測森林砍伐或野火風險。要在全球或大陸尺度上運行這些模型,面臨的不是單純的模型運算問題,而是極其複雜的數據工程挑戰。
地理空間推論的特殊挑戰
在處理衛星影像時,我們不能像處理一般圖片集那樣簡單。首先,數據量極大,一次推論任務可能涉及數 TB 的數據。其次,影像來源分散,不同的供應商有不同的投影方式(Projections,定義地圖如何將球形地球映射到平面)和解析度(Resolutions)。
最棘手的是,衛星影像常被雲層遮擋,且必須確保預測結果在地理座標上精確對齊,不能出現位移。此外,獲取數據的時間往往比模型運算時間更長,這意味著數據管線(Data Pipeline)的效率直接決定了整個系統的成敗。
硬體資源的精準分工
為了避免昂貴的 GPU 被低效的數據準備工作佔用,OlmoEarth 將推論流程拆分為三個階段,並匹配不同的硬體配置:
第一階段是數據獲取與預處理。這部分屬於 CPU 密集型且高 I/O 任務,負責從雲端抓取影像、重新投影、對齊並標準化,最後將其存成適合快速讀取的格式。
第二階段是模型推論。這是唯一的 GPU 密集型階段,僅執行模型的前向傳播(Forward Pass),並將結果直接寫入存儲。
第三階段是後處理。再次回到 CPU 環境,將分塊的預測結果縫合成一張完整的地圖,並導出為 GeoTIFF 或 GeoJSON 等地理資訊標準格式。
透過這種分工,系統能確保 GPU 始終處於滿載狀態,而不會在等待下載影像時閒置。
大規模並行的執行策略
為了處理大陸等級的區域,OlmoEarth Run 採用了分區(Partitioning)與視窗(Windowing)的設計。它將目標區域切分成數百個分區分配給不同的運算節點(Workers),每個分區再細分為更小的視窗交由模型處理。
由於每個視窗的計算是獨立的,這使得系統具備極高的可擴展性。在一次北美野火風險圖的實測中,該平台同時調用了約 19,600 個 CPU 和 994 個 GPU,將原本需要 4,737 小時的序列計算縮短至 30.5 小時,實現了 155 倍的加速。
為了避免分區接縫處出現視覺上的斷層,平台在分區邊界設定了輕微的重疊,並在最終合成時進行對齊處理。
高效的影像索引與獲取
直接向外部 API(如 ESA 或 Microsoft Planetary Computer)發起數千次併發請求會導致服務崩潰。因此,OlmoEarth 建立了自己的元數據索引(Metadata Index)。
該索引透過訂閱 AWS Open Data 的 SNS 通知或定期輪詢,同步最新的影像資訊。在運行時,平台不再下載整張巨大的衛星影像,而是利用 COG(Cloud Optimized GeoTIFF)或 Zarr 等雲端優化格式,僅讀取該分區所需的特定位元組(Ranged Reads),大幅降低了網路開銷。
容錯與自動恢復機制
在如此大規模的分布式計算中,單點故障是必然的。可能是某個影像供應商暫時斷線,或是某個數據分塊損毀。
OlmoEarth 的設計核心是「可重入性」(Reentrant)與「冪等性」(Idempotent),意即同一個任務無論執行多少次,結果都相同且不會產生副作用。每個任務運行在獨立的 Docker 容器中,一旦監控發現任務停滯或崩潰,系統會自動觸發重試機制或切換至替代的數據供應商,直到任務完成。
未來方向
OlmoEarth 的目標是降低地理空間 AI 的門檻。未來的演進方向包括:
自動化觸發:當索引偵測到新影像更新時,自動啟動推論任務。 變更偵測:從輸出靜態地圖轉向主動告警,例如發現非法砍伐時立即通知。 嵌入向量(Embeddings):預先計算全球尺度的影像嵌入向量,讓使用者無需運行完整模型即可進行快速分析,極大降低成本。
來源:huggingface.co (The OlmoEarth Platform: Geospatial inference at planetary scale)
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。