2020년 이후부터 데이터에서 비즈니스 가치를 최대한 추출하기 위해 인공지능과 머신 러닝을 위한 데이터 모델을 추적하고 데이터 셋을 제어하면서 생산 라이프사이클을 최적화하기 위한 자동화 프로세스를 고민하게 되었다.
MLOps와 데브옵스: 유사성과 차이점
사실 MLOps, DataOps, AIOps 모두 데브옵스의 개념과 관련이 있는 것으로 볼 수 있는데 이는 기본적으로 소프트웨어를 구축, 관리, 유지, 검사, 배포하는 프로세스를 효율적이면서 정확하게 하겠다는 아이디어에서 출발했다.
데브옵스가 기본적으로 개발의 생산성과 운영의 안정성을 최적화하기 위한 방법이자 조직 운영 방식의 변화라면 MLOps는 머신 러닝 운영을 위해 운영팀과 연구자들 사이에서 머신 러닝 모델의 관리, 로지스틱스, 배포를 단순화하기 위한 것이다. 기본적으로 데브옵스를 머신 러닝 분야에 적용한 것으로 볼 수 있지만, 차이점은 머신 러닝이 작동하는 방식에서 비롯한다.
이를 이해하기 위해서는 머신 러닝 파이프라인의 기본 특성이 무엇인지 알아야 하는데, 가트너에 따르면 전형적인 머신 러닝 파이프라인은 다음과 같다.
MLOps는 데이터 학습, 테스팅, 배포를 자동화할 수 있어서 전체 작업 프로세스를 훨씬 더 효율화할 수 있고, 데이터 과학자나 머신 러닝 연구자들이 더 많은 프로젝트와 모델 개발을 할 수 있다. 이 프로세스를 상세히 표시한다면 엔비디아가 제시한 아래 모델을 생각할 수 있다. 크게 보면 데이터를 수집하는 과정과 데이터를 사용할 수 있게 준비하는 과정, 그리고 모델을 학습 및 평가 후 배포하는 과정으로 볼 수 있다. 엔비디아는 MLOps를 머신 러닝, 애플리케이션 개발, IT 운영을 결합한 통합적 접근이라고 정의하고 있다.
데이터는 수집 후 정제해 머신 러닝 모델에 사용할 수 있게 라벨링을 하고 검수하는 과정이 필요하며 이렇게 준비된 머신 러닝 대응 데이터셋으로 모델을 학습한 후 평가하고 시스템 검증을 해야 한다. 이후 성능 평가를 통해 추가 데이터 수집이 필요할 수 있으며 이를 지속적으로 수행하는 과정이 반복될 수 있다.
이런 기능은 이제 클라우드 컴퓨팅 서비스의 일부로 제공하고 있으며, 머신 러닝을 전략적 기술로 생각하는 기업은 점점 다양한 유형의 MLOps 서비스 또는 도구를 사용해 자체적으로 인공지능 연구와 개발을 하고 있다.
머신 러닝을 기업에서 사용하려고 하면 MLOps는 이제 선택의 주제가 아니라 어떻게 효과적으로 구현할 것인가를 고민해야 한다. 기업의 입장에서는 머신 러닝 모델이나 코드는 전체 시스템의 극히 일부분이며 전체 시스템을 생각해야 한다. 구글은 2015년 논문에서 머신 러닝 코드와 다른 시스템 컴포넌트의 관계를 설명했고 이를 다시 구글 클라우드에서 재해석했다.
위 개념도를 보면 머신 러닝 코드 외의 다른 시스템은 구성, 자동화, 데이터 수집, 데이터 확인, 테스트 및 디버깅, 리소스 관리, 모델 분석, 프로세스 및 메타데이터 관리, 제공 인프라, 모니터링으로 구성된다. 이런 시스템을 관리 운영하기 위해서는 결국 데브옵스의 원칙을 적용하게 되는 것이다.
그러나 데브옵스가 지속적 통합과 지속적 배포의 개념을 갖고 있더라도 MLOps는 데브옵스가 갖고 있지 않은 특성이 있으며 그 차이를 잘 이해해야 한다. 데브옵스의 지속적 통합 및 지속적 배포(CI/CD) 원칙이 MLOps에서는 머신 러닝 고유의 문제를 더 고려해야 한다.
- 지속적 통합은 코드와 구성 요소만 테스트하고 검증하는 것이 아니라 데이터, 데이터 스키마, 모델도 테스트와 검증해야 한다.
- 지속적 배포는 모델 예측 서비스 같은 다른 서비스를 자동으로 배포해야 하는 시스템이다.
- 지속적 학습은 머신 러닝 시스템의 고유한 속성으로 후보 모델을 자동으로 재학습하는 것을 말한다.
- 지속적 모니터링은 오류를 잡아내는 것뿐 아니라 프로덕션 추론 데이터 및 비즈니스 성과와 관련된 모델 성능 측정 항목을 모니터링하는 것을 포함한다.
구글은 이 외에도 데브옵스와 MLOps의 차이를 다음과 같은 측면에서 바라보고 있다.
- 팀 기술: 팀이 보유한 기술이 탐색적 데이터 분석, 모델 개발, 실험에 중점을 두는 데이터 과학자나 머신 러닝 연구원 중심이다. 서비스 빌드를 가능하게 하는 소프트웨어 엔지니어가 없을 수도 있다는 점을 지적한다.
- 개발: 머신 러닝은 특성, 알고리즘, 모델링 기법, 매개 변수 구성을 다양하게 시도해 문제에 가장 적합한 것을 최대한 빨리 찾아내야 한다. 개발 과정에서 도전 과제에 효과가 있었던 것을 추적하고 코드 재사용성을 극대화하면서 재현성을 유지한다.
- 테스트: 머신 러닝 시스템 테스트는 다른 소프트웨어 시스템 테스트보다 더 복잡하다. 일반적인 단위 및 통합 테스트 외에도 데이터 검증, 학습된 모델 품질 평가, 모델 검증이 필요하다.
- 배포: 모델을 자동으로 재학습시키고 배포하기 위해 다단계 파이프라인을 배포해야 할 수 있다. 복잡성을 추가하는 이 파이프라인을 사용하면 데이터 과학자가 배포하기 전 새 모델을 학습시키고 검증하기 위해 수동으로 수행되어야 하는 단계를 자동화해야 한다.
- 프로덕션: 머신 러닝 모델은 최적화되지 않은 코딩뿐만 아니라 지속적으로 진화하는 데이터 프로필로 인해 성능이 저하될 수 있다. 즉, 모델이 다양한 방식으로 손상될 수 있기 때문에 이러한 저하를 고려해야 하며, 데이터의 요약 통계를 추적하고 모델의 온라인 성능을 모니터링하여 값이 기대치를 벗어나면 알림을 전송하거나 롤백해야 한다.
대형 클라우드 기업인 아마존이나 구글 역시 MLOps 분야에 많은 자원을 투입하고 있다. AWS의 세이지메이커와 구글의 버텍스 AI가 대표적인 대형 MLOps 제품이며, 이 보고서 시리즈를 통해서 소개한 바 있다.
MLOps 스타트업 현황
MLOps를 내세운 전문 기업에 대한 투자와 인수 합병도 최근 1~2년 동안 활발히 일어났다. 기업용 인공지능 플랫폼 개발자인 데이터 로봇은 2021년에 알고리드미아(Algorithmia)를 인수했으며, 그 이전에는 패러렐M을 인수했다. 데이터 로봇은 이를 기반으로 최근 AI 클라우드 8.0을 발표하기도 했다. 인텔도 cnvrg.io라는 이스라엘 기반 회사를 2020년에 인수했다.
엔비디아는 최근 웨이츠 앤 바이어시즈(W&B)에 투자를 했으며 이 회사는 잘 설계된 종합 실험 추적 서비스를 제공해 20만 명 이상의 머신 러닝 연구자가 사용할 정도로 인지도가 높다. 주요 고객으로는 오픈AI, 엔비디아, 리프트, BMW, 삼성전자, 퀄컴, 도요타 등이 있다.
코멧은 우버, 자포스, 오토데스크, CERN 등이 사용하는 MLOps 전문 기업이다. 이 회사의 아티팩트(Artifacts)는 문서 버전 관리처럼 사용할 수 있는 데이터 버전 관리 도구, 데이터 변경 이력을 알 수 있게 해주며 기계학습 파이프라인에서 업무를 할 때 데이터별 스냅샷을 자동으로 버전화할 수 있다. 바꿀 때마다 모델 훈련에 사용하는 데이터가 어떻게 바뀌어 왔는지 데이터 사이언티스트가 알 수 있으며 학습에서 모델 데이터와 최종 프로덕션 데이터를 비교할 수도 있다. 코멧은 지금까지 투자 누적 금액이 7천만 달러에 달한다.
사실 2021년까지 MLOps 영역에서는 스타트업이 활발하게 등장했다. 뉴 릴릭의 수석 연구자 오리 코헨이 발표한 ‘MLOps 현황’ 보고서에 따르면 MLOps 관련 기업의 88%가 스타트업이다. MLOps 스타트업의 평균 투자 규모는 1억 천만 달러에 달하며, 가장 많은 기업이 투자받은 영역은 ML 플랫폼이고, 데이터 모니터링이 두 번째, ML 모니터링이 세 번째이다.
MLOps 회사의 절반가량은 데이터 옵스와 데이터 엔지니어링에 집중하고 있으며, 이 영역에 투자된 금액은 35억 달러에 달하며 MLOps 투자의 93%가 이 분야에서 이루어지고 있다. 데이터 과학자나 머신 러닝 엔지니어를 위한 영역은 두 번째로 집중하는 분야이며 마이크로소프트 애저와 IBM 오픈스케일이 여기에 초점을 맞추고 있다.
대부분의 MLOps 스타트업은 테이블 유형의 데이터에 먼저 집중하고 있으며 다른 데이터 타입으로 확장하고 있다. 추가로 데이터 품질, 데이터 무결성, 파이프라인 무결성을 내세우는 기업도 있다.
코헨은 MLOps가 프라이빗 에퀴티 투자자에게 좋은 기회를 제공하고 있다고 보고 있는데, 특히 인수 합병을 통한 통합의 기회가 많아질 것으로 본다. 대형 기업은 중간 수준의 기업을 매수할 것이고 중간 규모는 작은 기업을 인수해 대형 기업에 보다 더 좋은 가치를 받고자 할 것이라고 본다.
데브옵스를 위한 인공지능 AIOps
AIOps는 때로는 MLOps와 혼동하기도 하지만 완전히 다른 주제이다. 오라일리에서 나온 ‘MLOps 도입 가이드’를 보면 ‘AIOps는 인공지능을 활용하여 운영상의 다양한 도전 과제를 해결하는 절차다.’라고 정의 하면서 데브옵스를 위한 인공지능을 활용하는 것을 의미한다고 한다. IBM에서도 AIOps는 인공지능을 사용하여 IT 운영 관리를 단순화하고 복잡한 최신 IT 환경에서 문제 해결을 가속화하고 자동화하는 것을 의미한다고 정의한다.
AIOps를 활용하는 사례로는 다음과 같은 것을 제시하고 있다.
- 여러 IT 인프라 구성 요소, 애플리케이션, 성능 모니터링 도구를 통해 생성되는 방대한 양의 작업 데이터를 수집하고 집계한다.
- 시스템 성능 및 가용성 문제와 관련된 중요한 이벤트 및 패턴을 식별하기 위해 ‘노이즈’에서 ‘신호’를 지능적으로 심층 조사한다.
- 근본 원인을 진단하고 신속한 대응 및 조치를 위해 IT 팀에 보고한다. 또는 몇몇 경우에 사용자 개입 없이 자동으로 이러한 문제를 해결한다.
사실 AIOps는 2017년 가트너에서 제안한 용어로 빅데이터와 머신 러닝을 결합해 이벤트 상관관계, 이상 감지 및 인과 관계 결정을 포함한 IT 운영 프로세스의 자동화를 의미한다. 주니퍼 네트웍스에서는 이를 네트워크와 시스템 사고에 신속 대응하는 기술 플랫폼과 프로세스를 의미한다고 자신의 사업 영역에 적용하고 있다.
AIOps가 IT 운영 프로세스의 자동화를 위해서 확보해야 하는 빅데이터에는 다음과 같은 것이 있다.
- 히스토리 성능 및 이벤트 데이터
- 실시간 운영 이벤트 스트리밍
- 시스템 로그 및 메트릭
- 패킷 데이터를 포함한 네트워크 데이터
- 사건 관련 데이터 및 티켓팅
- 관련 문서 기반 데이터
이런 데이터를 기반으로 집중 분석과 머신 러닝 기능을 적용하는데, 여기에는 노이즈에서 중요한 이벤트 경보 구분, 근본 원인 파악 및 솔루션 제안, 실시간 사전 해결을 포함한 대응 자동화, 지속적 학습을 통한 향후 문제점 처리 향상 등의 적용 내용이 있다.
AIOps를 통해서 얻을 수 있는 이점은 수동 조사 경우보다 속도 저하나 가동 중단을 빠르게 식별, 처리, 해결할 수 있다는 점이다. 다시 말해, 더 신속한 평균 해결 시간(MTTR) 달성, 사후가 아닌 선도적인 대응을 통한 예측 관리, IT 운영과 운영팀의 현대화를 얻을 수 있다.
IBM은 이를 위해 IBM 클라우드 팩 포 왓슨 AIOps를 제공하며, 구글은 액티브 어시스턴트를 통한 클라우드 운영 최적화와 비용 절감, 성능 향상, 보안 강화와 지속 가능한 의사 결정을 위한 지능형 도구 포트폴리오를 제시하고 있다. 아마존 AWS는 아마존 데브옵스 구루(Guru)라는 서비스를 통해 애플리케이션의 운영 성능 및 가용성을 개선하게 도와주고 있다. 마이크로소프트의 애저에서는 AIOps와 AI-지원 플랫폼을 묶어서 클라우드를 위한 인공지능으로 제시하고 있으며 시스템을 위한 인공지능과 데브옵스를 위한 인공지능, 고객을 위한 인공지능을 나누어서 그 역할과 효과를 제시하고 있다.
2022년 4월 더 인사이트 파트너스가 발행한 ‘AIOps 플랫폼 마켓’에 따르면 전 세계 AIOps 플랫폼 시장 규모는 2028년까지 199.3억 달러로 성장할 것으로 보는데 이는 2021년 28억 3천만 달러에서 평균 32.2% 성장률을 보일 것이라는 예측이다.
이 시장은 플랫폼과 서비스, 실시간 분석, 인프라 관리, 네트워크와 보안 관리, 애플리케이션 성능 관리 등의 애플리케이션, 온-프레미스와 클라우드에 대한 배포, 그리고 산업군에 따른 시장으로 나누어질 것으로 본다.
여러 전문 업체 역시 이 시장에서 다양한 서비스와 솔루션을 제시하고 있는데, 스플렁크는 IT서비스 인텔리전스라는 서비스로 사고에 대한 예측, 판독, 해결을 한 곳에서 해결할 수 있음을 보여주고 있다. 마이크로 포커스는 멀티 클라우드 및 온-프레미스에 대한 자동 탐색, 모니터링, 문제 해결 등을 SaaS 방식으로 제공하고 있고, 브로드컴은 OI 콜렉터를 사용해 구글 클라우드 플랫폼을 모니터링하는 방식을 소개하고 있다.
AIOps는 이름 때문에 MLOps와 유사 개념인 것으로 오해받지만, MLOps가 데브옵스의 개념을 머신 러닝 파이프라인에 적용하고 확장하는 것이라면 AIOps는 데브옵스를 포함한 기존의 IT 운영 방법론에 인공지능을 적용해 한 단계 성숙하게 만들고자 하는 노력이라고 이해하면 된다.
[divide style=”2″]
[box type=”note”]
본 글은 한국지능정보사회진흥원의 지원을 받아 작성되었으며, 디지털서비스 이용지원시스템에 동시 게재합니다.
[/box]