IDC 마켓스케이프 보고서에서 MLOps 플랫폼 부문 리더 제품으로 선정된 ‘SAS Model Manager’,
DataRobot, Databricks, Dataiku, Domino Data Lab등에 성능 우위 입증
다양한 비즈니스 영역에서 머신러닝의 적용이 점차 활기를 띄며 증가하고 있는 가운데, 많은 IT 리더들은 인공지능과 머신러닝 기술을 선택하고 구현하기 위한 필수 기술로 ‘모델 옵스(이하 ModelOps)’를 지목하고 있습니다. AI타임즈에 따르면, 전문가들도 ModelOps가 알고리즘의 조합을 결정하고, 지속적인 비즈니스 가치를 보장한다고 평가하고 있다고 합니다.
MLOps(Machine Learning Operations) 플랫폼 분야의 대표적인 솔루션으로 어떤 제품이 떠오르십니까? SAS Model Manager가 생각나시나요?
지난 1월, IDC MarketScape는 처음으로 MLOps (Machine Learning Operations) 플랫폼에 대한 평가 리포트를 발표했습니다. MarketScape 리포트 [그림1참조]에서 IDC는 SAS를 MLOps(Machine Learning Operations) 플랫폼 부문 리더로 선정했습니다. SAS Model Manager는 DataRobot, Databricks, Dataiku, Domino Data Lab, Microsoft, AWS 및 GCP등 다른 업체를 능가한다는 평을 받았습니다.
[그림 1] IDC Marketscape : 2022 전세계 MLOps 플랫폼 벤더 평가 결과
약15년 전쯤 SAS는 모델의 적절한 거버넌스, 관리 및 유지관리의 필요성을 인식하고, ModelOps를 위한 솔루션으로 SAS Model Manager를 출시했습니다.
그 이후로 SAS Model Manager는 계속 발전해 왔습니다. SAS Model Manager의 새로운 특징과 기능은 매달 출시됩니다. 자, 그럼 지금부터는 왜 SAS Model Manager가 ModelOps/MLOps를 위한 최고의 솔루션으로 생각되는지 그 이유를 말씀드리겠습니다.
ModelOps/MLOps란?
ModelOps와 MLOps라는 두 용어는 종종 같은 의미로 사용되지만 중요한 차이점이 있습니다. SAS에서는 ModelOps를 기계 학습, 그래프, 룰, 최적화, 언어 및 에이전트 기반 모델을 포함한 모든 모델의 거버넌스 및 수명 주기 관리를 위한 기업용 솔루션으로 정의합니다.
MLOps는 기계 학습 모델 운영화(operationalization)를 위한 DevOps 원칙을 적용한 것입니다. 따라서 MLOps는 ModelOps의 하위개념이라고 할 수 있습니다.
[그림 2]에서 보여지는 것처럼, ModelOps는 MLOps가 수행하는 모든 작업을 수행합니다. MLOps를 사용하면 데이터 과학자와 IT 전문가가 머신 러닝 모델을 자동화하면서 효과적으로 협업하고 커뮤니케이션할 수 있습니다. ModelOps는 더 나아가 지속적인 재학습, ML 모델의 동기화된 개발 및 배포 등을 제공하며, 의사 결정 최적화 및 변환 모델에 중점을 둔 MLOps의 진화라고 보시면 됩니다. 즉, MLOps가 ML모델에 대한 개발-배포-모니터링을 통한 모델관리에 집중한다면 ModelOps는 ML모델 뿐만 아니라 의사결정에 활용되는 모든 모델에 대한 거버넌스 및 모델들의 라이프사이클 관리에 중점을 두며, 데이터 사이언티스트, IT 및 모든 비즈니스 이해관계자 및 리더에게 보고하고 공유하는 목적으로 운영됩니다.
[그림 2] ModelOps vs. MLOps
강력한 ModelOps 라면 아래 다섯가지 작업을 잘 수행해야 합니다.
- 모델 및 모델 사용에 대한 강력한 거버넌스를 제공하는 중앙 집중식 모델 레파지토리가 필요합니다.
- 모델을 운영하기 전에 모델을 테스트할 수 있어야 합니다.
- 모델을 운영환경에 적용하는 과정이 너무 어렵지 않아야 합니다.
- 모델을 운영환경에 손쉽게 적용하는 것을 넘어, ModelOps를 사용하여 시간이 지남에 따라 모델의 성능이 쇠퇴하는 것을 모니터링 할 수 있어야 합니다.
- ModelOps는 사람의 감독과 제어를 통해 반복적인 작업을 자동화해주어 표준화된 프로세스를 만들 수 있게 지원해야 합니다.
SAS Model Manager는 위의 다섯가지를 탁월하게 수행해 내기 때문에, 강력한 ModelOps 제품의 필요충분 조건을 갖추었다고 할 수 있겠습니다.
[그림 3] SAS Model Manager core capabilities
이제부터는 SAS Model Manager의 핵심 기능을 자세히 살펴보겠습니다.
- 중앙집중화 (Centralize)
배포될 모델은 액세스 가능한 중앙 집중식 위치에 적절한 메타데이터와 함께 저장되어야 합니다. 모델과 메타데이터는 누군가의 이메일 박스, 엑셀 시트 또는 데이터 과학자의 노트북에 저장되어서는 안 됩니다. 또한, MLOps 엔지니어, 리스크 팀 및 데이터 과학자를 포함하여 업무 프로세스에 관련된 사람들이 정보에 액세스할 수 있어야 합니다. 관계자들이 메타데이터를 찾기 위해 코드를 파헤치도록 디자인해서는 안 됩니다.
SAS의 Model Manager는 데이터를 저장하는 레파지토리를 제공할 뿐만 아니라 모델을 검색, 이해/실행 가능하게 하고, [그림 4]에서 보여지는 것처럼 대시보드 형태로 조직 내 모든 모델에 대한 기본 정보 및 상태를 한눈에 파악할 수 있도록 합니다. 예를 들면, 어떤 언어로 개발된 모델인지, 개발된 모델 중 배포된 모델은 무엇인지 등의 현황 정보를 확인할 수 있습니다. 통합된 환경 및 단일UI에서 모든 유형의 모델을 저장하고 관리할 수 있어 이를 통해 중앙집중화를 실현할 수 있습니다.
[그림 4] SAS Model 현황 Dashboard
- 거버넌스 (Govern)
모델 리스크는 금융 기관에만 국한되지 않습니다. 잘못된 모델은 재정적 손실을 초래합니다. 규제 요구 사항 및 벌금 외에도 잘못된 모델은 구매 결정 오류, 소비자 신뢰 상실이나 악화로 이어질 수 있습니다. 모델 수명 주기는 모델 사용의 주요 단계에서 수동 승인을 통해 문서화되어야 합니다. 또한 모델 리스크를 문서화하고 리스크를 완화해야 합니다.
SAS Model Manager는 workflow manager를 활용하여 모델 라이프사이클 프로세스를 각 조직의 상황에 맞게 생성하여 관리할 수 있게 합니다. 즉, ModelOps 프로세스의 모든 이해관계자의 요구사항에 기반하여 워크플로를 구축할 수 있습니다. 모델라이프사이클 단계별 흐름이 특정 프로세스의 지점에 도달하면 자동으로 실행하게 하는 서비스 작업이 가능하고, 사람이 작업을 완료해야 하는 경우나 각 작업단계별 승인 프로세스가 필요한 경우는 수동으로 작업을 결합하여 프로세스를 생성할 수 있습니다. Workflow Manager는 각 플로우를 통해 진행 상황을 추적하고 사용자에게 시각화 할 수 있어 라이프사이클 관리가 용이합니다.
[그림 5] SAS Workflow management
- 모델 검증 [Validate]
모델은 운영에 적용하기 전에 테스트와 검증 작업을 거쳐야 합니다. SAS Model Manager 내의 정보를 사용하면 모델의 입력 및 출력 변수가 기대와 일치하는지 신속하게 검증할 수 있습니다. 또한 SAS Model Manager 내에서 몇 번의 클릭만으로 스코어링 테스트를 정의하고 실행할 수 있습니다. 스코어링 테스트 결과 테이블 및 스코어링 코드, 실행로그를 제공하여 문제발생 여부를 확인할 수 있으며, 실행로그 확인으로 문제발생 원인을 보다 빠르게 파악하고 수정 개선할 수 있습니다.
[그림 6] 모델 스코어링 테스트
- 모델 배포 [Deploy]
모델 배포는 모델을 활용한 의사결정에 어떻게 사용될 것인지에 따라 달라집니다. 모델 스코어링 데이터베이스 테이블은 데이터베이스에 배포해야 합니다. 클라우드 응용 프로그램 내에서 사용될 모델은 해당 클라우드에서 컨테이너로 사용할 수 있어야 합니다. 또한 배포 전에 IT에서 모델을 다시 코딩하면 시간이 걸리고 오류가 발생할 수 있으므로 코드를 다시 작성해서는 안 됩니다. SAS Model Manager는 데이터베이스 내에서 컨테이너 등에 이르기까지 다양한 위치에 배포되며 다시 코딩할 필요가 없기 때문에 AutoML등을 통해 생성되는 많은 모델을 쉽게 배포할 수 있어 더 많은 비즈니스 영역에서 AI/ML의 적용을 가속화할 수 있습니다.
[그림 7] SAS ModelOps의 운영 및 배포 특징
[그림 8] 모델 배포 현황 Dashboard
- 모델 모니터링 [Monitor]
모든 모델의 성능은 쇠퇴합니다. 조직은 시간 경과에 따라 모델을 모니터링하여 성능 저하 및 쇠퇴를 감지하고 대응할 수 있어야 합니다. SAS Model Manager는 시간 경과에 따라 모델 입력, 출력 및 성능을 모니터합니다. 모니터링 보고서에는 즉시 사용 가능한 수많은 차트가 포함되어 있고, 조직은 필요시 모니터링을 위해 자체 KPI(핵심 성과 지표) 및 차트를 정의할 수 있습니다. 또한 조직은 적시에 조치를 취할 수 있도록 모델의 성능저하 및 쇠퇴에 대한 경고를 받을 시기를 정의할 수 있습니다.
SAS Model Manager는 모델의 성능저하가 일정한 Cutoff값을 넘어서는 경우는 간단히 재학습 버튼을 클릭하는 것만으로도 모델을 최신 데이터로 재학습시켜 다시 선택된 최적의 모델을 챔피언 모델로서 활용할 수 있습니다. 이때 재학습은 기존 모델의 알고리즘에 단순히 최신 데이터를 적용하여 수행하는 것이 아니라, 다양한 피처엔지니어링 적용-여러 ML알고리즘을 적용하는 복수개의 파이프라인을 모두 수행하여 최적의 모델을 습득하는 과정을 의미합니다. 재학습된 모델은 자동으로 새로운 버전으로 등록되며, 각 버전 별 모델은 필요정보를 포함하고 있어 필요시 언제든지 roll-back이 가능해 모델 운영이 용이합니다.
[그림 9] 모델 성능 평가 모니터링 리포트
- 자동화 [Automate]
성숙한 MLOps 프로세스는 반복적인 시스템 작업과 수동 승인의 균형을 유지하도록 합니다. SAS Model Manager에는 조직이 자동화 및 인적 감독을 활용하여 모델 라이프사이클 프로세스를 정의할 수 있는 워크플로가 포함되어 있습니다. SAS Workflow Manager는 ModelOps의 프로세스 거버넌스 뿐만 아니라 중요한 단계인 자동화(automation)을 지원합니다. SAS Workflow Manager는 개방형 소스 모델 유효성 검사 모니터링 및 배포를 통합할 수 있는 REST API를 지원하며, 프로세스에서 내부 및 외부 작업을 관리할 수 있는 개방형 API를 통해 유연한 통합을 제공합니다. 그러므로, [그림10]처럼 개방형 API 아키텍처를 통해 다른 툴 및 대규모 프로세스와 통합할 수 있습니다.
[그림 10] GitOps프로세스 자동화
마직막으로, ModelOps를 도입하면 기업과 조직에 어떤 이점을 주는지 살펴보겠습니다.
ModelOps의 이점
ModelOps를 도입하면 분석을 통해 더 큰 비즈니스 가치를 실현하는 방법을 혁신하고 향상시킬 수 있습니다. [그림 11]에서 볼 수 있듯이, ModelOps 도입 후 AutoML 등을 이용한 모델개발의 자동화, 모델 배포 과정의 간소화, 지속적인 모델 모니터링을 통한 모델 재학습 등의 프로세스를 이용하여 보다 빠르게 가치를 생성할 수 있으며, 또한 지속적인 관리를 통해 생성된 분석 가치를 지속적으로 유지되는 환경으로 전환할 수 있습니다. SAS의 ModelOps는 더 나아가 분석라이프사이클을 의사결정 프로세스에 통합하고, 지속적인 모델 모니터링과 관리, 비즈니스 영향점검 등 일련의 과정을 통해 기업이 비즈니스 가치 실현에 속도를 내도록 도와줍니다.
[그림 11] ModelOps를 통한 비즈니스 가치 실현 극대화
* 편집자 주: 위의 글은 SAS US 글로벌 마케팅 매니저 마리넬라 프로피(Marinela Profi)님의 블로그 글 번역을 토대로 SAS KOREA 김은정 수석이 작성한 것입니다. Original Article
Resources