본문 바로가기

AI Feed
Tech & Product/AI, 더 깊게

글로벌 MLOps 및 ML 도구 분야의 플레이어들 1/2

이번 글은 오스트리아 소재의 MLOps 전문 회사 MLReef의 블로그를 재구성한 내용입니다.

수 백여 개의 MLOps 솔루션을 조사하고 전문가의 관점을 세워 분석한 상세 내용은 아래 링크에서 확인할 수 있습니다.
Global MLOps and ML tools landscape by Camillo Pachmann / Feb 16 2021 ↗


인공지능을 비즈니스에 적용하고 기존의 IT 시스템과 연계하여 끊김없이 운영하기 위해서는 인공지능 특화 기술 요소와 환경 구축이 필요합니다. 2015Google이 발간한 논문 ‘Hidden Technical Debt in Machine Learning Systems' 에서는 인공지능 시스템 구축 시 고려해야할 위험 요소와 잠재된 기술 부채를 다루고 있으며 인공지능 분야에서 꾸준히 인용되고 있습니다.

MLOps 솔루션은 인공지능 기반 어플리케이션과 서비스를 만들기 위한 ML(Machine Learning) 모델 개발 업무 포함 데이터 관리, 실험 추적, 모델 배포와 스케일링 등 주요한 관련 활동을 지원하는 도구를 제공하여 인공지능 도입에 잠재된 기술 부채를 최소화 할 수 있는 방안으로 고려되고 있습니다.  

많은 시장 예측 리포트에서는 MLOpsAutoML과 더불어 인공지능 분야에서 가장 큰 성장을 할 솔루션으로 지목하고 있습니다. 이처럼 인공지능 분야의 필수 솔루션으로 자리매김하고 있는 MLOps 도구, 플랫폼들은 어떤 서비스를 제공하고 있는지 그리고 MLOps 분야에는 어떤 플레이어들이 활동하고 있는지 몇몇 자료들을 통해 알아보도록 하겠습니다.


MLOps 플랫폼이 제공하는 서비스 기준

ML 라이프사이클을 4단계의 영역으로 구분하여 영역별 ML 업무를 나열하였습니다. 이를 기준으로 각 MLOps 플랫폼이 어떤 ML 업무를 지원하는 지를 체계적으로 검토할 수 있습니다. 또는, 기업이 직면한 ML 자원과 개발 환경의 이슈를 해결해 줄 솔루션 선별에 체크리스트로 활용이 가능할 것 같습니다.

 ML 라이프사이클의 주요 4개 영역은 다음과 같습니다.  

1. Data Management: 데이터를 탐색, 관리 그리고 생성을 위한 모든 ML 중심 업무

2. Modeling: 데이터 처리 부터 학습 모델 검증까지 모든 파이프라인 관련 업무

3. Continuous Deployment: MLOps“Ops”부분에 관련된 모든 업무 모델 론칭, 모니터링 그리고 모델 안정화 등

4. Computing & Resources: 컴퓨팅과 자원 관리와 관련된 모든 활동 및 기능

그리고 ML 라이프사이클의 각 영역 별 ML 업무(Task)를 지원하는 도구를 다음과 같이 세분화 하고 있습니다.

1. Data Management
   - Data exploration and management:
데이터를 탐색, 관리, 저장 그리고 구성 관련 지원
   - Data labeling: 학습용 데이터셋을 만들기 위한 레이블링 지원
   - Data streaming: 방대한 양의 데이터를 데이터 파이프라인에 직접적으로 로드하기 위한 데이터 스트리밍 지원
   - Data version control: 데이터의 버전 컨트롤 지원 - 이는 모델의 성능을 좌우하는 구성요소로써 매우 중요하며, 데이터의 변경과 거버넌스 검토가 핵심입니다.
   - Data privacy: 데이터 비식별화, 암호화, 그리고 안정적인 데이터 스토리지 등을 포함
   - Data quality checks

2. Modeling
   - Notebook / ML code management: 개발자의 노트북이나 ML 운영을 탐색, 관리, 저장 지원
   - Data processing and visualization: 대용량 데이터 분석을 위한 전용 데이터 처리와 시각화 파이프라인 제공
   - Feature engineering: 전용 피처 엔지니어링 및 저장 지원
   - Model training: ML 모델을 학습하기 위한 전용 기능과 파이프라인 제공
   - Experiment tracking: 모델 학습에서 측정항목을 추적, 비교 및 기록하는 방법을 제공
   - Model / Hyperparameter optimization: 모델의 하이퍼파라미터를 최적으로 구성할 수 있도록 검색할 수 있는 도구
   - Auto ML: 아키텍처, 데이터 및 하이퍼파라미터를 기반으로 이상적인 모델 구성을 자동화 하는 프로세스 - 모델 최적화의 진화된 방법이지만 항상 적용 가능한 것은 아님.
   - Model management: 모델 저장, 아티팩트 관리 및 모델 버전 관리를 포함한 관리 도구
   - Model evaluation: 모델의 예측 성능을 측정 하며 여기에는 필요한 컴퓨팅 리소스, 대기시간 검사 및 취약성 측정 지원
   - Model explainability: 딥러닝 모델의 아키텍처, 테스트 데이터와 쌍을 이루는 가중치 분포, 히트맵 등을 분석하여 모델 설명을 위한 전용 기능 제공

3. Continuous Deployment
   - Data flow management: 추론 중 데이터 플로우를 자동화 하고 관리 가능하게 해주며 모델의 성능과 안정성 이슈를 측정
   - Feature transformation: 새로운 데이터가 수집되면 모델이 학습했던 인풋 데이터의 형식으로 변환되어야 함, 추론 중에도 모델 학습과 유사한 프로세스를 지원
   - Monitoring: 데이터 분포 혹은 컴퓨팅 성능의 편차가 비즈니스 로직에 직접적 영향을 주듯 모델 성능 모니터링도 매우 중요
   - Model compliance and audit: 모델 출처의 투명성 제고와 관련된 업무 지원
   - Model deployment and serving: 모델 배포 기능을 통합하는 도구
   - Model validation: 다른 프레임워크, 라이브러리 혹은 언어와 호환될 수 있도록 모델을 조정

4. Computing & Resources
   - Computing and data infrastructure(Servers): 클라우드 자원 제공
   - Environment management: 개발 환경 관리 기능 제공
   - Resource allocation: 컴퓨팅 자원, 스토리지 볼륨 등 서로 다른 자원을 관리할 수 있도록 지원
   - Scaling: 배포된 모델 및 컴퓨팅 작업의 탄력적 스케일링을 제공하는 도구
   - Security & privacy: 모델을 프러덕션에 배포할 때 보안 표준을 높일 수 있도록 관리 기능 제공

이상 ML 관련한 업무 및 이를 수행하기 위해 필요한 지원과 기능을 알아보았습니다. 실제 현업에서는 인공지능 도입 시 어떤 고민과 어려움을 겪고 계신가요?  

인공지능 전용 온-프레미스 자원 활용과 ML 학습 관리 솔루션이 필요하시다면