top of page

ML Ops ~ 거스를 수 없는 대세? 데이터 과학자와 AI 개발자가 쿠버네티스와 컨테이너에 관심을 갖는 이유

엔터프라이즈 환경에서 IT가 '비즈니스'와 긴밀히 연결되면 '효율성과 민첩성 확보'가 우선순위 높은 과제가 됩니다. 인공 지능도 이런 길을 걷고 있습니다. 인공 지능을 몇 년 전만 하더라도 관심의 영역에 놓여 있었습니다. 2020년 현재 인공 지능은 기업의 비즈니스 전략 중심에 자리하고 있습니다. 이처럼 비즈니스 실행과 성과에 밀접한 영향을 주는 요소가 되면서 인공 지능 관련 IT 투자와 운영에 있어 '효율성과 민첩성 확보'가 매우 중요해졌습니다. 관련해 요즘 ML Ops란 키워드가 유행하고 있습니다. DevOps에서 파생된 개념으로 머신 러닝 모델 개발, 트레이닝, 배포를 일련의 흐름처럼 지속해서 이루어지게 하는 환경과 방법론을 뜻한다고 보면 됩니다.


데이터 과학자, AI 개발자도 쿠버네티스와 컨테이너와 친해져야 할 때


ML Ops 구현에 있어 주목받는 기술이 쿠버네티스와 컨테이너입니다. 전통적으로 데이터 과학자와 AI 개발자는 프로젝트 수행을 위해 개발 환경을 직접 꾸려야 했습니다. 운영체제 설치하고, 필요한 프레임워크와 라이브러리 설치하는 등의 과정을 거쳐야 했죠. 소프트웨어 스택이 바뀌면 같은 작업을 반복해야 했습니다. 그나마 요즘에는 클라우드를 사용할 경우 IT 부서 도움 없이 할 수 있어 편해지긴 했죠. 하지만 단순 반복적인 작업이란 본질에는 변함이 없습니다.


ML Ops를 구현하면 단순 반복이 크게 줄어듭니다. 그 이유는 간단합니다. 컨테이너를 이용하면 소프트웨어 스택 구성에 시간을 허비하지 않아도 됩니다. 필요한 라이브러리와 프레임워크 조합으로 구성한 컨테이너를 여러 개 만들어 운영하기도 좋습니다. 마이크로서비스 아키텍처 환경을 따르므로 모델 배포와 운영 시 확장도 간편합니다. 온프레미스, 클라우드 어디건 원하는 곳에 수정 없이 배포가 가능하므로 자원 활용 측면에서 경제성 확보도 유리합니다. 쿠버네티스를 이용하면 자동화 기반으로 여기저기에 구축한 컨테이너 클러스트 운영도 편리합니다.





개발, 트레이닝, 배포에 어떤 도움을 주나?

그렇다면 ML Ops 환경은 구체적으로 개발, 트레이닝, 배포에 어떤 이득을 가져올까요? 먼저 개발의 경우 단순 반복적인 작업을 줄이는 효과를 제공합니다. 개발 단계에서 데이터 과학자와 개발자는 프로젝트 목표에 맞는 최적의 환경을 찾게 됩니다. 여러 가지 프레임워크와 라이브러리를 적용해 보면 '최선의 선택'을 찾게 되는데요, 컨테이너 환경에서는 이 과정을 매우 신속하게 할 수 있습니다. 각각의 테스트 환경을 독립된 컨테이너 상에 구축해 이것저것 해보기 좋습니다.

다음으로 트레이닝 단계의 경우 확장의 이점이 큽니다. 모델 트레이닝 과정은 컴퓨트 자원이 가장 많이 소모되는 단계입니다. 이때 자원 부족으로 인한 트레이닝 시간 지연 등의 문제가 생길 수 있는데요, 컨테이너 환경은 이를 간단히 해결합니다. 네, 자원이 부족하면 공용 클라우드에 컨테이너 환경을 배포하면 됩니다. 쿠버네티스와 컨테이너는 오픈 소스를 바탕으로 사실상의 표준이 되어 가고 있습니다. 따라서 사내에서 구축한 컨테이너를 큰 수정 없이 공용 클라우드 서비스에 배포하는 것이 매끄럽게 이루어집니다.

배포 단계에서 주는 이점에서 확장도 중요하지만 더 눈여겨볼 것은 마이크로서비스 아키텍처라 할 수 있습니다. 프로덕션 환경은 보통 여러 가지 모델이 함께 적용됩니다. 새로 더해지는 것도 있고, 빠지는 것도 있고 있게 되죠. 관련해 컨테이너를 기반으로 마이크로서비스 아키텍처를 구축한 경우 각각의 모델을 마이크로서비스 형태로 배포하고 연계하는 것이 수월합니다. 네, 비즈니스 요구 변화에 맞게 인공 지능 기반 서비스와 애플리케이션을 진화 발전시켜 나아가기 좋습니다.


조회수 702회댓글 0개
bottom of page