Piepline
#
๊ฐ์๋ฐ์ดํฐ๋ถํฐ ML ์์ ํ๊ณ ์๋นํ๋ ๊ฒ๊น์ง ์ผ๋ จ์ ๊ณผ์ ๋ค์ด ๋ฐ๋ณต๋๋ค๋ฉด, ๋ฐ๋ณต๋๋ ๊ณผ์ ๋ค์ ์ํฌํ๋ก์ฐ๋ก ์ ์ํ๊ณ ์๋ํํ์ฌ ๋ชจ๋ธ ๊ฐ๋ฐ์๋ก ํ์ฌ๊ธ ์ข ๋ ๋ชจ๋ธ ๊ฐ๋ฐ์ ์ง์คํ ์ ์๋๋ก ๋์์ฃผ๋ ๊ธฐ๋ฅ์ ๋๋ค.
#
Pipeline ํ ํ๋ฉด#
Pipeline Graph๋ฏธ๋ฆฌ ์ ์๋ Pipeline์ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋ํ ํํ๋ก ๋ณผ ์ ์์ด ์๊ฐ์ ์ผ๋ก ํ์
ํ๊ธฐ ๋งค์ฐ ์ฝ์ต๋๋ค.
๊ทธ๋ํ ๊ฐ ๋
ธ๋๋ฅผ ๋๋ฅด๋ฉด python ์ฝ๋๋ ์ด๋ฏธ์ง ๋ฑ ํด๋น ๋
ธ๋์ ๋ํ ์ ๋ณด๋ฅผ ํ์ธํ์ค ์ ์์ต๋๋ค.
#
Pipeline Yaml๊ทธ๋ํ ๋ฟ๋ง ์๋๋ผ Yaml ํํ๋ก Pipeline ์ ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
#
Pipeline ์ ๋ก๋์ฌ์ฉ์๊ฐ ์ง์ ์ ์ํ Pipeline์ ์ฌ์ฉํ๊ณ ์ถ์ผ๋ฉด ๋ก์ปฌ์์ ์ ์ํ ํ์, ์ฐ์ธก ์๋จ์ Uplaod Pipeline
๋ฒํผ์ ๋๋ฌ ํ์ผ์ ์
๋ก๋ํ์ฌ ์๋ก์ด Pipeline์ ์์ฑํฉ๋๋ค.
#
Pipeline ์คํ ๋จ๊ณPipeline์ ๋จ์ํ ML workflow๋ฅผ ์ ์ํ ๊ฒ์ด๊ณ ์ด๋ฅผ ์คํ์ํค๋ ค๋ฉด Experiment์ Run์ด ํ์ํฉ๋๋ค. ์ฐ๊ตฌ์ค ์์์ ์ฐ๊ตฌ๊ฐ ์งํ๋๋ฏ์ด, Experiments๋ฅผ ์์ฑํ๋ฉด ๊ทธ Experiment๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Run์ ์์ฑํ์ฌ ML workflow๋ฅผ ์คํ์ํต๋๋ค.
#
Experiment ์์ฑ์ฐ์ธก ์๋จ์ Create experiment
๋ฒํผ์ ํด๋ฆญ ํ Experiment ์ด๋ฆ๊ณผ ์ค๋ช
์ ์
๋ ฅํ๊ณ ์์ฑํฉ๋๋ค.
example์ด๋ผ๋ Experiment๊ฐ ์๊ธด ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
#
Run ์์ฑ ๋ฐ ์กฐํ์์ฑํ Experiment๋ฅผ ํด๋ฆญํด์ ์์ผ๋ก ๋ค์ด์ค๋ฉด, ์ ํํ Experiment์ ๋ํ Run์ ์์ฑํ ์ ์์ต๋๋ค.
Pipeline ๋ฑ ํ์ํ ์ ๋ณด๋ฅผ ์ ํํ ๋ค Start
๋ฒํผ์ ๋๋ฌ Run์ ๋ฐ๋ก ์คํ์ํต๋๋ค.
์ ์์ ์ผ๋ก ์์ฑ๋๋ฉด Experiments๋ Run ํญ๋ชฉ์์ ์์ฑ๋ Run์ ํ์ธํ ์ ์์ต๋๋ค.
์์ฑํ Run์ ํด๋ฆญํ์ฌ ํด๋น Run์ ๋ํ ์งํ์ฌํญ ๋ฑ์ ์์ธํ ์ ๋ณด๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
Pipeline ๊ทธ๋ํ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฑ๊ณตํ ๋
ธ๋, ํน์ ์คํจํ ๋
ธ๋๋ฅผ ํด๋ฆญํ์ฌ ํด๋น ๋
ธ๋์ output, log ๋ฑ์ ํ์ธํ ์ ์์ต๋๋ค.
#
Run retry์์ฑํ๋ Run์ ๊ทธ๋๋ก ์ฌ์๋๋ฅผ ํ ์ ์์ต๋๋ค. ์ฐ์ธก ์๋จ์ Retry
๋ฒํผ์ ๋๋ฅด๋ฉด ํ์ฌ Run์ ๋ค์ ์คํ์์ผ ์ค๋๋ค.
#
Run clone run์ด๋ฒ์ ์์ฑํ๋ Run์ ๋ณต์ฌํด์ ์ฌ์คํ์ํต๋๋ค. ์ฐ์ธก ์๋จ์ Clone run
๋ฒํผ์ ๋๋ฅด๋ฉด Run ์์ฑํ๋ฉด์ผ๋ก ๋์ด๊ฐ๋๋ค.
์ฒ์ Run ์์ฑ์ํค๋ฏ์ด ํ์ํ ์ ๋ณด๋ฅผ ์
๋ ฅ ๋ฐ ์์ ํ ํ Start
๋ฒํผ์ ๋๋ฌ ์คํ์์ผ์ค๋๋ค.
์ ์์ ์ผ๋ก ์์ฑ๋๋ค๋ฉด ์๋์ ๊ฐ์ด ์๋ก์ด Run์ด ์์ฑ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
#
Run recurring์ง๊ธ๊น์ง์ Run๋ค์ ํ๋ฒ ์คํ ํ ๋ค ๋๋๋ฉด ๋ฐ๋ก ์ข ๋ฃ๋์์ง๋ง, recurring ๋ชจ๋๋ก Run์ ์คํ์ํค๋ฉด ์ฌ์ฉ์๊ฐ ์ค์ ์ ๋ฐ๋ผ ์ฃผ๊ธฐ์ ์ผ๋ก ๋๊ฐ์ Run์ ์๋์ผ๋ก ์คํ์์ผ ์ค๋๋ค. ์ฃผ๊ธฐ์ ์ผ๋ก ์คํ๋์ด์ผ ํ ML workflow๊ฐ ์๋ค๋ฉด recurring Run ์ฌ์ฉ์ ๊ถ์ฅ๋๋ฆฝ๋๋ค.
#
Recurring run ์์ฑRecurring Runs ํญ๋ชฉ์์ ์ฐ์ธก ์๋จ์ Create run
๋ฒํผ์ ๋๋ฆ
๋๋ค.
์ผ๋ฐ Run ์์ฑํ ๋์ ๊ฐ์ ํ๋ฉด์ด์ง๋ง Run Type
์ Recurring์ผ๋ก ์ ํํ๋ฉด ๋ ํ์ํ ์ต์
์ด ๋ณด์
๋๋ค. ์ต์
์ ๋ค ์
๋ ฅํ๊ณ ๋งจ ๋ฐ์ Start
๋ฒํผ์ ๋๋ฌ recurring run์ ์คํ์ํต๋๋ค.
์ ์์ ์ผ๋ก ์์ฑ๋๋ฉด ํ ๊ฐ์ Recurring run์ ํ์ธํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์คํ ์ค์ธ Run๋ค์ ์ดํด๋ณด๋ฉด 1๋ถ๋ง๋ค recurring run์ด ์คํ๋๊ณ ์๋ ๊ฑธ ํ์ธํ ์ ์์ต๋๋ค.
#
Recurring run disablerecurring run์ ๋ฐ๋ก ์ก์
์ ์ทจํ์ง ์์ผ๋ฉด ๊ณ์ ๋ฐ๋ณต ์คํ๋ฉ๋๋ค. ๋ง์ฝ recurring run์ ๋ฉ์ถ๊ณ ์ถ์ผ๋ฉด disabling ํ์๋ฉด ๋ฉ๋๋ค. ์ฐ์ , Recurring Runs ํญ๋ชฉ์ ์ทจ์ํ๊ณ ์ถ์ recurring run์ ์ ํํ์ ํ ์ฐ์ธก ์๋จ์ Disable
๋ฒํผ์ ๋๋ฌ์ค๋๋ค.
์ ์์ ์ผ๋ก Disable์ด ์ ์ฉ๋๋ฉด recurring run์ Status
๊ฐ Disabled
๋ก ๋ฐ๋๋ฉฐ, ์ด์ ๋ ์ด์ run์ ๋ฐ๋ณต ์คํํ์ง ์์ต๋๋ค.
#
Run ์ญ์ ๋ ์ด์ ํ์์๋ Run์ ์ญ์ ๋ ์ ์๋๋ฐ, ๋ฐ๋ก ์ญ์ ํ๋ ๊ฒ์ด ์๋ ์ฒ์์ Archive
๋ฅผ ํฉ๋๋ค.
์์ ์ญ์ ๋๊ธฐ ์ ์ ์ฐ๋ ๊ธฐํต์ ๋ชจ์ฌ์๊ณ , ๊ฑฐ๊ธฐ์ ๋ณต๊ตฌ ๋๋ ์์ ์ญ์ ํ๋ ๊ฒ์ฒ๋ผ, Archive
๊ฐ ๋๋ฉด Archived
์ ๋ณด๊ด๋๊ณ Archived
์ ์๋ Run๋ค์ ๋ณต๊ตฌํ๊ณ ์ถ์ผ๋ฉด Restore
๋ฒํผ์, ์์ ์ญ์ ํ๊ณ ์ถ์ผ๋ฉด Delete
๋ฒํผ์ ๋๋ฅด์๋ฉด ๋ฉ๋๋ค.
#
ArtifactsPipeline๋ ๊ฒฐ๊ตญ container๋ก ์คํ๋๊ธฐ ๋๋ฌธ์, container๊ฐ ์ข
๋ฃ๋์ ์์ด์ง๋ฉด ์ ๋ณด๋ ๊ฐ์ด ์์ด์ง๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋ณด์ด๊ณ ์ถ์ ์ ๋ณด, Pipeline์ ๊ฒฐ๊ณผ๋ฌผ์ ๋จ๊ธฐ๊ณ ์ถ์ผ๋ฉด Pipeline ์ ์ํ ๋ ์ฝ๋๋ก ์ค์ ํ๋ฉด ๋๊ณ ๊ทธ์ ๋ํ ๊ฒฐ๊ณผ๋ฌผ๋ค์ด Artifacts์ ์ ์ฅ๋ฉ๋๋ค.
#
ExecutionsRun์ผ๋ก ์คํ์์ผฐ๋ workflow๋ค์ด ๊ธฐ๋ก๋๋ ๊ณณ์
๋๋ค. Pipeline ์ ๋ณด์ Artifacts ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.