MLOps (머신러닝 운영)

MLOps란?

머신러닝 운영, 즉 MLOps는 머신러닝 모델의 전체 라이프사이클을 규제하는 데 중점을 두는 일련의 업무입니다. 데이터 및 기술 기반 응용 사례에서 머신러닝에 의존하는 조직이 많아짐에 따라, 초기에는 모델 개발과 배포에 집중되던 관심이 지속적인 모니터링과 업데이트까지 확장되었습니다.

MLOps는 연속적 피드백 루프 안에서 개발의 설계, 구축 및 테스트 활동을 운영의 배포, 유지관리 및 모니터링 활동과 연결함으로써 머신러닝 모델을 프로덕션에 도입하는 과정을 간소화합니다. MLOps는 협동적이고 교차기능적인 특징이 있으며, 데이터 과학자, 엔지니어, IT 전문가로 구성된 팀이 참여하는 경우가 많습니다.

머신러닝 모델의 개발과 지속적 모니터링 및 유지관리의 운영을 결합한 MLOps 라이프사이클의 다이어그램.

MLOps 라이프사이클.

MLOps와 DevOps의 차이점은 무엇일까요? MLOps와 DevOps는 모두 소프트웨어 개발을 프로덕션에 도입하는 과정을 간소화하며 개발 팀과 운영 팀의 협업이 수반됩니다. 하지만 MLOps는 머신러닝 모델의 라이프사이클 전체에 중점을 둡니다.

MLOps가 중요한 이유

MLOps는 까다로운 머신러닝 사이클 자동화 공정이 원활히 진행될 수 있도록 합니다. 자동화를 수행하려면 모델 성능을 모니터링 및 평가하고 해당 평가의 결과를 성능이 더 나은 모델에 통합하며 새 모델을 재배포하는 추가적 단계가 필요합니다. MLOps는 머신러닝을 프로덕션에 도입하는 과정에서 상당한 이점을 제공하여 오류를 줄이고 팀 간의 업무 전달에 편의성을 더하고 AI 시스템을 지속적으로 개선할 수 있게 됩니다.

MLOps는 특히 다음과 같은 응용 분야에서 유용합니다.

MATLAB을 사용한 MLOps

MATLAB®Simulink®를 사용하면 MLOps 공정을 자동화할 수 있습니다.

  • 머신러닝 모델 생성 – 사전 구축된 함수와 특화된 앱을 사용하여 기능을 선택하거나 엔지니어링하고 분류, 회귀, 군집화에 대한 머신러닝 모델을 생성할 수 있습니다.
분류 학습기 앱과 회귀 학습기 앱을 나란히 배치하여 머신러닝 모델 생성 단계와 분류 및 회귀 결과의 시각화 단계를 보여주는 스크린샷.

대화형 방식으로 데이터를 탐색하고 기능을 선택하며 머신러닝 모델을 훈련, 비교 및 평가하는 특화된 MATLAB 앱 (분류 학습기회귀 학습기).

  • AutoML을 사용하면 MLOps를 위한 모델 설계를 자동화할 수 있습니다. 딥러닝의 경우에는 MATLAB 또는 오픈 소스에서 사전 훈련된 모델을 받을 수 있습니다.
  • AI 시스템 시뮬레이션 – ClassificationSVM Predict Predict 블록 또는 Object Detector 블록 같은 전용 블록을 사용하여 머신러닝 모델을 AI 시스템에 통합하고 프로덕션 배포 전에 전체 AI 시스템을 시뮬레이션할 수 있습니다.
  • CI를 통한 구축 및 테스트 – Azure® DevOps, Jenkins® 또는 자체 CI 서버 등 다양한 CI(지속적 통합) 플랫폼을 사용하여 MATLAB 코드를 실행하고 Simulink 시스템을 시뮬레이션할 수 있습니다. CI를 사용하면 코드와 시스템의 자동 구축과 테스트, 팀 간의 협업, MLOps 사이클 초기의 통합 문제 감지가 원활해집니다.
  • 프로덕션 배포 – 새로운 코드나 사용자 지정 인프라를 만들 필요 없이 MATLAB Production Server™에 MATLAB 머신러닝 모델을 배포할 수 있습니다. 그 후에는 배포된 MATLAB 모델의 최신 버전에 여러 사용자가 자동으로 액세스할 수 있습니다.
  • 운영 모니터링 – 머신러닝 모델이 프로덕션 단계에 들어가면 성능을 모니터링하고 피드백을 제공할 수 있습니다. 한 가지 예를 들자면, 드리프트 검출을 사용하여 훈련 데이터와 관찰된 데이터를 비교하고 재훈련이 필요한 시기를 파악할 수 있습니다.