AI VIDEO BRIEFING

시계열 트랜스포머(TFT)로 태양광 발전량 36시간 예측하기: 실패 원인과 데이터 정리법

구글 서머 오브 코드로 태양광 발전량 예측 모델을 만든 개발자가 시계열 트랜스포머(TFT)를 쓰며 겪은 문제를 정리했다. 정작 시간의 대부분은 모델 튜닝이 아니라 결측 없는 36시간 학습 구간을 만드는 데 들어갔다.

태양광 발전량 예측, 모델보다 데이터가 발목을 잡았다: 시계열 트랜스포머 실전기 영상 대표 이미지

핵심 메시지

  • 발표자는 구글 서머 오브 코드 기간에 비영리 오픈소스 단체 오픈 클라이밋 픽스의 태양광 발전량 예측 프로젝트에 참여해 시계열 트랜스포머 모델을 붙였다.
  • 태양광 발전량은 구름 상황에 따라 몇 분 만에 크게 변하기 때문에, 정확한 단기 예측은 전력망 안정과 백업 화석연료 발전기 가동 축소로 이어진다.
  • 템포럴 퓨전 트랜스포머(TFT)를 고른 이유는 장·단기 의존성을 함께 다루고, 어떤 변수가 결과에 얼마나 기여했는지 확인할 수 있는 해석 가능성 때문이다.
  • 실제 작업 시간의 대부분은 모델이 아니라 데이터에 들어갔다. TFT가 결측값을 허용하지 않아 36시간 연속 구간을 결측 없이 만드는 파이프라인을 따로 구축해야 했다.
  • 학습률은 LR find 기능으로 찾고, 조기 종료와 그래디언트 클리핑으로 학습을 안정화하는 것이 실무에서 반복해 쓸 만한 패턴으로 꼽혔다.

쉽게 이해하기

재생에너지는 깨끗하지만 출력이 일정하지 않다는 약점이 있다. 특히 태양광 발전은 구름이 지나가는 것만으로도 몇 분 사이에 발전량이 크게 흔들린다. 발표자는 소프트웨어 엔지니어로 일하면서 지속가능성을 주제로 한 석사 과정을 마쳤고, 그 과정에서 구글이 운영하는 오픈소스 인턴십 프로그램인 구글 서머 오브 코드에 참여해 재생에너지 예측 프로젝트를 골랐다.

그가 합류한 오픈 클라이밋 픽스는 태양광·풍력 예측과 구름 예측, 에너지 데이터 공개 같은 프로젝트를 운영하는 단체다. 태양광 예측이 중요한 이유는 분명하다. 날씨는 통제할 수 없지만 예측은 할 수 있고, 예측이 정확해지면 전력망을 안정시키려고 항상 돌려두는 백업 화석연료 발전기를 줄일 수 있다. 가정에서는 가전 사용 시간을 최적화하고, 전력 거래에도 쓸 수 있다.

기존 프로젝트에는 공개된 영국 데이터를 쓰는 단일 구조의 예측 모델이 있었다. 발표자는 그 위에 서로 다른 세 종류의 데이터를 합치는 다중 시간대 예측 모델을 얹고, 36시간 앞까지 연속으로 예측하는 데이터 파이프라인을 만들겠다고 제안했다. 선택한 모델은 파이토치 포캐스팅 라이브러리가 제공하는 템포럴 퓨전 트랜스포머(TFT)였다.

TFT를 고른 이유는 네 가지였다. 라이브러리가 있어 구현이 쉽고, LSTM 인코더와 어텐션 층을 함께 써서 장기와 단기 의존성을 모두 잡으며, 어텐션이 시간대별로 변수의 중요도를 동적으로 조정한다. 또 고정된 특성과 시간에 따라 변하는 특성을 구분해 다룰 수 있고, 학습이 끝난 뒤 어떤 변수가 결과에 크게 기여했는지 볼 수 있다.

정작 시간을 가장 많이 쓴 곳은 데이터였다. 허깅페이스에 공개된 시간 단위 발전량 데이터에서 임의의 발전소를 골라 36시간 예측 구간을 만들었는데, TFT가 결측값을 받아들이지 않아 이후 36시간 동안 빈 값이 하나도 없는 지점만 골라야 했다. 여기에 발전소 용량·방향 같은 메타데이터와 유럽중기예보센터 예보 모델에서 받은 14개 기상 변수를 시각 기준으로 정확히 맞춰 붙였다. 학습에는 파이토치 라이트닝을 함께 썼고, LR find로 학습률을 잡고 조기 종료와 그래디언트 클리핑 0.1을 적용했다. 학습에 쓰지 않은 발전소로 18시간을 예측한 결과 실제 발전량과 상당히 비슷했고, 중요도 상위 변수는 일사량, 자외선 복사, 낮은 고도의 구름량 순으로 나와 기대와 일치했다.

주요 인사이트

  • 변수 중요도는 성능 지표를 넘어 데이터 검증 장치로 쓰인다. 일사량 대신 엉뚱하게 풍속 같은 변수가 1위로 올라오면 모델이 잘 맞았더라도 데이터에 문제가 있다는 신호로 읽어야 한다.
  • 특성을 고정값과 시간 가변값으로 어떻게 분류하느냐가 성능을 좌우한다. 발표자는 잘못된 분류가 성능을 소리 없이 망가뜨릴 수 있다고 강조했다.
  • 여러 출처의 데이터를 시각 기준으로 결합할 때는 한 칸의 어긋남이 곧 예측 오류가 된다. 이 정합 작업이 프로젝트에서 가장 신중을 요구한 단계였다.
  • 결과물은 모델만이 아니다. 서로 다른 데이터를 받아 학습 가능한 형태로 만들어 주는 파이프라인 자체가 이후에 재사용할 수 있는 자산으로 남았다.

자주 묻는 질문

왜 템포럴 퓨전 트랜스포머를 선택했나?

파이토치 포캐스팅 라이브러리로 구현이 쉽고, LSTM 인코더와 어텐션을 결합해 장·단기 의존성을 함께 다루며, 고정 특성과 시간 가변 특성을 구분해 처리하고, 학습 후 어떤 변수가 결과에 기여했는지 확인할 수 있기 때문이다.

이 프로젝트에서 가장 많은 시간이 든 작업은 무엇이었나?

모델이 아니라 데이터셋 구축이었다. TFT가 결측값을 허용하지 않아 36시간 동안 빈 값이 없는 연속 구간만 골라내고, 발전소 메타데이터와 수치예보 데이터를 시각 기준으로 맞춰 붙이는 작업에 시간이 집중됐다.

예측에 가장 큰 영향을 준 변수는 무엇이었나?

일사량이 가장 컸고 그다음이 자외선 복사, 낮은 고도의 구름량이었다. 발표자가 기대한 것과 같은 순서였기 때문에 모델이 의도대로 학습됐다는 근거로 사용됐다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식