“ML옵스 시작은 올바른 머신러닝 모델 설계부터”
상태바
“ML옵스 시작은 올바른 머신러닝 모델 설계부터”
  • 데이터넷
  • 승인 2021.09.24 10:00
  • 댓글 0
이 기사를 공유합니다

CI/CD 파이프라인 자동화해야 … 다양한 조직간 상호 역할 존중·협업 중요
▲ 몬마유리 레이 깃랩 엔지니어링 매니저
▲ 몬마유리 레이 깃랩 엔지니어링 매니저

[데이터넷] 인공지능(AI) 시대에 맞춰 진화한 데브옵스인 ‘ML옵스(MLOps)’가 AI 개발자들 사이에서 주목받고 있다. 비즈니스 관점에서 ML옵스는 계속해서 머신을 통해 정확한 판단을 보완함으로써 저비용의 자동화된 의사결정에 보다 가까이 다가갈 수 있는 변화의 움직임으로 정의할 수 있지만 무엇보다 올바른 모델 설계가 중요하다. 그러나 개념증명 단계에서 기술 검증은 통과하지만 운영상의 어려움으로 최종 서비스로 채택되기는 쉽지 않다. 따라서 데이터 사이언스팀, 데브옵스팀, 엔지니어링팀, AI 프로덕트팀 등 다양한 조직이 서로의 역할을 존중하고 협업하는 것이 중요하다. <편집자>

2021년 현재 우리는 팬데믹으로 인해 디지털화를 중심으로 한 대대적인 변화의 한가운데 있다. 하지만 매일 AI를 사용하는 사람들에게도 여전히 격차가 존재한다. 데이터 규모에 따른 컴퓨팅 성능 및 알고리즘 사용과 관련된 머신러닝은 폭발적으로 발전했다.

그러나 알렉사(Alexa), 시리(Siri), 자율주행 자동차와 AI를 사용해 일상생활의 불확실성을 해결하는 것과 AI를 비즈니스의 핵심 수익원으로 만드는 것은 여전히 괴리가 있다. 이를 설명할 수 있는 가설이 있는데 다음과 같다.

· 기업들이 현재의 전략을 모두 AI로 대체하기 위한 AI 우선 전략을 가지고 있는가?
· 기업들이 소프트웨어 애플리케이션 및 개념증명(PoC)을 조직화하고, AI를 일상적으로 사용할 수 있는 전략과 문화를 가지고 있는가?

ML옵스 개념 확산 가속
현재 ML옵스(MLOps) 개념이 빠르게 확산되고 있다. 이는 기본적으로 오래 전 상황을 떠올리게 한다. 2008년 운영 마찰 및 트랜잭션 비용 절감과 함께 보다 신속한 확장 및 구현, 배포를 위한 방법이자 문화로 변화의 단초가 된 데브옵스(DevOps)가 부상하면서 소프트웨어 애플리케이션 운영방식에 혁명을 불러왔다. 

비즈니스 관점에서 ML옵스를 정의해 보자. ML옵스는 계속해서 머신을 통해 정확한 판단을 보완함으로써 저비용의 자동화된 의사결정에 보다 가까이 다가갈 수 있는 변화의 움직임이라고 할 수 있다. ML옵스의 부상은 다음과 같은 몇 가지 사항을 통해 설명할 수 있다.

ML옵스는 머신러닝 서비스의 배포 및 거버넌스 자동화를 위해 데이터 과학자와 소프트웨어 엔지니어 및 운영 엔지니어 간의 협업 방식이라 할 수 있다. ML옵스의 중요한 이점은 이 프로세스를 자동화하는 툴을 사용해 머신러닝 파이프라인과 모델을 배포하는 것이다.

많은 기업들이 타당성 연구와 개념증명을 통해 머신러닝의 여정을 시작했지만 이를 프로덕션 환경으로 전환하는데 따른 실질적인 어려움에 직면해 있다. 해결해야 할 주요 과제들로는 머신러닝 모델이 코드와 데이터를 모두 반영해야 한다는 점과 머신러닝 결함 모드가 여전히 제대로 파악되지 못하고 있으며, 거버넌스 구조에 대한 정의가 아직 진행 중에 있다는 점이다. 

그러나 선택할 수 있는 기술과 툴은 날로 증가하고 있다. ML옵스의 모든 과정을 수행할 수 있는 단일 툴은 아직 없지만 데이터로봇(DataRobot), 파키덤(Pachyderm), 데이터이쿠(DataIku), H20 등 특정 부분에 대해 탁월한 기능을 수행하는 툴은 이미 다양하게 나와 있다. 이러한 모든 것들은 먼저 제대로 된 기술 스택을 파악하고, 올바르게 배치된 활용사례와 사람, 프로세스 및 최종 비즈니스 결과에 따라 달라진다. 

적절한 ML옵스 공급업체를 선택하는 과정은 다른 툴에 대한 의사결정 사항들과 유사하다. 이 툴을 사용해 머신러닝 애플리케이션 배포 프로세스를 쉽고, 빠르고, 저렴하게 구현할 수 있는지, 그리고 이를 추적할 수 있는지 살펴봐야 한다.

[그림 1] ML옵스 전체 라이프사이클
[그림 1] ML옵스 전체 라이프사이클

ML옵스 전체 라이프사이클
ML옵스 전체 라이프사이클 역시 데브옵스와 유사하다. ML옵스는 아이디어에서 머신러닝 개발을 위한 프로덕션 환경에 이르기까지 무한 루프를 이루고 있고, 기본요소는 동일하지만 고유의 방식을 가지고 있다. ML옵스 개념은 간단하지만 다음과 같은 고유의 복잡성이 있다.

- 데이터 엔지니어링: 머신러닝 알고리즘을 위한 데이터 세트 제공 및 학습. 데이터 수집, 탐색, 검증, 클리닝, 레이블 지정 및 분할(트레이닝, 검증, 테스트 데이터 세트) 등을 포함
- 모델 엔지니어링: 최종 모델 준비. 모델 트레이닝, 평가, 테스트 및 패키징 등을 포함
- 모델 배포: 비즈니스 애플리케이션에 트레이닝된 모델 통합. 모델 제공, 성능 모니터링 및 성능 로깅 등을 포함

머신러닝은 소프트웨어 개발 라이프사이클에 두 가지 추가 요소가 도입됨에 따라 데브옵스를 사용해 소프트웨어를 개발하는 것보다 복잡하다. ML옵스는 소스 제어, 유닛 및 통합 테스트, 그리고 패키지에 대한 지속적인 서비스 제공을 추구하지만 데브옵스와 비교해 몇 가지 새로운 차이점이 있다.

- 지속적인 통합(CI: Continuous integration)은 코드와 구성요소뿐 아니라 데이터, 스키마 및 모델을 테스트하고, 검증하는데 적용된다.
- 지속적인 배포(CD: Continuous deployment)는 단일 소프트웨어나 서비스가 아니라 또 다른 머신러닝 지원 서비스를 배포하는 전체 시스템을 의미한다.
- 지속적인 트레이닝(CT: Continuous Training)은 머신러닝 모델에 특화된 것으로 모델 서비스 및 재트레이닝을 의미한다.

전반적인 ML옵스의 성숙도는 데이터 엔지니어링 자동화, 모델 엔지니어링 및 배포 등 각 단계의 수준에 따라 결정된다. 이상적으로는 성숙한 ML옵스 시스템을 정의하기 위해 CI 및 CD 파이프라인을 자동화해야 한다. 따라서 프로세스 자동화 수준에 따라 ML옵스를 다음과 같이 3가지 레벨로 분류할 수 있다.

- ML옵스 레벨 0: 머신러닝 모델을 구축하고, 배포하는 프로세서는 완전히 수동이다. 변경이나 트레이닝이 거의 이뤄지지 않는 모델에 적합하다.
- ML옵스 레벨 1: 머신러닝 파이프라인을 자동화해 모델을 지속적으로 트레이닝한다. 이는 새로운 데이터에 기반한 모델에는 적합하지만 새로운 머신러닝 아이디어에는 부적합하다.
- ML옵스 레벨 2: CI/CD 자동화를 통해 기능 엔지니어링, 모델 아키텍처, 하이퍼 파라미터에 대한 새로운 아이디어를 활용할 수 있다.

[그림 2] ML옵스 스택
[그림 2] ML옵스 스택

각기 다른 영역 사람들
이러한 프로세스에는 [그림 2]처럼 각기 다른 영역의 사람들이 모두 통합돼 있다. 지도형 학습(Supervised Learning) 데이터 과학자와 자연어 처리(NLP: Natural Language Processing) 데이터 과학자로 분류할 수 있는 고전적인 데이터 과학자를 비롯해 머신러닝 엔지니어와 데브옵스 엔지니어, 보안 및 인프라, AI 전략가 및 제품 매니저들이 하나의 통합 생태계 안에 포함돼 있다.

모든 툴은 이러한 각기 다른 사람들이 사용하는 언어를 원활한 방식으로 상호 변환하고, 버전 관리와 재생산이 이뤄지도록 해야 한다. 또한 어떠한 문제없이 사람들이 서로를 이해하고, 열정에 집중할 수 있도록 만들어져야 한다. 

하지만 아직은 이러한 수준에 도달하지 못했다. 여전히 어떻게 하면 모든 다양한 기법들의 강점을 사용하고, 이를 자동화하고, AI를 적용하고, 모든 툴을 어떻게 활용하는 것이 최선의 방법인지 모색하는 과정에 있다.

[그림 3] 깃랩 ML옵스 프로세스 동작 방식
[그림 3] 깃랩 ML옵스 프로세스 동작 방식

깃랩, 단일 툴 제공
깃랩은 현재 CI/CD의 유연성을 통해 여러 머신러닝 공급업체와 쉽게 통합이 가능하며, 개발자들에게 머신러닝은 물론 비 머신러닝 모델을 구현할 수 있는 단일 툴을 제공하고 있다. 또한 데브옵스 프로세스 개선을 위해 머신러닝 사용에 중점을 둔 어플라이드 머신러닝 그룹(Applied ML Group)을 갖추고 있다.

[그림 3]는 깃랩 ML옵스 프로세스의 동작 방식이다. 깃랩은 현장의 고객들을 관찰하고 파악해 모델옵스(ModelOps)를 하나의 단계로 만들기 위해 투자하고 있다.

깃랩 모델옵스는 기존 기능 내에 데이터 과학을 도입해 보다 스마트하고 지능적으로 만드는 것은 물론 고객들이 깃랩 내에 데이터 과학 워크로드를 구현하고, 통합할 수 있도록 지원하는 것을 목표로 하고 있다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.