- 목차
- AutoML 이란?
a. AutoML 이란?
b. AutoML 장점
c. AutoML 단점
- AutoML Framework
a. Cloud service AutoML solution
b. Pycaret
c. H20
d. TPOT
- 결론
- ref
1. AutoML(Automated Machine Learning) 이란?
a. AutoML 이란?
- 위키피디아 정의
머신러닝 작업을 자동화하는 프로세스.
AutoML은 데이터 전처리부터 모델링, 배포까지 머신러닝 작업에 있어서 모든 단계가 포함될 수 있다.
- IBM 정의
AutoML은 데이터 전처리, feature engineering, hyperparameter optimization와 같은 데이터 사이언스 파이프의 모든 단계를 단순한 개발 프로세스로 지원할 수 있으며 코드 몇 줄로 머신 러닝 모델을 개발하는 데 필요한 코드를 생성할 수 있는 솔루션입니다.
알테어의 AutoML 설명
AutoML은 단어 그대로 머신러닝 작업을 자동화 시켜주는 프로세스라고 볼 수 있으며
이로 인에 수작업을 간소화 하고 효율성을 증가시켰습니다.
또한 비전문가의 접근성을 향상시킨 개념이라고 볼 수 있습니다.
add point
AutoML 프로세스는 크게 2가지 CASH와 NAS로 나눌 수 있습니다.
- CASH(Combined Algorithm Selection and Hyper-parameter optimization):
모델 선택 및 하이퍼파라미터 최적화를 해결하는 방법론.
전통적인 머신 러닝 알고리즘에 적용.
- NAS(Neural Architecture Search):
문제 해결에 적합한 인공 신경망 구조를 자동으로 탐색하여 최적의 Arcitecture를 탐색하는 방법론.
딥러닝 모델의 구조를 설계하는데 적용.
b. AutoML 장점
- 생산성 증가: 데이터 전처리가 완료된 데이터에 대해서 여러 모델링을 학습하는 반복 작업을 대신 해주기 때문에 생산성이 증가합니다.
- 쉬운 접근성: ML 모델링에 대한 깊은 이해가 없더라도 대표적인 ML 모델은 전부 학습해서 Score를 산출해 주기 때문에 사용자 입장에서는 비교적 쉽게 모델링을 진행할 수 있습니다.
- 개발 속도 향상: 앞서 말한 생산성 증가 및 쉬운 접근성으로 인해 프로토타입 모델 개발에 있어서 빠른 개발 속도의 이점이 있습니다.
c. AutoML 단점
- 높은 컴퓨팅 자원 소모: 많은 알고리즘과 하이퍼파라미터 조합을 탐색하기 때문에 많은 양의 컴퓨팅 자원이 필요하며 이는 데이터셋의 크기가 커질수록 증가합니다.
- 데이터 전처리 한계: 어느 정도 수준의 데이터 전처리 작업은 자동화가 가능하지만 높은 수준의 도메인 지식을 필요로 하거나 복잡한 데이터 전처리가 필요할 경우 여전히 전문가의 핸들링이 필요합니다.
- 결측치/이상치 대응: 해당 문제 역시 데이터 전처리의 한계라 볼 수 있으며 결측치/이상치에 대해 적절히 처리가 불가능하거나 오류가 발생할 수 있습니다.
- 모델 블랙박스 이슈: 모델 선택 및 hyperparameter tuning을 자동으로 진행했기 때문에 모델 선택에 대한 근거 확인이 어려우며 모델 해석 가능성과 투명성을 감소시킵니다.
2. 대표적인 AutoML
a. Cloud service AutoML solution
Cloud 서비스를 가지고 있는 it 대기업들은 각자 AutoML solution을 가지고 있는것으로 보인다.
- Microsoft Azure

- Google Cloud에서 AutoML을 활용하는 기업

- Amazon에서 제공하는 AutoML 솔루션(Amazon Segemaker Autopilot)

b. Pycaret
Pycaret에서 제공하는 model / score report
대표적인 머신러닝 모델들을 간편하게 코드로 실행할 수 있는 python 라이브러리.
다양한 모델에 대한 Score를 비교할 수 있으며
일부 모델들을 선택하여 ensamble model을 만들 수 있다.
c. H20
H20에서 제공하는 feature importance
고성능 머신 러닝을 위한 오픈 소스 플랫폼.
다양한 머신러닝/딥러닝 모델을 제공하며 분산 컴퓨팅 환경에서 효율적으로 작동함.
python과 R에서 사용 가능.
d. TPOT
TPOT에서 사용하는 Genetic Programming 개념
TPOT(Tree-based Pipeline Optimaization Tool)
scikit-learn 라이브러리를 사용하여 머신러닝 알고리즘 지원.
최적화된 파이프라인을 .py 코드 형태로 저장할 수 있어서 재사용이 용이함.
Genetic Programming 개념을 사용함.
- Genetic Programming: 진화 생물학에서 영감을 받은 최적화 알고리즘으로 자연 선택의 원리를 이용해 최적의 파이프라인을 찾는 방법론.

3. 결론
- AutoML은 머신러닝 작업을 자동으로 해주는 프로세스
- 프로세스 범위는 데이터 전처리 / 모델링 / 하이퍼파라미터 최적화 / 배포
- AutoML의 등장으로 비전문가도 Ai 개발 접근성을 향상시켰다.
(단, 여전히 전문가는 필요하다.)
4. ref