Search
๐Ÿ“ˆ

MESP: Mixture of Experts-based dynamic router Serverless workload Prediction

์ด ์—ฐ๊ตฌ๋Š” ์„์‚ฌ๊ณผ์ • 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) ์ ‘๊ทผ ๋ฐฉ์‹์€ ์ด๋Ÿฌํ•œ ํ•œ๊ณ„๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜์˜ ํด๋Ÿฌ์Šคํ„ฐ๋ง์„ ํ†ตํ•ด ํฐ ๋ฌธ์ œ๋ฅผ ์—ฌ๋Ÿฌ ํ•˜์œ„ ๋ฌธ์ œ๋กœ โ€˜๋ถ„ํ• โ€™ํ•˜๊ณ , ๊ฐ ๋ฌธ์ œ์— ํŠนํ™”๋œ ์ „๋ฌธ๊ฐ€ ๋ชจ๋ธ๋กœ โ€˜์ •๋ณตโ€™ํ•จ์œผ๋กœ์จ, ๋” ์ •ํ™•ํ•˜๊ณ  ํ™•์žฅ์„ฑ ๋†’์€ ์ฐจ์„ธ๋Œ€ ์„œ๋ฒ„๋ฆฌ์Šค ์˜ˆ์ธก ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.