머신러닝(Machine Learning)

AutoML을 사용하는 이유

leebaro 2022. 9. 13.
728x90

 

현재 가지고 비즈니스 문제를 AutoML을 이용해서 해결하려고 합니다.

 

일반적으로 온프레미스 환경에서 ML로 문제를 해결할 때에는 scikit-learn,Tensorflow, Pytorch, Spark ML 등을 이용하는 경우가 많은데 AutoML을 선택한 이유를 생각해봤습니다.

 

AutoML이란?

먼제 AutoML이 무엇인지 정의해보겠습니다. MS 사이트에 정리된 내용을 발췌했습니다.

자동화된 Machine Learning(자동화된 ML 또는 AutoML이라고도 함)은 시간 소모적이고 반복적인 기계 학습 모델 개발 작업을 자동화하는 프로세스입니다. 데이터 과학자, 분석가 및 개발자는 모델 품질을 유지하면서 확장성, 효율성 및 생산성이 높은 ML 모델을 빌드할 수 있습니다. Azure Machine Learning에서 자동화된 ML은 Microsoft Research 부문의 혁신을 기반으로 합니다.
기존의 기계 학습 모델 개발은 리소스를 많이 사용하므로 수십 개의 모델을 생성하고 비교하는 데 상당한 도메인 지식과 시간이 필요합니다. 자동화된 Machine Learning을 사용하면 프로덕션 준비 ML 모델을 매우 쉽고 효율적으로 얻는 데 걸리는 시간을 단축할 수 있습니다. (출처)

요약하면, 반복적인 개발 작업을 자동화하고, 모델 품질을 유지하며 확장성, 효율성, 생산성이 높은 ML 모델을 만들수 있습니다. 즉, 개발 과정보다 개발 결과인 성능이 좋은 ML 모델에 더 집중을 할 수 있습니다.

 

 

AutoML을 선택한 이유

가장 큰 이유는 데이터 엔지니어링, 데이터 모델링을 할 수 있는 충분한 시간과 사람이 없다는 것입니다. 그래서 AutoML을 이용해서 개발 시간을 최소화하고, 비스니스적으로 성과를 내는 것에 더 시간을 투자할 수 있다고 생각했습니다. 소프트웨어 개발을 예로 들자면 MVP를 만드는 것과 유사하다고 볼 수 있습니다. 일반적인 ML 라이브러리를 이용해서 성능을 높이기 위해서 다양한 하이퍼파라미터를 이해하고, 튜닝 방법을 찾는 대신 현재 보유한 데이터셋으로 빠르게 자동으로 튜닝된 ML모델을 확인하고, 서비스에 적용이 가능한지 판단할 수 있습니다. 어느정도 의미있는 성능이 나온다면 모델을 튜닝하는 시간보단 더 의미있는 학습에 사용할 수 있는 데이터를 찾고 피처 엔지니어링에 시간을 더 시간을 투자할 수 있습니다.

 

 

다양한 AutoML 라이브러리가 있지만, 저는 AutoKeras를 이용해서 비스니즈적인 성과를 낼 수 있는 모델을 만드는 방법에 대해서 다음편에 적어보도록 하겠습니다.

 

 

AutoKeras

AutoKeras: An AutoML system based on Keras. It is developed by DATA Lab at Texas A&M University. The goal of AutoKeras is to make machine learning accessible to everyone. Learning resources import autokeras as ak clf = ak.ImageClassifier() clf.fit(x_train,

autokeras.com

 

728x90