구글이나 마이크로소프트 같은 회사들의 영향인지 최근 들어 오픈소스화 되고 있는 머신러닝 프로젝트들이 점점 늘어나고 있는 것 같습니다. 구글이나 OpenAI 도 그렇겠지만 오픈소스로 개발자 커뮤니티를 형성하는 것이 이 생태계에 뒤쳐지지 않는 것임을 소규모 스타트업들도 알고 있는 것 같습니다.
Seldon(www.seldon.io)은 작년 2월에 자사의 머신러닝 소프트웨어를 깃허브(https://github.com/SeldonIO/seldon-server/)에 공개하였습니다. Seldon은 컨텐츠 추천과 예측모델을 위한 서버 어플리케이션으로 자바로 이루어져 있습니다. 최근에 공개된 블로그에서는 왜 오픈소스를 택하게 되었는지 또 그 이후에 어떤 변화가 있었는지 등을 설명하기도 했습니다.
Seldon은 최근에 University College London(UCL)의 한 그룹과 데이터 탐색과 관련된 프로젝트를 진행하고 있습니다. 이 프로젝트는 ETL for Data Science 로 데이터의 클리닝, 시각화, 분석을 웹 기반의 어플리케이션에서 할 수 있는 도구입니다. 어플리케이션 아키텍처에서 볼 수 있듯이 Python 의 Flask 와 AngularJS, SocketIO 로 구성되어 있습니다.

Outline of application architecture – 출처 ETL for Data Science 프로젝트 홈페이지
데이터 탐색과 관련해서는 두드러지는 프로젝트가 많지는 않습니다. 탐색 자체가 비정형화된 형태이다 보니 이를 패키지화하는 것이 쉬운일은 아닐 것 같습니다. ETL for Data Science 와 유사한 아파치 프로젝트로는 Zeppelin이 있습니다. Zeppelin은 자바와 Spark 기반의 서버 소프트웨어로 notebook 스타일의 유저 인터페이스를 가지고 있습니다. Zeppelin 은 개발자들이 동시에 하나의 notebook을 수정할 수 있는 콜라보레이션을 지원합니다. notebook 스타일이다 보니 Zeppelin은 엔지니어나 데이터 분석가를 대상으로 합니다. 그에 반해 ETL for Data Science 는 그래픽 환경을 기반으로 하고 있어 그 대상이 좀 더 폭 넓다고 할 수 있습니다.
Zeppelin 프로젝트도 Seldon 과 유사하게 기존의 어플리케이션을 오픈소스화한 경우로 아직 아파치 인큐베이팅 단계에 있습니다. Zeppelin 프로젝트를 이끄는 회사는 국내 스타트업인 NFLabs입니다. 아래는 NFLabs의 CTO이자 Zeppelin 커미터인 이문수님의 Zeppelin 소개 동영상입니다.