http://itbiznews.com/news/newsview.php?ncode=1065573055544649
아래 내용은 필자가 ITBIZ 뉴스에 2020년 8월20일 개재된 내용을 옮긴 것임.
확산되는 클라우드 환경과 AI 개발 플랫폼의 부상
쉽지 않은 AI 개발 환경 설정
AI 개발 전체 업무 흐름 중에 모델 개발이 차지하는 비중이 전체의 5%에 불과하다는 점을 감안하면, 개발자가 핵심 업무에 집중하고 나머지의 도전적 작업으로부터 자유로워질 필요가 있다.
확산되는 클라우드 환경과 신속하고 용이한 AI 모델 제공
컨테이너라 하면 배에 싫는 네모난 화물 수송용 박스를 생각할 수 있는데, 말 그대로 내가 원하는 프로그램과 실행 환경의 묶음을 컨테이너라는 추상화된 박스 안에 함께 담아서 사용할 수 있게 제공하는 오픈소스 플랫폼이다. 이 컨테이너를 실행시킴으로써 내가 개발하는 AI 모델 개발을 기존 환경에 구애 받지 않고 독립적으로 실행 할 수 있다.
그림 1. VM 대 Docker
예를 들어 Ubuntu 리눅스 환경에 Tansorflow 와 Keras 를 사용해 작성된 프로그램을 도커에 담으면, 이 도커는 이제 조립PC, AWS, Azure, Google cloud등 어디에서든 실행할 수 있다. 즉 한 곳에서 개발하고 여러 클라우드 환경에서 실행하는 멀티 클라우드 환경에서 운영되는 것이다.
인공지능을 활용하여 산업별 영향을 미치는 모델을 만드는 일들이 앞으로 마주하게 될 도전 중에 하나는, AI 모델을 빠르고 용이하게 제공하는 것이며 실험 단계에서 프로덕션 단계로 나아갈 때 직면하는 문제다. 프로덕션에서 서비스 제공 시, 환경이 재현가능하고 격리를 강제 적용하며 안전을 보장하는 이러한 컨테이너 기반이 산업계 표준으로 정착되고있다.
최근의 어플리케이션 개발 환경은 첫째, 구조를 한가지 서비스에 특화된 단위로 개발(마이크로 서비스)하고, 둘째, (컨테이너)와 같은 경량화 된 가상화 환경에서 구동하는 단위로 구성하며, 셋째, 이러한 다수의 마이크로서비스와 통신하는 컨테이너들을 관리할 수 있는 환경(쿠버네티스) 으로 진화하고 있다. AI 개발도 이러한 마이크로 서비스, 컨테이너, 쿠버네티스(컨테이너들을 자동으로 통합 관리하는 소프트웨어) 와 같은 오픈소스 프레임워크 기반 아키텍처들의 장점들과 더불어 발전할 것으로 예상되고 있다.
부상하는 AI 개발 플랫폼
최근에는 다 나아가서 이러한 AI를 개발하는 일련의 작업 흐름 즉, 컨테이너 등 환경 자동화 관리, GPU 및 볼륨관리, GPU 성능모니터링, 멀티GPU 클러스터링, 잡스케쥴링, 멀티 클라우드등의 일련의 작업을 자동화 하는 AI 개발 플랫폼이 선을 보이고 있다.
그림 2. 컨테이너 관리
위의 그림 2와 같이 N3N 클라우드사의 치타 AI 개발 플랫폼은 머신러닝 라이브러리 설치, 사용자 설정, GPU 할당을 클릭만으로 1분안에 마칠 수 있는 개발환경 자동화 기능을 제공한다.
또한 직관적인 프로젝트 대시보드를 통해 할당 받은 GPU 와 그의 사용현황을 바로 확인 할 수 있으며 복수의 서버 환경인 경우, 할당 받은 GPU 의 용량을 넘어 사용할 경우 자동으로 복수의 GPU 구성을 설정하여 실행한다. 이 경우, 전체 사용자의 환경에 영향을 줄 수 있으므로, 스케쥴관리의 작업 추가를 통해 예정된 일정에 할당 받은 복수의 GPU 를 사용하도록 하고있다.
이러한 AI 개발 플랫폼들은 이러한 클라우드 기반 오픈소스 프레임워크 표준을 준수하면서 당분간 급속히 발전할 것으로 전망되는데, 일련의 AI 개발 작업 흐름 상의 훈련, 모델 제공, 모델 관리 등의 영역을 이러한 AI 플랫폼 내부에 포함해가면서 사용자들을 인공지능 모델 개발 이외의 업무에서 보다 자유로워지게 지원할 수 있을지 향후 귀추가 주목된다.
댓글 없음:
댓글 쓰기