한국판 뉴딜 추진, Post-코로나 ‘DNA+US’?
뉴딜정책
'뉴딜 정책' 이란 미국 제 32대 대통령 루스벨트의 지도 아래 대공황 극복을 위하여 추진했던 제반 정책이다.
한국형 뉴딜 정책이 나온 배경은 코로나19와 관련된다. 감염병 충격으로 경제위기와 경제-사회구조 변화가 동시에 발생되었으며, 코로나 위기를 혁신의 기회로 활용하기 위한 특단의 대책이 필요한 시점이다.
4차 산업혁명 시대와 걸맞게 우리나라는 뉴딜 정책으로 주요 키워드인 '언택트(비대면)'과 '디지털'에 집중하고 있다.
즉, DNA+US(D 데이터, N네트워크, A인공지능, U언택트, S디지털인프라)가 국책 과제로 잡혀있는 현 시점에서AI를 통한 인재양성, 신사업 동력 창출에 매진하고 있는 인공지능 시대에 맞는 혁신적인 AI 플랫폼의 활용이 필요하다.
앞으로는 누구든지 데이터에 쉽게 접근하여 AI개발을 쉽게 할 수 있는 환경을 구성하는 것이 중요하며 향후, 데이터와 초고속 네트워크 기반의 디지털
인프라는 국가의 큰 경쟁력이 될 것이다.
확산되는 클라우드 환경과 AI 개발 플랫폼의 부상
- 에이프리카 인공지능 연구소, 주철휘 소장
쉽지 않은 AI 개발 환경 설정
AI 프로그램을 처음 시작할 때 매뉴얼을 따라 설치했는데도 실패해서 처음부터 다시 설치해 본 경험들이 있을 것이다.
게다가 학습이나 연구에서 GitHub라는 오픈소스 저장소에 있는 프로그램을 내려 받아 테스트하려고 할 때에도 이러한 운영체제 환경과 라이브러리 간의 버전을 맞추고 환경을 완성하는데 또 같은 시행착오를 반복하게 된다. 굳이 AI 부분이 아니더라도 오픈소스의 여러 프로그램들을 사용하는 현실에서는 이러한 정합성의 문제가 언제나 대두된다.
학습 데이터가 커지고 프로그램의 복잡도가 증가하면 이제는 컴퓨터에게 요청한 작업이 왜 이렇게 하염없이 돌고 끝날 생각을 안하는지 궁금해진다.
AI 개발 전체 업무 흐름 중에 모델 개발이 차지하는 비중이 전체의 5%에 불과하다는 점을 감안하면, 개발자가 핵심 업무에 집중하고 나머지의 도전적 작업으로부터 자유로워질 필요가 있다.
확산되는 클라우드 환경과 신속하고 용이한 AI 모델 제공
AI 특성상 대용량의 데이터에 복잡한 연산 처리를 요구하는 경우 서버를 가상화 하여 복수의 GPU (그래픽 연산 프로세서)로 구성하여 사용한다. 30명 정원의 학생들이 AI 수업의 실습을 하는 경우에 어느 한 사용자가 GPU를 독점적으로 점유하면 수업에 지장이 생긴다.
그동안 기존 환경을 애플리케이션을 수정없이 클라우드 서비스 인프라로 이전하는데 유용했던 VMware 같은 가상 머신(VM)은 그림 1에서 보는 바와 같이, 기존 서버의 OS 위에 응용프로그램 별로 Guest OS 를 올리는 구조로, 오른쪽에 있는 Docker 라는 구조에 비해 자원 효율화에서 뒤진다. Google 이 클라우드상의 신규서비스를 대규모로 확장하기 위해 개발한 컨테이너를 기반으로 하는 오픈소스 가상화 플랫폼이 도커(Docker)다.
컨테이너라 하면 배에 싣는 네모난 화물 수송용 박스를 생각할 수 있는데, 말 그대로 내가 원하는 프로그램과 실행 환경의 묶음을 컨테이너라는 추상화된 박스 안에 함께 담아서 사용할 수 있게 제공하는 오픈소스 플랫폼이다. 이 컨테이너를 실행시킴으로써 내가 개발하는 AI 모델 개발을 기존 환경에 구애 받지 않고 독립적으로 실행 할 수 있다.
예를 들어 Ubuntu 리눅스 환경에 TensorFlow 와 Keras 를 사용해 작성된 프로그램을 도커에 담으면, 이 도커는 이제 조립PC, AWS, Azure, Google cloud등 어디에서든 실행할 수 있다. 즉 한 곳에서 개발하고 여러 클라우드 환경에서 실행하는 멀티 클라우드 환경에서 운영되는 것이다.
인공지능을 활용하여 산업별 영향을 미치는 모델을 만드는 일들이 앞으로 마주하게 될 도전 중에 하나는, AI 모델을 빠르고 용이하게 제공하는 것이며 실험 단계에서 프로덕션 단계로 나아갈 때 직면하는 문제다. 프로덕션에서 서비스 제공 시, 환경이 재현가능하고 격리를 강제 적용하며 안전을 보장하는 이러한 컨테이너 기반이 산업계 표준으로 정착되고있다.
최근의 어플리케이션 개발 환경은 첫째, 구조를 한가지 서비스에 특화된 단위로 개발(마이크로 서비스)하고, 둘째, (컨테이너)와 같은 경량화 된 가상화 환경에서 구동하는 단위로 구성하며, 셋째, 이러한 다수의 마이크로서비스와 통신하는 컨테이너들을 관리할 수 있는 환경(쿠버네티스)으로 진화하고 있다. AI 개발도 이러한 마이크로 서비스, 컨테이너, 쿠버네티스(컨테이너들을 자동으로 통합 관리하는 소프트웨어) 와 같은 오픈소스 프레임워크 기반 아키텍처들의 장점들과 더불어 발전할 것으로 예상되고 있다.
부상하는 AI 개발 플랫폼
최근에는 더 나아가서 이러한 AI를 개발하는 일련의 작업 흐름 즉, 컨테이너 등 환경 자동화 관리, GPU 및 볼륨관리, GPU 성능모니터링, 멀티GPU 클러스터링, 잡스케쥴링, 멀티 클라우드 등의 일련의 작업을 자동화 하는 AI 개발 플랫폼이 선을 보이고 있다.
위의 그림 2와 같이 에이프리카의 치타 AI 개발 플랫폼은 머신러닝 라이브러리 설치, 사용자 설정, GPU 할당을 클릭만으로 1분안에 마칠 수 있는 개발환경 자동화 기능을 제공한다.
또한 직관적인 프로젝트 대시보드를 통해 할당 받은 GPU 와 그의 사용현황을 바로 확인 할 수 있으며 복수의 서버 환경인 경우, 할당 받은 GPU 의 용량을 넘어 사용할 경우 자동으로 복수의 GPU 구성을 설정하여 실행한다. 이 경우, 전체 사용자의 환경에 영향을 줄 수 있으므로, 스케쥴 관리의 작업 추가를 통해 예정된 일정에 할당 받은 복수의 GPU 를 사용하도록 하고있다.
이러한 AI 개발 플랫폼들은 이러한 클라우드 기반 오픈소스 프레임워크 표준을 준수하면서 당분간 급속히 발전할 것으로 전망되는데, 일련의 AI 개발 작업 흐름 상의 훈련, 모델 제공, 모델 관리 등의 영역을 이러한 AI 플랫폼 내부에 포함해가면서 사용자들을 인공지능 모델 개발 이외의 업무에서 보다 자유로워지게 지원할 수 있을지 향후 귀추가 주목된다.