
버즈빌의 ML 플랫폼 Buzzflow (1) - 모델을 개발하고 관리하기
두줄요약
Buzzflow는 YAML·래퍼·MLflow로 ML 파이프라인 개발과 모델 저장소를 표준화했습니다. 로컬 디버깅, CI 권한 관리, Airflow 기반 실행과 실패 모니터링도 구성했습니다.
문제 상황
- SageMaker Pipeline 컨벤션 부재와 개인별 상이한 파이프라인 구현
- MLflow와 SageMaker Model Registry 혼용, 프로덕션 파이프라인 권한 관리 부재
- 프레임워크별로 불일치하는 SDK 파라미터에 따른 학습 부담과 인지 부하
구조와 흐름
- 모델 코드는 코드로 관리하고 파이프라인은 YAML 명세로 분리
- OmegaConf 기반 YAML 파싱·변수 보간, Pydantic 기반 입력 검증
- 추상화 래퍼에서 SageMaker Pipeline 구성요소 생성 후 SageMaker 반영
- 공용 패키지, CLI·슬랙봇, GitHub Actions CI로 개발·실행·변경 흐름 구성
선택 이유
- YAML 기반 통일된 컨벤션과 공통 기능 패키지화로 재사용성 강화
- NetworkPolicy 등 래퍼로 Processor·Estimator 간 설정 차이 은닉
- 워크플로우 도구 교체 시 YAML 수정 없이 생성 코드 변경만으로 마이그레이션 가능
- 모델 저장소를 MLflow로 통일하고 experiment manager로 연결 설정 간소화
성능/운영 포인트
- Docker 기반 로컬 모드와 Prometheus·cAdvisor로 빠른 디버깅 및 인스턴스 리소스 측정
- 리서치·프로덕션 분리와 PR 리뷰, main 브랜치 기반 자동 파이프라인 생성
- Airflow 트리거로 동적 입력과 데이터 파이프라인 완료 연동 지원
- EventBridge·SNS·Lambda·CloudWatch 기반 실패 알림과 로그 전송

