[서비스개발팀 한현준]
What is AutoML
AutoML이란 말 그대로 Auto + ML 즉, 기계 학습 모델 개발 작업을 자동화 하는 프로세스입니다. 모델을 연구 개발에 있어서 많은 시간을 소요 했던 과정들을 자동화하여 필요한 인력, 비용, 시간을 줄이는 것 뿐만 아니라 최적의 성능을 찾아내는 일까지 전반적인 프로세스에 도움을 줍니다. 주로 인공지능을 만들기 위해 별도의 인공지능을 사용하여 모델링 및 자동화하는 개념으로 쓰이고 있습니다.
Why AutoML
AutoML은 ML연구의 많은 부분에서 자동화를 통해 보완해주고 있으며 관련 연구가 꾸준히 진행되고 있습니다. 다음은 AutoML를 통해 기대되는 몇 가지 장점에 대해 소개하겠습니다.
시간 및 비용 절약
ML 모델을 연구/개발하고 실제 서비스를 하기까지는 많은 과정을 거치게 됩니다. 데이터와 목적만 알려주고 알아서 모델링이 되고 그 모델이 모든 문제를 훌륭하게 해결하면 좋겠지만 현실은 데이터 수집부터 시작해서 데이터 전처리/정제, 특징 추출, 모델 선택, 모델 훈련, 모델 최적화, 서비스 적용하기까지 여러 분야의 전문가들의 많은 노력과 시간이 소요됩니다. 또한 이 과정에서 많은 반복과 시행착오를 필연적으로 겪게 되며, 이를 통해 코스트는 더욱 증대됩니다. 하지만 AutoML은 HPO, NAS 등의 부분을 자동화하여 시간과 비용을 줄이는데 도움을 줍니다.
광범위한 전문 지식 없이 ML 구현 가능
ML모델을 개발하기 위해서는 데이터 과학자, AI 엔지니어, 도메인 전문가 등 많은 전문가들이 필요합니다. 그러나 현실은 수요에 비해 여전히 전문가의 공급이 부족하고 규모가 작은 기업일수록 더욱 AI 관련 전문가들을 구하기 어려워집니다.
AutoML은 이런 수요와 공급의 비대칭적 상황에서도 전문가의 도움 없이 스스로 개발에 필요한 분석과 수정을 반복하며 모델을 만들어 낼 수 있기 때문에 약간의 AI의 지식 갖추고 있다면 비전문가라도 비교적 쉽게 인공 지능 모델을 만들어 낼 수 있습니다.
더 나은 성능
구글에서 공개한 AutoML-Zero는 모델 연구자의 개입을 최소화 하여 고효율의 모델을 효과적으로 개발하도록 설계되어 있습니다. 고등학교 수준의 기본적인 수학 개념을 바탕으로 자동으로 진화하는 알고리즘을 사용하여 방식입니다. AutoML-Zero는 수학 연산을 무작위로 조합해 후보 알고리즘을 생성하고 간단한 테스트로 후보 알고리즘 중에서 최적의 알고리즘을 골라냅니다. 그리고 알고리즘의 코드의 일부를 추가, 삭제, 교체를 통해 돌연변이 버전을 만들어 내고 중복 되는 알고리즘은 삭제합니다. 이렇게 생성된 알고리즘이 성능이 좋다면 저장을 하고 아니면 제거 됩니다. 이러한 방식으로 찾아낸 알고리즘이 사람이 개입한 알고리즘보다 더 좋은 성능을 가진 모델을 디자인 할 수 있었습니다.
결론
현재 AutoML은 전반적인 AI 분야의 과정을 대체해 가고 있습니다. 이미지 분야에서는 AutoML을 적용하여 EfficientNet처럼 데이터는 더 적으면서도 성능은 더 뛰어난 모델이 나왔고, 기업들도 점점 AutoML을 적용해나가고 있는 추세입니다. 앞으로는 AutoML이 발전함에 따라 기업들의 접근성이 좋아져서 다양한 서비스가 우리 생활에 AI가 좀 더 깊숙이 파고들 것입니다. 하루가 다르게 변화하는 AI 분야에서 향후 어떠한 수준까지 이르게 될 지 귀추가 주목됩니다.
Reference
https://docs.microsoft.com/ko-kr/azure/machine-learning/concept-automated-ml
https://scienceon.kisti.re.kr/srch/selectPORSrchArticle.do?cn=JAKO201962652079515&dbt=NART
https://arxiv.org/pdf/2003.03384
http://www.aitimes.com/news/articleView.html?idxno=133783