Tag Archives: AWS

AWS 스팟 인스턴스 + Deep Learning AMI

AWS의 EC2 스팟spot 인스턴스와 함께 AWS 공식 Deep Learning AMI를 사용하는 법에 대해 간단히 따라가 보도록 하겠습니다. 이 글은 ‘홍대 머신러닝 스터디‘를 위해 작성되었습니다.

먼저 AWS 페이지에서 계정을 만들어야 합니다. 계정을 만들 때 향후 결재를 위해 신용카드 정보를 입력해야 하는 것외에는 특별한 것은 없습니다. 계정을 만들고 AWS 콘솔에 로그인해서 메뉴바에 서비스 드롭다운 메뉴를 펼쳐 EC2를 찾아 클릭합니다.

스팟 인스턴스는 왼쪽 메뉴 ‘스팟 요청’에서 할 수 있습니다. 그런데 웬일인지 이 메뉴를 통해 스팟 인스턴스를 요청할 때는 아마존의 Deep Learning AMI(서버 이미지)를 찾을 수가 없었습니다. 물론 직접 Nvidia 드라이버와 텐서플로를 설치해도 되지만 편리하게 제공해 주는 것을 마다할 이유는 없겠지요.

아마존의 Deep Learning AMI를 사용해서 스팟 인스턴스를 띄우려면 먼저 아래 그림과 같이 좌측의 ‘AMI’ 메뉴에서 가능합니다. 혹시 서울 리전이 아니더라도 크게 상관은 없습니다만 아래 화면과 다를 수 있습니다. 서울 리전은 오른쪽 위에서 이름 옆의 드롭다운에서 선택할 수 있습니다. 검색창의 드롭다운 메뉴를 ‘퍼블릭 이미지’로 바꾼 다음  ‘deep learning ami’를 찾습니다. 아마존 리눅스와 우분투가 있는데 여기서는 우분투 버전을 선택했습니다.

스크린샷 2018-01-17 오후 8.29.36

그 다음 ‘작업’ 버튼을 눌러 ‘스팟 요청’ 메뉴를 클릭합니다.

스크린샷 2018-01-17 오후 8.29.57

Continue reading

MXNet, DL Framework of Choice at AWS

지난 주 아마존 CTO 워너 보글스(Werner Vogels)는 AWS 에서 사용할 수 있는 딥러닝 프레임워크로 MXNet 을 추가했으며 앞으로 아마존이 MXNet 의 개발을 지원하겠다고 발표하였습니다. MXNet 은 카네기 멜론 대학과 워싱톤 대학이 시작한 이후 많은 대학과 회사들의 후원을 받고 있는 딥러닝 오픈소스 라이브러리입니다. 깃허브 활동에서도 크게 뒤쳐지지 않고 활발히 개발되고 있습니다. 특징으로는 파이썬, 줄리아(Julia), R, 매트랩(Matlab), 스칼라(Scala) 등 다양한 인터페이스를 지원하는 것이 눈에 띄입니다. 성능과 대용량 처리 부분에서도 크게 뒤지지 않는 듯 보입니다.

그럼 아마존의 데스트니(DSSTNE)는 어떻게 되는 것인지 모르겠습니다. 자체 라이브러리의 생태계를 만들어 가는 것이 역부족이라고 느낀 것일까요. 아니면 구글이 스탠포드 비전랩의  Fei Fei, Li 교수와 스냅챗의 Jia Li 를 구글 클라우드의 머신러닝 유닛을 이끌 수장으로 영입한 것이 영향을 미쳤을지도 모릅니다. 문제는 프레임워크가 아니고 클라우드 비즈니스라고 말이죠.

또 트위터가 2015년 웻랩(Whetlab)을 인수하면서 영입한 AI 연구자 다섯명이 트위터 코텍스(Twitter Cortex)를 떠난다는 소식이 있었습니다. 그 중에 업계에 비교적 잘 알려진 휴고 라로쉘(Hug Larochelle)은 구글로 자리를 옮겼습니다. 구글이 요슈아 벤지오(Yoshua Bengio) 교수가 있는 몬트리올 대학 MILA 랩에 3백만 달러(역대 최고라 하는군요)를 지원하기로 발표하면서 휴고 라로쉘이 구글의 몬트리올 랩의 리더가 되었습니다. 거기에 최근에는 OpenAI 가 클라우드 플랫폼으로 마이크로소프트의 애저(Azure)를 선택한다고 발표하니 아마존이 다급해진 것일까요. 여러모로 프레임워크로 경쟁하기 보다는 실리를 추구하는 쪽으로 선회한 것일지 모르겠습니다.

아마존의 AWS 에는 MXNet, Caffe, Tensorflow, Theano, Torch 그리고 CNTK 가 미리 설치되어 있는 딥러닝 AMI 가 있습니다. 그리고 사용자는 여전히 입맛에 맞는 프레임워크를 설치해서 사용할 수 있습니다. 하지만 앞으로 AWS RDS 처럼 관리형 딥러닝 서비스가 나온다면 MXNet 이 첫번째 후보가 될수 있을 것 같습니다.

AWS New Instance for AI

오늘 블룸버그에 아마존이 뉴럴 네트워크를 위한 새로운 인스턴스 타입을 테스트 중에 있다고 기사를 게재했습니다. 아마존의 입장에서는 계속 인기가 올라가고 있는 구글의 클라우드 플랫폼(GCP)에 대응하지 않을 수 없을 것 같습니다. 특히 구글의 클라우드 머신러닝 플랫폼이 이미 알파 서비스를 하고 있습니다. 하지만 아마존이 구글 클라우드 플랫폼이 제공하는 Vision API, Prediction API, Translate API 같은 API 서비스를 제공할 것 같지는 않습니다.

새로운 타입의 인스턴스는 최대 8개까지의 GPU가 탑재되었고 몇몇 고객을 대상으로 테스트 중에 있다고 합니다. 아마도 보다 최신의 Nvidia GPU가 탑재될 것으로 생각됩니다. 이 인스턴스에 아마존이 발표한 딥러닝 프레임워크인 데스트니(DSSTNE)만 운영할 수 있는 것은 아니고 당연히 텐서플로우를 포함한 다른 딥러닝 프레임워크도 사용할 수 있습니다. 새로운 인스턴스 타입에서 데스트니를 사용했을 때 성능상의 장점외에 다른 편리함을 줄 수 있다면 더욱 기대가 될 것 같습니다.

OSX와 AWS EC2 에서 CUDA 지원하도록 텐서플로우 컴파일하기

맥(MAC) 의 Nvidia GPU 를 사용할 수 있도록 텐서플로우(TensorFlow)를 컴파일할 수 있도록 수정된 패치가 나왔습니다. 이를 이용해서 맥(MAC)에서 텐서플로우를 설치할 수 있습니다.

https://medium.com/@fabmilo/how-to-compile-tensorflow-with-cuda-support-on-osx-fd27108e27e1#.wy9gsyvux

이 패치는 텐서플로우의 마스터 브랜치의 오류를 수정한 것으로 많은 Nvidia GPU 를 가진 맥북 개발자들에게 크게 환영받을 것 같습니다. ^^

다음은 아마존 웹서비스(AWS)의 EC2 인스턴스에서 텐서플로우를 설치하는 방법에 대한 글입니다.

http://ramhiser.com/2016/01/05/installing-tensorflow-on-an-aws-ec2-instance-with-gpu-support/

아마존 EC2 인스턴스에는 Nvidia GPU 가 장착된 g2.2xlarge 와 g2.8xlarge 가 있습니다. 하지만 최근에 오픈한 서울 리전에는 G2 인스턴스가 아직 포함되어 있지 않습니다. 테스트를 위해서는 가까운 도쿄 리전의 인스턴스를 사용하면 좋을 것 같습니다.