Chronos를 붙였지만 처음에는 오히려 악화됐다

교수님이 지난번 면담에서 Chronos를 한번 써보라고 하셨고, 오늘 그 결과를 보고드렸다. 결론부터 쓰면 이번 첫 시도는 좋지 않았다. 오히려 TRS를 붙이자 성능이 더 나빠졌다.

이번에 한 방식은 이렇다. Chronos T5-Small을 zero-shot으로 돌리고, 그 예측 잔차를 TRS lag 변수로 Ridge 보정하는 구조였다. Chronos가 직접 외생변수를 받지 못하니, 우회적으로 결합한 셈이다. 당시에는 꽤 그럴듯해 보였다. 그런데 결과는 아래처럼 나왔다.

Chronos 결과 요약

사례 Chronos MAPE LLM_Chronos MAPE 해석
포토레지스트 13.2% 28.1% 크게 악화
요소수 8.4% 9.0% 소폭 악화

지금 단계에서의 해석은 조심스럽지만, 적어도 이번 방식만 놓고 보면 Chronos에 TRS를 바깥에서 사후 보정처럼 붙이는 건 맞지 않는 것 같다. foundation model이 이미 강한 시계열 사전지식을 갖고 있어서 그런지, 내가 만든 외생 신호가 오히려 노이즈로 작용한 느낌이다.

다만 오늘 미팅에서 얻은 수확이 전혀 없는 건 아니다. 교수님이 관련 논문 하나를 소개해 주셨다. 외생변수를 잔차 보정으로 붙이지 말고, 시계열 토큰 쪽으로 같이 넣는 접근이다. 아직 구현을 다시 해보진 않았지만, 적어도 지금 실패를 그냥 결론으로 받아들이기보다는 결합 방식 자체를 다시 봐야겠다는 생각이 든다.

같은 자리에서 LSTM 쪽은 조금 다른 그림이 나왔다. 모델을 단순화하고 정규화를 더 넣은 뒤 TRS를 같이 넣어보니, 적어도 반도체 사례에서는 약간이나마 개선이 있었다.

LSTM 결과 요약

모델 MAE MAPE 해석
LSTM BASE 136.02 28.95% 기준선
LLM_LSTM 132.26 28.15% 소폭 개선

이 결과는 생각보다 의미가 있다. 지금까지는 TRS 효과가 주로 트리 계열에서 보인다고 생각했는데, 적어도 반도체 사례에서는 신경망 쪽도 완전히 배제할 정도는 아니라는 뜻이기 때문이다.

오늘 기준으로 남는 판단

현재 기준으로는 TRS가 Chronos에는 잘 안 맞는 것처럼 보이고, 전통 ML이나 일부 다른 구조에서 더 유효해 보인다. 물론 이 결론이 최종이라고 말하기는 아직 이르다. 다만 적어도 지금 단계에서는, Chronos 쪽은 “좋은 확장”보다는 “실패한 우회 결합”에 가깝다.