AI 시스템 구축: 도구
ㅁ 도구
ㅇ 정의:
머신러닝(ML) 모델의 학습, 배포, 모니터링 등을 자동화하고 효율적으로 관리하기 위해 사용하는 소프트웨어 프레임워크 또는 플랫폼. 데이터 파이프라인 구축, 모델 실험 관리, 워크플로우 스케줄링 등을 지원함.
ㅇ 특징:
– 복잡한 ML 워크플로우를 시각화 및 자동화 가능
– 재현성과 확장성이 높음
– 다양한 인프라(Kubernetes, 클라우드, 온프레미스) 지원
– 모델 버전 관리 및 실험 추적 가능
ㅇ 적합한 경우:
– 반복적인 ML 학습/배포 업무가 많은 경우
– 대규모 데이터와 다수의 모델 실험을 관리해야 하는 경우
– 협업 환경에서 파이프라인 공유가 필요한 경우
ㅇ 시험 함정:
– 단순한 데이터 전처리 도구와 혼동
– 특정 도구의 기능을 과대/과소 해석
– “모델 학습만” 지원하는 도구와 “엔드투엔드 파이프라인” 지원 도구 혼동
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Kubeflow는 Kubernetes 기반의 ML 파이프라인 오케스트레이션 도구이다.”
X: “MLflow는 Kubernetes 전용 파이프라인 실행 엔진이다.” (→ MLflow는 Kubernetes 전용이 아님)
================================
1. Kubeflow
ㅇ 정의:
Kubernetes 환경에서 머신러닝 워크플로우를 배포, 관리, 확장할 수 있도록 설계된 오픈소스 플랫폼.
ㅇ 특징:
– Kubernetes 네이티브 아키텍처
– 파이프라인 구성 요소를 컨테이너 단위로 관리
– 분산 학습 및 하이퍼파라미터 튜닝 지원
– 다양한 ML 프레임워크(TensorFlow, PyTorch 등)와 호환
ㅇ 적합한 경우:
– 클라우드 네이티브 환경에서 ML 파이프라인 운영
– 대규모 분산 학습 필요
– 컨테이너 기반 MLOps 환경 구축
ㅇ 시험 함정:
– Kubeflow가 클라우드 전용이라고 착각
– 단순히 모델 학습만 지원하는 도구로 오해
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Kubeflow는 Kubernetes를 기반으로 ML 파이프라인을 관리한다.”
X: “Kubeflow는 로컬 PC에서만 동작하는 ML 툴이다.”
================================
2. MLflow
ㅇ 정의:
머신러닝 실험 추적, 모델 패키징, 배포, 레지스트리 관리 등을 지원하는 오픈소스 플랫폼.
ㅇ 특징:
– 실험(Parameters, Metrics, Artifacts) 추적 기능
– 모델 포맷 표준화(MLmodel)
– 다양한 배포 옵션(REST API, Docker, 클라우드) 제공
– 프레임워크에 종속되지 않음
ㅇ 적합한 경우:
– 다양한 알고리즘과 프레임워크 혼합 사용 시
– 모델 버전 관리와 실험 재현성 확보 필요 시
– 경량화된 MLOps 환경 구축
ㅇ 시험 함정:
– MLflow가 파이프라인 오케스트레이션 기능까지 포함한다고 오해
– 특정 프레임워크 전용이라고 착각
ㅇ 시험 대비 “패턴 보기” 예시:
O: “MLflow는 모델 실험과 배포를 지원하는 프레임워크 독립형 플랫폼이다.”
X: “MLflow는 TensorFlow 모델만 관리할 수 있다.”
================================
3. TFX
ㅇ 정의:
TensorFlow Extended의 약자로, TensorFlow 기반의 엔드투엔드 머신러닝 파이프라인을 구축하고 배포하기 위한 오픈소스 플랫폼.
ㅇ 특징:
– 데이터 검증, 변환, 모델 학습, 서빙까지 일관된 파이프라인 제공
– TensorFlow와 긴밀한 통합
– 파이프라인 실행을 위한 Apache Beam, Kubeflow와 연동 가능
– 프로덕션 환경 최적화
ㅇ 적합한 경우:
– TensorFlow 중심의 ML 개발 환경
– 데이터 품질 관리와 모델 서빙이 중요한 경우
– Google Cloud 환경과 연계
ㅇ 시험 함정:
– TFX가 TensorFlow 없이도 완벽히 작동한다고 오해
– 단순한 데이터 전처리 라이브러리로 착각
ㅇ 시험 대비 “패턴 보기” 예시:
O: “TFX는 TensorFlow 모델 개발과 배포를 위한 엔드투엔드 파이프라인을 지원한다.”
X: “TFX는 PyTorch 모델을 기본 지원한다.”
================================
4. Airflow
ㅇ 정의:
Apache Airflow는 워크플로우 스케줄링과 모니터링을 위한 오픈소스 플랫폼으로, ML 파이프라인뿐 아니라 다양한 데이터 파이프라인에 활용 가능.
ㅇ 특징:
– DAG(Directed Acyclic Graph) 기반 태스크 관리
– 다양한 연동 플러그인 제공
– 스케줄링 및 모니터링 기능 강력
– Python 코드 기반 파이프라인 정의
ㅇ 적합한 경우:
– ETL, 데이터 파이프라인과 ML 파이프라인 혼합 관리
– 주기적인 작업 스케줄링 필요
– 복잡한 의존 관계 파이프라인 관리
ㅇ 시험 함정:
– Airflow가 ML 전용이라고 착각
– 실시간 스트리밍 처리 도구로 오해
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Airflow는 DAG 기반의 워크플로우 스케줄링 도구이다.”
X: “Airflow는 실시간 스트리밍 데이터 처리를 위한 플랫폼이다.”
================================
5. SageMaker
ㅇ 정의:
AWS에서 제공하는 완전관리형 머신러닝 서비스로, 데이터 준비부터 모델 학습, 배포, 모니터링까지 지원.
ㅇ 특징:
– AWS 인프라와 완전 통합
– AutoML, 하이퍼파라미터 튜닝, 모델 호스팅 기능 제공
– 다양한 내장 알고리즘과 프레임워크 지원
– 서버리스 환경에서 모델 배포 가능
ㅇ 적합한 경우:
– AWS 클라우드 환경에서 ML 프로젝트 수행
– 인프라 관리 부담을 줄이고 싶은 경우
– 빠른 프로토타이핑 및 배포 필요
ㅇ 시험 함정:
– SageMaker가 오픈소스라고 착각
– 클라우드 외 환경에서 동일하게 동작한다고 오해
ㅇ 시험 대비 “패턴 보기” 예시:
O: “SageMaker는 AWS에서 제공하는 완전관리형 ML 서비스이다.”
X: “SageMaker는 로컬 환경에서만 작동하는 오픈소스 ML 플랫폼이다.”
================================
제가 보기에, 이 자료를 실제 시험 대비용으로 활용하려면 각 도구별 **출제 포인트**와 **유사 도구 비교**를 표로 정리해 드릴 수도 있습니다. 원하시면 이어서 만들어 드릴까요?