본문 바로가기

빅데이터

[번역]NVIDIA에서 정의하는 MLOps

원문 : https://blogs.nvidia.com/blog/2020/09/03/what-is-mlops/

 

What is MLOps?

Machine learning operations are best practices for businesses to run AI successfully.

blogs.nvidia.com

 

MLOps란 무엇인가?

MLOps(Machine learning operations)는 AI를 통해 비즈니스 발전을 도와주는 소프트웨어 제품들과 클라우드 서비스입니다.

MLOps는 익숙하지 않지 않은 단어이지만, 기업의 AI를 성공시키기 위한 두 단어로 이루어진 용어이다. Machine learning operation을 줄인 용어인 MLOps는 비즈니스에서 AI를 성공적으로 적용시키기 위한 방법이다. MLOps는 상대적으로 새로운 분야인데, AI를 상업적으로 활용하는 것이 오래되지 않았기 때문이다.

 

MLOps : 기업의 AI 주도권의 전환

2012년 한 연구원이 딥러닝을 이용한 이미지 인식 대회에서 우승했을 때 인공지능의 빅뱅이 열렸다. 이 사건으로 인해 AI는 급속히 퍼지기 시작했다. 오늘날에는 AI가 웹 페이지를 번역하고 고객의 통화를 자동으로 전달한다. 또한 병원의 엑스레이를 판독하고 은행의 신용 위험을 계산하고 소매업자들의 판매를 최적화하기 위해 재고를 조절하는데 AI가 사용되고 있다. 간단히 말해서, 인공지능(Artificial Intelligence)의 넓은 영역의 한 부분인 머신러닝(ML)은 소프트웨어 애플리케이션 만큼 주류로 자리잡을 것이다. 이것이 바로 ML을 적용하는 프로세스를 IT 시스템 프로세스처럼 적용해야하는 이유이다.

 

DevOps에 포함된 머신러닝

MLOps는 기업의 애플리케이션을 효율적으로 작성, 배포, 실행하는 현대적인 관행인 DevOps의 기존 원칙을 기반으로 한다. DevOps는 10년 전, 소프트웨어 개발자(Dev)와 운영팀(Ops)가 협업할 수 있는 방식으로 시작되었다. MLOps는 데이터를 고르고 AI모델을 구축하는 데이터 사이언티스트를 팀에 포함하는 개념이다. 또한 이러한 데이터의 모음을 모델을 통해 정의되고 자동화된 방식으로 실행하는 ML엔지니어도 포함된다.

 

MLOps는 머신러닝, 애플리케이션 개발, 운영이 조합된 형태이다.

 

MLOps는 퍼포먼스와 관리를 한번에 잡기 어렵다. 데이터셋은 계속해서 커지고 실시간으로 변경되기 때문이다. AI모델들은 실험 주기에 따라 조정하고 다시 학습하는 과정을 세심하게 추적해야 한다. 그렇기 때문에 MLOps는 기업이 성장함에 따라 확장이 가능한 강력한 AI 인프라가 필요하다. 이러한 기반을 위해 많은 기업들은 NVIDIA의 소프트웨어 허브인 DGX, CUDA-X 등을 사용한다.

 

데이터사이언티스트를 위한 생애주기 추적

AI 인프라를 구축하면서 기업의 데이터센터는 다음과 같은 소프트웨어로 MLOps계층을 구성한다.

 

- 데이터 소스 또는 데이터셋을 생성

- 히스토리와 속성을 통해 AI모델을 만들고 태깅, 레포지토리에 저장

- 자동화된 ML파이프라인으로 데이터셋, 모델, 생명주기를 관리

- 쿠버네티스로 이루어진 컨테이너로 job들을 실행

 

위 4가지는 하나의 프로세스로 묶은 하나의 일련된 작업의 집합이다. 데이터 사이언티스트들은 외부 소스 및 내부 데이터레이크에서 일부 데이터셋을 자유롭게 사용할 수 있어야 한다. 그러나 작업에 대한 데이터셋은 주의 깊게 라벨링하고 트래킹해야한다. 그리고 데이터 사이언티스트들은 훌륭한 모델을 만들기 위해 실험하고 반복을 수행한다. 그렇기 때문에 유연한 샌드박스와 안전한 저장소가 필요하다. 또한 프로토타입, 테스트 및 상용 배포을 통해 데이터셋과 모델을 실행하는 ML엔지니어와 협업할 수 있는 방법이 필요하다. 이 프로세스는 모델을 쉽게 해석하고 다시 재현할 수 있도록 자동화 및 세부 내역에 대해 자동화가 필요하다. 오늘날 이러한 기능은 클라우드 컴퓨팅 서비스의 일부로 제공되고 있다. 머신러닝을 전략적으로 여기는 기업들은 점점 더 많은 업체의 MLOps 서비스와 도구를 사용하여 우수한 AI센터를 만들고 있다.

가트너의 머신러닝 파이프라인

상용 환경에서의 데이터 사이언스

에어비앤비, 페이스북, 구글, 엔비디아, 우버와 같은 회사들도 초기에는 이런 기능들을 각자 구축했어야 했다. NVIDIA의 AI 인프라 책임자인 니콜라스는 "우리는 가능한한 오픈소스 코드를 사용하려고 노력했지만, 많은 경우 우리가 원하는 규모에 대한 솔류션이 없었다"라고 언급했다. "MLOps라는 용어를 처음 들었을 때, 저는 그것이 우리가 지금 만들고 있는 것이고 이전 직장인 트위터에서 만들었던것이라는것을 깨달았다"라고 덧붙였다. NVIDIA의 니콜라스의 팀은 자율 주행 차량을 만들고 테스트 하기 위한 플랫폼인 NVIDIA Drive를 호스팅하는 MLOps 소프트웨어인 MagLev를 개발했다.  MLOps의 기반으로서 NVIDIA Container Runtime과 NVIDIA의 Apollo를 사용하여 대형 클러스터에서 실행되는 쿠버네티스의 컨테이너들을 관리하고 모니터링한다.

 

NVIDIA에서 MLOps 구축

니콜라스팀은 DGX PODs라는 GPU기반 클라스터 기반으로 NVIDIA의 내부 AI인프라에서 작업을 수행하고 있다. 작업을 하기 전을 인프라 담당자는 모범 사례인지 확인을 한다. 첫번째로는 "모든 것은 컨테이너 안에서 실행되어야 한다. 이것은 AI애플리케이션이 라이브러리를 찾기 위해 버리는 시간을 덜어준다."라고 엔비디아 시스템을 구축한 마이클 휴스턴이 말했다. 팀에서 추가로 체크하는 작업들은 다음과 같다.

 

- 승인된 메커니즘 위에 컨테이너를 실행

- GPU노드들 위에서 JOB을 실행

- 퍼포먼스 데이터를 확인하여 보틀넥 확인

- 데이터 프로파일링을 통해 소프트웨어 디버깅

 

MLOps 컨설팅을 수행하고 정의하는 기사를 작성한 데이터 사이언티스트 에드윈 웹스터에 따르면 오늘날 비즈니스에 사용되는 MLOps를 적요한 사레는 매우 다양하다고 합니다. 일부 기업에서는 데이터 사이언티스트가 개인용 노트북에 모델을 저장하고 사용하고 있으며 다른 기업에서는 대형 클라우드의 서비스업체에 의존하여 무료서비스를 사용하고 있다고 말했다.

 

두개의 MLOps 적용 사례

데이터 사이언티스트 웹스터는 그의 고객 중 2가지 성공담을 공유했다.

 

하나는 퍼블릭 클라우드 서비스에서 MLOps 기능을 사용하여 8~9%정도의 쓰레기를 줄일 수 있는 AI를 적용한 소매업체이다. 이 소매업체의 데이터 사이언티스트 팀은 데이터셋을 만들고 모델을 구축했다. 클라우드 서비스에는 컨테이너에 넣은 다음 AI작업을 실행하고 관리했다.

 

또 다른 사례는 자동으로 소프트웨어 업데이트를 설치할 수 있도록 유지보수가 언제 필요한지 인공지능으로 AI모델을 적용하는 PC 제조업체이다. MLOps 사례와 내부의 전문가와 협업하여 3,000대의 노트북에서 AI모델을 생성하고 테스트했다. 이 PC제조업체는 이제 고객들에게 이 소프트웨어를 제공한다.

 

"전부는 아니지만 포춘지 선정 100대 기업들이 MLOps를 적용하고 있다"고 가트너의 바시스가 말했다. "MLOps는 힘을 얻고 있지만 주류는 아니다"라고 그녀는 말했다. 바시스는 MLOps를 시작하기 위한 세가지 단계를 설명하는 백서를 공동 집필했다. 목표에 대한 이해 관계자를 조정하고 누가 무엇을 소유하는지 조직구조를 만든 다음 책임과 역할을 정의하여 다음과 같은 그림을 그렷다.

 

가트너에서 작성한 MLDLC(MLOps Development Life Cycle)

AIOps, DLOps, DataOps 등 유행어 주의

유행어 숲 속에서 길을 잃으면 안된다. IT산업은 확실히 MLOps를 중심으로 기울었다. 이와 대조적으로 AIOps는 머신러닝을 사용하여 IT기능을 자동화하는 좁은 범위를 뜻한다. AIOps의 한 부분은 IT 운영 분석(ITOA)이다. ITOA는 AIOps가 생성하는 데이터를 검토하여 개선하는 것이다. 마찬가지로 데이터셋과 AI모델을 각각 만들고 관리하기 위한 인력과 프로세스를 지칭하기 위해 DataOps와 ModelOps라는 용어를 만든 사람도 있다. 이 둘은 MLOps를 구성하기 위한 중요한 두가지 구성요소이다. 흥미롭게도, 매달 수천명의 사람들이 DLOps(딥러닝 Ops)의 의미를 찾는다. DLOps는 딥 러닝을 위한 IT작업이라 생각할  수 있다. 그러나 딥러닝은 더 넓은 머신 러닝 분야의 일부분이기 때문에 DLOps보다는 MLOps라는 용어를 사용한다. 수많은 검색어에도 불구하고 DLOps에 대한 정보를 찾기는 쉽지 않다. 이와 대조적으로 구글, 마이크로소프트와 같은 회사들은 MLOps에 상세한 백서를 게시하고 있다.

 

(다음 내용은 NVIDIA 제품관련 내용에 깊게 포함되어 있어 생략)

반응형