๐ค MLOps: ์คํ์์ค ํ๋ก์ ํธ๋ก ๊ตฌ์ถํ ์จํ๋ ๋ฏธ์ค MLOps
Photo by Maxim Hopman on Unsplash
1. ๊ฐ์โ
์ ํฌ ํ์ Kubeflow, JupyterHub, ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๋ฑ ์ต์ ์คํ์์ค ํ๋ก์ ํธ๋ฅผ ํ์ฉํ์ฌ ์จํ๋ ๋ฏธ์ค MLOps ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ์ต๋๋ค. ํ์ ๋ GPU ์์ ํ๊ฒฝ์์ GPU ์ ํด ์๊ฐ์ ์ค์ด๊ณ ML ์ํฌ๋ก๋ ์ด์ ๋น์ฉ์ ์ต์ ํํ๋๋ก ์ค๊ณ๋ ์ํคํ ์ฒ์ ๋๋ค. ๋ํ ๋จ์ผ ํ์ต ์์ ์ ์ฌ๋ฌ GPU์ ๋ณ๋ ฌ ๋ถ์ฐํจ์ผ๋ก์จ, ๋จ์ผ GPU ์๋ฒ์ ํ๊ณ๋ฅผ ๋์ด ํด๋ฌ์คํฐ ์ ์ฒด GPU๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.
์จํ๋ ๋ฏธ์ค ์์ ๊ธฐ๋ฐ์ MLOps ํด๋ฌ์คํฐ๋ ๋ค์๊ณผ ๊ฐ์ ์ด์ ์ ์ ๊ณตํฉ๋๋ค:
- ์์ ํ์ฉ: ํด๋ฌ์คํฐ์ ๋ชจ๋ GPU ์์์ ํจ์จ์ ์ผ๋ก ํ์ฉํ์ฌ GPU ์ ํด ์๊ฐ์ ์ค์ ๋๋ค. GPU 24์๊ฐ ๊ฐ๋์ผ๋ก ๊ธฐ์กด ํ๊ฒฝ ๋๋น GPU ํ์ฉ๋ฅ ์ 3๋ฐฐ ํฅ์์์ผฐ์ต๋๋ค.
- AutoML: ์๋ํ๋ ๋ชจ๋ธ ์ ํ ๋ฐ ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋์ ์ง์ํ๋ AutoML ์ํฌํ๋ก์ฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. 2์ฃผ ๋์ 800ํ ์ด์์ ์คํ์ ์ํํ์ผ๋ฉฐ, ์ด ๊ฒฐ๊ณผ๋ ์์ฉํ์ ํ์ฉ๋์์ต๋๋ค.
- ๋ณ๋ ฌ ํ์ต: ๋จ์ผ ํ์ต ์์ ์ ์ฌ๋ฌ GPU์ ๋ณ๋ ฌ ๋ถ์ฐํ์ฌ ํด๋ฌ์คํฐ ์ ์ฒด GPU๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.
- ์๊ฒฉ ๋ ธํธ๋ถ: ์ฐ๊ตฌ์๋ค์๊ฒ ์จ๋๋งจ๋ Jupyter ๋ ธํธ๋ถ์ ์ ๊ณตํ์ฌ ML ์ฐ๊ตฌ ์์์ ๋ถ์ฐํฉ๋๋ค. ์์ ์ ์ฝ ์์ด ํด๋ฌ์คํฐ์ ์ ์ํ๊ณ ์คํ์ ์คํํ ์ ์์ต๋๋ค.
๋ค์ ๋ค์ด์ด๊ทธ๋จ์ MLOps๋ฅผ ์ํ ์จํ๋ ๋ฏธ์ค ํด๋ฌ์คํฐ ์ํคํ ์ฒ๋ฅผ ๋ํ๋ ๋๋ค:

MLOps๋ฅผ ์ํ ์จํ๋ ๋ฏธ์ค Kubernetes ์ํคํ ์ฒ ๋ค์ด์ด๊ทธ๋จ; ์ฌ์ฉ์๋ Kubeflow๋ฅผ ํตํด ML ์ํฌํ๋ก์ฐ๋ฅผ ๊ด๋ฆฌํ๊ณ ์๋ํํฉ๋๋ค. Kubeflow/Katib์ ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋์ ์ํด Argo Workflows๋ฅผ ์ํฌํ๋ก์ฐ ์์ง์ผ๋ก ํ์ฉํ๊ณ , Kubeflow/Training Operator๋ ๋ถ์ฐ ํ์ต ์์ ์ ๊ด๋ฆฌํฉ๋๋ค. Argo Workflows๊ฐ ์ด ML ํ์ดํ๋ผ์ธ๋ค์ ์ค์ผ์คํธ๋ ์ด์ ํฉ๋๋ค. MySQL ํด๋ฌ์คํฐ๋ ์ํฌํ๋ก์ฐ ๋ฉํ๋ฐ์ดํฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๊ณ , MinIO ํด๋ฌ์คํฐ๋ ์ํฐํฉํธ ์คํ ๋ฆฌ์ง๋ฅผ ๋ด๋นํฉ๋๋ค. ํด๋ฌ์คํฐ์ GPU ์๋ฒ๊ฐ ๋ชจ๋ธ ํ์ต์ ํ์ํ ์ฐ์ฐ ๋ฅ๋ ฅ์ ์ ๊ณตํฉ๋๋ค.
2. ๋ฌธ์ ์ ์โ
์ ํฌ ์กฐ์ง์ AI ์ฐ๊ตฌ์๋ค์ ํ์ ๋ GPU ์์์ผ๋ก ์ธํ ์ด๋ ค์์ ๊ฒช๊ณ ์์์ต๋๋ค. ์ฐ๊ตฌ์๋ง๋ค GPU ์๋ฒ ํ ๋์ฉ ๋ฐฐ์ ๋ฐ๋ ๊ตฌ์กฐ์๊ธฐ ๋๋ฌธ์, ์๋ฒ๊ฐ ์ ํด ์ํ์ผ ๋๋ GPU๊ฐ ๋ญ๋น๋๊ณ ๋๊ท๋ชจ ์คํ์ ์ํํ ๋๋ ์์์ด ๋ถ์กฑํ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, GPU ์๋ฒ๋ฅผ ํด๋ฌ์คํฐ๋ก ํตํฉํ๊ณ ์คํ์์ค ํ๋ก์ ํธ ๊ธฐ๋ฐ์ MLOps ํ๋ซํผ์ ๋์ ํ๋ ๋ฐฉ์์ ์ ์ํ์ต๋๋ค. ๊ตฌ์ฒด์ ์ธ ๋ชฉํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์์ ๊ณต์ : ์ฐ๊ตฌ์๋ค์ด ํด๋ฌ์คํฐ์ GPU ์์์ ๊ณต์ ํ๊ณ ์คํ์ ๋ชจ๋ ๊ฐ์ฉ GPU๋ฅผ ํ์ฉํ ์ ์๋๋ก ํฉ๋๋ค.
- ํธ๋ฆฌํ ๊ฐ๋ฐ ํ๊ฒฝ: ์ฐ๊ตฌ์๋ค์ด ML ์คํ์ ์ฝ๊ฒ ๊ฐ๋ฐํ๊ณ ์คํํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
- AutoML ์ง์: ๋ชจ๋ธ ์ ํ, ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋, ๋ชจ๋ธ ํ๊ฐ๋ฅผ ์๋ํํ๋ AutoML ์ํฌํ๋ก์ฐ๋ฅผ ๊ตฌํํฉ๋๋ค.
- ๋ณ๋ ฌ ํ์ต: ํด๋ฌ์คํฐ์ ์ฌ๋ฌ GPU๋ฅผ ํ์ฉํ ๋ณ๋ ฌ ํ์ต์ ์ง์ํฉ๋๋ค.
- ์๊ฒฉ ๋ ธํธ๋ถ: ML ์ฐ๊ตฌ ์์ ๋ถ์ฐ์ ์ํ ์จ๋๋งจ๋ Jupyter ๋ ธํธ๋ถ์ ์ ๊ณตํฉ๋๋ค.
ํ๋ก์ ํธ๋ MLOps ํ๋ซํผ์ ํจ๊ณผ์ AI ์ฐ๊ตฌ์ ๋ฏธ์น๋ ์ํฅ์ ๊ฒ์ฆํ๊ธฐ ์ํ ๊ฐ๋ ๊ฒ์ฆ(PoC)๋ถํฐ ์์ํ์ต๋๋ค.
3. ๊ตฌํ ๋ฐฉ๋ฒโ
์์์ ์ค๋ช ํ ์ํคํ ์ฒ๋ฅผ ๊ตฌํํ๊ธฐ ์ํด ๋ค์ ๋จ๊ณ๋ฅผ ์งํํ์ต๋๋ค:
3.1. ์จํ๋ ๋ฏธ์ค ํด๋ฌ์คํฐ ๊ตฌ์ฑโ
๊ธฐ์กด์ GPU ์๋ฒ๊ฐ ๊ฐ์ถฐ์ง ์จํ๋ ๋ฏธ์ค ํด๋ฌ์คํฐ๊ฐ ์์์ต๋๋ค. GPU ์๋ฒ๋ฅผ ํด๋ฌ์คํฐ์ ํตํฉํ๊ณ MLOps ์ํฌํ๋ก์ฐ๋ฅผ ์ง์ํ๋๋ก ๊ตฌ์ฑํ์ต๋๋ค. ํด๋ฌ์คํฐ์ ๋ฐฐํฌํ ํต์ฌ ์ปดํฌ๋ํธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- Argo Workflows: Kubernetes์์ ML ํ์ดํ๋ผ์ธ์ ์คํํ๋ ๋ฒ์ฉ ์ํฌํ๋ก์ฐ ์ปจํธ๋กค๋ฌ์ ๋๋ค. Argo Workflows๋ฅผ ํตํด ์ฐ๊ตฌ์๋ค์๊ฒ ๋ณ๋์ ์ธํ๋ผ ์ค์ ์์ด๋ ์ ์ฐํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ํฌํ๋ก์ฐ ์์คํ ์ ์ ๊ณตํ ์ ์์์ต๋๋ค.
- GPU Operator: ํด๋ฌ์คํฐ์ GPU ์์์ ๊ด๋ฆฌํ๊ณ ์ฐ๊ตฌ์๋ค์ด ๋ชจ๋ ๊ฐ์ฉ GPU๋ฅผ ์คํ์ ํ์ฉํ ์ ์๋๋ก ์ง์ํ๋ ์คํผ๋ ์ดํฐ์ ๋๋ค.
- Kubeflow: ML ๋ชจ๋ธ์ ์คํ, ํ์ต, ๋ฐฐํฌ๋ฅผ ์ํ Kubernetes ๊ธฐ๋ฐ ๋จธ์ ๋ฌ๋ ํดํท์ ๋๋ค. ํ์ต ์์ ๋ฐ ์คํ ๊ด๋ฆฌ์ ํ์ฉํ์ต๋๋ค.
๋ผ์ด์ ์ค ๋น์ฉ ์์ด ์์ ๋กญ๊ฒ ์ปค์คํฐ๋ง์ด์งํ ์ ์๋ ํ๊ฒฝ์ ๊ตฌ์ถํ๊ธฐ ์ํด ์ด ์คํ์์ค ํ๋ก์ ํธ๋ค์ ์ ํํ์ต๋๋ค.
3.2. Argo Workflows๋ก ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๊ตฌํโ
-
์ด๋ฒ์๋ Kubeflow๊ฐ ์๋๋๋ค: Kubeflow๋ ML ๋ชจ๋ธ์ ์คํ, ํ์ต, ๋ฐฐํฌ๋ฅผ ์ํ Kubernetes ๊ธฐ๋ฐ ๋จธ์ ๋ฌ๋ ํดํท์ ๋๋ค. ํ์ต ์์ ๋ฐ ์คํ ๊ด๋ฆฌ์๋ Kubeflow๋ฅผ ์ฌ์ฉํ์ง๋ง, ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๊ด๋ฆฌ์๋ Argo Workflows๋ฅผ ์ ํํ์ต๋๋ค. ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์์์ Kubeflow์ ๋ํ ํน์ด์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
-
์ฆ์ ์ ์ ๊ทธ๋ํ ์ ๊ณต: Kubeflow Pipeline์ ํ์ดํ๋ผ์ธ์ ์ ์ ๊ทธ๋ํ๋ฅผ ๋ด์ฅ ์๊ฐํ๋ก ๋ณด์ฌ์ค๋๋ค. ํ์ดํ๋ผ์ธ ๊ตฌ์กฐ๋ฅผ ์๊ฐ์ ์ผ๋ก ํ์ ํ๊ธฐ ์ฝ๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
-
์ฌ์ ๋น๋ ํ์: Kubeflow๋ ํ์ดํ๋ผ์ธ์ ์ฌ์ ์ ๋น๋ํด์ผ ํ๋ฏ๋ก ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ณ ์ ์ฐ์ฑ์ด ๋จ์ด์ง๋๋ค. Kubeflow Pipeline์ ์์ ์๋ ํ์ต ๋ฐ ์ถ๋ก ์ ์ํ ์ด๋ฏธ์ง๊ฐ ๋ฏธ๋ฆฌ ๋น๋๋์ด ์์ด์ผ ํด์, ํ์ดํ๋ผ์ธ์ ๋น ๋ฅด๊ฒ ์์ ํ๊ธฐ ์ด๋ ต์ต๋๋ค. CI/CD ํ์ดํ๋ผ์ธ์ผ๋ก ๋ณด์ํ ์ ์์ง๋ง ์ฌ์ ํ ์ถ๊ฐ ์์ ์ด ํ์ํฉ๋๋ค. ์ด ์ ์ด Argo Workflows๋ฅผ ์ ํํ๊ฒ ๋ ํต์ฌ ์ด์ ์์ต๋๋ค.
-
-
๋ค์, Argo Workflows: Argo Workflows๋ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ํ๊ฒฝ์ ์ํ ๋ฒ์ฉ ์ํฌํ๋ก์ฐ ์ปจํธ๋กค๋ฌ์ ๋๋ค. GPU Operator์ ํจ๊ป ์ฌ์ฉํ๋ฉด ๋ค์ํ ๊ทธ๋ํ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก Argo Workflows๋ YAML๋ก ์ ์ํ์ง๋ง, ์ ํฌ๋ Python ์คํฌ๋ฆฝํธ๋ก ์ํฌํ๋ก์ฐ๋ฅผ ์ ์ํ ์ ์๋ Argo Workflows SDK์ธ Hera๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ์ด ๋ฐฉ์ ๋๋ถ์ ML ์ฐ๊ตฌ์๋ค์ด ์ํฌํ๋ก์ฐ๋ฅผ ๋ ์ฝ๊ฒ ์์ฑํ๊ณ ์์ ํ ์ ์์์ต๋๋ค. ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์์์ Argo Workflows ํน์ด์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
-
์ฌ์ ๋น๋ ๋ถํ์: Argo Workflows๋ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ๋ณ๋์ ์ด๋ฏธ์ง ์ฌ์ ๋น๋๊ฐ ํ์ ์์ต๋๋ค. ์ฐ๊ตฌ์๋ค์ Python ์คํฌ๋ฆฝํธ๋ก ํ์ดํ๋ผ์ธ์ ์ ์ํ๊ณ ๋ฐ๋ก ์คํํ ์ ์์ต๋๋ค. ๋๋ถ์ ํ์ดํ๋ผ์ธ์ ์์ฝ๊ฒ ์์ ํ๊ณ ๋น ๋ฅด๊ฒ ์คํ์ ๋๋ฆด ์ ์์ต๋๋ค.
ํ์ต ๋จ๊ณ์์๋ ์ฌ์ ๋น๋๋ ์ด๋ฏธ์ง์ ์คํฌ๋ฆฝํธ๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ์์ด๋, Hera SDK๋ก ํ๊ฒฝ์ ๊ตฌ์ฑํ๋ CUDA scratch ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์ ๋ชจ๋ ์ ํํ ์ ์์ต๋๋ค. ์ถ๋ก ๋จ๊ณ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
-
๋ด์ฅ ๊ทธ๋ํ ์์ โ ๋ชจ๋ ๊ฒ์ ์ง์ ๊ตฌ์ฑ: Argo Workflows๋ ํ์ดํ๋ผ์ธ ๊ทธ๋ํ๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ์ง ์์ต๋๋ค. ์ฐ๊ตฌ์๊ฐ Python ์คํฌ๋ฆฝํธ์์ ์ง์ ๊ทธ๋ํ ๊ตฌ์กฐ๋ฅผ ์ ์ํด์ผ ํฉ๋๋ค. ์ด ์ ์ฐ์ฑ ๋๋ถ์ ํน์ ์๊ตฌ์ ๋ง๋ ์ปค์คํ ํ์ดํ๋ผ์ธ์ ๋ง๋ค ์ ์์ง๋ง, ์ฅ๋จ์ ์ด ๋ ์ ์์ต๋๋ค. ์๊ฐํ๊ฐ ํ์ํ๋ค๋ฉด Grafana๋ TensorBoard ๊ฐ์ ๋๊ตฌ๋ฅผ ๋ณ๋๋ก ํ์ฉํ ์ ์์ต๋๋ค.
ํด๋ฌ์คํฐ์ Argo Workflows๊ฐ ์๋ค๋ฉด, Argo Workflows์ Hera SDK๋ง์ผ๋ก ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์์คํ ์ ๋ฐ๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
-
3.3. Kubeflow์์ Katib AutoML ๊ตฌ์ฑโ
Katib AutoML์ ML ๋ชจ๋ธ์ ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋๊ณผ ๋ณ๋ ฌ ์ขํ ๊ทธ๋ํ ์๊ฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค. Katib๋ฅผ ํ์ฉํ์ฌ ํ์ดํผํ๋ผ๋ฏธํฐ ์ต์ ํ์ ์ต์ ๋ชจ๋ธ ์ ํ ๊ณผ์ ์ ์๋ํํ์ต๋๋ค. Katib๋ Argo Workflows ๊ฐ์ ์ธ๋ถ ์์ง์ ์ง์ํ๋ฏ๋ก, Katib์ Argo Workflows๋ฅผ ์ฐ๋ํ์ฌ AutoML ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ์ต๋๋ค.
Katib์ ํต์ฌ ๊ธฐ๋ฅ์ ์ง์์ ์ธ ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋์ ๋๋ค. ์ฐ๊ตฌ์๋ค์ ํ์ํ ํ์ดํผํ๋ผ๋ฏธํฐ ๊ณต๊ฐ๊ณผ ์ต์ ํ ๋ชฉํ ์งํ๋ฅผ ์ ์ํ๋ฉด, Katib๊ฐ ์ฌ๋ฌ ์คํ์ ๋ณ๋ ฌ๋ก ์คํํ๋ฉฐ ๋ชฉํ ์งํ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์ดํผํ๋ผ๋ฏธํฐ๋ฅผ ์กฐ์ ํฉ๋๋ค. ์คํ ์งํ ์ํฉ์ ๋ชจ๋ํฐ๋งํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ผ๋ก ์ต์ ๋ชจ๋ธ์ ์ ํํ ์ ์์ผ๋ฉฐ, GPU ์์์ 24์๊ฐ AutoML ์คํ์ ํ์ฉํ ์ ์์ต๋๋ค. 2์ฃผ ๋์ 800ํ ์ด์์ ์คํ์ ์ํํ๊ณ , ์ด ๊ฒฐ๊ณผ๋ ์์ฉํ์ ํ์ฉ๋์์ต๋๋ค.
3.4. Kubeflow์์ Training Operator ๊ตฌ์ฑโ
๋ถ์ฐ ํ์ต ํ๊ฒฝ ๊ด๋ฆฌ๋ฅผ ์ํด Kubeflow Training Operator๋ฅผ ์ ํํ์ต๋๋ค. Training Operator๋ ํ์ต ์์ ์ ๋ํ ๊ณ ์์ค ์ถ์ํ๋ฅผ ์ ๊ณตํ์ฌ, ์ฐ๊ตฌ์๋ค์ด ํด๋ฌ์คํฐ์ ๋ชจ๋ ๊ฐ์ฉ GPU๋ฅผ ๋ณ๋ ฌ ํ์ต์ ํ์ฉํ ์ ์๋๋ก ํฉ๋๋ค. ๋ค๋ง ์ ํฌ๊ฐ ์ฌ์ฉํ v1.6 ๋ฒ์ ์์๋ Argo Workflows ๊ฐ์ ์ธ๋ถ ์์ง์ ์ง์ํ์ง ์์, Kubeflow Training Operator ์์ฒด๋ง์ผ๋ก ๋ถ์ฐ ํ์ต ํ๊ฒฝ์ ๊ด๋ฆฌํ์ต๋๋ค.
Training Operator๋ฅผ ํตํด GPU ์, ๋ฉ๋ชจ๋ฆฌ, CPU ์ฝ์ด ์ ๋ฑ ์ปค์คํ ์์์ผ๋ก ํ์ต ์์ ์ ์ ์ํ ์ ์์ต๋๋ค. 2๋์ GPU ์๋ฒ์์ GPU 8๊ฐ๋ฅผ ์ฌ์ฉํ๋ ํ์ต ์์ ์ ๊ตฌ์ฑํ์ฌ GPU ์ ์ฒด์ ๋ณ๋ ฌ ๋ถ์ฐํ์ต๋๋ค. ๋๋ถ์ ์ฐ๊ตฌ์๋ค์ ์ถ๊ฐ ์ธํ๋ผ ์ค์ ์์ด ํ์ต ์๋๋ฅผ ๋์ด๊ณ ํด๋ฌ์คํฐ์ ๋ชจ๋ GPU ์์์ ์ต๋ํ ํ์ฉํ ์ ์์์ต๋๋ค.
3.5. ์ฐ๊ตฌ์๋ฅผ ์ํ JupyterHub ๋ฐฐํฌโ
์ฒ์์๋ JupyterLab์ ๊ฒํ ํ์ง๋ง, ํด๋ฌ์คํฐ ์์ ํํฉ์ ํ์ธํ ์ ์๋ JupyterHub๋ฅผ ์ต์ข ์ ํํ์ต๋๋ค. JupyterHub๋ ํ์ฌ ํด๋ฌ์คํฐ ์ํ์ ๊ฐ์ฉ ์์์ ์ฐ๊ตฌ์๋ค์๊ฒ ์ง๊ด์ ์ผ๋ก ๋ณด์ฌ์ค๋๋ค.
TensorFlow, PyTorch, scikit-learn ๋ฑ ML ์ฐ๊ตฌ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๊ตฌ๊ฐ ํฌํจ๋ ์ฌ์ ๋น๋ ๋ ธํธ๋ถ ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํ์ต๋๋ค. ์ฐ๊ตฌ์๋ค์ ํ๋ก๋น์ ๋๋ NFS ์คํ ๋ฆฌ์ง์ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ์ฝ๊ฒ ์ ๊ทผํ๊ณ , ์์ ์ ์ฝ ์์ด ์คํ์ ์คํํ ์ ์์์ต๋๋ค.
4. ๊ฒฐ๋ก โ
์ด ํ๋ก์ ํธ์์ Kubeflow, Argo Workflows, JupyterHub ๋ฑ ์ต์ ์คํ์์ค ํ๋ก์ ํธ๋ฅผ ํ์ฉํ์ฌ ์จํ๋ ๋ฏธ์ค MLOps ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ์ต๋๋ค. ์ฐ๊ตฌ์๋ค์๊ฒ ML ์คํ์ ๊ฐ๋ฐํ๊ณ ์คํํ ์ ์๋ ์ ์ฐํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. ํ์ ๋ GPU ์์ ํ๊ฒฝ์์๋ ํด๋ฌ์คํฐ์ ๋ชจ๋ GPU๋ฅผ ํจ์จ์ ์ผ๋ก ํ์ฉํ์ฌ GPU ์ ํด ์๊ฐ์ ์ค์ด๊ณ ML ์ํฌ๋ก๋ ์ด์ ๋น์ฉ์ ์ต์ ํํ์ต๋๋ค.
5. ํฅํ ๊ณํโ
์์ผ๋ก๋ ์ฌ์ฉ์ ๊ฒฝํ ๊ฐ์ ์ ๊ณํํ๊ณ ์์ต๋๋ค. ML ์ฐ๊ตฌ์๋ค์ด ์์ฒญํ ํธ์ ๊ธฐ๋ฅ ๋ ๊ฐ์ง๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ชจ๋ํฐ๋ง: ์ฐ๊ตฌ์๋ค์ด ์คํ ์งํ ์ํฉ์ ๋ชจ๋ํฐ๋งํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ค์๊ฐ์ผ๋ก ์๊ฐํํ๊ณ ์ถ๋ค๋ ์์ฒญ์ด ์์์ต๋๋ค. Grafana๋ฅผ ์ฐ๋ํ์ฌ ์ฐ๊ตฌ์์ฉ ๋ชจ๋ํฐ๋ง ๋์๋ณด๋๋ฅผ ์ ๊ณตํ ๊ณํ์ ๋๋ค.
- ๋ ธํธ๋ถ SSH ์ ์: ์ฐ๊ตฌ์๋ค์ด Jupyter ๋ ธํธ๋ถ์ SSH๋ก ์ ์ํ๊ณ ์ถ๋ค๋ ์์ฒญ๋ ์์์ต๋๋ค. SSH ์ ์์ ์ง์ํ๋ JupyterHub ์ปค์คํ ์คํฌ๋๋ฅผ ๊ตฌํํ๊ฑฐ๋, ์ฑ๋ด์ด ๋ ธํธ๋ถ ์คํ์ ์ง์ ์์ฑํ๋ ๋ฐฉ์์ ๋์ ํ ์์ ์ ๋๋ค.
6. ์ฌ์ฉ ๊ธฐ์ โ
์ด ํ๋ก์ ํธ์์ ํ์ฉํ ์ฃผ์ ๊ธฐ์ :
