๋ณธ ํฌ์คํธ๋ ์ ๊ฐ ํด๋จผ์ค์ผ์ดํ ๊ธฐ์ ๋ธ๋ก๊ทธ์ ๋จผ์ ์์ฑํ๊ณ ์ฎ๊ธด ํฌ์คํธ์
๋๋ค.
๋ณธ ํฌ์คํธ์์๋ 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 ๋ฌธ์์ ๋ฐ๋ฅด๋ฉด, ๋จธ์ ๋ฌ๋ ์๋น์ค๋ฅผ ๊ตฌ์ถํ๋ ๊ฐ์ด๋๋ผ์ธ ์คย โ์ต์ด ๋ชจ๋ธ์ ๋จ์ํ๊ฒ ์ ์งํ๊ณ ์ธํ๋ผ๋ฅผ ์ ๋๋ก ๊ฐ์ถฐ๋ผ.โ๋ผ๋ ๊ท์น์ด ์์ต๋๋ค. ์ค์ ๋ก ๋จธ์ ๋ฌ๋ ์๋น์ค์ ์ฒ์ ๋ฐ์ ๋ค์ธ ๊ฐ๋ฐ์๊ฐ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ์ด์ ์ ๋ง์ถ์ด ๊ฐ๋ฐ์ ํ๋ ๊ฒฝํฅ์ด ์๋๋ฐ ๊ฐ๋ฐ์ ํ๋ฉด์ ์ค์ ๋กย ์ฑ๋ฅ๋ณด๋ค๋ ๊ฐ๋ฐ ํ๊ฒฝ์ ์๋ํ๋ ๊ด๋ฆฌ๊ฐ ๋ฐ๋ชฉ์ ์ก์๋ ๊ฒฝํ์ด ๋ง๋ค๊ณ ํฉ๋๋ค. ์ธํ๋ผ๋ฅผ ๋ฐ๋ก ํ
์คํธ๋ฅผ ํ๋ผ๊ณ ํ ๋งํผ ์ธํ๋ผ๋ฅผ ์ ๊ตฌ์ถํ๋ ๊ฒ์ด ์ค์ํ๋ค๊ณ ํ๋ ์๋น์ค๋ฅผ ๋ฐ์นญํ๊ธฐ ์ ์ ์ฐธ๊ณ ํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.