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

๐Ÿ“– ์ฟ ๋ธŒํ”Œ๋กœ ์šด์˜ ๊ฐ€์ด๋“œ

Chanho Lee
๋‹ค์–‘ํ•œ ๋ถ„์•ผ๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋Š” ํ•™์ƒ
์ •๋ณด

ํ•œ๋น›๋ฏธ๋””์–ด <๋‚˜๋Š” ๋ฆฌ๋ทฐ์–ด๋‹ค> ํ™œ๋™์„ ์œ„ํ•ด์„œ ์ฑ…์„ ์ œ๊ณต๋ฐ›์•„ ์ž‘์„ฑ๋œ ์„œํ‰์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋ฆฌ๋ทฐ์–ด๋‹ค 2022

Book Infoโ€‹

ํŒ

์ฑ… ์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญํ•˜๋ฉด ๊ต๋ณด๋ฌธ๊ณ  ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค!

์ฑ…

  • ์ œ๋ชฉ: ์ฟ ๋ธŒํ”Œ๋กœ ์šด์˜ ๊ฐ€์ด๋“œ
  • ์ €์ž: Josh Patterson, Michael Katzenellenbogen, Austin Harris
  • ์—ญ์ž: ๊น€์†Œํ˜•
  • ์ถœํŒ์‚ฌ: ํ•œ๋น›๋ฏธ๋””์–ด
  • ์ถœ๊ฐ„: 2022-01-31

Book Reviewโ€‹

Introductionโ€‹

์ตœ๊ทผ ๋ช‡ ๋…„ ๋™์•ˆ MLOps๊ฐ€ ๋œจ๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes)๋Š” ๊ฐ€์žฅ ์ธ๊ธฐ์žˆ๋Š” ๊ธฐ์ˆ ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Kubeflow๋Š” ๊ทธ๋Ÿฐ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ML workflow๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์„ ๋‹จ์ˆœํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๋Š” ๋ฐ ๋ชฉํ‘œ๋ฅผ ๋‘” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ตœ๊ทผ Airflow๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ๊ณต๋ถ€ํ•˜๋ฉด์„œ Kubeflow์— ๋Œ€ํ•ด์„œ๋„ ๊ด€์‹ฌ์ด ์ƒ๊ฒผ๋Š”๋ฐ ๋งˆ์นจ ์ด๋Ÿฐ ์ข‹์€ ์ฑ…์„ ์ฝ์„ ๊ธฐํšŒ๊ฐ€ ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ๊ตฌ์„ฑ ์†Œ๊ฐœโ€‹

์ฒ˜์Œ 3๊ฐœ์˜ Chapter๋Š” Kubeflow์— ๋Œ€ํ•œ ๊ฐœ๋…์ ์ธ ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. Kubeflow๊ฐ€ ์™œ ๋“ฑ์žฅํ•˜๊ฒŒ ๋๊ณ , Kubeflow ์•„ํ‚คํ…์ฒ˜, ์–ด๋–ค ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ๋“ฑ์— ๋Œ€ํ•ด ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ์ด ๋ถ€๋ถ„๊ณผ KFServing์„ ์‚ฌ์šฉํ•˜๋Š” Chapter 8, ๋ถ€๋ก์ด ์ฝ๊ธฐ ๊ฐ€์žฅ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค.

Chapter 4๋ถ€ํ„ฐ Chapter 7๊นŒ์ง€๋Š” ๋ณธ๊ฒฉ์ ์œผ๋กœ Kubeflow ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค. ์˜จํ”„๋ ˆ๋ฏธ์Šค์™€ 3๊ฐ€์ง€์˜ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Chapter 8์€ Kubeflow์˜ ํ•ต์‹ฌ ๋ชจ๋ธ ๊ด€๋ฆฌ ๊ตฌ์„ฑ ์š”์†Œ์ธ KFServing์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. KFServing์— ๋Œ€ํ•œ ๊ฐœ๋…, ์‚ฌ์šฉ ์‹œ ์ด์ , KFServing์— ๋ชจ๋ธ ๋ฐฐํฌ ๋ฐฉ๋ฒ• ๋“ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

ํด๋ผ์šฐ๋“œ์—์„œ Kubeflow ํ™˜๊ฒฝ ๊ตฌ์ถ•โ€‹

GCP, AWS, Azure์˜ ๊ฐ ์„œ๋น„์Šค์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ณ  Kubeflow ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฐ–๊ณ  ์žˆ์œผ์‹  ๋ถ„๋“ค๊ป˜๋Š” ๋„์›€์ด ๋˜๋Š” ๋‚ด์šฉ์ด์ง€๋งŒ, ๋„ˆ๋ฌด ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์— ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์— ์ดˆ์ ์ด ๋งž์ถฐ์ ธ ์žˆ์–ด์„œ ๊ทธ๋Ÿฐ์ง€ ์‹ค์ œ ์‚ฌ์šฉ ์˜ˆ์ œ๊ฐ€ ์—†๋‹ค๋Š” ๊ฑด ๋งค์šฐ ์•„์‰ฌ์› ์Šต๋‹ˆ๋‹ค. ํด๋ผ์šฐ๋“œ์—์„œ Kubeflow ํ™˜๊ฒฝ์„ ๊ตฌ์ถ• ํ›„ ์ง์ ‘์ ์œผ๋กœ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด Kubeflow Documentation์—์„œ ์ œ๊ณตํ•˜๋Š” MNIST image classification์„ ๋”ฐ๋ผ ํ•ด๋ณด์‹œ๋Š” ๊ฑธ ์ถ”์ฒœํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ด ์˜ˆ์‹œ๋„ AWS SDK์ธ boto3, GCP SDK์ธ Cloud SDK์— ๋Œ€ํ•œ ์‚ฌ์ „ ์ง€์‹์ด ํ•„์š”ํ•˜๊ธฐ์— ์ „๋ฐ˜์ ์ธ ํด๋ผ์šฐ๋“œ ๊ณต๋ถ€๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€์ ์ธ ์ •๋ณดโ€‹

์ด ์ฑ…์— ๋‹ด๊ธด ๋‚ด์šฉ๋“ค ์ด์™ธ์—๋„ Kubeflow์™€ ๊ด€๋ จ๋œ ์ˆ˜๋งŽ์€ ์ •๋ณด๋“ค์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ์ฑ… ํ•œ ๊ถŒ์—์„œ ๋ชจ๋‘ ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์ง€ ๋ชปํ•˜๊ธฐ์— ๊ทธ๋Ÿฐ ์ •๋ณด๋“ค์€ ๊ฐ์ฃผ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๊ณต๋ถ€๋ฅผ ์œ„ํ•ด ๊ฐ€์ด๋“œ๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋Š๋‚Œ์ด๋ผ ๊ฐœ์ธ์ ์œผ๋กœ ๋„์›€์ด ๋๋˜ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

๋Œ€์ƒ ๋…์žโ€‹

๊ฐœ์ธ์ ์œผ๋กœ ์ด ์ฑ…์€ ์ €์—๊ฒŒ ๊ฝค ์–ด๋ ค์šด ์ฑ…์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์™œ ๊ธฐ์—…์—์„œ MLOps ์ธํ„ด, ์‹ ์ž… ํฌ์ง€์…˜์ด ํ”ํ•˜์ง€ ์•Š์€์ง€ ์•Œ๋ ค์ฃผ๋Š” ์ฑ…์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ๊ฑธ ์˜ค๋Š˜๋„ ๋Š๋ผ๋„ค์š”.

์ด ์ฑ…์€ MLOps์— ๊ด€์‹ฌ ์žˆ์œผ๋ฉฐ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค, ML์— ๋Œ€ํ•ด ์ดํ•ด๋„๊ฐ€ ์žˆ๋Š” ์—”์ง€๋‹ˆ์–ด๊ฐ€ ์ฝ์œผ์‹œ๋Š” ๊ฑธ ์ถ”์ฒœํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ํŠนํžˆ DevOps ์—”์ง€๋‹ˆ์–ด, ML ์—”์ง€๋‹ˆ์–ด, ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด ๋“ฑ์˜ ํฌ์ง€์…˜์— ์žˆ์œผ์‹  ๋ถ„๋“ค์ด ์ฝ์œผ์‹œ๋ฉด ๋„์›€์ด ๋  ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.