๐Ÿ”ฅ

Machine Learning Pipeline

ํƒœ๊ทธ
ML Infrastructure
ํฌ์ŠคํŒ… ๋‚ ์งœ
2020/11/30
๋ณธ ํฌ์ŠคํŠธ๋Š” ์ œ๊ฐ€ ํœด๋จผ์Šค์ผ€์ดํ”„ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ์— ๋จผ์ € ์ž‘์„ฑํ•˜๊ณ  ์˜ฎ๊ธด ํฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค.
๋ณธ ํฌ์ŠคํŠธ์—์„œ๋Š” machine learning service๋ฅผ ๋Ÿฐ์นญํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์ฃผ์š”ํ•˜๊ฒŒ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ๋“ค์„ ๋‹ค๋ค„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.์‹ค์ œ๋กœ machine learning framework๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•™์Šตํ•˜๋ ค๋Š” ๋ชฉ์ ์— ๋งž๋Š” ๋ชจ๋ธ๋กœ ํ•™์Šต์„ ์‹œํ‚ค๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ฒดํ—˜ํ•ด๋ณด๋Š” ๊ฒƒ๊ณผ ์ด๋ฅผ ์‹ค์ œ๋กœ ์„œ๋น„์Šคํ•˜๋Š” ๊ฒƒ๊ณผ๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Machine learning ์„ ํ™œ์šฉํ•œ service๋“ค์ด ์ฃผ๋กœ ๊ทธ๋“ค์˜ ์™„๊ฒฐ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์œ„ํ•ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š”ย Machine Learning Pipelineย ์— ๋Œ€ํ•ด์„œ ์†Œ๊ฐœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Machine Learning Pipeline

Machine Learning Pipeline์€ machine learning service๊ฐ€ ๊ฐ€์ง€๋Š” machine learning workflows๋ฅผย ์ž๋™ํ™”ํ•˜์—ฌย ๊ด€๋ฆฌ๋ฅผ ์œ ์—ฐํ•˜๊ณ  ์šฉ์ดํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค.์ž์„ธํ•œ ์„ค๋ช…์„ ์œ„ํ•ด ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋ฅผ ๋“ค๊ฒ ์Šต๋‹ˆ๋‹ค.์šฐ๋ฆฌ๊ฐ€ machine learning service๋ฅผ ์šด์˜ํ•˜๋Š”๋ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์ฒ˜๋ฆฌํ•˜์—ฌ ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ณ  ์„œ๋น„์Šค์— ์˜ฌ๋ ธ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค. ์ด ๋•Œ ๋ฐ์ดํ„ฐ์˜ ํ˜•ํƒœ๊ฐ€ ๋งž์ง€ ์•Š๋Š” ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋“ค์ด ๋“ค์–ด์™€์„œ ์ „์ฒ˜๋ฆฌ ์ž‘์—…์„ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค. ๋งŒ์•ฝ, ์„œ๋น„์Šค๊ฐ€ ์˜ฌ๋ผ๊ฐ„ ์ƒํƒœ์—์„œ ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์ „์ฒ˜๋ฆฌ ๊ณผ์ •์„ ๋”ฐ๋กœ ๋งค๋ฒˆ ๋…๋ฆฝ์ ์œผ๋กœ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์–ด๋–จ๊นŒ์š”?์ด๋ฏธ ์•„์‹œ๊ฒ ์ง€๋งŒ, ์ƒ๋‹นํžˆ ๊ท€์ฐฎ๊ณ  ๋ณต์žกํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ, ์ƒ๋‹นํžˆ ์• ๋ฅผ ๋จน์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •๋“ค์„ ์ž๋™ํ™”ํ•จ์— ์žˆ์–ด์„œ ๋นผ๋†“์ง€ ์•Š๊ณ  ์ฑ™๊ฒจ ์ธํ”„๋ผ๋ฅผ ์„ค๊ณ„/๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์นœ๊ตฌ๊ฐ€ Machine Learning Pipeline์ด๋ผ๊ณ  ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
์•„๋งˆ ๋…ผ๋ฌธ๋ฆฌ๋ทฐ๋‚˜ ์‹ค์Šต ๊ด€๋ จํ•ด์„œ ๊ธ€์„ ์ ์€ ๋‚ด์šฉ์„ ์ž˜ ๋ณด์…จ๋‹ค๋ฉด ์ง€๊ธˆ๋ถ€ํ„ฐ ์„ค๋ช…ํ•˜๋Š” ๋‚ด์šฉ์ด ๊ทธ ์•ˆ์— ๋‹ด๊ฒจ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋Š๋ผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Problem Definition

๊ฐ€์žฅ ์ฒซ ๋‹จ๊ณ„๊ฐ€ย Problem Definition(๋ฌธ์ œ ์ •์˜)์ž…๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„๋ฅผ Machine Learning Pipeline์œผ๋กœ ๋ณด๋Š” ๊ณณ๋„, ์•„๋‹Œ ๊ณณ๋„ ์žˆ์ง€๋งŒ ์ €๋Š” ์„œ๋น„์Šค์˜ ์‹œ์ž‘๋ถ€ํ„ฐ ์œ ์ง€๋ณด์ˆ˜ ๋‹จ๊ณ„๊นŒ์ง€์˜ ์ „ ์ƒ์• ๋ฅผ ์„ค๋ช…๋“œ๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ ์ด ๋‹จ๊ณ„๋ฅผ ๋„ฃ์–ด์„œ ์„ค๋ช…์„ ์ง„ํ–‰ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.์ด ๋‹จ๊ณ„๋Š” ๊ฐœ๋ฐœํ•˜๊ณ ์ž ํ•˜๋Š”ย ์„œ๋น„์Šค๊ฐ€ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค์  ๋ฌธ์ œ๋ฅผ ๊ตฌ์ฒดํ™”ํ•˜์—ฌ ์ •์˜ํ•˜๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•˜๊ฒŒ ๋ด์•ผ ํ•  ์ ์€ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐ˜๋“œ์‹œ โ€œMachine learning์„ ํ•„์š”๋กœ ํ•˜๋Š”๊ฐ€โ€ ์ž…๋‹ˆ๋‹ค.์—ฌ๊ธฐ์„œ ์ฃผ์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ํŒ๋‹จ ๊ธฐ์ค€์œผ๋กœ๋Š”ย ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋จธ์‹ ๋Ÿฌ๋‹์„ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๋งŒํผ ๋ฐ์ดํ„ฐ์™€ ๊ฒฐ๊ณผ์˜ ๊ด€๊ณ„์„ฑ์ด ๋ณต์žกํ•œ๊ฐ€, ๊ทธ๋Ÿฌ๋ฉด์„œ๋„ ๋ฐ์ดํ„ฐ์—์„œย ํŠน๋ณ„ํ•œ ํŒจํ„ด์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”๊ฐ€ย ์ž…๋‹ˆ๋‹ค.

Data Ingestion

๋‹ค์Œ ๋‹จ๊ณ„๊ฐ€ย Data Ingestion(๋ฐ์ดํ„ฐ ํˆฌ์ž…)์ž…๋‹ˆ๋‹ค. ์ด data๋Š” ๋”ฐ๋กœ data pipeline์„ ํ†ตํ•ด์„œ ๋ชจ์—ฌ์ง€๊ณ (collect), ์ €์žฅ๋˜๊ณ (save), ํˆฌ์ž…(ingest)๋ฉ๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„๋Š” ์•ž์„  ์„ธ ๊ฐ€์ง€ ๋‹จ๊ณ„ ์ค‘ย data pipeline์„ ํ†ตํ•ด์„œ ํŠน์ • ์ €์žฅ์†Œ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํˆฌ์ž…ํ•˜๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป๋Š” ์„œ๋น„์Šค์˜ ๊ฒฝ์šฐ๋Š” ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์–ป์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ ์ดํ›„์— ์ด๋ฅผ ์ด์šฉํ•ด ์ถ”๊ฐ€ ํ•™์Šตํ•œ ๋ชจ๋ธ์„ ์ €์žฅํ•˜๊ณ , ๋ฐฐํฌ๊ฐ€ ๋‚˜๊ฐ€๋Š” ํ˜•ํƒœ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์˜ˆ์™ธ์ ์œผ๋กœ real-time data ingestion ์ด๋ผ๊ณ  ํ•˜์—ฌ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์–ป์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šต์— ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘˜ ์ค‘ ์–ด๋Š ๋ฐฉ๋ฒ•์„ ํƒํ•˜๋˜ ๊ฐ„์—ย ์–ป์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ €์žฅ์†Œ๋กœ๋ถ€ํ„ฐ ํ•™์Šต์— ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ณผ์ •์„ ์ž๋™ํ™”ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Data Preparation

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

Data Segregation

๋‹ค์Œ ๋‹จ๊ณ„๋Š”ย Data Segregation(๋ฐ์ดํ„ฐ ๋ถ„๋ฆฌ)์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ค€๋น„ํ•œ data๋ฅผ training dataset, test dataset, validation dataset์œผ๋กœ ๋‚˜๋ˆˆ ์ž‘์—…์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ๋‚˜๋ˆ„๋Š” ์ด์œ ๋Š” ํ•™์Šตํ•œ ๋ชจ๋ธ์ดย ํŠน์ • dataset์— overfitting ๋˜์ง€ ์•Š๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ๋ธ์˜ ํ‰๊ฐ€์— ๊ฐ๊ด€์„ฑ์„ ๋ถ€์—ฌํ•ด ํŠน์ • ๋ฐ์ดํ„ฐ์…‹์—์„œ๋งŒ ์ž˜ ๋™์ž‘ํ•˜๋Š” ๋ชจ๋ธ์ด ์•„๋‹Œ, ์ผ๋ฐ˜์ ์œผ๋กœ ์„ฑ๋Šฅ์ด ์ข‹์€ ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋ผ๊ณ  ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. Validation dataset์€ย ์—ฌ๋Ÿฌ ํ•™์Šต ๋ชจ๋ธ ์ค‘ ๊ฐ€์žฅ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ด๋Š” ๋ชจ๋ธ์„ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•œ ์ฒ™๋„๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, test dataset์€ย ํ•™์Šต๋œ ๋ชจ๋ธ์„ ์ตœ์ข…์ ์œผ๋กœ ํ‰๊ฐ€ํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.์ด ๊ณผ์ • ๋˜ํ•œ ์–ป์–ด๋‚ธ ๋ฐ์ดํ„ฐ๋“ค์„ย ์ž๋™์œผ๋กœ ๋‚˜๋ˆ„์–ด์„œย ํ•™์Šต์„ ์ง„ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Model Training

๋‹ค์Œ ๋‹จ๊ณ„๋Š”ย Model Training(๋ชจ๋ธ ํ•™์Šต)์ž…๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„๋Š”ย Model Build(๋ชจ๋ธ ์ƒ์„ฑ)ย ๊ณผ์ •์„ ์ดˆ๊ธฐ์—๋งŒ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์•ž์„œ ์„ค๋ช…๋“œ๋ฆฐ Machine Learning Pipeline์˜ Data Ingestion์—์„œ ์ˆ˜์ง‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด Problem Definition์—์„œ ์ •์˜ํ•œ ๋ฌธ์ œ๋ฅผ ๊ฐ€์žฅ ์ž˜ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ด๋–ค ๊ฒƒ์ธ์ง€ ๊ณ ๋ฏผํ•˜๊ณ  ์„ ํƒํ•˜๋ฉฐ ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ชจ๋ธ์„ ์„ค๊ณ„ํ•˜๊ณ  ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.์ดํ›„ ์ƒ์„ฑ๋œ ๋ชจ๋ธ์„ training ํ•˜๋Š” ๊ณผ์ •์„ ์ง„ํ–‰ํ•˜๋Š”๋ฐ ์ด ๋•Œย ํ•™์Šต์— ์‚ฌ์šฉํ•  parameter๋ฅผ ๋‹ค์–‘ํ™”ํ•˜๋ฉด์„œ training์„ ์ง„ํ–‰ํ•˜๋Š” pipeline์„ ๊ตฌ์ถ•ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ดํ›„์— ์„ค๋ช…ํ•  Candidate Model Evalutation๊ณผ ์ง๊ฒฐํ•œ ๋‚ด์šฉ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

Candidate Model Evaluation

๋‹ค์Œ ๋‹จ๊ณ„๋Š”ย Candidate Model Evaluation(ํ›„๋ณด๊ตฐ ๋ชจ๋ธ ํ‰๊ฐ€)์ž…๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ๋Š” ์•ž์„  Model Training ๋‹จ๊ณ„์—์„œ ๋‹ค์–‘ํ•œ parameter๋ฅผ ์ด์šฉํ•ด ํ•™์Šต์„ ์ง„ํ–‰ํ•œ ์—ฌ๋Ÿฌ ํ›„๋ณด๊ตฐ model๋“ค์„ validation dataset์„ ํ†ตํ•ด์„œ ํ‰๊ฐ€ํ•˜์—ฌ ์ตœ๊ณ ์˜ ์„ฑ๋Šฅ์„ ๋‚ด๋Š” model์„ ์„ ํƒํ•˜๊ณ , ๊ทธ model์„ test dataset์„ ํ†ตํ•ด์„œ ํ‰๊ฐ€ํ•˜๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.์ด ๊ณผ์ •์„ ํ†ตํ•ด ์ตœ์ข…์ ์œผ๋กœ ์ด์ „ ๋‹จ๊ณ„๋ณด๋‹ค ์„ฑ๋Šฅ์ด ์ข‹์€ ํ•™์Šต ๋ชจ๋ธ์ด ๋ฐœ์ƒํ•˜๊ณ  ๋ชจ๋ธ์„ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

Model Deployment

๋‹ค์Œ ๋‹จ๊ณ„๋Š”ย Model Deployment(๋ชจ๋ธ ๋ฐฐํฌ)์ž…๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ๋Š” ์ด์ „๋ณด๋‹ค ์„ฑ๋Šฅ์ด ์ข‹์€ ํ•™์Šต ๋ชจ๋ธ์ด ์ƒ์„ฑ๋˜์—ˆ์œผ๋ฉด ๊ธฐ์กด์˜ ๋ชจ๋ธ ๋Œ€์‹ ์— ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ๋ชจ๋ธ์„ ๋ฐฐํฌํ•˜์—ฌ ์„œ๋น„์Šค์— ์˜ฌ๋ฆฌ๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.

Performance Monitoring

Machine Learning Pipeline์˜ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„๋Š”ย Performance Monitoring(์„ฑ๋Šฅ ํŠธ๋ž˜ํ‚น)์ž…๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ํŠธ๋ž˜ํ‚น์€ ๋ชจ๋ธ์˜ ๋ถ€์ •ํ™•ํ•œ ์ธก๋ฉด์„ ๋ถ„์„ํ•˜๊ณ  ์ •ํ™•ํ•œ ๋ชจ๋ธ๋กœ์˜ ํ•™์Šต์„ ์œ„ํ•ด์„œ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ๊ฐ€๋ น ์„œ๋น„์Šค๊ฐ€ ๋ถ€์ •ํ™•ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์‚ฐ์ถœํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค๋ฉด, ์ •ํ™•ํ•œ ๊ฒฐ๊ณผ์™€ ํ•จ๊ป˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šต์‹œ์ผœ ๋ชจ๋ธ์˜ ์ •ํ™•์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ๋ชจ๋ธ์ด ์‚ฐ์ถœํ•œ ๊ฒฐ๊ณผ๋ฅผ ํŠธ๋ž˜ํ‚นํ•˜๋Š” ๊ฒƒ์€ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๊ฒฐ๊ณผ๋ฅผ ์‚ฐ์ถœํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๊ณ  ๋‹ค์‹œ ๋ชจ๋ธ์˜ ์ •ํ™•๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋กœ ์“ฐ์ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.์ด๋Ÿฌํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ง„ํ–‰ํ•˜๋Š”๋ฐ ๊ถŒ์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€ย ์•Œ๋ฆผ๊ณผ ๋Œ€์‹œ๋ณด๋“œย ๊ธฐ๋Šฅ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
์œ„ 8๊ฐ€์ง€์˜ ๊ณผ์ •์„ ๋ชจ๋‘ ๊ฑฐ์นœ๋‹ค๋ฉด ๋งˆ์ง€๋ง‰ ๊ณผ์ •์ธ Performance Monitoring์—์„œ ์–ป์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ data integration์œผ๋กœ ๋Œ์•„๊ฐ€ ๋ฐ˜๋ณต์„ ํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋ชจ๋ธ์„ ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Machine Learning Pipeline์—์„œ ์ค‘์š”ํ•˜๊ฒŒ ์•Œ์•„๋‘์–ด์•ผ ํ•  ๊ฒƒ์€ ์ด๋Ÿฌํ•œ 8๊ฐ€์ง€๋ฅผ ์ž๋™ํ™”ํ•˜์—ฌ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•ด์•ผํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

Conclusion

Google Developers ๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด, ๋จธ์‹ ๋Ÿฌ๋‹ ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฐ€์ด๋“œ๋ผ์ธ ์ค‘ย โ€œ์ตœ์ดˆ ๋ชจ๋ธ์€ ๋‹จ์ˆœํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ณ  ์ธํ”„๋ผ๋ฅผ ์ œ๋Œ€๋กœ ๊ฐ–์ถฐ๋ผ.โ€๋ผ๋Š” ๊ทœ์น™์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋จธ์‹ ๋Ÿฌ๋‹ ์„œ๋น„์Šค์— ์ฒ˜์Œ ๋ฐœ์„ ๋“ค์ธ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์— ์ดˆ์ ์„ ๋งž์ถ”์–ด ๊ฐœ๋ฐœ์„ ํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋Š”๋ฐ ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ์‹ค์ œ๋กœย ์„ฑ๋Šฅ๋ณด๋‹ค๋Š” ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์˜ ์ž๋™ํ™”๋‚˜ ๊ด€๋ฆฌ๊ฐ€ ๋ฐœ๋ชฉ์„ ์žก์•˜๋˜ ๊ฒฝํ—˜์ด ๋งŽ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ธํ”„๋ผ๋ฅผ ๋”ฐ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋ผ๊ณ  ํ•  ๋งŒํผ ์ธํ”„๋ผ๋ฅผ ์ž˜ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ํ•˜๋‹ˆ ์„œ๋น„์Šค๋ฅผ ๋Ÿฐ์นญํ•˜๊ธฐ ์ „์— ์ฐธ๊ณ ํ•˜์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Reference