hye-log

[๋ถ€์ŠคํŠธ์บ ํ”„ AI Tech]WEEK 08_DAY 34 ๋ณธ๋ฌธ

Boostcourse/AI Tech 4๊ธฐ

[๋ถ€์ŠคํŠธ์บ ํ”„ AI Tech]WEEK 08_DAY 34

iihye_ 2022. 11. 8. 01:45

๐Ÿฐ ๊ฐœ๋ณ„ํ•™์Šต


[1] ๊ฐ•์˜ ์†Œ๊ฐœ

1. ๊ฐ•์˜์˜ ๋ชฉํ‘œ

1) AI ์—”์ง€๋‹ˆ์–ด๋กœ ์ถœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์ž‘์ ์„ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋Š” ํฐ ๊ทธ๋ฆผ์„ ์ธ์ง€ํ•˜๊ธฐ

2) ์ง์ ‘ ๋ฌธ์ œ ์ •์˜ํ•˜๊ณ  ํ•„์š”ํ•œ ๋„๊ตฌ๋ฅผ ์ฐพ์•„๋ณด๋Š” ๋Šฅ๋™์ ์ธ ์ž์„ธ ๊ฐ€์ง€๊ธฐ

3) ์ง€์†์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๊ธฐ

4) ํ”„๋กœํ† ํƒ€์ดํ•‘๋ถ€ํ„ฐ ๋ชจ๋ธ ๋ฐฐํฌ, ๋ชจ๋‹ˆํ„ฐ๋ง ๊ณผ์ •์„ ์ดํ•ดํ•˜๊ธฐ

 

2. ๊ฐ•์˜์˜ ํŠน์ง•

1) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์™œ ๋งŒ๋“ค์–ด์กŒ๋Š”์ง€ ์ง‘์ค‘ํ•˜๊ธฐ

2) ์ผ๋ฐ˜์ ์ธ AI ์—”์ง€๋‹ˆ์–ด๋ง์„ ๋‹ค๋ฃจ๊ธฐ ๋•Œ๋ฌธ์— ์ž๊ธฐ ๋„๋ฉ”์ธ์— ์–ด๋–ป๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์„์ง€ ์ƒ๊ฐํ•ด๋ณด๊ธฐ


[2] MLOps ๊ฐœ๋ก 

1. MLOps ๊ฐœ๋ก 

1) ๋ชจ๋ธ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค(Research)

(1) ์ž์‹ ์˜ ์ปดํ“จํ„ฐ, ์„œ๋ฒ„ ๋“ฑ์—์„œ ๊ณ ์ •๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•™์Šต

(2) ํ•™์Šต๋œ ๋ชจ๋ธ์„ real world, production ํ™˜๊ฒฝ์— ๋ชจ๋ธ์„ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์ด ํ•„์š”

2) ๋ชจ๋ธ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค(Production)

(1) ์›น, ์•ฑ์—์„œ ์„œ๋น„์Šค๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ณผ์ •

(2) '๋ชจ๋ธ์—๊ฒŒ ๋ฐ์ดํ„ฐ(Input)์„ ์ œ๊ณตํ•˜์—ฌ ์˜ˆ์ธก(Output)ํ•ด์ฃผ์„ธ์š”' ๋ผ๊ณ  ์š”์ฒญ

(3) ๋ชจ๋ธ์ด ๋ฐฐํฌ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •

- ๊ฒฐ๊ณผ๊ฐ’์ด ์ด์ƒํ•œ ๊ฒฝ์šฐ : input ๋ฐ์ดํ„ฐ๊ฐ€ ์ด์ƒํ•œ ๊ฒฝ์šฐ, outlier๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ

- ์„ฑ๋Šฅ์ด ๊ณ„์† ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ : ์˜ˆ์ธก ๊ฐ’๊ณผ ์‹ค์ œ ๋ ˆ์ด๋ธ”์„ ์•Œ์•„์•ผ ํ•จ

- ์ƒˆ๋กœ์šด ๋ชจ๋ธ์ด ๋” ์•ˆ ์ข‹์€ ๊ฒฝ์šฐ : research์—์„œ ์ข‹์•˜๋˜ ๋ชจ๋ธ์ด production์—์„œ๋Š” ์•ˆ ์ข‹์„ ์ˆ˜๋„, ์ด์ „ ๋ชจ๋ธ์„ ๋‹ค์‹œ ์‚ฌ์šฉ

- ์ด ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ์ด์Šˆ๊ฐ€ ์กด์žฌํ•จ

3) MLOps๋ž€

- ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ๋ง ์ฝ”๋“œ๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ ์‹œ์Šคํ…œ์˜ ์ผ๋ถ€์— ๋ถˆ๊ณผํ•จ

- MLOps = ML(Machine Learning) + Ops(Operations)

- ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ์šด์˜ํ•˜๋ฉด์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ํ•„์š”ํ•œ ์—…๋ฌด๋ฅผ ์ž๋™ํ™”์‹œํ‚ค๋Š” ๊ณผ์ •

- ๋จธ์‹ ๋Ÿฌ๋‹ ์—”์ง€๋‹ˆ์–ด๋ง + ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง + ํด๋ผ์šฐ๋“œ + ์ธํ”„๋ผ

- ๋ชจ๋ธ๋ง์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ด€๋ จ๋œ ์ธํ”„๋ผ๋ฅผ ๋งŒ๋“ค๊ณ  ์ž๋™์œผ๋กœ ์šด์˜๋˜๋„๋ก ๋งŒ๋“œ๋Š” ์ผ

- Production ํ™˜๊ฒฝ์— ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •์—์„œ Research ๋ชจ๋ธ์ด ์žฌํ˜„ ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ (+ํ˜„์‹ค์˜ Risk ๊ณ ๋ ค)

- ๋ชฉํ‘œ : ๋น ๋ฅธ ์‹œ๊ฐ„ ๋‚ด, ๊ฐ€์žฅ ์ ์€ ์œ„ํ—˜์œผ๋กœ, ์•„์ด๋””์–ด๋ถ€ํ„ฐ Production๊นŒ์ง€, ML ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก, ๊ธฐ์ˆ ์  ๋งˆ์ฐฐ์„ ์ค„์ด๋Š” ๊ฒƒ

- ํ•™์Šต ๋ฐฉ๋ฒ• : ๊ฐ Component์—์„œ ํ•ด๊ฒฐํ•˜๊ณ  ์‹ถ์€ ๋ฌธ์ œ๋Š” ๋ฌด์—‡์ด๊ณ , ๊ทธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์–ด๋–ค ๋ฐฉ์‹์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€

4) Reserach์™€ Production์˜ ์ฐจ์ด

 

2. MLOps Component

1) Server ์ธํ”„๋ผ(์žฅ์†Œ)

- ํŠธ๋ž˜ํ”ฝ

- GPU, Memory ์„ฑ๋Šฅ

- ์Šค์ผ€์ผ ์—…/์•„์›ƒ

- ์ž์ฒด ์„œ๋ฒ„ ๊ตฌ์ถ•, ํด๋ผ์šฐ๋“œ

2) GPU Infra(๋„๊ตฌ)

- ๋กœ์ปฌ GPU

- ํด๋ผ์šฐ๋“œ GPU : ํด๋ผ์šฐ๋“œ - AWS, GCP, Azure, NCP ๋“ฑ / ์˜จ ํ”„๋ ˆ๋ฏธ์Šค : ์ „์‚ฐ์‹ค์— ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ์„ค์น˜

3) Serving(์„œ๋น™)

- Batch Serving : ์ผ์ • ์ฃผ๊ธฐ(1์ผ, 1์ฃผ, 1๋‹ฌ ๋“ฑ)๋กœ ํ•œ๊บผ๋ฒˆ์— ์˜ˆ์ธก

- Online Serving : ์‹ค์‹œ๊ฐ„์œผ๋กœ ์˜ˆ์ธก, ๋ณ‘๋ชฉ์ด ์—†์–ด์•ผ ํ•จ

4) Experiment, Model Management(๋ ˆ์‹œํ”ผ)

- ํŒŒ๋ผ๋ฏธํ„ฐ, ๋ชจ๋ธ ๊ตฌ์กฐ ๋“ฑ

- ๋ชจ๋ธ ์ƒ์„ฑ์ผ, ๋ชจ๋ธ ์„ฑ๋Šฅ, ๋ฉ”ํƒ€ ์ •๋ณด ๋“ฑ์„ ๊ธฐ๋ก

- ์—ฌ๋Ÿฌ ๋ชจ๋ธ ์šด์˜

- ex) mlflow

5) Feature Store(์ €์žฅ)

- feature๋ฅผ ์ง‘๊ณ„ํ•œ feature store(์ •ํ˜• ๋ฐ์ดํ„ฐ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ)

- ex) FEAST

6) Data Validation(์žฌ๋ฃŒ)

- Feature์˜ ๋ถ„ํฌ ํ™•์ธ

- ์ข…๋ฅ˜ : Data Drift, Model Drift, Concept Drift

- Static model : ํ•œ ๋ฒˆ ํ•™์Šตํ•œ ๋ชจ๋ธ์„ ์‹œ๊ฐ„์˜ ํ๋ฆ„์— ๋”ฐ๋ผ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ๊ฐ. 

ํ•œ๋ฒˆํ•™์Šตํ•˜๊ณ  ์‹œ๊ฐ„์˜ ํ๋ฆ„์— ๋”ฐ๋ผ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ๊ฐ. ํ€„๋ฆฌํ‹ฐ๊ฐ€ ๋‚ฎ์•„์ง

- Refreshed models : ๋‹ค์‹œ ํ•™์Šตํ•˜๋ฉด์„œ ํ€„๋ฆฌํ‹ฐ๋ฅผ ์œ ์ง€ํ•จ

7) Continuous Training(ํ’ˆ์งˆ ์œ ์ง€)

- ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ค๋Š” ๊ฒฝ์šฐ

- ์ผ์ • ๊ธฐ๊ฐ„๋งˆ๋‹ค(๋งค์ผ, ๋งค์‹œ๊ฐ„)

- Metric ๊ธฐ๋ฐ˜์œผ๋กœ ํ™•์ธํ–ˆ์„ ๋•Œ

- ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค

8) Monitoring(๊ธฐ๋ก)

- ๋ชจ๋ธ์˜ ์ง€ํ‘œ, ์ธํ”„๋ผ์˜ ์„ฑ๋Šฅ ์ง€ํ‘œ ๋“ฑ์„ ๊ธฐ๋ก

9) AutoML(์ž๋™)

- ex) MLIlibrary

10) ์ •๋ฆฌ

- ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ์ง์ ‘ ์šด์˜ํ•˜๋ฉด์„œ ์‹ ๊ฒฝ์จ์•ผ ํ•˜๋Š” ๋ถ€๋ถ„

- ํšŒ์‚ฌ์˜ ๋น„์ฆˆ๋‹ˆ์Šค ์ƒํ™ฉ๊ณผ ๋ชจ๋ธ ์šด์˜ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋‹ฌ๋ผ์ง

- MVP(Minimal Value Product)๋กœ ์‹œ์ž‘ํ•ด์„œ ์ ์  ์šด์˜ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋งŽ์ด ์ถ”๊ฐ€๋  ๋•Œ ํ•˜๋‚˜์”ฉ ๊ตฌ์ถ•ํ•จ



๐Ÿฐ ์˜ค๋Š˜์˜ ํšŒ๊ณ 

๋Œ€ํšŒ๊ฐ€ ๋๋‚˜์„œ ๋‹ค์‹œ ์›๋ž˜๋Œ€๋กœ ๋Œ์•„์˜จ ๊ฒƒ ๊ฐ™์€ 8์ฃผ์ฐจ..! ๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ ๋•Œ๋Š” ์˜ค๋Š˜ ๊ณ„ํš์— ๋Œ€ํ•ด์„œ ๋งํ•˜๋ฉด์„œ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ด๋ฒˆ ์ฃผ๋ถ€ํ„ฐ MLOps ๋“ค์–ด๊ฐ€๋Š”๋ฐ ์ œ์ผ ๋งŽ์ด ๊ธฐ๋Œ€ํ•œ ํŒŒํŠธ์ด๊ธฐ๋„ ํ•˜๋‹ค. ์•„๋ฌด๋ž˜๋„ CV ๋ณด๋‹ค๋Š” ์—”์ง€๋‹ˆ์–ด๋ง์ด ์„ž์—ฌ์ง„ MLOps๊ฐ€ ๋” ์žฌ๋ฏธ์žˆ์„ ๊ฒƒ ๊ฐ™์€ ๋Š๋‚Œ... ๊ฐ•์˜ ํ•˜๋‚˜ํ•˜๋‚˜๊ฐ€ ๋น„์œ ๋ฅผ ํ†ตํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์…”์„œ ์—„์ฒญ ์ดํ•ด๊ฐ€ ์™์™๋˜์—ˆ๋‹ค. ๋ญ”๊ฐ€ ์ƒˆ๋กœ ๋‚˜์˜ค๋Š” ๊ฐœ๋…๋“ค์ด๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์€ ์ฐพ์•„๋ณด๋ฉด์„œ ๋“ค์—ˆ๋Š”๋ฐ, ์ด๋Ÿฐ ํˆด๋“ค๋กœ ๊ฒฐ๊ตญ์—๋Š” MLOps๊ฐ€ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒƒ์ด๊ตฌ๋‚˜๋ผ๊ณ  ์ดํ•ดํ–ˆ๋‹ค.. ํ”ผ์–ด์„ธ์…˜ ๋•Œ์—๋Š” ์˜ค๋žœ๋งŒ์— ํ•  ์ด์•ผ๊ธฐ๊ฐ€ ์—†์–ด์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€๊ธฐ๋กœ ํ•˜๊ณ , ์ง€๋‚œ ์ฃผ 1๋“ฑ ์กฐ์—์„œ ๋ฐœํ‘œํ–ˆ๋˜ ํ˜‘์—… ํˆด ์ค‘์—์„œ VSCode live coding ๊ธฐ๋Šฅ์„ ์จ ๋ณด์•˜๋‹ค. ์ฒ˜์Œ์—๋Š” ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐํ•˜๋Š”๊ฑด๊ฐ€ ํ—ค๋งธ์—ˆ๋Š”๋ฐ ๋‹คํ–‰ํžˆ๋„ ๊นƒํ—ˆ๋ธŒ ๊ณ„์ •์„ ์ด์šฉํ•ด์„œ ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์šฐ๋ฆฌ ์กฐ๋Š” ๋ฏธ๋ฆฌ ํŒ”๋กœ์šฐ/ํŒ”๋กœ์›Œ ํ•ด ๋‘” ๋•๋ถ„์— ์‰ฝ๊ฒŒ ํ˜‘์—…ํ•  ์ˆ˜ ์žˆ์—ˆ์Œ! ๊ฐ์ž์˜ ์œ„์น˜๊ฐ€ ํ‘œ์‹œ๋˜๊ณ  ๋™์‹œ์— ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์—„์ฒญ ์œ ์šฉํ•œ ๊ฒƒ ๊ฐ™๋‹ค๐Ÿ‘

728x90
Comments