ํ์ฌ MLOps Engineer๋ก 2๋
๊ฐ ์
๋ฌด๋ฅผ ์งํํ๊ณ ์์ต๋๋ค.
์
๋ฌด๋ฅผ ์ํด์ ๋ฌด์ํ๊ฒ ๋ถ๋ชํ์ Kubernetes์ ๊ฝค๋ ๋ฅ์ํด์ก๋๋ฐ..
๋งค์ผ ๋ถ๋ชํ๋ ์ด ์น๊ตฌ๋ฅผ ๊ธ๋ก์จ ๊ฐ๋จํ ์ ๋ฆฌํด๋ณด๊ณ ์ถ์ด ๊ธ์ ์๋๋ค.

Kubernetes๋
์ฟ ๋ฒ๋คํฐ์ค๋ ์ปจํ ์ด๋ํ๋ ์ํฌ๋ก๋์ ์๋น์ค๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ด์ํ ์ ์๊ณ , ํ์ฅ ๊ฐ๋ฅํ ์คํ์์ค ํ๋ซํผ์ผ๋ก, ์ ์ธ์ ๊ตฌ์ฑ๊ณผ ์๋ํ๋ฅผ ๋ชจ๋ ์ง์ํ๋ค. ์ฟ ๋ฒ๋คํฐ์ค๋ ํฌ๊ณ ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๋ ์ํ๊ณ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ฟ ๋ฒ๋คํฐ์ค ์๋น์ค, ์ง์ ๊ทธ๋ฆฌ๊ณ ๋๊ตฌ๋ค์ ๊ด๋ฒ์ํ๊ฒ ์ ๊ณต๋๋ค. (์ฟ ๋ฒ๋คํฐ์ค ๊ณต์ ํ์ด์ง)
๊ฐ๋จํ๊ฒ ๋งํด์ ์ฟ ๋ฒ๋คํฐ์ค๋ ์ปจํ ์ด๋๋ฅผ ์ข ๋ ์ ๊ด๋ฆฌํ๊ฒ ์ํด์ ์ฌ์ฉ๋๋ ํ๋ ์์ํฌ์ ๋๋ค.
์ดํ๋ฆฌ์ผ์ด์
๋ฐฐํฌ ๊ด์ ์์ ๋ดค์ ๋, ์๋ํ๋ ์ปจํ
์ด๋ ์กฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์, ์์คํ
์ ์์ ์ฑ์ ๋์ด๊ณ ์ผ์์ ์ธ ์ด์ ์์
์ ๋ค์ด๊ฐ๋ ์๊ฐ๊ณผ ๋ฆฌ์์ค๋ฅผ ์ ์ฝํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์ ์๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ค์ด๋๋ค๊ณ ํ๋๋ผ๋ ์ฟ ๋ฒ๋คํฐ์ค์์ ์๋์ ์ผ๋ก ์ด๋ฅผ ๊ฐ์งํ๊ณ , ์ด๋ฏธ์ง๋ฅผ ํตํด์ ๊ธฐ์กด๊ณผ ๋๊ฐ์ ์ปจํ
์ด๋๋ฅผ ๋์ธ ์ ์๋ค๋ ๊ฒ์
๋๋ค.
์ดํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์กฐ๊ฐ ๋ณต์กํ๋ฉด ๋ณต์กํ ์๋ก ์ด๋ฐ ๊ด๋ฆฌ์ ์์๋ค์ด ๋์ด๋๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๊ฐ๋จํ ์ฒ๋ฆฌํ๊ธฐ ์ํด์ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ทธ๋ผ MLOps ์์ Kubernetes๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋?
์์ ๊ด๋ฆฌ
๋ชจ๋ธ์ ํ๋ จํ๋๋ฐ ๊ฐ์ฅ ์ค์ํ ๊ฒ ์ค ํ๋๋ GPU์
๋๋ค.
Kubernetes์์๋ ์ด๋ฐ ์ปดํจํฐ ๋ฆฌ์์ค ๊ด๋ฆฌ๋ฅผ ์ฝ๊ฒํ ์ ์์ต๋๋ค.
GPU ์์์ ๋น์ธ๊ณ ํ์ ์ ์ด๊ธฐ ๋๋ฌธ์ ์ ์ฌ์ ์์ ์ด ์์์ ์ด์ฉํ๊ธฐ ์ํด์ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค.
์ด์ ๋ํด์ ๋ง์ฝ ํ๋์ ๋ ธ๋์ GPU๊ฐ 8์ธ๋ฐ, ํ๋ จ ์ GPU๊ฐ 16์ด ํ์ํ๋ค๋ฉด ๋ ธ๋ ๊ฐ์ GPU๋ฅผ ๊ณต์ ํด์ ํ๋ จํ๋๋ก ์ค์ ํ ์๋ ์์ต๋๋ค.
๋ชจ๋ธ ํฌ๊ธฐ๊ฐ ์์ ๊ฒฝ์ฐ์๋ ํ๋์ GPU๋ฅผ ์ ์ ํ๋ ๊ฒ๋ ์๊น์์ Nvidia์์๋ MIG ๊ธฐ๋ฅ์ ํตํด์ 1๊ฐ์ GPU๋ฅผ ์ต๋ 7๊ฐ๋ก ๋๋์ด์ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ๋ ์ ๊ณตํฉ๋๋ค. (๊ทธ๋งํผ GPU๋ ์์คํด์)
์ฌํ์ฑ
ML๋ชจ๋ธ ๊ฐ๋ฐ ์, ํ๋ จ ์ฝ๋๋ฅผ ์ผ๊ด๋๊ฒ ์ฌํํ ์ ์์ด์ผ ํฉ๋๋ค.
์ด๊ฑด ์ฌ์ค ์ปจํ
์ด๋๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ด๊ธฐ๋ ํ๋ฐ.. ์ต์ ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฐพ์์ ๋, ๊ทธ๋์ ๋ชจ๋ธ์ ์ฌํํ ์ ์์ด์ผ ํฉ๋๋ค.
์ด๋ฐ ์์๋ฅผ ๋ฌด์ํ๋ค๋ฉด ์ต์ ์ ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ๊ฐ ์์ค๋๊ฑฐ๋ ๊ทธ ๋์ ์ค์น๋ ํจํค์ง ๋ฒ์ ์ ๋ฌธ์ ๊ฐ ์๊ฒจ ๋ชจ๋ธ ํ๋ จ์ด ์ํํ ์ด๋ฃจ์ด์ง์ง ์์ ์ ์์ต๋๋ค.
์์ ์ฑ
Kubernetes๋ ๋ด์ฅ๋ ์ฅ์ ํ์ฉ ๊ธฐ๋ฅ๊ณผ ์๊ฐ ๋ณต๊ตฌ ๊ธฐ๋ฅ์ด ์์ด์ ML ํ์ดํ๋ผ์ธ์ ์์ ์ ์ผ๋ก ์ ์งํ ์ ์์ต๋๋ค.
์ด๋ ๋ชจ๋ธ ๋ฐฐํฌ ์์ ๊ฐ์ฅ ํฌ๊ฒ ๋๊ฐ์ ๋๋ฌ๋ด๋๋ฐ, ์์ฆ ๋ชจ๋ธ๋ค์ ํฌ๊ธฐ ๋๋ฌธ์ ๋ค์ด๋ก๋ ๋ฐ ๋ก๋ฉ์๋ง ๋๋ต 1์๊ฐ ์ ๋ ์์๋ฉ๋๋ค.
๋ง์ฝ ์ฐ๋ฆฌ๊ฐ chat-gpt๊ฐ์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋๋ฐ, ๋ฐฐํฌ๊ฐ ์ฃฝ์ด์ 1์๊ฐ๋์ ์๋น์ค๋ฅผ ๋ชปํ๋ค? ๋์ฐํฉ๋๋ค..
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์์ ์ฑ์ด ์ค์ํ๊ณ , Kubernetes์์๋ LoadBalancer, Service, Deployment ๋ฑ์ ๋ฆฌ์์ค๋ฅผ ํตํด์ ํธ๋ํฝ์ ๋ถ์ฐํ๊ณ , ์ด๋ฅผ ํตํด์ ์์ ์ฑ์ ๊ตฌํํ ์ ์์ต๋๋ค.
๋ญ.. Pod๋ฅผ 10๊ฐ ๋์ฐ๋ฉด ๊ทธ๊ฒ ๋ค.. ์ฃฝ์ ํ๋ฅ ์ ์ ์ํ
๋๊น์.
์๋ํ์ ํ์ดํ๋ผ์ธ ๊ด๋ฆฌ
ML์ ๋ผ์ดํ์ฌ์ดํด์ ์ฌ๋ฌ ๋จ๊ณ๋ก ๋๋์ด์ ธ ์์ต๋๋ค.
๋ชจ๋ธ ํ๋ จ, ๋ฐฐํฌ, ์ด์ ๋ฑ ๋ณต์กํ ์ํฌํ๋ก์ฐ๋ฅผ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
๊ฒฐ๊ตญ ML๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ Kubernetes ์์์ ํ ์ ์๋ค๋ ๋ง์
๋๋ค.
๊ตฌ๊ธ์์๋ MLOps ํ๋ซํผ์ ์ฑ์๋์ ๋ฐ๋ผ์ 3๋จ๊ณ๋ก ๊ตฌ๋ณํ๊ณ ์์ต๋๋ค.
https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning?hl=ko
๊ทธ ์ค ๊ฐ์ฅ ์ฑ์๋๊ฐ ๋์ 2๋จ๊ณ๋ฅผ ๋ณด๋ฉด ๋ชจ๋ธ ํ๋ จ ๋ฐ ํ
์คํธ, ๋ฐฐํฌ๋ฅผ ์๋ํํ๊ณ , ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง๋ ๊ตฌ์ฑํ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
์ฌ์ค ์ด ์ ๋๊น์ง ๊ตฌํํ๋ ๊ฒ์ ๊ต์ฅํ ๊น๋ค๋ก์ด๋ฐ, ์ด๋ฅผ ํตํด์ ์ข์ ๋ชจ๋ธ์ ๋ง๋ค ์ ์๋ ๊ธฐ๋ฐ์ด ๋ ์ ์์ต๋๋ค.
์ด๋ฌํ ์ฅ์ ๋ค์ ํตํด์ ๋ชจ๋ธ ๊ฐ๋ฐ์๋ค์ ๋ชจ๋ธ ๊ฐ๋ฐ์ ์ข ๋ ์ ๊ฒฝ์ธ ์ ์๊ณ , ์ธํ๋ผ๋ฅผ ๋ด๋นํ๋ ์ฌ๋๋ค์ ์ข ๋ ์์ ์ ์ธ ์๋น ํ๊ฒฝ์ ๊ด๋ฆฌํ ์ ์๋๋ก ํฉ๋๋ค.
ํ์ง๋ง ๋จ์ ๋ ์๋๋ฐ์. ๊ทธ๊ฑด ๋ฌ๋๋ ์ดํธ๊ฐ ๋๋ค๋ ๊ฒ์
๋๋ค.. ๋น๊ต์ ์ต์ ๊ธฐ์ ์ด๊ธฐ ๋๋ฌธ์ ์ด์ ๋ฅ์ํ ์ฌ๋์ด ๋ณ๋ก ์๊ณ , ๊ทธ๋์ ์คํ์์ค๋ค์ ธ๋ณด๋ฉด์ ์ด์ฌํ ๋ถ๋ชํ๋ด์ผํฉ๋๋ค.
๋ํ ๊ตฌ์กฐ๊ฐ ๋ณต์กํ ํธ์ธ๋ฐ, ๋๊ตฐ๊ฐ๋ ์ด๋ฅผ ์ธ์
์
์ด๋ผ๊ณ ํฉ๋๋ค. ํด๋ฌ์คํฐ ๋ด์ ๋คํธ์ํฌ๊ฐ ์๊ณ , Pod ๋ด์์๋ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ด ์๊ณ , ๊ทธ๋ฆฌ๊ณ ํด๋ฌ์คํฐ ๊ฐ์๋ ๋คํธ์ํฌ๊ฐ ์๊ณ ... ์ด๋ฐ...
ํ์ง๋ง ์ด๋ ๊ธฐ ๋๋ฌธ์ ๋ฌด์ธ๊ฐ๋ฅผ ๊ตฌํํ์ ๋, ์ ๋ณต๊ฐ(?)์ด ๋๋ ๋งค๋ ฅ๋ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ^^
์ฟ ๋ฒ๋คํฐ์ค ๊ตฌ์กฐ, Kserve, Istio, Cloud Native ๋ฑ ์ฐ๊ณ ์ถ์ ๋ง์ ๋ง์๋ฐ ๋ ๊ธธ์ด์ง๊น๋ด...
๋ค์์ ๋ ์จ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค ๐โ๏ธโก๏ธ