2017.10.27

스파크로 더 쉬워진 머신러닝 ‘아파치 프리딕션IO’

Serdar Yegulalp | InfoWorld
아파치 재단에 새로운 머신러닝 프로젝트가 추가됐다. 주인공은 아파치 프리딕션IO(Apache PredictionIO)로, 원래 세일즈포스의 자회사 중 한 곳이 개발하던 프로젝트의 오픈소스 버전이다.

Image Credit : GettyImagesBank

아파치 프리딕션IO는 스파크와 하둡을 기반으로 하며, 공통 작업용 맞춤형 템플릿을 사용하는 데이터로부터 스파크 기반의 예측 분석을 제공한다. 애플리케이션은 데이터를 프리딕션IO의 이벤트 서버로 보내 모델을 훈련하고, 이후 해당 모델을 기반으로 한 예측용 엔진에 쿼리한다.

스파크, MLlib, HBase, 스프레이(Spray), 일래스틱서치(Elasticsearch) 모두 프리딕션IO에 번들로 제공되며, 아파치는 자바와 PHP, 파이썬, 루비용 지원 SDK를 제공한다. 데이터는 다양한 백엔드 인프라에 저장할 수 있는데, JDBC, 일래스틱서치, HBase, HDFS를 이용할 수 있고, 로컬 파일 시스템은 모두 바로 사용할 수 있다. 백엔드 시스템은 플러그 방식이기 때문에 개발자는 맞춤형 백엔드 커넥터를 만들 수도 있다.

프리딕션IO의 가장 큰 장점은 머신러닝 엔진을 만드는 템플릿 시스템이다. 템플릿은 특정 예측용 시스템을 설정하는 데 필요한 수많은 작업을 줄여준다. 또한 작업에 필요할 수 있는 서드파티 의존성도 나타내 준다.

현재 사용할 수 있는 템플릿으로는 범용 추천 엔진, 텍스트 분류, 생존 분석, 위키피디아를 지삭 기반으로 사용하는 주제 라벨링, 유사성 분석 등이 있으며, 또한 일부 템플릿은 다른 머신러닝 제품과 통합한다. 예를 들어, 현재 프리딕션IO 갤러리에 있는 예측 템플릿 중 고객 이탈률 탐지와 범용 추천 템플릿은 H2O.ai의 스파클링 워터(Sparkling Water)를 사용한다.

프리딕션IO는 또 예측 엔진을 자동으로 평가해 가장 적합한 하이퍼파라미터를 결정해 준다. 개발자가 지표를 골라 설정해야 하지만, 직접 하이퍼파라미터를 조정하는 것보다 해야 할 작업이 훨씬 적다.

서비스로 구동하면, 예측을 하나씩 또는 배치 작업으로 받을 수 있는데, 배치 예측은 스파크 클러스터에 걸쳐 자동으로 병렬화된다. 이때 배치 예측 작업에 사용되는 알고리즘이 모두 직렬화 가능한 것이어야 하는데, 프리딕션IO의 기본값 알고리즘이기도 하다.

프리딕션IO의 소스 코드는 깃허브에서 다운로드할 수 있으며, 헤로쿠 빌드 팩과 다양한 도커 이미지도 사용할 수 있다.  editor@itworld.co.kr


2017.10.27

스파크로 더 쉬워진 머신러닝 ‘아파치 프리딕션IO’

Serdar Yegulalp | InfoWorld
아파치 재단에 새로운 머신러닝 프로젝트가 추가됐다. 주인공은 아파치 프리딕션IO(Apache PredictionIO)로, 원래 세일즈포스의 자회사 중 한 곳이 개발하던 프로젝트의 오픈소스 버전이다.

Image Credit : GettyImagesBank

아파치 프리딕션IO는 스파크와 하둡을 기반으로 하며, 공통 작업용 맞춤형 템플릿을 사용하는 데이터로부터 스파크 기반의 예측 분석을 제공한다. 애플리케이션은 데이터를 프리딕션IO의 이벤트 서버로 보내 모델을 훈련하고, 이후 해당 모델을 기반으로 한 예측용 엔진에 쿼리한다.

스파크, MLlib, HBase, 스프레이(Spray), 일래스틱서치(Elasticsearch) 모두 프리딕션IO에 번들로 제공되며, 아파치는 자바와 PHP, 파이썬, 루비용 지원 SDK를 제공한다. 데이터는 다양한 백엔드 인프라에 저장할 수 있는데, JDBC, 일래스틱서치, HBase, HDFS를 이용할 수 있고, 로컬 파일 시스템은 모두 바로 사용할 수 있다. 백엔드 시스템은 플러그 방식이기 때문에 개발자는 맞춤형 백엔드 커넥터를 만들 수도 있다.

프리딕션IO의 가장 큰 장점은 머신러닝 엔진을 만드는 템플릿 시스템이다. 템플릿은 특정 예측용 시스템을 설정하는 데 필요한 수많은 작업을 줄여준다. 또한 작업에 필요할 수 있는 서드파티 의존성도 나타내 준다.

현재 사용할 수 있는 템플릿으로는 범용 추천 엔진, 텍스트 분류, 생존 분석, 위키피디아를 지삭 기반으로 사용하는 주제 라벨링, 유사성 분석 등이 있으며, 또한 일부 템플릿은 다른 머신러닝 제품과 통합한다. 예를 들어, 현재 프리딕션IO 갤러리에 있는 예측 템플릿 중 고객 이탈률 탐지와 범용 추천 템플릿은 H2O.ai의 스파클링 워터(Sparkling Water)를 사용한다.

프리딕션IO는 또 예측 엔진을 자동으로 평가해 가장 적합한 하이퍼파라미터를 결정해 준다. 개발자가 지표를 골라 설정해야 하지만, 직접 하이퍼파라미터를 조정하는 것보다 해야 할 작업이 훨씬 적다.

서비스로 구동하면, 예측을 하나씩 또는 배치 작업으로 받을 수 있는데, 배치 예측은 스파크 클러스터에 걸쳐 자동으로 병렬화된다. 이때 배치 예측 작업에 사용되는 알고리즘이 모두 직렬화 가능한 것이어야 하는데, 프리딕션IO의 기본값 알고리즘이기도 하다.

프리딕션IO의 소스 코드는 깃허브에서 다운로드할 수 있으며, 헤로쿠 빌드 팩과 다양한 도커 이미지도 사용할 수 있다.  editor@itworld.co.kr


X