๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

MLOps ๋กœ๋“œ๋งต: ์™„๋ฒฝํ•œ MLOps ์ปค๋ฆฌ์–ด ๊ฐ€์ด๋“œ

MLOps ์ปค๋ฆฌ์–ด๋ฅผ ๊ณ ๋ ค ์ค‘์ด๋ฉฐ MLOps ์—”์ง€๋‹ˆ์–ด์˜ ๊ธธ์„ ์ƒ๊ฐํ•˜๊ณ  ๊ณ„์‹ ๊ฐ€์š”? ์ด ๊ฐ€์ด๋“œ๋Š” ์—ฌ๋Ÿฌ๋ถ„์„ ์œ„ํ•œ ์™„๋ฒฝํ•œ MLOps ๋กœ๋“œ๋งต์ž…๋‹ˆ๋‹ค.

๋ฌด๋ฃŒ ๊ณ„์ • ๋งŒ๋“ค๊ธฐ

์‹ค์Šต ๋ฌธ์ œํ•˜๊ณ  ํŠธ๋ž™ํ•˜์„ธ์š”.

Google๋กœ ๊ณ„์†ํ•˜๊ธฐ๊ณ„์† ์ง„ํ–‰ํ•˜์‹œ๋ฉด ๋‹ค์Œ ์‚ฌํ•ญ์— ๋™์˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค: ์ด์šฉ์•ฝ๊ด€ ๋ฐ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ๋ฐฉ์นจ ๊ทธ๋ฆฌ๊ณ  ๊ท€ํ•˜์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฏธ๊ตญ์— ์ €์žฅ๋œ๋‹ค๋Š” ์ ์— ๋™์˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

์ตœ๊ทผ ๋ช‡ ๋…„ ์‚ฌ์ด ๋จธ์‹ ๋Ÿฌ๋‹ ์šด์˜(MLOps)์€ ๊ธฐ์ˆ  ์—…๊ณ„์—์„œ ๊ฐ€์žฅ ์ฃผ๋ชฉ๋ฐ›๋Š” ๋ถ„์•ผ ์ค‘ ํ•˜๋‚˜๋กœ ๋– ์˜ฌ๋ž์Šต๋‹ˆ๋‹ค. ๊ธฐ์—…๋“ค์ด ์ ์  ๋” ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์†”๋ฃจ์…˜์— ์˜์กดํ•จ์— ๋”ฐ๋ผ, ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ํšจ๊ณผ์ ์œผ๋กœ ๋ฐฐํฌํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” MLOps ์ „๋ฌธ๊ฐ€์— ๋Œ€ํ•œ ์ˆ˜์š”๊ฐ€ ๊ธ‰์ฆํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด MLOps๋Š” ์ •ํ™•ํžˆ ๋ฌด์—‡์ด๋ฉฐ, MLOps ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋˜๋ ค๋ฉด ๋ฌด์—‡์ด ํ•„์š”ํ• ๊นŒ์š”?

์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” MLOps์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•  ๋ชจ๋“  ๋‚ด์šฉ์„ ๋‹ค๋ฃจ๊ณ , ์ด ํฅ๋ฏธ์ง„์ง„ํ•œ ๋ถ„์•ผ์—์„œ ์—ฌ์ •์„ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ์™„๋ฒฝํ•œ ๋กœ๋“œ๋งต์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

MLOps๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

MLOps๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ ์šด์˜(machine learning operations)์ด๋ผ๊ณ ๋„ ํ•˜๋ฉฐ, ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ๋ฐฐํฌ, ๊ด€๋ฆฌ, ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•œ ์‹ค๋ฌด ๊ด€ํ–‰๊ณผ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค. ๋จธ์‹ ๋Ÿฌ๋‹, ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง, ์šด์˜ ์š”์†Œ๋ฅผ ๊ฒฐํ•ฉํ•ด ML ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ ํšจ์œจ์ ์ธ ์›Œํฌํ”Œ๋กœ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

image3.png

MLOps์˜ ๋ชฉํ‘œ๋Š” ๋ฐ์ดํ„ฐ ๊ณผํ•™์ž์™€ IT ํŒ€ ๊ฐ„์˜ ๊ฐ„๊ทน์„ ๋ฉ”์šฐ๊ณ , ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ์‹ ์†ํ•˜๊ณ  ์•ˆ์ •์ ์œผ๋กœ, ๊ทธ๋ฆฌ๊ณ  ๋Œ€๊ทœ๋ชจ๋กœ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์šด์˜ ์ „๋ฐ˜์—์„œ AI์™€ ML์˜ ์ž ์žฌ๋ ฅ์„ ํ™œ์šฉํ•˜๋ ค๋Š” ๊ธฐ์—…์— ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

MLOps์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ

MLOps๋Š” ์„ฑ๊ณต์ ์ธ ๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋กœ์ ํŠธ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋กœ ๋งž๋ฌผ๋ ค ์ž‘๋™ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋‹จ๊ณ„์™€ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

image2.png

์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค:

  • ๋ฐ์ดํ„ฐ ์ค€๋น„: ML ๋ชจ๋ธ ํ•™์Šต์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘, ์ •์ œ, ๊ตฌ์„ฑํ•˜๋Š” ์ž‘์—…์„ ๋งํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋ธ ํ•™์Šต: ์ด ๋‹จ๊ณ„์—์„œ๋Š” ๋ฐ์ดํ„ฐ ๊ณผํ•™์ž๊ฐ€ ์ง€๋„ ํ•™์Šต, ๋น„์ง€๋„ ํ•™์Šต, ๊ฐ•ํ™” ํ•™์Šต ๋“ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด ML ๋ชจ๋ธ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ๋ฏธ์„ธ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋ธ ๋ฐฐํฌ: ๋ชจ๋ธ์ด ํ•™์Šต๋˜๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ๋งˆ์น˜๋ฉด, ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ๋•์…˜์— ๋ฐฐํฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์œ ์ง€๊ด€๋ฆฌ: ๋ฐฐํฌ๋œ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ๋ฌธ์ œ๋‚˜ ์ด์ƒ์„ ๊ฐ์ง€ํ•˜๋ฉฐ, ์ •ํ™•ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ง€์†์ ์œผ๋กœ ๋‚ด๋„๋ก ์œ ์ง€๊ด€๋ฆฌํ•˜๋Š” ์ž‘์—…๋„ MLOps์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋ธ ๋ฐฐํฌ์— ๋Œ€ํ•ด ๋” ์•Œ์•„๋ณด๊ณ  ์‹ถ์€๋ฐ ์–ด๋””์„œ ์‹œ์ž‘ํ•ด์•ผ ํ• ์ง€ ๋ชจ๋ฅด์‹œ๊ฒ ๋‹ค๋ฉด, ์ €ํฌ์˜ MLOps Deployment and Life Cycling ์ฝ”์Šค๊ฐ€ ์ž…๋ฌธ์— ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

1. ๊ธฐ์ดˆ ์—ญ๋Ÿ‰ ๊ตฌ์ถ•

MLOps๋กœ ๋ฐ”๋กœ ๋“ค์–ด๊ฐ€๊ธฐ ์ „์—, ํ•ต์‹ฌ ๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธ์Šค ์—ญ๋Ÿ‰๊ณผ ์ผ๋ถ€ ์ปดํ“จํŒ… ์ง€์‹์„ ํƒ„ํƒ„ํžˆ ์Œ“๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ์ˆ ์„ ์ตํ˜€ ๋‘์„ธ์š”:

Python ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Python์€ ์šฐ์•„ํ•˜๊ณ  ๋‹จ์ˆœํ•œ ๋ฌธ๋ฒ• ๋•๋ถ„์— ๋ฐ์ดํ„ฐ ๋ถ„์„๊ณผ ๋จธ์‹ ๋Ÿฌ๋‹์˜ ํ‘œ์ค€ ์–ธ์–ด๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Pandas์™€ Scikit-learn ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์™€ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ณผ์ •์„ ๋†€๋ผ์šธ ์ •๋„๋กœ ์‰ฝ๊ฒŒ ํ•ด์ฃผ๋ฉฐ, ๋งŽ์€ MLOps ์ž‘์—…์˜ ๊ธฐ๋ฐ˜์ด ๋ฉ๋‹ˆ๋‹ค.

MLOps ๋ฐฐํฌ์—๋Š” Python ์ˆ™๋ จ๋„๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. ์›Œํฌํ”Œ๋กœ ์ž๋™ํ™”์™€ ๊ฒฌ๊ณ ํ•œ ML ๋ชจ๋ธ ์—”์ง€๋‹ˆ์–ด๋ง์„ ์œ„ํ•œ ํ”Œ๋žซํผ ์—ญํ• ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

MLOps ์—”์ง€๋‹ˆ์–ด๋Š” API์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๋™, ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค๊ณ„, ๋ชจ๋“ˆํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์›์น™ ๊ตฌํ˜„์„ ํ†ตํ•ด ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋จธ์‹ ๋Ÿฌ๋‹ ์†”๋ฃจ์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ Python์œผ๋กœ ์ตํ˜€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Python์ด ์ฒ˜์Œ์ด๋ผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ ์น˜ํŠธ์‹œํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”:

image6.png

MLOps ํ™˜๊ฒฝ์—์„œ Python์€ TensorFlow Serving์ด๋‚˜ Flask ๊ฐ™์€ ๋ชจ๋ธ ์„œ๋น™ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ํ™•์žฅ๋˜๋ฉฐ, ์ด๋Š” ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ๋ชจ๋ธ์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐ ํ•ต์‹ฌ์ ์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Python์— ๋Œ€ํ•œ ๊นŠ์€ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. MLOps ์ „๋ฌธ๊ฐ€๋Š” ๋ชจ๋ธ์„ ๋งŒ๋“ค ๋ฟ ์•„๋‹ˆ๋ผ ์šด์˜ ์ฃผ๊ธฐ ์ „๋ฐ˜์—์„œ ํšจ๊ณผ์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

Python ์ž…๋ฌธ ๊ฐ€์ด๋“œ๋ฅผ ์ฐพ๊ณ  ๊ณ„์‹œ๋‹ค๋ฉด, Machine Learning Fundamentals with Python ์Šคํ‚ฌ ํŠธ๋ž™์„ ํ™•์ธํ•ด ๋ณด์„ธ์š”.

๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ

MLOps์—์„œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋Š” ๋˜ ํ•˜๋‚˜์˜ ํ•ต์‹ฌ ์ถ•์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ๊ณผ ๊ฐ€์šฉ์„ฑ์„ ๋ณด์žฅํ•ด ์ •๋ณด์— ๊ธฐ๋ฐ˜ํ•œ ์˜์‚ฌ๊ฒฐ์ •๊ณผ ๋ชจ๋ธ ์‹ ๋ขฐ์„ฑ์„ ๋’ท๋ฐ›์นจํ•ฉ๋‹ˆ๋‹ค.

MLOps ์—”์ง€๋‹ˆ์–ด๋Š” ๋ณดํ†ต ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ตฌ์„ฑํ•˜๊ณ  ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” SQL๊ณผ NoSQL ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํ•จ๊ป˜ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์„ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ Apache Spark ๊ฐ™์€ ๋„๊ตฌ์— ๋Œ€ํ•œ ์ง€์‹์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์ง•๊ณผ ETL(์ถ”์ถœ-๋ณ€ํ™˜-์ ์žฌ) ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ต์ˆ™ํ•จ๋„ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์š”๊ตฌ๋ฉ๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ฐœ๋…

๋‹ค์Œ์œผ๋กœ ์ง€๋„ ํ•™์Šต, ๋น„์ง€๋„ ํ•™์Šต, ๊ฐ•ํ™” ํ•™์Šต ๋“ฑ ํ•ต์‹ฌ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ฐœ๋…์„ ์ž˜ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ง• ๊ณตํ•™๊ณผ ํŠน์ง• ์„ ํƒ์—๋„ ์ต์ˆ™ํ•ด์ ธ์•ผ ๋ชจ๋ธ์— ์ ์ ˆํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋˜๋„๋ก ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋งž๋Š” ์ตœ์ ์˜ ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ๋‚ด๋Š” ๋ฐ ํฌ๊ฒŒ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ธ์„ ์ตœ์ ํ™”ํ•  ๋•Œ๋Š” ํŽธํ–ฅ, ๋ถ„์‚ฐ, ํŽธํ–ฅ-๋ถ„์‚ฐ ๊ท ํ˜•์„ ๋ฉด๋ฐ€ํžˆ ์‚ดํŽด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊นŠ์ด ์žˆ๋Š” ์ดํ•ด๋Š” ๋ชจ๋ธ์ด ์ •ํ™•ํ•  ๋ฟ ์•„๋‹ˆ๋ผ ๋ณด์ง€ ๋ชปํ•œ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์—๋„ ์ž˜ ์ผ๋ฐ˜ํ™”๋˜๋„๋ก ํ•˜์—ฌ ๊ณผ์ ํ•ฉ์ด๋‚˜ ๊ณผ์†Œ์ ํ•ฉ์„ ์ค„์—ฌ ์ค๋‹ˆ๋‹ค.

๋˜ํ•œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ชจ๋ธ ํ‰๊ฐ€ ์ง€ํ‘œ์—๋„ ์ต์ˆ™ํ•ด์ง€๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค:

  • ์ •ํ™•๋„(Accuracy)
  • ์ •๋ฐ€๋„(Precision)
  • ์žฌํ˜„์œจ(Recall)
  • F1-์ ์ˆ˜
  • ROC ๊ณก์„ 
  • ๋ฉด์ (AUC, Area Under Curve)

๋ฒ„์ „ ๊ด€๋ฆฌ & CI/CD ํŒŒ์ดํ”„๋ผ์ธ

๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์€ ์—ฌ๋Ÿฌ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ ํŒŒ์ดํ”„๋ผ์ธ์„ ์šด์˜ํ•  ๋•Œ ์›ํ™œํ•œ ์ž‘์—…์„ ๋•์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ํŒ€ ํ˜‘์—…์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜์—ฌ ์ฝ”๋“œ์™€ ๋ชจ๋ธ ๋ฐ˜๋ณต์˜ ์ผ๊ด€์„ฑ๊ณผ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค.

CI/CD pipeline

CI/CD ํŒŒ์ดํ”„๋ผ์ธ - ์ถœ์ฒ˜

Git ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์—๋„ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ฒ„์ „ ๊ด€๋ฆฌ์™€ ์—ฐ๊ณ„ํ•œ ์ง€์†์  ํ†ตํ•ฉ(CI)์€ ์ž๋™ํ™”๋œ ๋ชจ๋ธ ํ•™์Šต๊ณผ ํ…Œ์ŠคํŠธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ฌธ์ œ๋ฅผ ์กฐ๊ธฐ์— ๋ฐœ๊ฒฌํ•˜์—ฌ ๋ฐฐํฌ ์ „ ๊ฒฌ๊ณ ํ•œ ๋ชจ๋ธ ๊ฐœ๋ฐœ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜

MLOps์—์„œ ๋˜ ํ•˜๋‚˜ ์ค‘์š”ํ•œ ๊ธฐ์ˆ ์€ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์ž…๋‹ˆ๋‹ค. ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์€ ๋จธ์‹ ๋Ÿฌ๋‹ ์›Œํฌํ”Œ๋กœ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์กฐ์ •ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ด๋Š” ๋‹ค์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค:

  1. ์›Œํฌํ”Œ๋กœ ์Šค์ผ€์ค„๋ง: ์‚ฌ์ „์— ์ •ํ•ด์ง„ ์ฃผ๊ธฐ์— ๋”ฐ๋ผ ํ•™์Šต ๋ฐ ํ‰๊ฐ€ ์ž‘์—…์ด ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜๋„๋ก ์Šค์ผ€์ค„์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  2. ์˜์กด์„ฑ ๊ด€๋ฆฌ: ๋ชจ๋“  ์ž‘์—…์ด ์‹คํ–‰ ์ˆœ์„œ์™€ ๋ฐ์ดํ„ฐ ์˜์กด์„ฑ์„ ์ค€์ˆ˜ํ•˜๋„๋ก ํ•˜์—ฌ ์›Œํฌํ”Œ๋กœ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ฆฌ์†Œ์Šค ํ• ๋‹น: ๋‹ค์–‘ํ•œ ์ž‘์—…์— ๊ณ„์‚ฐ ์ž์›์„ ์ž๋™์œผ๋กœ ๋ถ„๋ฐฐํ•ด ํšจ์œจ์„ฑ๊ณผ ๋น„์šฉ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๋กœ๊น…: ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ง€์†์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์‹œ์Šคํ…œ ์ง€ํ‘œ์™€ ๋กœ๊ทธ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
  5. ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๋ฐ ๋ณต๊ตฌ: ์‹คํŒจ๋ฅผ ์šฐ์•„ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž๋™ ์žฌ์‹œ๋„๋‚˜ ํด๋ฐฑ ์ „๋žต์„ ๊ฐ–์ถ˜ ์›Œํฌํ”Œ๋กœ๋ฅผ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ณดํ†ต Kubernetes๋‚˜ Apache Airflow ๊ฐ™์€ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ธ ๋ฐฐํฌ & ๋ชจ๋‹ˆํ„ฐ๋ง

๋˜ํ•œ MLOps ํ”„๋กœ์ ํŠธ๋Š” ๋ชจ๋ธ์„ ๋ฐฐํฌํ•˜๊ณ  ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๋Šฅ๋ ฅ์ด ์žˆ์–ด์•ผ ์™„์„ฑ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋ธ ๋ฐฐํฌ๋Š” ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์‹ค์‹œ๊ฐ„ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ด๋Š” ๋ณดํ†ต API๋‚˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜์—ฌ ์กฐ์ง์˜ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํšจ์œจ์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ž‘์—…์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋‹ˆํ„ฐ๋ง์€ ๋“œ๋ฆฌํ”„ํŠธ๋‚˜ ์„ฑ๋Šฅ ์ €ํ•˜ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ์‹๋ณ„ํ•˜๊ณ , ์„ ์ œ์  ๋””๋ฒ„๊น…์„ ์œ„ํ•œ ์ ์‹œ ์•Œ๋ฆผ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆํ™”๋Š” ๊ฐœ๋ฐœ๊ณผ ์šด์˜์„ ๋ชจ๋‘ ๊ฐ„์†Œํ™”ํ•˜์—ฌ MLOps์—์„œ ๋ชจ๋ธ์„ ์•ˆ์ •์ ์œผ๋กœ ๋ฐฐํฌํ•˜๋Š” ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์–‘์งˆ์˜ ์ปจํ…Œ์ด๋„ˆํ™”๋ฅผ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ๊ณ ๋ คํ•˜์„ธ์š”:

  1. ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์ •์˜: ๊ฐ€๋ณ๊ณ  ๋…๋ฆฝ์ ์ด๋ฉฐ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€์ธ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ: Docker์™€ Kubernetes ๊ฐ™์€ ํ”Œ๋žซํผ์„ ํ™œ์šฉํ•ด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์†์‰ฝ๊ณ  ๋ฏผ์ฒฉํ•˜๊ฒŒ ์ƒ์„ฑ, ๋ฐฐํฌ, ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  3. ์ด์‹์„ฑ ํ™•๋ณด: ์ปจํ…Œ์ด๋„ˆ๋Š” ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์„ ์บก์Аํ™”ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์ธํ”„๋ผ์—์„œ์˜ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
  4. ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜ ์ด‰์ง„: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋” ์ž‘์€ ์ปจํ…Œ์ด๋„ˆํ™”๋œ ์„œ๋น„์Šค๋กœ ๋ถ„ํ• ํ•ด ํ™•์žฅ์„ฑ๊ณผ ์žฅ์•  ๊ฒฉ๋ฆฌ๋ฅผ ๊ฐ•ํ™”ํ•ฉ๋‹ˆ๋‹ค.
  5. CI/CD ํŒŒ์ดํ”„๋ผ์ธ ํ†ตํ•ฉ: ์ปจํ…Œ์ด๋„ˆํ™”๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜์—ฌ ๊ฒฌ๊ณ ํ•˜๊ณ  ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ๋นŒ๋“œ๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

DevOps

DevOps๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ๊ณผ IT ์šด์˜์„ ๊ฒฐํ•ฉํ•œ ์ผ๋ จ์˜ ๊ด€ํ–‰์œผ๋กœ, ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ์ˆ˜๋ช… ์ฃผ๊ธฐ๋ฅผ ๋‹จ์ถ•ํ•˜๊ณ  ๋†’์€ ํ’ˆ์งˆ์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ง€์†์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

MLOps๋ฅผ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด DevOps์™€ ๋จธ์‹ ๋Ÿฌ๋‹ ์›Œํฌํ”Œ๋กœ๋ฅผ ์‹œ๋„ˆ์ง€๋ฅผ ๋‚ด๋„๋ก ๊ฒฐํ•ฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ๊ณผ ์• ์ž์ผ ๋ฐฉ๋ฒ•๋ก  ๊ฐ™์€ ๊ฐœ๋ฐœ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ๋Œ€๋ถ€๋ถ„์˜ MLOps ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ฐฐํฌ๋˜๋Š” ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์ธํ”„๋ผ๋ฅผ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด Linux ๋ช…๋ น์— ๋Œ€ํ•œ ํƒ„ํƒ„ํ•œ ์ดํ•ด๊ฐ€ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ๊ณ ๋ คํ•  ๋งŒํ•œ ๊ด€ํ–‰์˜ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค

  • ์ž๋™ํ™”์™€ ํ†ตํ•ฉ: ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฆด๋ฆฌ์Šค๋ฅผ ์‹ ์†ํ•˜๊ณ  ๋นˆ๋ฒˆํ•˜๋ฉฐ ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฌธํ™”๋ฅผ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.
  • ํ˜‘์—…๊ณผ ์†Œํ†ต: ๊ฐœ๋ฐœ์ž์™€ ์šด์˜ ํŒ€์˜ ์ •๋ ฌ์„ ์œ„ํ•ด ํ˜‘์—…์ ์ธ ํ™˜๊ฒฝ์„ ์กฐ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ์ง€์†์  ํ†ตํ•ฉ/์ง€์†์  ๋ฐฐํฌ(CI/CD): ์ฝ”๋“œ ์ปค๋ฐ‹๋ถ€ํ„ฐ ํ”„๋กœ๋•์…˜๊นŒ์ง€ ์†Œํ”„ํŠธ์›จ์–ด ๋ฆด๋ฆฌ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ๋กœ๊น…: ๊ฒฌ๊ณ ํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ๋กœ๊น…์œผ๋กœ ์‹œ์Šคํ…œ์„ ์ง€์†์ ์œผ๋กœ ๊ด€์ฐฐํ•ด ๋ฌธ์ œ๋ฅผ ์‚ฌ์ „์— ๋ฐœ๊ฒฌํ•˜๊ณ  ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  • ์„ฑ๋Šฅ ์ง€ํ‘œ: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์ธํ”„๋ผ ์„ฑ๋Šฅ์„ ์ธก์ •ํ•ด ๊ณ ๊ฐ ๋งŒ์กฑ๋„๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

MLOps ๋งฅ๋ฝ์—์„œ DevOps ์›์น™์€ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ๊ณผ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์ด ํšจ๊ณผ์ ์œผ๋กœ ๊ฐœ๋ฐœ, ๋ฐฐํฌ, ๋ชจ๋‹ˆํ„ฐ๋ง๋˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

2. ์‹ค๋ฌด ๊ฒฝํ—˜ ์Œ“๊ธฐ

๋‹ค๋ฅธ ๊ธฐ์ˆ  ๋„๊ตฌ๋ฅผ ๋ฐฐ์šธ ๋•Œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ๋‹ค์Œ ๋‹จ๊ณ„๋Š” ์—ฐ์Šต์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐœ๋ณ„ ๋„๊ตฌ ํ•™์Šต๊ณผ ์‹ค์Šต ํ”„๋กœ์ ํŠธ ์ˆ˜ํ–‰์˜ ๋‘ ๋‹จ๊ณ„๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

MLOps ๋„๊ตฌ์™€ ํ”Œ๋žซํผ ํ•™์Šต

๋‹ค์ธต์ ์ธ MLOps ์˜์—ญ์„ ํƒ์ƒ‰ํ•˜๋ ค๋ฉด ๋จธ์‹ ๋Ÿฌ๋‹ ์ˆ˜๋ช… ์ฃผ๊ธฐ๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๋„๋ก ์„ค๊ณ„๋œ ๋‹ค์–‘ํ•œ ๋„๊ตฌ์™€ ํ”Œ๋žซํผ์— ๋Šฅ์ˆ™ํ•ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. Data Version Control (DVC) - ๋ฒ„์ „ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์œผ๋กœ ๋ฐ์ดํ„ฐ์…‹, ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ, ์‹คํ—˜์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  2. MLflow - ์‹คํ—˜, ์žฌํ˜„์„ฑ, ๋ฐฐํฌ ๋“ฑ ML ์ˆ˜๋ช… ์ฃผ๊ธฐ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. DataCamp์˜ MLflow ์ฝ”์Šค์—์„œ ๋” ์•Œ์•„๋ณด์„ธ์š”.
  3. Kubeflow - ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋จธ์‹ ๋Ÿฌ๋‹ ์›Œํฌํ”Œ๋กœ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ Kubernetes ๋„ค์ดํ‹ฐ๋ธŒ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
  4. TensorFlow Extended (TFX) - TensorFlow ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ํ•˜๋Š” ์—”๋“œ ํˆฌ ์—”๋“œ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
  5. Apache Airflow - ๋ณต์žกํ•œ ๊ณ„์‚ฐ ์›Œํฌํ”Œ๋กœ์™€ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํŒŒ์ดํ”„๋ผ์ธ์„ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  6. Docker - ์ปจํ…Œ์ด๋„ˆํ™”๋œ ํ™˜๊ฒฝ์„ ์ƒ์„ฑ ๋ฐ ๊ณต์œ ํ•ด ๊ฐœ๋ฐœ๊ณผ ํ”„๋กœ๋•์…˜ ์‹œ์Šคํ…œ ์ „๋ฐ˜์˜ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.
  7. Kubernetes - ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ, ํ™•์žฅ, ๊ด€๋ฆฌ๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.
  8. Prometheus & Grafana - ๋ชจ๋ธ๊ณผ ์ธํ”„๋ผ ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

image4.png

์ „์ฒด ๊ฐ€์ด๋“œ๋Š” ์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•ด ์ตœ๊ณ ์˜ MLOps ๋„๊ตฌ์— ๊ด€ํ•œ ๊ธฐ์‚ฌ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์–ด๋””์„œ ์‹œ์ž‘ํ•ด์•ผ ํ• ์ง€ ๋ง์„ค์—ฌ์ง„๋‹ค๋ฉด, ์ด MLOps ์‹ค์šฉ ๊ฐ€์ด๋“œ ์›จ๋น„๋‚˜๊ฐ€ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค!

์‹ค์Šต ํ”„๋กœ์ ํŠธ

์ง์ ‘ MLOps ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•ด ๋ณด๊ณ , ์ƒ˜ํ”Œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ์—ฌ๊ธฐ์—์„œ ์†Œ๊ฐœํ•œ ๋„๊ตฌ์— ์ต์ˆ™ํ•ด์ง€์„ธ์š”.

๋˜ํ•œ Amazon Web Services๋‚˜ Google Cloud Platform ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์—์„œ ๋ณต์žกํ•œ ์—”๋“œ ํˆฌ ์—”๋“œ ๋จธ์‹ ๋Ÿฌ๋‹ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋„์ „์— ๋‚˜์„œ ๋ณด์„ธ์š”.

๋”๋ถˆ์–ด Kaggle๊ณผ DataCamp์˜ MLOps Fundamentals ์Šคํ‚ฌ ํŠธ๋ž™์ฒ˜๋Ÿผ, MLOps ๊ธฐ์ˆ ์„ ์—ฐ์Šตํ•˜๊ณ  ์—ฐ๋งˆํ•  ์ˆ˜ ์žˆ๋Š” ์‹ค์ œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์˜จ๋ผ์ธ ์ž๋ฃŒ๋„ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

3. ์ž๊ฒฉ์ฆ ๋ฐ ๊ต์œก ํ”„๋กœ๊ทธ๋žจ

MLOps์˜ ๊ธฐ๋ณธ ์›์น™๊ณผ ๋„๊ตฌ์— ์ต์ˆ™ํ•ด์กŒ๋‹ค๋ฉด, ํ•œ ๋‹จ๊ณ„ ๋” ๋‚˜์•„๊ฐ€ ์ž๊ฒฉ์ฆ์ด๋‚˜ ๊ต์œก ํ”„๋กœ๊ทธ๋žจ์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ํ”„๋กœ๊ทธ๋žจ์€ ๊ตฌ์กฐํ™”๋œ ํ•™์Šต๊ณผ ์‹ค์Šต ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋ฉฐ, ์ž ์žฌ์  ๊ณ ์šฉ์ฃผ์—๊ฒŒ ์—ญ๋Ÿ‰์„ ๊ฒ€์ฆํ•ด ์ค๋‹ˆ๋‹ค.

๋Œ€ํ‘œ์ ์ธ ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • DataCamp์˜ MLOps for Production ์ฝ”์Šค: DVC, MLflow, Kubernetes ๋“ฑ์˜ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ MLOps ๊ด€ํ–‰์„ ๊ตฌํ˜„ํ•˜๋Š” ์ข…ํ•ฉ ๊ต์œก์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • TensorFlow ์ธ์ฆ: TensorFlow ์ธ์ฆ์€ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ํ•™์Šต์‹œํ‚ค๋Š” ๋ฐ TensorFlow๋ฅผ ์ ์šฉํ•˜๋Š” ์—ญ๋Ÿ‰์„ ์ฆ๋ช…ํ•ฉ๋‹ˆ๋‹ค.
  • Microsoft Certified: Azure AI Engineer Associate: Microsoft Azure ๋„๊ตฌ์™€ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•ด ์ธ๊ณต์ง€๋Šฅ(AI) ์†”๋ฃจ์…˜์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•˜๋Š” ๋Šฅ๋ ฅ์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.

์ •์‹ ์ž๊ฒฉ์ฆ๊นŒ์ง€๋Š” ์•„์ง ์ค€๋น„๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด, DataCamp์˜ MLOps Concepts ์ฝ”์Šค ๊ฐ™์€ ๋‹จ๊ณผ ๊ณผ๋ชฉ์œผ๋กœ ๋จผ์ € ์‹œ์ž‘ํ•ด๋„ ์ข‹์Šต๋‹ˆ๋‹ค.

4. ์—…๊ณ„ ๋„คํŠธ์›Œํ‚น๊ณผ ์ปค๋ฎค๋‹ˆํ‹ฐ

๋„คํŠธ์›Œํ‚น๊ณผ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ตฌ์ถ•์€ ์–ด๋–ค ๋ถ„์•ผ์—์„œ๋‚˜ ์ค‘์š”ํ•˜์ง€๋งŒ, ํŠนํžˆ MLOps์ฒ˜๋Ÿผ ์—ญ๋™์ ์ด๊ณ  ์ง„ํ™”ํ•˜๋Š” ๋ถ„์•ผ์—์„œ๋Š” ๋”์šฑ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์—…๊ณ„์— ์ฐธ์—ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ์˜จ๋ผ์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฐธ์—ฌ: Reddit์˜ r/MLOps ๊ฐ™์€ ํฌ๋Ÿผ์ด๋‚˜ Kubeflow Slack ๊ฐ™์€ ์ฑ„๋„์— ์ฐธ์—ฌํ•ด ์ตœ์‹  ๋™ํ–ฅ์„ ๋…ผ์˜ํ•˜๊ณ , ์งˆ๋ฌธํ•˜๋ฉฐ, ์ง€์‹์„ ๊ณต์œ ํ•˜์„ธ์š”.
  • ์ปจํผ๋Ÿฐ์Šค ์ฐธ์„: ์—…๊ณ„ ์ „๋ฌธ๊ฐ€์˜ ๊ฐ•์—ฐ์„ ๋“ฃ๊ณ , ๋น„์Šทํ•œ ๊ด€์‹ฌ์‚ฌ๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ๋“ค๊ณผ ๊ต๋ฅ˜ํ•˜๋ฉฐ, ์ตœ์‹  ๋ฐœ์ „ ํ˜„ํ™ฉ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด KubeCon + CloudNativeCon ๊ฐ™์€ ํ–‰์‚ฌ์— ์ฐธ์—ฌํ•˜์„ธ์š”.
  • ํ•ด์ปคํ†ค ๋ฐ ์ฑŒ๋ฆฐ์ง€ ์ฐธ์—ฌ: MLOps์— ์ดˆ์ ์„ ๋งž์ถ˜ ํ•ด์ปคํ†ค๊ณผ ์ฝ”๋”ฉ ์ฑŒ๋ฆฐ์ง€์— ์ฐธ์—ฌํ•ด ์—ญ๋Ÿ‰์„ ์‹œํ—˜ํ•˜๊ณ , ๋™๋ฃŒ๋“ค๊ณผ ๋„คํŠธ์›Œํฌ๋ฅผ ํ˜•์„ฑํ•˜๋ฉฐ, ์ƒ๊ธˆ์— ๋„์ „ํ•ด ๋ณด์„ธ์š”.

์ง€์†์ ์ธ ํ•™์Šต๊ณผ MLOps ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ํ™œ๋ฐœํ•œ ์ฐธ์—ฌ๋ฅผ ํ†ตํ•ด ์ตœ์‹  ์ •๋ณด๋ฅผ ๋”ฐ๋ผ๊ฐ€๊ณ  ์ปค๋ฆฌ์–ด ์„ฑ์žฅ์„ ๋’ท๋ฐ›์นจํ•  ํƒ„ํƒ„ํ•œ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งˆ๋ฌด๋ฆฌ

๋งˆ์ง€๋ง‰์œผ๋กœ ์ง€๊ธˆ๊นŒ์ง€ ๋‹ค๋ฃฌ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค:

  • MLOps๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ(DevOps)๊ณผ ๋จธ์‹ ๋Ÿฌ๋‹์„ ๊ฒฐํ•ฉํ•ด ML ์ˆ˜๋ช… ์ฃผ๊ธฐ๋ฅผ ํšจ์œจํ™”ํ•˜๋Š” ๋ชจ๋ฒ” ์‚ฌ๋ก€์™€ ๋„๊ตฌ์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.
  • MLOps์— DevOps ์›์น™์„ ์ ์šฉํ•˜๋ฉด ํšจ์œจ์ ์ธ ํ˜‘์—…, ์ž๋™ํ™”, ๋ชจ๋‹ˆํ„ฐ๋ง, ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹ค๋ฌด ๊ฒฝํ—˜์„ ์Œ“์œผ๋ ค๋ฉด ๋‹ค์–‘ํ•œ MLOps ๋„๊ตฌ์™€ ํ”Œ๋žซํผ์„ ํ•™์Šตํ•˜๊ณ , ์‹ค์Šต ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ์—ฐ์Šต๊ณผ ์„ฑ์žฅ์„ ์œ„ํ•œ ๊ธฐํšŒ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ž๊ฒฉ์ฆ๊ณผ ๊ต์œก ํ”„๋กœ๊ทธ๋žจ์€ ๊ตฌ์กฐํ™”๋œ ํ•™์Šต๊ณผ MLOps ์—ญ๋Ÿ‰ ๊ฒ€์ฆ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋„คํŠธ์›Œํ‚น๊ณผ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฐธ์—ฌ๋Š” ์ตœ์‹  ๋™ํ–ฅ ํŒŒ์•…, ๊ฐ•๋ ฅํ•œ ๋„คํŠธ์›Œํฌ ๊ตฌ์ถ•, MLOps ์ปค๋ฆฌ์–ด ๋ฐœ์ „์— ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.

์ด ํฅ๋ฏธ๋กญ๊ณ  ์„ฑ์žฅํ•˜๋Š” ๋ถ„์•ผ์—์„œ๋Š” ๋ฐฐ์šธ ๊ฒƒ๊ณผ ํƒ๊ตฌํ•  ๊ฒƒ์ด ํ•ญ์ƒ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์•Œ์•„๋ณด๊ณ  ์‹ถ์œผ์‹ ๊ฐ€์š”? ์˜ค๋Š˜ ๋ฐ”๋กœ ํ•™์Šต์„ ์‹œ์ž‘ํ•ด ๋ณด์„ธ์š”. MLOps Concepts ์ฝ”์Šค๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์ œ