[ZDNet 칼럼] 대용량 인공지능 플랫폼을 개발자들에게

아마존은 사업 초기부터 인공 지능에 투자해 왔다. 아마존닷컴의 초창기 홈페이지를 보면 ‘Eyes & Editors’라는 기능이 있었는데, 이는 좋아하는 저자의 신규 서적에 대해 자동 검색 및 알림을 해 주는 에이전트 기반 서적 추천 엔진이다. 이미 2006년에 이러한 사용자 리뷰 및 행동 기반 추천을 통해 총 판매액의 35%가 추천 시스템에서 발생했다고 한다.

최근에는 머신 러닝 및 딥러닝 기법을 물류센터에 도입하기도 했다. 사용자가 물건을 온라인 장바구니에 담기만 해도 주문자의 위치, 상품의 위치와 포장 및 운송 경로를 자동으로 예측하여, ‘고객이 주문 전에 배송 계획 예측’하는 시스템을 운용하고 있다. 매 주간 총 500억회 이상 기계 학습을 기반한 예측을 하고 있다.

아마존닷컴 초창기 첫화면(출처: Internet Archive)
아마존닷컴 초창기 첫화면(출처: Internet Archive)

이러한 예측을 기반으로 전 세계 아마존의 물류 센터 중 13 곳에는 시범적으로 키바(KIVA)라는 무인 로봇을 도입했다. 이 로봇은 배송 물품을 자동으로 계산하고 운반해서 포장하는 직원 앞에 순차적으로 놓아 준다. 그 결과 기존 1시간 이상 걸리던 물류 순환 속도를 15분으로 단축하고, 재고 공간 50% 향상, 운영 비용 20% 개선의 효과를 거두었다.

아마존 창고를 책임지는 로봇 짐꾼 '키바'(왼쪽, 출처: CNet Korea), 아마존 물류창고의 AI 분석용 공개 데이터(오른쪽, 출처: AWS 홈페이지)
아마존 창고를 책임지는 로봇 짐꾼 ‘키바'(왼쪽, 출처: CNet Korea), 아마존 물류창고의 AI 분석용 공개 데이터(오른쪽, 출처: AWS 홈페이지)

재미있는 점은 아마존 물류 센터에 상품을 보관하는 선반에는 크고 작은 다양한 물건이 무작위로 놓여져 있다. 사람이 직접 배송 물품을 포장하기 전에, 로봇으로 인해 예측된 물품이 옮겨지게 되는데, 이 때 물품 재고 및 내역 파악을 위해 컴퓨터 비전 기술과 함께 딥러닝을 통한 이미지 모델링 분석을 통해 상품의 배열 방식이 바뀌거나 이동하는 등 다양한 외부 요인에 상관 없이 재고 파악을 할 수 있다. 딥러닝 연구자를 위해 아마존 S3 공공 데이터에 선반 속 재고 상품 이미지 세트를 무료로 공개하기도 했다.

아마존은 최근에 ‘아마존 고’라는 새로운 형태의 무인 결제 오프라인 상점을 선보이기도 했다. 줄을 서서 기다릴 필요가 없는 ‘저스트 워크아웃(Just Walk Out)’이라는 기술을 통해 모바일 앱을 사용하여 상점에 입장, 원하는 제품을 선택하면 바로 가상 장바구니에 담기고, 상점을 나설 때 자동으로 결제가 되는 것이다. 상점내 각종 센서를 통해 컴퓨터 비전, 센서 퓨전 및 딥러닝과 같은 자율 주행 차량에 사용되는 것과 동일한 유형의 기술이 활용된다.

개발자를 위한 머신 러닝 서비스 출시

이러한 내부적 기술적 토대를 기반으로 AWS는 2015년 4월 ‘아마존 머신러닝’ 서비스 공개 이후, AWS 클라우드를 사용하는 고객들의 요구에 맞게끔 다양한 인공 지능을 위한 플랫폼 옵션을 공개해왔다. AWS는 대규모 자원을 가지고 있거나 투자 여력이 있는 회사만이 할 수 있는 인프라나 플랫폼을, 누구나 이용할 수 있도록 하게 하는 목표를 갖고 있다. 인공 지능 분야도 예외가 아니다.

아마존 머신러닝 서비스는 기계 학습 전문 지식은 별로 없더라도 도메인 지식(혹은 대용량 데이터)을 보유한 개발자들이 사용할 수 있는 예측 분석을 제공하고 있다. 이는 아마존에서 내부적으로 사용하는 것과 동일한 기술로서, 모든 사용자가 AWS에서 바로 사용할 수 있다. 실제 많은 AWS 고객이 각종 위조 탐지, 쇼핑 분석 등에 이를 널리 활용하고 있다.

아마존 머신러닝 콘솔을 통한 모델 훈련 및 예측(출처:AWS홈페이지)
아마존 머신러닝 콘솔을 통한 모델 훈련 및 예측(출처:AWS홈페이지)

예를 들어, Hudl사는 스포츠 경기 데이터 및 비디오 분석 및 예측을 통해 코치와 운동선수가 경기를 준비하는데 도움을 받고 있다. Upserve는 식당 관리 시스템을 제공하는데, 아마존 머신러닝을 활용하고 있다.

“아마존 머신 러닝을 통해 저녁 시간대에 레스토랑에 방문할 전체 고객 수를 예측할 수 있게 되었다. 그 결과 레스토랑은 저녁 시간대 직원 배치를 효과적으로 계획해 서빙 할 수 있다고 Upserve의 브라이트 풀턴, 인프라 엔지니어링 담당이사는 전한다.”

뿐만 아니라, 스타트업인 AdiMap은 광고 데이터 분석을 통해 그 결과를 예측하고 있으며, 크라우드소싱 사기 탐지 플랫폼인 Fraud.net은 복잡성을 줄이고 새롭게 등장하는 사기 패턴을 이해하기 위해 아마존 머신러닝을 사용하고 있다. AWS는 작년 AWS 리인벤트 행사에서 애플리케이션 개발자도 막대한 투자를 요하는 인공 지능 기능을 API 형태로 활용할 수 있는 새로운 AI 서비스를 출시했다. 또한, 지금은 AI 서비스의 초기이며, 좀 더 전문적인 결과를 얻으려는 고객의 피드백에 따라 아마존 AI 플랫폼에서는 알고리즘 튜닝과 모델 트레이닝이라는 두 가지 축을 따라 유연한 플랫폼을 확장하고 있다.

확장성 높은 고성능 딥러닝 플랫폼 활용

​일부 인공 지능 연구자 또는 데이터 과학자들은 대량 데이터를 가지고 있을 뿐 아니라 직접 데이터 모델링 및알고리즘을 만들어 튜닝 하는 데 필요한 기술을 얻고자 한다. 이러한 경우 대부분 한정된 물리적 장비와 MXNet 및 텐서플로(Tensorflow)와 같은 딥러닝 프로그래밍 프레임워크을 사용하게 된다.

딥러닝 연구에 필요한 확장성은 클라우드를 통해 해결할 수 있다. 신규 P2 인스턴스는 192GB의 GPU 메모리, 4만 개의 병렬 처리 코어, 70테라플롭스의 단정밀도 부동 소수점 성능 및 23테라플롭스의 배정밀도 부동 소수점 성능을 갖춘 최대 16개의 엔비디아 K80 GPU, 64개의 vCPU 및 732GiB의 호스트 메모리를 제공한다. 최대 16개의 GPU까지 GPU다이렉트 (피어 투 피어 GPU 통신) 기능을 제공하므로 여러 개의 GPU가 단일 호스트 내에서 함께 작동할 수 있다. 또한, 최대 20GB의 밴드위스 기반으로 스케일 아웃 방식으로 클러스터를 구성할 수 있다.

MXNet, 텐서플로, 토치(Torch), 카페(Caffe), 세라노(Theano) 및 쿠다(CUDA) 드라이버가 사전 설치되어있는 딥러닝 이미지(AMI)와 AWS 클라우드포메이션(CloudFormation)을 통해 슈퍼 컴퓨터급 딥러닝 클러스터를 원클릭으로 생성하고 삭제할 수 있다. 비용적인 측면에서도 효과적이다. 빠르게 성장하는 GPU 성능과 하드웨어 출시로 곧장 낡은 기종이 되어 버릴 뿐만 아니라 관리상으로도 애로가 많은 하이엔드 물리 장비를 직접 구매하지 않더라도, 클라우드를 통해 필요할 때마다(저렴한 스팟 인스턴스 등을 활용하여) 비용 효율적인 클러스터를 구성 및 운영할 수 있다.

GPU확장에 따라 선형 확장되는 MXNet의 처리량 및 속도 벤치마크 결과(출처: AWS블로그)
GPU확장에 따라 선형 확장되는 MXNet의 처리량 및 속도 벤치마크 결과(출처: AWS블로그)

특히, 아마존은 클라우드에 최적화된 GPU 확장성에 뛰어난 MXNet을 주력 엔진으로 선택했다. MXNet은 정교한 맞춤형 인공 지능 시스템을 구축 할 수 있도록 지원하는 오픈소스 딥러닝 엔진으로, 다양한 기능 및 확장성을 가지고 있다.

예를 들어, 인기있는 이미지 인식 네트워크인 Resnet의 경우, MXNet을 통해 다른 엔진에 비해 2 배 높은 처리량을 제공해, 50%의 시간 동안 동일한 모델을 트레이닝 할 수 있다. 벤치 마킹 결과에 따르면, MXNet은 다른 엔진과 달리 수백 개의 GPU에 대한 선형 확장성을 보여 주어 클라우드에 적합하다.

아마존에서는 MXNet 커뮤니티와 협력하고 있으며, 얼마전 아파치 재단의 인큐베이팅 프로젝트로 승인 받아 많은 개발자들의 참여를 독려하고 있는 중이다.

이번 글에서는 아마존에서의 인공 지능 활용 사례와 이를 통해 축적된 인공 지능 기술을 맞춤형 솔루션을 원하는 연구자와 데이터 과학자들에게 어떻게 제공하고 있는지 알아보았다. 다음에는 스마트 애플리케이션을 개발하려는 일반 개발자들에게 서버리스(Serverless) AI 서비스를 구현하는 방법을 소개하고자 한다.

원문 링크

여러분의 생각