MLOps의 자동화는 학습→배포→모니터링의 파이프라인 운영이고, AutoML의 자동화는 그 안쪽 모델 빌드 단계를 검색·최적화로 대체합니다. 이 문서는 두 자동화가 어디에서 만나고 어디에서 충돌하는지를, 다이어그램 위주로 정리합니다.
MLOps는 시간(T) 축의 자동화입니다 — 학습→배포→모니터링→재학습이 반복되는 라이프사이클을 안정화합니다. AutoML은 모델 공간(𝒜) 축의 자동화입니다 — 한 번의 학습 라운드 안에서 어떤 모델·하이퍼·아키텍처를 시도할지를 검색합니다. 두 자동화는 직교(orthogonal)하며, 잘 결합될 때 비로소 “모델 카탈로그”가 자가복제하기 시작합니다.
파이프라인은 잘 돌지만, 새로운 도메인·새 라벨·새 분포에 대해 모델 후보 자체를 다시 정해야 할 때 사람이 들어와서 EDA→피처→하이퍼를 손으로 다시 짭니다. CI/CD는 자동인데 모델은 수공예입니다.
좋은 모델은 나오지만 언제 다시 돌릴지·어디로 배포할지·드리프트 검출은 누가 하는지가 비어 있습니다. 한 번 좋은 leaderboard가 박제되어 운영 누수가 생깁니다.
실무에서 “AutoML 도입”은 새 라이브러리 채택보다 기존 MLOps의 학습 단계를 검색 단계로 치환하는 작업에 가깝다. Kubeflow가 있으면 Katib을, Vertex AI가 있으면 AutoML 트레이닝잡을 그 자리에 끼우는 식이다.
“AutoML”이라는 단어 하나가 너무 많은 것을 가리킵니다. 실제 시스템마다 자동화 범위가 다르고, 같은 프레임워크 안에서도 옵션마다 범위가 달라집니다. 아래 다이어그램은 데이터에서 모델까지 흐름을 펼친 뒤, 어떤 단계가 어떤 도구에 의해 자동화되는지를 표시합니다.
모든 HPO 알고리즘은 같은 문제를 풉니다 — 비싼 black-box 함수 val_loss = f(λ)의 최소점을 찾되 호출 횟수를 줄이는 것. 차이는 어디를 다음에 시도할지 결정하는 정책뿐입니다. 같은 2D 손실 표면 위에서 각 알고리즘이 어떻게 점을 찍는지 비교합니다.
차원 d가 작고, 모델 학습이 빠를 때만. 재현성·해석은 최고. d=3만 넘어가도 폭발.
실용적인 베이스라인. 중요한 차원이 소수일 때 grid보다 우수함이 이론·실험 모두 입증(Bergstra & Bengio, 2012).
이전 시도로 surrogate를 학습하고 acquisition function으로 다음 점 선택. Optuna는 기본이 TPE.
“가벼운 학습으로 거른 뒤 살아남은 후보만 길게.” 분산 환경에서는 ASHA가 사실상 표준.
Hyperband의 자원 배분 + 각 bracket 안에서 TPE로 후보 선택. 두 세계를 합친 형태.
여러 학습을 병렬로 돌리며 학습 도중에 하이퍼를 mutation. RL/대형 NN에서 강력. Ray Tune이 기본 지원.
표면이 험하거나 비미분형 metric일 때. CMA-ES는 연속·중차원에서 안정.
학습률 스케줄·손실 가중치 같이 미분 가능한 하이퍼에 한해, hypergradient를 직접 역전파.
학습이 짧고 차원이 적다 → Random으로 충분. 학습이 길다 → ASHA / Hyperband로 자원부터 아껴라. 1회 학습이 정말 비싼 NN에서 분산 자원이 있다 → PBT. 표면이 매끄럽고 호출이 비싸다 → Bayesian. 잘 모르겠으면 Optuna(TPE) + ASHA pruner가 안정적인 기본값이다.
NAS는 만들어진 알고리즘이라기보다 “Search Space × Search Strategy × Performance Estimation”의 조합 카탈로그입니다. 이 셋의 선택이 NASNet · DARTS · EfficientNet · ENAS · Once-for-All 같은 이름들을 만듭니다.
각 edge에 후보 ops {3×3conv, 5×5conv, max-pool, identity, …}를 두고 softmax(α)로 가중합. validation loss를 α에 대해 미분해 SGD로 갱신. 이산 탐색을 연속 공간으로 푸는 트릭이 GPU-day 수준으로 NAS 비용을 끌어내렸다.
단점: skip-connection으로 collapse, 메모리 폭증, 재현 어려움 — PC-DARTS·DARTS+가 보완.
거대한 supernet을 한 번 학습해 두면 그 안의 어떤 sub-net이든 추가 학습 없이 평가·배포 가능. 디바이스 별로 latency 제약을 만족하는 sub-net을 골라낼 수 있어 엣지 배포와 잘 맞는다.
AutoML 시스템이 빨라지는 결정적 이유는 “어디부터 시작할지를 안다”는 점입니다. 메타학습은 이전 데이터셋·과거 실험 결과를 사용해 검색의 시작점, 모델 우선순위, 하이퍼의 사전분포를 결정합니다.
AutoML은 별도 시스템이 아니라 기존 파이프라인의 “학습 단계”를 “검색 단계”로 치환하는 작업입니다. 각 도구가 어디 자리에 들어가는지를 가장 흔한 K8s + Kubeflow + MLflow 조합으로 그렸습니다.
학습 컴포넌트를 그대로 두고 그 자리에 Katib Experiment를 끼우면 됩니다. trial template은 기존 TFJob/PyTorchJob을 그대로 쓰고, suggestion algorithm만 골라주면 됩니다(random/TPE/CMA-ES/HyperBand). 결과 메트릭은 metrics-collector가 stdout/file/Prometheus에서 긁어옵니다.
Optuna/Ray Tune의 callback으로 모든 trial을 같은 실험에 기록하고, best run을 Model Registry로 승격하는 단계만 추가하면 자동화가 닫힙니다. 이때 모델 시그니처와 입력 예제는 반드시 같이 저장 — AutoML이 모델 클래스를 바꿀 때 호환성 사고가 가장 많이 납니다.
AutoML은 “GPU-hour ↔ 모델 품질”의 환율을 명시적으로 만든다. budget-aware로 설계해야 함 — 무한 검색은 무한 비용이다. Kubeflow Katib의 maxTrialCount·maxFailedTrialCount·parallelTrialCount가 그 역할을 한다.
AutoML 생태계는 1) HPO 라이브러리, 2) End-to-end 정형 AutoML, 3) Deep AutoML/NAS, 4) 클라우드 매니지드의 4그룹으로 분리됩니다. 같은 그룹 안에서는 호환 가능, 그룹을 가로지를 땐 “학습 단계 치환” 관점에서 따져야 합니다.
| Framework | Group | HPO | NAS | Tabular E2E | Distributed | 한 줄 메모 |
|---|---|---|---|---|---|---|
| Optuna오픈소스 / Python | HPO library | 강력 | 없음 | 아님 | RDB 백엔드 | TPE 기본 + ASHA pruner. 가장 무난한 기본값. |
| Ray Tune오픈소스 / Ray | HPO library | 강력 | 간접 | 아님 | native | PBT·BOHB 풍부, K8s 분산이 가장 매끄럽다. |
| Kubeflow KatibK8s native | HPO + NAS engine | CRD 기반 | ENAS/DARTS | 아님 | K8s | Kubeflow 스택의 표준 HPO. Trial = 자체 Job. |
| Auto-sklearn오픈소스 | Tabular E2E | SMAC | 없음 | 강력 | 단일 노드 | OpenML 메타학습 portfolio — 시작이 빠르다. |
| AutoGluonAWS · 오픈소스 | Tabular + Multimodal | 제한 | 제한 | 강력 | 분산 학습 | 거의 “튜닝 없이” 강력한 ensemble. 사실상 베이스라인 절대강자. |
| H2O AutoMLH2O.ai | Tabular E2E | 랜덤 | 없음 | 강력 | cluster | JVM 클러스터 기반, 엔터프라이즈 정형 데이터 강함. |
| FLAMLMicrosoft | HPO + Tabular | cost-frugal | 없음 | 강력 | Ray 옵션 | 예산 적을 때 가성비 1위. 모델별 cost를 고려해 검색. |
| AutoKerasKeras 기반 | Deep AutoML | 있음 | 간단 | 제한 | 제한 | 이미지·텍스트 전용 task API가 깔끔. |
| NNIMicrosoft | HPO + NAS | 강력 | DARTS+ | 아님 | K8s 등 | NAS 알고리즘 카탈로그가 가장 풍부. |
| Vertex AI AutoMLGoogle Cloud | Cloud E2E | 매니지드 | 매니지드 | 매니지드 | 매니지드 | 데이터셋 업로드만으로 동작. 비용 통제 어려움. |
| SageMaker AutopilotAWS | Cloud E2E | 매니지드 | 제한 | 매니지드 | 매니지드 | 노트북을 자동 생성해줘 “재현 가능한 AutoML”에 가깝다. |
| Azure AutoMLMicrosoft | Cloud E2E | 매니지드 | 제한 | 매니지드 | 매니지드 | Time-series·NLP 모듈이 잘 갖춰져 있음. |
Kubeflow Pipelines (orchestration) → Katib 또는 Ray Tune (search) → MLflow (tracking · registry) → KServe (serving) → Prometheus + Evidently (monitoring). 정형 데이터 베이스라인은 무조건 AutoGluon으로 한 번 돌리고 시작하라 — 절약되는 시간이 막대하다.
AutoML은 같은 검증셋을 수백 번 본다. 이때의 “best score”는 진짜 일반화 성능이 아니다. 3-way split (train/val/test)에서 test는 검색이 끝난 다음에만 한 번 보고, nested CV를 권장.
NAS가 찾은 “정확도 최고”가 엣지에서 안 돌아간다. 검색 단계에서 latency · 메모리 · 에너지를 multi-objective로 같이 넣어야 한다(NSGA-II 등).
어제까지 LightGBM이던 모델이 오늘 NN으로 바뀌면 서빙 컨테이너·전처리·시그니처가 모두 깨진다. model contract(입력 스키마, 출력 형태, 의존성)를 검색공간 외부에 고정하라.
매니지드 AutoML이 잘 돌면 누구도 모델 내부를 모른다. 사고 시 디버깅 불가. 최소한 최종 모델의 재학습 가능한 코드를 산출물로 받는 도구를 선호하라(SageMaker Autopilot의 노트북 산출물이 좋은 예).
AutoML을 “모델을 대신 만들어주는 도구”가 아니라, “검색을 1급 시민으로 만드는 MLOps 패턴”으로 받아들일 때 도입이 안정적이다. 도입 비용은 라이브러리 학습이 아니라 검색공간 정의·예산 정책·컨트랙트 고정이라는 운영 비용이다.