컨텐츠 바로가기

04.25 (목)

[실용주의 클라우드컴퓨팅]클라우드에서 AI 서비스 개발과 운영 확산 전망

댓글 첫 댓글을 작성해보세요
주소복사가 완료되었습니다
알파고 등장으로 전 세계에 인공지능(AI) 열풍이 분 이후 그 분위기는 여전히 사그라지지 않고 있다. 정부도 4차 산업혁명 핵심 인프라로 AI를 포함한 세 가지, 'DNA(Data-Network-AI)'를 꼽고 있다. 특히 AI 고도화를 위해 2020년도에만 1000억원 이상 자금을 투입할 계획이다.

통상 사람들이 생각하는 AI는 알파고로 유명해진 딥러닝이다. 하지만 사실 GBM(Gradient Boosted Model)·SVM(Support Vector Machine) 등 딥러닝 이전의 전통적 방식부터 최근 각광받는 강화학습이나 생성적 적대신경망(GAN)에 이르기까지 데이터를 학습해 자가 수정할 수 있다면 모두 머신러닝 시스템이다.

전자신문

<이미지를 클릭하시면 크게 보실 수 있습니다>


또 AI는 머신러닝보다 큰 개념으로 규칙 엔진·전문가 시스템 등 자가학습 가능 여부와 관계없이 인간 지능을 필요로 하는 작업을 수행하는 시스템 모두를 포괄한다. 그런데 AI 개발을 위해서는 향후 클라우드 인프라가 필수 불가결하다. 지금까지 AI 연구에도 클라우드가 상당한 역할을 해왔다.

딥러닝이 인기를 얻기 전까지 머신러닝 주류는 인공신경망을 사용하지 않는 방법이었다. GPU와 클라우드를 통해 대용량 연산 역량을 확보하게 된 현재와 달리 신경망 학습이 너무 어려웠기 때문이다. 수학적으로 학습된다는 것은 알 수 있지만 학습에 너무 많은 연산이 필요했으며 시간도 엄청나게 걸려 현장 문제를 푸는 것에는 사용할 수 없었다. 캐글(Kaggle)과 같이 상금을 걸고 머신러닝 경진대회를 여는 사이트에서는 아직도 상당수의 팀들이 딥러닝이 아닌 전통적 방식으로 모델을 만들고 있을 정도이다.

하지만 GPU를 통한 연산의 고속병렬 처리가 가능해지고 클라우드로 많은 자원을 신속하게 전개할 수 있게 되자 딥러닝을 적용하는 사례가 늘어나기 시작했다. 머신러닝에서 많은 시간이 걸리는 과정은 학습과 검증이다. 실제 운용시 추론 단계에서는 훨씬 적은 자원만을 쓰기 때문에 자원을 탄력적으로 운용하면 비용을 최적화하면서도 원하는 결과를 빠르게 얻을 수 있다.

전자신문

<이미지를 클릭하시면 크게 보실 수 있습니다>


첫 번째 알파고의 분산버전은 1202개의 CPU와 176개의 GPU를 사용했다. 이는 신경망 학습과 MCTS(몬테카를로 트리 검색)에 엄청난 비용이 들어가기 때문이었다. 이러한 대형 인프라를 직접 구축하는 건 매우 부담스러운 일이지만 클라우드에서는 원하는 인프라를 필요한 만큼 사용할 수 있어 좀 더 쉽게 접근할 수 있다.

또 머신러닝에서 중요한 것은 '유니크'한 데이터이다. 아무리 좋은 모델과 코드를 만들었다 하더라도 양질 데이터로 학습하지 않으면 원하는 결과를 얻을 수 없다. 따라서 방대한 데이터를 효율적으로 저장하고 관리할 방법이 필요하다. 클라우드에서는 저장용 스토리지를 원하는 만큼 할당하고 필요에 따라 간편하게 확장할 수 있어 용도에 매우 적합하다.

물론 AI를 클라우드로 연구할 때도 어려움은 있다. 로컬 데이터를 업로드하거나 대량의 데이터를 클라우드로부터 다운로드할 때는 아직도 엄청난 시간이 걸린다. 이에 비례해 비용도 비싸진다. 또 클라우드 자원은 일반적으로 온프레미스에 비해 매우 비싼 편이다. 그중에서도 GPU 인스턴스는 특별히 비싸다. 대부분의 CSP(클라우드 서비스 공급자)가 별도로 신청을 받아 사용을 허용할 정도이다. 하지만 로컬에서 GPU로 학습하는 것과 비교해 보면 여러 가지 부가적 장점이 있다. 클라우드에서 AI 학습과 활용은 로컬 학습과 병행하여 앞으로도 계속 확산할 전망이다. 더불어 자체적으로 AI 개발 환경을 직접 구축해 학습시키는 것 외에도 PaaS나 SaaS 형태의 AI 서비스가 등장하고 있다. 아마존웹서비스(AWS)의 세이지메이커(SageMaker)나 마이크로소프트 애저(Azure)의 오토ML(AutoML)은 분류·회귀 등 문제 풀이 방식이 어느 정도 정형화되어 있는 과제를 빠르게 해결하는 데 도움이 될 수 있다.

어차피 머신러닝 환경을 직접 구축해도 토치(Torch)·텐서플로(Tensorflow) 등 라이브러리를 설치하고 쿠다(CUDA)를 활성화하며 트레이닝 세트(Training Set)와 검증 세트(Validation Set)를 나누고 하이퍼파라미터(Hyperparameter)를 조정해 가면서 최적 모델을 찾아내는 과정들은 공통적으로 필요하다.

이렇게 반복되는 과정을 시스템이 대행함으로써 개발자 시간을 단축할 수 있으므로 이익이 된다. 따라서 AI를 활용한 서비스나 솔루션을 계획하고 있는 기업이라면 클라우드에서 개발과 운용이라는 선택지를 진지하게 검토할 필요가 있을 것이다.

<자료제공:클라우드 전문기업 케이아이엔엑스(KINX)> 노규남 CTO bardroh@kinx.net

[Copyright © 전자신문. 무단전재-재배포금지]


기사가 속한 카테고리는 언론사가 분류합니다.
언론사는 한 기사를 두 개 이상의 카테고리로 분류할 수 있습니다.