3줄 요약

  • AI 날씨 예보가 슈퍼컴퓨터 예보보다 정확해졌다는 글을 보고, 개인이 아주 싼 비용으로 기상청을 이길 수 있을지 궁금해서 시작했음
  • 날씨를 처음부터 학습할 데이터도 GPU도 없어서, 지구 전체를 미리 배운 공개 모델 위에 올라타기로 했음
  • 후보를 공개 성적표(WeatherBench 2)로 비교해 보니 결론은 Aurora 1.5였음. 1시간 단위로 굴릴 수 있고, L4 한 장에 지구 전체가 들어감

시작은 글 하나였음

  • 예전에 AI가 날씨를 슈퍼컴퓨터 수치예보보다 더 정확하게 맞히기 시작했다는 글을 봤음
  • 실제로 구글 GraphCast는 10일 예보 검증 항목 1,380개 중 90%에서 유럽중기예보센터(ECMWF) 수치모델보다 정확했다고 발표했음 (Science, 2023)
  • 그런데 이런 결과는 다 빅테크가 GPU 수백 장으로 만든 거임
  • 그래서 궁금해졌음. 개인이 제한된 자원으로, 그것도 아주 싼 비용으로 기상청을 이길 수 있을까?
  • 쓴 돈은 Colab Pro 월 구독 만 원 정도와 Claude 토큰 일부가 전부임
  • 코드는 거의 다 Claude랑 같이 짰음. 나는 주로 판을 정하고, 결과를 의심하고, “그거 반칙 아님?”을 외치는 역할이었음

판부터 깔았음

  • 상대는 기상청 단기예보, 범위는 발표 후 48시간임
  • 채점은 전국 ASOS 관측소 97곳의 실제 관측으로 함
  • 기온·습도·풍속은 평균 절대 오차(MAE), 비는 1시간에 1mm 이상 왔는지를 F1으로 잼
  • 비를 정확도로 안 잰 이유는 간단함
  • 1mm 이상 비가 오는 시간은 전체의 3% 정도라서, “항상 안 옴”만 찍어도 정확도 97%가 나옴
  • 그건 예보가 아니라 배짱이라 F1으로 감
  • 규칙 하나 더: 입력은 기상청이 발표하던 그 시각에 실제로 공개돼 있던 자료만 씀
  • 며칠 뒤에 만들어지는 재분석 자료(ERA5)로 출발하면 미래에서 온 답안지를 보고 푸는 셈이라 금지했음

처음부터 학습은 무리임

  • 지구 대기를 배운 모델은 수십 년치 재분석 자료와 GPU 수천 시간으로 만들어짐
  • 내 장비는 Colab Pro의 L4 한 장임
  • 그래서 남이 크게 학습해 둔 모델을 그대로 쓰고, 그 위에 관측소마다 보정하는 작은 예측 헤드(head)만 직접 만들기로 했음

공개 성적표부터 열어 봤음

WeatherBench 2 공식 결과 파일에서 동아시아 육지만 골라 다시 계산함 (2022년, ECMWF 분석장 기준 RMSE)

모델2m 기온 24h48h10m 풍속 24h48h
HRES (ECMWF 수치모델)0.6060.8700.5230.723
Aurora0.5740.7610.5010.652
GraphCast1.3141.3750.6380.780
Pangu1.3911.4490.6880.806
GenCast (앙상블 평균)0.5510.7320.4710.597
FGN (앙상블 평균)0.4840.6400.4080.525

출처: WeatherBench 2 공개 결과로 직접 계산

  • 숫자만 보면 FGN이 1등인데, 앙상블 평균은 여러 예측을 평균 내서 오차가 뭉개진 값이라 단일 예측과 1:1 비교는 아님
  • 단일 결정론 모델 중에선 Aurora가 제일 좋았고 ECMWF 수치모델(HRES)도 이겼음
  • 이 결과 파일엔 강수 점수가 없었음. 우리 승부처인 비는 직접 재야 했음

동아시아 육지 2m 기온 RMSE를 24·48시간으로 비교한 막대 차트, 단일 모델 중 Aurora가 가장 낮음

HSL 제작 — WeatherBench 2 공개 결과로 다시 계산한 위 표를 그림으로 옮김

하나씩 탈락시켰음

  • FourCastNet 3: 성능은 좋은데 GPU 메모리가 60GB 필요함. L4는 24GB라 바로 탈락
  • GraphCast, Pangu: 6시간 간격으로 예보함. 기상청 단기예보는 1시간 단위라 사이 시간을 메꿔야 함
  • AIFS: ECMWF가 운영 중인 AI 모델이고 예보를 무료로 공개함. 경쟁자 대신 Aurora의 출발점(초기장)으로 쓰기로 했음
  • Aurora 1.5: 가중치 공개, PyTorch, 1시간 간격으로 굴릴 수 있음

FourCastNet 3·GraphCast·Pangu는 탈락, AIFS는 입력, Aurora 1.5는 선택된 이유를 정리한 표

HSL 제작 — 후보별 탈락·선택 이유와 L4 메모리 조건

결정타는 1시간 단위였음

  • 기상청 단기예보는 매시간 기온·습도·바람·강수를 줌
  • 우리도 같은 1시간 해상도로 붙어야 공정함
  • Aurora 1.5는 1시간 스텝으로 48시간을 48칸 그대로 굴릴 수 있었음
  • 그래서 Aurora로 확정함

L4에 지구가 들어가냐가 마지막 관문이었음

  • 공식 문서 기준 Aurora 1.5는 지구 전체 0.25° 격자에서 메모리 약 32GB가 필요함
  • 그래서 처음엔 한반도 근처만 잘라 넣으려고 했음
  • 이게 해를 4시간 늦게 뜨게 만든 사건의 시작이었음 (3편에서 자세히)
  • 결국 메모리 설정을 바꿔서 지구 전체를 L4에 올렸음: 최대 19.5GB, 48시간 예보에 약 6분
  • 다음 편은 데이터 모으고 Colab에 자리 잡은 얘기임