{"id":62850,"date":"2022-11-08T11:23:40","date_gmt":"2022-11-08T02:23:40","guid":{"rendered":"https:\/\/smilegate.ai\/?p=62850"},"modified":"2022-11-08T11:23:42","modified_gmt":"2022-11-08T02:23:42","slug":"ml-%eb%aa%a8%eb%8d%b8-lifecycle-%ea%b4%80%eb%a6%ac-mlflow","status":"publish","type":"post","link":"https:\/\/smilegate.ai\/cn\/2022\/11\/08\/ml-%eb%aa%a8%eb%8d%b8-lifecycle-%ea%b4%80%eb%a6%ac-mlflow\/","title":{"rendered":"ML \ubaa8\ub378 Lifecycle \uad00\ub9ac – MLflow"},"content":{"rendered":"
[\ubd84\uc11d\uc9c0\ub2a5\uac1c\ubc1c\ud300 \ubc15\ud6a8\uc8fc]<\/p>\n\n\n\n
ML \ubaa8\ub378\uc758 Lifecycle\uc740 \uc5f0\uad6c \ubc0f \ud14c\uc2a4\ud2b8\ub97c \uc9c4\ud589\ud558\ub294 Research \ub2e8\uacc4<\/strong>\uc640 \uc2e4\uc81c \uc11c\ube44\uc2a4\ud654\ud558\ub294 Production \ub2e8\uacc4<\/strong>\ub85c \ub098\ub20c \uc218 \uc788\uc2b5\ub2c8\ub2e4. Research \ub2e8\uacc4\uc5d0\uc11c\ub294 \ubb38\uc81c \uc815\uc758\ubd80\ud130 \ubaa8\ub378 \uc120\uc815, \uc131\ub2a5\uc744 \ub192\uc774\uae30 \uc704\ud55c \ub2e4\uc591\ud55c \uc2e4\ud5d8 \ub4f1\uc744 \uc9c4\ud589\ud558\uac8c \ub429\ub2c8\ub2e4. \uc774\ub54c\ub294 \ub2f9\uc7a5\uc758 \uc11c\ube44\uc2a4\ud654\ub294 \uace0\ub824\ud558\uc9c0 \uc54a\uace0 \ubaa8\ub378 \uc131\ub2a5\uc744 \ucd5c\ub300\ud55c \ub192\uc77c \uc218 \uc788\ub294 \ubc29\ubc95\ub9cc\uc744 \uace0\ubbfc\ud569\ub2c8\ub2e4. Production \ub2e8\uacc4\uc5d0\uc11c\ub294 \uac00\uc7a5 \ub192\uc740 \uc131\ub2a5\uc758 \ubaa8\ub378\uc774 \ud559\uc2b5\ub41c \ud658\uacbd\uc744 \uad00\ub9ac\ud558\uace0 Versioning\ud574\uc11c \ubc30\ud3ec \ud658\uacbd\uc5d0 \uadf8\ub300\ub85c \uc801\uc6a9\ub420 \uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc774\ub54c\ub294 \ubaa8\ub378\uc744 \ucd5c\ub300\ud55c \ube60\ub974\uace0 \uc548\uc815\uc801\uc73c\ub85c \ubc30\ud3ec\ud558\ub294 \ubc29\ubc95\ub9cc\uc744 \uace0\ubbfc\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n \ub450 \ub2e8\uacc4\ub294 \uc11c\ub85c \ubaa9\ud45c\uac00 \ub2e4\ub974\uae30 \ub54c\ubb38\uc5d0 \uac01\uc790\uc758 \uc5ed\ud560\ub3c4 \ub2e4\ub985\ub2c8\ub2e4. Research \ub2e8\uacc4\ub294 ML Researcher(\ud639\uc740 Data Scientist)\uac00, Production \ub2e8\uacc4\ub294 ML Engineer\uac00 \uc9c4\ud589\ud558\uac8c \ub429\ub2c8\ub2e4. \ub530\ub77c\uc11c ML Researcher\uac00 ML Engineer\uc5d0\uac8c \ubaa8\ub378\uc744 \uc804\ub2ec\ud558\ub294 \uacfc\uc815<\/strong>\uc774 \uc790\uc5f0\uc2a4\ub7fd\uac8c \uc774\ub8e8\uc5b4\uc9c0\ub294 \uac83\uc774 \ubb3c \ud750\ub974\ub4ef \uc790\uc5f0\uc2a4\ub7ec\uc6b4 \ubaa8\ub378 Lifecycle \uad00\ub9ac\uc758 \ud575\uc2ec\uc785\ub2c8\ub2e4. \uc9c0\uae08\uae4c\uc9c0 \uc124\uba85\ud55c \uc774 Lifecycle\uc744 MLflow\ub97c \uc774\uc6a9\ud574 \uad00\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n MLflow\ub294 ML \ubaa8\ub378\uc758 Lifecycle\uc744 \uad00\ub9ac\ud558\ub294 \ud50c\ub7ab\ud3fc\uc785\ub2c8\ub2e4. \ub0b4\ubd80\uc5d0\ub294 Tracking<\/strong>, Projects<\/strong>, Models<\/strong>, Model Registry<\/strong> 4\uac00\uc9c0 \ucef4\ud3ec\ub10c\ud2b8\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n Tracking<\/strong><\/p>\n\n\n\n Tracking\uc740 ML Researcher\uac00 \uc9c4\ud589\ud55c \ub2e4\uc591\ud55c \uc2e4\ud5d8\uc758 parameters, metrics, artifacts \ub4f1\uc744 \ub85c\uae45\ud558\uae30 \uc704\ud55c API \ubc0f UI\uc785\ub2c8\ub2e4. ML Researcher\ub294 \uae30\uc874 \uc2e4\ud5d8 \ucf54\ub4dc\uc5d0 \ub2e8 2\uc904(run, log_model)\ub9cc \ucd94\uac00\ud574\ub3c4 \uc704\uc5d0\uc11c \uc5b8\uae09\ud55c \uc815\ubcf4\ub4e4\uc744 \uc804\ubd80 \ub85c\uae45\ud560 \uc218 \uc788\uc73c\uba70, \ucf54\ub4dc\ub97c \ucd94\uac00\ud574\uc11c \ucee4\uc2a4\ud140\ud55c \ub85c\uae45\ub3c4 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n\n\n Tracking\uc740 \ub85c\uceec \ud658\uacbd\uc5d0\uc11c \uad6c\ucd95\ud558\ub294 \ubc29\ubc95\ubd80\ud130 \uc11c\ubc84\uc640 DB\ub97c \uad6c\ucd95\ud558\ub294 \ubc29\ubc95\uae4c\uc9c0 6\uac00\uc9c0 \uc2dc\ub098\ub9ac\uc624\ub85c \ub098\ub20c \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \uacf5\uc2dd \ubb38\uc11c\uc758 \u201cHow Runs and Artifacts are Recorded\u201d \ubd80\ubd84(https:\/\/www.mlflow.org\/docs\/latest\/tracking.html#how-runs-and-artifacts-are-recorded)\uc744 \ucc38\uace0\ubc14\ub77c\uba70, ML Researcher\uc640 ML Engineer \uac04\uc758 \uc6d0\ud65c\ud55c \ud611\uc5c5\uc744 \uc704\ud574\uc11c\ub294 \ucd5c\uc18c \uacf5\uc2dd \ubb38\uc11c\uc5d0 \uc788\ub294 \uc2dc\ub098\ub9ac\uc6244 \uc774\uc0c1\uc758 \uc544\ud0a4\ud14d\ucc98 \uad6c\uc131\uc744 \ucd94\ucc9c\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n Projects<\/strong><\/p>\n\n\n\n Projects\ub294 \ucf54\ub4dc\ub97c \uc7ac\uc0ac\uc6a9 \ubc0f \uc7ac\ud604 \uac00\ub2a5\ud55c \ubc29\uc2dd\uc73c\ub85c \ud328\ud0a4\uc9d5\ud558\uae30 \uc704\ud55c \ud3ec\ub9f7\uc785\ub2c8\ub2e4. Dockerfile\uacfc \uc720\uc0ac\ud55c \ud615\ud0dc\uc758 MLproject \ud30c\uc77c\uc5d0 python \ubc84\uc804, \ud328\ud0a4\uc9c0, \ub3c4\ucee4 \ucee8\ud14c\uc774\ub108 \ub4f1\uc758 \uc815\ubcf4\ub97c \uc785\ub825\ud558\uace0 \uc2e4\ud589\ud560 \ucee4\ub9e8\ub4dc\ub97c \uc800\uc7a5\ud569\ub2c8\ub2e4. \uc774\ub54c parameters \uc815\ubcf4\ub97c \uc678\ubd80\uc5d0\uc11c \uc785\ub825 \uac00\ub2a5\ud558\ub3c4\ub85d \uc124\uc815\ub3c4 \uac00\ub2a5\ud569\ub2c8\ub2e4. Python \ud328\ud0a4\uc9c0\ub294 \uae30\ubcf8\uc801\uc73c\ub85c conda\uac00 \uc801\uc6a9\ub418\uc9c0\ub9cc pip\ub3c4 \uc0ac\uc6a9 \uac00\ub2a5\ud569\ub2c8\ub2e4. \uc774 MLproject\ub97c \uc774\uc6a9\ud574\uc11c \ud558\ub098\uc758 project \ub2e8\uc704\ub85c \uad00\ub9ac\uac00 \uac00\ub2a5\ud574\uc9d1\ub2c8\ub2e4.<\/p>\n\n\n Models<\/strong><\/p>\n\n\n\n Models\ub294 \ub2e4\uc591\ud55c \ud504\ub808\uc784\uc6cc\ud06c\ub85c \ud559\uc2b5\ud55c \ubaa8\ub378\uc744 \ud328\ud0a4\uc9d5\ud558\uae30 \uc704\ud55c \ud45c\uc900 \ud3ec\ub9f7\uc785\ub2c8\ub2e4. ML Researcher \ub9c8\ub2e4 \uc120\ud638\ud558\ub294\ud504\ub808\uc784\uc6cc\ud06c\uac00 \ub2e4\ub97c \uc218 \uc788\ub294\ub370, \ud45c\uc900 \ud3ec\ub9f7\uc73c\ub85c \ud328\ud0a4\uc9d5\ud568\uc73c\ub85c\uc368 \ub2e4\uc591\ud55c \ud504\ub808\uc784\uc6cc\ud06c\ub85c \ud559\uc2b5\ub41c \ubaa8\ub378\uc744 \ub3d9\uc77c\ud55c MLflow \ucf54\ub4dc\ub97c \uc0ac\uc6a9\ud574\uc11c \ubc30\ud3ec\ud560 \uc218 \uc788\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n\n Model Registry<\/strong><\/p>\n\n\n\n Model Registry\ub294 \ubaa8\ub378\uc758 Lifecycle \uad00\ub9ac\ub97c \uc704\ud55c \uc911\uc559 \uc9d1\uc911\uc2dd \ubaa8\ub378 \uc800\uc7a5\uc18c\uc785\ub2c8\ub2e4. \uc55e\uc11c \uc2e4\ud5d8\uc744 \ud1b5\ud574 \ud559\uc2b5\ub41c \ubaa8\ub378\uc744 \ub4f1\ub85d\ud558\uace0 \uac01 \ubaa8\ub378\uc758 \ubc84\uc804\uacfc Stage(Production, Staging, Archived) \uc815\ubcf4 \ub4f1\uc744 \uad00\ub9ac\ud569\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \ubaa8\ub378 \uc11c\ube59 \ud504\ub808\uc784\uc6cc\ud06c\uc5d0\uc11c\ub294 Production \ubaa8\ub378\ub9cc \ubc14\ub77c\ubcfc \uc218 \uc788\uac8c \ub418\uace0, Staging\uc744 \ud1b5\ud574 \ubaa8\ub378\uc744 \ubc30\ud3ec\ud558\uae30 \uc804\uc5d0 A\/B \ud14c\uc2a4\ud2b8\ub97c \uac70\uccd0 Production \ubaa8\ub378\ub85c \ubcc0\uacbd\ud560 \uc218 \uc788\uac8c \ub429\ub2c8\ub2e4. \uc774 \uacfc\uc815\uc774 ML Researcher\uac00 \uc2e4\ud5d8 \uacb0\uacfc \ubaa8\ub378\uc744 Staging\uc73c\ub85c \uc62c\ub9ac\uba74 ML Engineer\uac00 A\/B \ud14c\uc2a4\ud2b8\ub97c \uac70\uccd0 Production\uc73c\ub85c \ubc30\ud3ec\ud558\ub294 \uacfc\uc815\uc774 \ub429\ub2c8\ub2e4.<\/p>\n\n\n ML \ubaa8\ub378\uc758 Lifecycle\uc744 \uc6d0\ud65c\ud558\uac8c \uc6b4\uc601\ud558\uae30 \uc704\ud574\uc11c\ub294 ML Researcher\uc640 ML Engineer\uc758 \uc6d0\ud65c\ud55c \ud611\uc5c5\uc774 \ud544\uc218\uc785\ub2c8\ub2e4. \uc774\ub97c \uc704\ud574 MLflow\uc640 \uac19\uc740 ML Lifecycle \uad00\ub9ac \ud50c\ub7ab\ud3fc\uc744 \uc801\uadf9 \ud65c\uc6a9\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n \u53c2\u8003<\/strong><\/p>\n\n\n\n [\ubd84\uc11d\uc9c0\ub2a5\uac1c\ubc1c\ud300 \ubc15\ud6a8\uc8fc] ML \ubaa8\ub378\uc758 Lifecycle\uc740 \uc5f0\uad6c \ubc0f \ud14c\uc2a4\ud2b8\ub97c \uc9c4\ud589\ud558\ub294 Research \ub2e8\uacc4\uc640 \uc2e4\uc81c \uc11c\ube44\uc2a4\ud654\ud558\ub294 Production \ub2e8\uacc4\ub85c \ub098\ub20c \uc218 \uc788\uc2b5\ub2c8\ub2e4. Research \ub2e8\uacc4\uc5d0\uc11c\ub294 \ubb38\uc81c \uc815\uc758\ubd80\ud130 \ubaa8\ub378 \uc120\uc815, \uc131\ub2a5\uc744 \ub192\uc774\uae30 \uc704\ud55c \ub2e4\uc591\ud55c \uc2e4\ud5d8 \ub4f1\uc744 \uc9c4\ud589\ud558\uac8c \ub429\ub2c8\ub2e4. \uc774\ub54c\ub294 \ub2f9\uc7a5\uc758 \uc11c\ube44\uc2a4\ud654\ub294 \uace0\ub824\ud558\uc9c0 \uc54a\uace0 \ubaa8\ub378 \uc131\ub2a5\uc744 \ucd5c\ub300\ud55c \ub192\uc77c \uc218 \uc788\ub294 \ubc29\ubc95\ub9cc\uc744 \uace0\ubbfc\ud569\ub2c8\ub2e4. Production \ub2e8\uacc4\uc5d0\uc11c\ub294 \uac00\uc7a5 \ub192\uc740 \uc131\ub2a5\uc758 \ubaa8\ub378\uc774 \ud559\uc2b5\ub41c \ud658\uacbd\uc744 \uad00\ub9ac\ud558\uace0 Versioning\ud574\uc11c…<\/p>\n