Search

[연구] MESP 프로젝트: Overview

이 연구는 석사과정 1차 학기 때, 진행했던 프로젝트입니다.

Introduction

서버리스(Serverless) 컴퓨팅은 개발자에게 인프라 관리의 부담을 덜어주며 클라우드 네이티브 아키텍처의 패러다임으로 자리 잡았습니다. 하지만, 서버리스 워크로드는 이벤트 기반 트리거, 주기적인 배치 작업, 예측 불가능한 사용자 요청 등으로 인해 극심한 변동성을 특징으로 합니다. 이러한 예측 어려움은 콜드 스타트(Cold Start) 문제비효율적인 자원 할당(Resource Provisioning)으로 이어집니다.
기존의 단일 시계열 예측 모델, 즉 밀집 모델(Dense Model)은 모든 종류의 패턴을 하나의 일반화된 모델로 학습하고 함수 호출을 예측했습니다. 이는 마치 한 명의 의사가 모든 전문 분야를 다루려는 것과 같아, 특정 패턴에 대한 미세한 변화나 고유한 특성을 놓치기 쉽습니다.
이러한 한계를 극복하기 위해 MESP: Mixture of Experts based dynamic router Serverless workload Prediction 시스템을 제안합니다. MESP는 “분할과 정복 (Divide and Conquer)” 전략에 기반한 MoE(Mixture of Experts) 아키텍처를 채택하여, 변동성 높은 서버리스 워크로드를 하위 문제로 분해하고, 각 문제에 특화된 전문가 모델을 통해 예측 정확성과 시스템 확장성을 극대화합니다. MESP의 핵심 컴포넌트는 다음과 같습니다.
전문가 그룹 (Expert Models): ‘평일 오전 피크 패턴’, ‘주말 안정 패턴’ 등 특정 호출 패턴에만 특화되어 학습된 N-BEATS, LSTM 등과 같은 예측 모델들이 있습니다.
동적 라우터 (Dynamic Router): 새로운 ‘일일 호출 패턴’ 데이터가 들어왔을 때, 이 패턴이 어떤 특성을 가졌는지 분석하여(예: ‘오전 피크형’) 이를 처리할 최적의 전문가 모델에게 동적으로 라우팅하는 게이팅 네트워크(Gating Network) 역할을 수행합니다.

System Architecture

MESP는 크게 두 단계로 진행됩니다. 먼저, 오프라인에서 각 패턴에 특화된 전문가들을 구축하고, 그 다음 온라인에서 실시간으로 데이터를 예측합니다.

Phase 1: 오프라인 학습 (Offline Training)

1.
패턴 발견 및 클러스터링 (Pattern Clustering)
전문가 모델을 학습하기 전, 먼저 데이터에 내재된 구조적 패턴을 식별합니다. 수십만 개의 과거 ‘일일 함수 호출 패턴’ (1440분 데이터)을 대상으로, 시계열 데이터의 형태(Shape) 기반 유사도 측정에 강점을 가진 K-Shape 클러스터링 알고리즘을 적용합니다. 이를 통해 유의미한 K개의 대표 패턴, 즉, 클러스터를 찾아냅니다.
Cluster 0: 평일 오전 9시에 트래픽이 집중되는 ‘출근길 피크 패턴’
Cluster 1: 주말 내내 호출량이 낮은 ‘주말 안정 패턴’
Cluster 2: 매일 밤 12시에 배치 작업으로 스파이크가 발생하는 ‘자정 피크 패턴’
이 과정을 각 전문가 모델이 담당할 전문 분야를 데이터 기반으로 정의하는 단계입니다.
2.
전문가 모델 학습하기 (Expert Model Training)
각 클러스터는 비슷한 함수 패턴을 가진 데이터의 집합이 됩니다. 1단계에서 분리된 K개의 데이터셋을 사용하여, 각 클러스터의 특성을 가장 잘 예측하는 최적의 모델을 선정합니다. Optuna와 같은 자동화된 하이퍼파라미터 최적화(HPO) 도구를 활용하여 Sunidal, Chronos, TimesFM, PatchTST, Autoformer, LSTM 등 다양한 후보 모델을 각 데이터셋에 대해 학습 및 평가합니다.
‘출근길 피크 패턴’ 전문가 모델 0: ‘출근길 피크 패턴’ 데이터만으로 모델을 학습시킵니다. 이 모델은 ‘출근길 피크 패턴’에 대한 미세한 변화를 예측하는 데 특화됩니다.
‘주말 안정 패턴’ 전문가 모델 1: ‘주말 안정 패턴’ 데이터만으로 모델을 학습시켜 해당 패턴에 대한 예측 정확도를 극대화합니다.
이 과정을 통해 각 클러스터별 패턴에 가장 최적화된 K개의 ‘전문가 모델’이 준비됩니다

Phase 2: 온라인 예측 (Online Inference)

MESP 시스템이 실시간으로 예측하는 과정은 다음과 같습니다.
1.
새로운 함수의 ‘일일 호출 패턴’이 시스템에 입력됩니다.
2.
이 데이터는 가장 먼저 동적 라우터(Dynamic Router)에게 전달됩니다.
3.
라우터는 학습된 분류 기준에 따라, 입력된 패턴과 가장 유사한 클러스터(예: ‘주말 안정 패턴’)를 선택합니다.
4.
라우터의 결정에 따라, 데이터는 해당 클러스터의 전문가 모델(’주말 안정 패턴’ 전문가 모델 1)에게 라우팅됩니다.
5.
전문가 모델은 자신의 전문 분야는 데이터를 입력받아, 높은 신뢰도로 향후 미래의 함수 호출량을 예측하여 결과를 반환합니다.
6.
향후 미래의 함수 호출량을 기반으로 서버리스 시스템은 해당 함수의 인스턴스를 늘릴지, 줄일지를 결정하여 콜드 스타트(Cold Start) 및 오버 프로비저닝(Over-provisioning)을 최소화합니다.

Experiments

MESP 시스템의 성능을 검증하기 위해서 다음 세 단계의 실험을 진행했습니다.

[실험 1] 클러스터링 알고리즘 학습 및 데이터셋 클러스터링

목표:
클러스터링 알고리즘인 K-Shape가 대규모 시계열 데이터로부터 최적의 K개의 클러스터를 형성하도록 학습시킵니다.
학습된 모델을 사용하여, 다양한 서버리스 워크로드 패턴을 형태(Shape) 기반으로 유사한 그룹끼리 묶어 유의미한 K개의 데이터셋으로 분리합니다.
진행과정:
Azure Functions Dataset을 활용하여 대규모 ‘일일 함수 호출 패턴’ 시계열 데이터를 준비합니다. 데이터셋 전처리하는 자세한 과정은 여기를 참고해 주세요.
시계열 데이터의 형태적 유사도를 측정하는 데 강점이 있는 K-Shape 클러스터링 알고리즘을 적용하여 데이터를 K개의 클러스터(데이터셋)로 분할합니다.
각 클러스터가 ‘평일 오전 피크’, ‘주말 안정’ 등과 같이 고유한 패턴을 형성하는지 확인합니다.

[실험 2] 전문가 모델 K개 학습 및 선정

목표:
[실험 1]에서 분리된 K개의 각 데이터셋(특정 패턴)에 대해 가장 높은 예측 정확도를 보이는 최적의 시계열 예측 모델을 각각 선정합니다.
진행과정:
K개의 각 데이터셋에 대해 Sunidal, Chronos, TimesFM, PatchTST, Autoformer, LSTM 등 다양한 시계열 예측 모델 학습군을 학습시킵니다.
자동화된 하이퍼파라미터 최적화(HPO) 도구를 사용하여 각 모델의 성능을 최대로 끌어올립니다.
성능평가 지표를 기준으로 각 데이터셋에서 가장 우수한 성능을 보인 모델을 해당 클러스터의 ‘전문가 모델(Expert Model)’로 최종 선정합니다.
성능평가 지표:
MAE (Mean Absolute Error): 예측 오차의 절댓값에 대한 평균으로, 예측의 전반적인 오차 크기를 직관적으로 파악합니다.
RMSE (Root Mean Squared Error): 오차를 제곱하여 평균 낸 값의 제곱근으로, 큰 오차에 더 큰 가중치를 부여하여 평가합니다.
MAPE (Mean Absolute Percentage Error): 백분율을 통해 오차를 표현하여, 실제 값의 크기와 무관하게 예측 오차의 비율을 평가합니다.

[실험 3] MoE 아키텍처 vs 단일 모델 비교

목표:
[실험 2]에서 선정한 전문가 모델로 구성된 MESP 시스템의 종합적인 성능을 검증합니다.
전체 데이터셋를 하나의 모델로 학습시키는 기존의 단일 모델(Baseline) 방식과 비교하여 MoE 아키텍처의 우수함을 입증합니다.
진행과정:
비교군 1 (MoE 아키텍처): [실험 2]에서 선정한 K개의 전문가 모델과, 입력된 데이터 패턴을 분석하여 적절한 전문가에게 전달하는 ‘동적 라우터(Dynamic Router)’를 함께 구성합니다.
비교군 2 (단일 모델 - Baseline): [실험 1]에서 분리했던 K개의 데이터셋을 다시 하나로 통합합니다. 이 전체 데이터셋을 사용하여 N개의 예측 모델들([실험 2]의 후보 모델 중 전반적으로 성능이 좋았던 Top-N 모델들)을 학습시킵니다.
동일한 테스트 데이터에 대해 두 아키텍처의 예측 결과를 비교 평가합니다.
성능평가 지표:
MAE (Mean Absolute Error): 예측 오차의 절댓값에 대한 평균으로, 예측의 전반적인 오차 크기를 직관적으로 파악합니다.
RMSE (Root Mean Squared Error): 오차를 제곱하여 평균 낸 값의 제곱근으로, 큰 오차에 더 큰 가중치를 부여하여 평가합니다.
MAPE (Mean Absolute Percentage Error): 백분율을 통해 오차를 표현하여, 실제 값의 크기와 무관하게 예측 오차의 비율을 평가합니다.

Conclusion

이러한 MESP 시스템은 기존의 단일 모델(Dense Model) 접근 방식에 비해 다음과 같은 확실한 장점을 가집니다:
높은 정확성 (Accuracy): 각 전문가 모델은 자신이 담당하는 패턴에 대해서만 학습하기에, 전체 데이터를 학습하는 단일 밀집 모델(Dense Model)보다 더 정교하고 정확한 예측이 가능합니다. 이는 과적합(Overfitting)을 피하면서도 특정 패턴에 대한 일반화 성능을 극대화하는 효과를 갖습니다.
유연한 확장성 (Scalability): 새로운 유형의 호출 패턴이 등장하더라도, 기존의 K개 전문가 모델을 재학습할 필요가 없습니다. 새로운 패턴을 위한 K+1번째 클러스터와 전문가 모델만 추가하면 되므로, 시스템을 유연하게 확장할 수 있습니다.
서버리스 워크로드(Serverless Workload)의 변동성은 단일 모델(Dense Model)의 예측에 명확한 한계를 보여줍니다. MEPS의 Mixture of Experts(MoE) 접근 방식은 이러한 한계를 효과적으로 해결하는 방법 중 하나입니다. 데이터 기반의 클러스터링을 통해 큰 문제를 여러 하위 문제로 ‘분할’하고, 각 문제에 특화된 전문가 모델로 ‘정복’함으로써, 더 정확하고 확장성 높은 차세대 서버리스 예측 시스템을 구축할 수 있었습니다.
“50대의 추교현이 20대의 추교현에게 감사할 수 있도록 하루하루 최선을 다해 살고 있습니다.”
The End.