본문 바로가기

Home > 열린마당 > 공개SW 소식

공개SW 소식

2018년 10월 17일

ⓒ ITWORLD, Peter Wayner | InfoWorld

 

컴퓨팅 작업 중에서 가장 늦게 클라우드로 흡수되는 작업 중 하나는 바로 데이터 분석이다. 과학자들이 원래 프로그래밍을 좋아해 자신의 책상 위에 컴퓨터를 두는 편을 선호해서일 수도 있고, 데이터를 기록하기 위해 실험 장비가 컴퓨터에 직접 연결되어 있거나 데이터 집합이 너무 커서 이동하려면 너무 많은 시간이 걸려서일 수도 있다.

이유가 무엇이든 과학자와 데이터 분석가들은 그동안 원격 컴퓨팅 도입에 소극적이었다. 그러나 원격 컴퓨팅은 이제 대세다. 머신러닝, 인공 지능, 데이터 분석을 위한 클라우드 기반 툴이 증가하고 있다. 이유는 클라우드 기반 문서 편집 및 이메일에 대한 관심을 촉발했던 이유와 같다. 팀은 어느 컴퓨터에서나 중앙 저장소에 로그인할 수 있고 원격지에서, 이동 중에, 심지어 해변에서도 작업을 할 수 있다. 클라우드에서는 백업과 동기화가 자동으로 처리하므로 모든 작업이 간소화된다.

그러나 클라우드가 데이터 분석에 더 유리한 실무적인 측면의 이유도 있다. 데이터 집합의 크기가 큰 경우 클라우드를 사용하면 훨씬 더 빠르게 작업을 수행할 수 있는 임대 하드웨어에 대규모 작업을 스풀링할 수 있다. PC 작업을 시작한 다음 몇 시간 후 점심을 먹으러 나갔다가 돌아와서 작업이 실패한 것을 확인할 일이 없다. 이제는 버튼을 눌러 방대한 메모리가 준비된 수십 개의 클라우드 인스턴스를 가동하고 몇 분 이내에 코드가 실패하는 것을 확인하면 된다. 현재 클라우드는 초 단위로 비용을 청구하므로 시간과 비용을 절감할 수 있다.

위험도 있다. 가장 큰 위험은 개인정보보호 대한 막연한 우려다. 일부 데이터 분석에는 여러분이 보호해줄 것이라 믿고 맡긴 사람들의 개인 정보가 사용된다. 우리는 데이터가 실험실의 하드 드라이브에 저장된 상태에서의 보안 문제에 익숙하다. 클라우드에서는 무슨 일이 일어나고 있는지 알기가 어렵다.

클라우드 제공업체가 사용하는 모범 사례를 편안하게 받아들이게 되기까지는 시간이 더 걸리겠지만 실험실의 대학원생보다 클라우드 제공업체가 더 많은 보안 컨설턴트를 채용할 수 있다는 사실을 사람들도 이제 인식하고 있다. 개인용 컴퓨터가 바이러스 또는 기타 백도어에 안전하다고 보기도 어렵다. 개인용 컴퓨터가 인터넷에 연결되어 있다면 이미 어떤 의미에서 클라우드의 일부다.

다행히 해결책은 있다. 가장 간단한 방법은 개인 정보를 무작위 ID로 대체하는 등의 데이터 익명화다. 완벽하지는 않지만 해커가 클라우드 방어선을 뚫고 침투한 이후 야기할 수 있는 문제의 범위를 크게 좁혀준다.

Getty Images Bank


다른 흥미로운 이점도 있다. 작업 그룹은 소스 데이터 집합을 공유하거나 대중에 공개해서 상상하기 어려운 갖가지 조합을 생성할 수 있다. 일부 클라우드 제공업체는 자체 데이터 집합을 큐레이션하고 스토리지 비용을 기부해서 사용자를 끌어들인다(AWS, 애저, GCP, IBM이 대표적인 예). 누구나 날씨나 태양의 흑점을 비롯해 공개 데이터 집합의 정보와 자신의 제품 판매량의 연관관계를 찾아볼 수 있다. 누가 알겠는가? 이미 온갖 종류의 신기한 연관관계가 확인됐다.

데이터 집합의 연관관계와 신호를 찾는 데 도움이 되는 클라우드 기반 머신러닝 서비스 7가지를 알아보자.

아마존 세이지메이커(SageMaker)
아마존은 아마존 머신러닝 툴 사용을 간소화하기 위해 세이지메이커를 만들었다. 아마존 세이지메이커는 다양한 AWS 스토리지 옵션(S3, 다이나모, 레드시프트 등)을 연결해서 인기 있는 머신러닝 라이브러리(텐서플로우, MXNet, 체이너 등)를 실행하는 도커 컨테이너로 데이터를 집어 넣는다. 최종 모델이 API로 배포되기 전에 주피터(Jupyter) 노트북으로 모든 작업을 추적할 수 있다. 세이지메이커는 데이터를 아마존 머신으로 옮기므로 사용자는 프로세스에 대해 생각할 필요 없이 알고리즘에만 집중할 수 있다. 알고리즘을 로컬에서 실행하고자 한다면 언제든 도커 컨테이너를 다운로드하면 된다.

애저 머신러닝
마이크로소프트는 머신러닝의 미래를 내다보고 데이터에서 신호를 찾기 위한 정교한 그래픽 툴인 머신러닝 스튜디오(Machine Learning Studio)에서 올인원 방식을 택했다. AI를 위한 스프레드시트라고 할 수 있다. 순서도를 제작해 수치의 의미를 파악하기 위한 드래그 앤 드롭 인터페이스가 있다. 문서에서는 “코딩이 필요 없다”고 하는데, 기술적으로 보면 맞는 말이지만 효과적으로 툴을 사용하기 위해서는 여전히 개발자처럼 생각할 필요는 있다. 다만 코드를 구조화하는 작업에 매몰될 일이 없을 뿐이다. 구문 오류, 데이터 형식 지정을 비롯한 프로그래밍의 재미가 그리운 사람이라면 파이썬, R 또는 다른 여러 언어로 작성된 모듈을 가져올 수 있다.

가장 흥미로운 점은 마이크로소프트가 AI에서 습득한 내용을 사용해서 예측 모델을 애저 클라우드에 실행되는 웹 서비스로 변환할 수 있는 인프라를 추가했다는 점이다. 즉, 학습 집합을 구축하고 모델을 만든 다음 몇 번만 클릭하면 애저 서비스에서 JSON 패킷으로 답을 전달할 수 있다.

빅ML(BigML)
빅ML은 빅ML 클라우드에서 사용하거나 로컬에 설치할 수 있는 데이터 분석을 위한 하이브리드 대시보드다. 주 인터페이스인 대시보드에는 분석 가능한 모든 파일이 목록으로 표시된다. 수십 가지 머신러닝 분류기(classifier), 클러스터러(clusterer), 리그레서(regressor) 및 이상점 탐지기를 사용해 분석할 수 있다. 클릭만 하면 결과가 표시된다.

최근 빅ML은 유용한 답을 제공하는 스택의 역량을 강화하는 새로운 알고리즘에 집중하는 중이다. 새로운 퓨전(Fusion) 코드는 여러 알고리즘의 결과를 통합해서 정확도를 높일 수 있다.

가격은 구독 기반이며 빅ML의 자체 시스템을 사용하는 넉넉한 무료 계층도 있다. 또한 AWS, 애저 또는 GCP에서 사설로 배포할 수도 있다. 그것조차 공개 클라우드라는 점이 거슬린다면 개인용 서버에도 배포가 가능하다.

데이터브릭스(Databricks)
몇몇 아파치 스파크 개발자들이 오픈 소스 분석 플랫폼에 비약적인 속도 향상을 위한 몇 가지 기능을 추가하고 정교한 압축 및 인덱싱을 통해 처리량을 늘린 것이 데이터브릭스 툴셋이다. 델타(Delta)라는 하이브리드 데이터 저장소를 사용해서 대량의 데이터를 저장하고 신속하게 분석할 수 있다. 새 데이터가 들어오면 이전 스토리지에 집어넣어 빠른 재분석이 가능하다.

이 데이터를 대상으로 아파치 스파크의 모든 표준화된 분석 루틴을 실행할 수 있지만 분석 코드를 위한 통합 노트북 등 스파크 인프라에 필요한 개선 사항이 적용된다.

데이터브릭스는 AWS 및 애저와 통합되며 가격은 소비량과 성능에 따라 결정된다. 각 연산 엔진은 데이터브릭스 유닛(Databricks Unit)으로 측정된다. 속도가 빠른 모델일수록 비용도 높아진다.

데이터로봇(DataRobot) 
여기서 소개하는 접근 방법 중 상당수는 한 번의 클릭으로 머신러닝 모델을 구축할 수 있다. 데이터로봇이 내세우는 특징은 한 번의 클릭으로 수백 개의 모델을 동시에 구축할 수 있다는 점이다. 모델이 완성되면 하나씩 살펴보면서 예측 성능이 가장 우수한 모델을 찾아 선택한다. 이러한 방식이 가능한 비결은 “대규모 병렬 처리 엔진”에 있다. 달리 말하면 클라우드의 시스템이 분석을 수행한다.

데이터로봇은 새로운 알고리즘을 구현하고 기존 알고리즘을 확대하는 방식으로 확장된다. 회사 측은 최근 뉴터니안(Nutonian)을 인수했다. 뉴터니안의 유레카(Eureqa) 엔진은 자동화된 머신러닝 플랫폼에서 시계열 및 분류 모델을 생성하는 기능을 향상시켜 준다. 또한 이 시스템은 고급 사용자를 위한 파이썬 API도 제공한다.

데이터로봇은 데이터로봇 클라우드 또는 임베디드 엔지니어가 포함된 엔터프라이즈 소프트웨어 에디션을 통해 제공된다.

구글 클라우드 머신러닝 엔진
구글은 데이터에서 신호를 찾기 위한 표준 오픈 소스 라이브러리 중 하나인 텐서플로우(TensorFlow)에 상당한 투자를 해왔다. 현재 사용자는 구글 클라우드에서 텐서플로우를 사용해 실험할 수 있다. 구글 클라우드 머신러닝 엔진의 일부 툴은 오픈 소스이며 기본적으로 무료로 제공되므로 다운로드하기만 하면 된다. 일부는 구글 클라우드 플랫폼의 상용 옵션에 포함된다. 코드의 대부분이 오픈 소스이고 모든 맥, 윈도우 또는 리눅스 박스에서 바로 실행할 수 있으므로 플랫폼 종속을 피하면서 자유롭게 살펴볼 수 있다.

여러 가지 부분으로 구성되는데, 가장 쉽게 시작할 수 있는 곳은 주피터 노트북을 구글 텐서플로우 백엔드와 연결해 코드를 스케치하고 실행해볼 수 있게 해주는 콜래보래토리(Colaboratory)다. 또한 구글은 실험을 원하는 과학자를 위해 텐서플로우 리서치 클라우드(TensorFlow Research Cloud)도 제공한다. 적절한 경우 GPU 또는 TPU를 사용하는 구글 가속 하드웨어에서 머신러닝 모델을 실행할 수 있다.

IBM 왓슨 스튜디오(IBM Watson Studio)
왓슨이라는 브랜드는 제퍼디(Jeopardy)에 출연한 AI로 유명해졌지만 현재 왓슨은 IBM의 인공 지능 사업 대부분을 포괄한다. IBM 왓슨 스튜디오는 클라우드 또는 구내에서 데이터를 탐색하고 모델을 학습시키기 위한 툴이다. 데이터를 넣으면 중역회의에 바로 사용해도 될 만한 보기 좋은 차트와 그래프가 대시보드를 통해 출력된다.

가장 큰 차별점은 왓슨 스튜디오의 데스크톱 버전이다. 클라우드 기반 버전을 사용해서 데이터를 연구하고 탄력적 리소스 및 중앙 저장소가 주는 이점을 누릴 수 있지만 방화벽 뒤의 데스크톱에서도 안락하고 편리하게 거의 모든 이점을 똑같이 얻을 수 있다.

모든 클라우드의 머신러닝 모델
많은 사람들이 모든 AI 연구에 사용할 하나의 대시보드를 선택하고자 하지만 여러 가지를 선택해서 사용하는 것도 가능하다. 모든 전처리와 데이터 정리를 완료한 다음 똑같은 CSV 형식의 데이터를 모든 서비스에 집어넣어 그 결과를 비교해 최선의 방법을 찾을 수 있다. 일부 서비스는 이미 자동화된 알고리즘 간 비교 기능을 제공하기까지 한다. 한 걸음 더 나아가 여러 알고리즘을 사용하지 않을 이유가 없다.

계속 발전 중인 개방형 표준의 이점을 활용할 수도 있다. 예를 들어 주피터 노트북은 일반적으로 큰 수정 없이 실행된다. 한 플랫폼에서 개발한 다음 데이터와 함께 이 코드의 대부분을 다른 플랫폼으로 가져가서 새로운 또는 다른 알고리즘을 테스트해볼 수 있다.

아직 표준화까지는 아직 갈 길이 멀고 알고리즘 간에 설명이 불가능한 차이점도 있다. 한 가지 알고리즘 또는 한 가지 학습 모델에 안주하지 말고 관리 가능한 범위 내에서 최대한 많은 모델링 툴로 실험하라. editor@itworld.co.kr

 

※ 본 내용은 한국IDG(주)(http://www.itworld.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒITWORLD. 무단전재 및 재배포 금지

[원문출처 : http://www.itworld.co.kr/news/111129]

맨 위로
맨 위로