피키캐스트의 데이터 사이언스 향한 여정

컴퓨팅입력 :2015/10/29 17:20

콘텐츠 큐레이션 서비스로 인기를 모은 피키캐스트. 100만건의 트래픽을 만들어냈지만 처음엔 이를 전혀 활용하지 않았다. 뒤늦게 데이터 사이언스 조직을 만들고 현재의 시스템과 체계를 만들기까지 과정이 소개됐다.

강지훈 피키캐스트 데이터사이언스실 실장은 29일 열린 ‘제6회 클라우드프론티어’에서 피키캐스트의 데이터사이언스 인프라 구축과정을 발표했다.

강지훈 실장이 피키캐스트에 합류한 건 올해 3월. 그 당시만 해도 데이터 다루는 부서가 없었다고 한다. 사용자 체류시간이 페이스북보다 높았음에도 트래픽이 분석되지 않고 사라지고 있었다. 로그분석도 안되고 있었는데, 아마존웹서비스 엘라스틱맵리듀스(EMR)를 사용중이었다고 한다. 그 관리도 잘 안돼 수백, 수천만원이 낭비되고 있었다.

피키캐스트 강지훈 데이터사이언스실장

데이터사이언스조직을 만들게 되면서 가장 먼저 해야 할 일은 빅데이터 엔지니어링이었다. 데이터를 수집하고 스키마를 만드는 일이다. 단순 저장 외에 분석 인프라로 AWS EMR 대신 KT 유클라우드를 활용했다. 데이터 포맷은 단순한 텍스트파일을 쓰고, 추가로 붙이는 경우 JSON을 사용하기로 했다.

다음으로 수집 인프라로 스플렁크나 플럼 대신 하둡분산파일시스템(HDFS) 위에 스프레이란 스칼라 기반 플랫폼을 얹는 형태를 택했다.

강 실장은 “수집, 저장을 위한 인프라 형태를 결정하기까지 수일만에 이뤄졌고, 실제 애플리케이션에 적용도 짧은 시간에 이뤄졌다”고 말했다.

빅데이터의 기본 환경을 만든 뒤엔 비즈니스 인텔리전스(BI)가 요구됐다고 한다.

일단 비즈니스 담당자의 요청을 받아 데이터를 뽑아 전달하는 과정에서 현업지식이 필요해졌다. 일간방문자, 월간방문자, 리텐션, 코호트, 재방문자, 콘텐츠 메트릭스, 유저 행동, 마케팅 ROI 등을 이해하기도 했고, 추가적으로 더 효율적인 메트릭이 필요하다고 판단했다. 그는 상단에 노출하면 클릭 확률이 높아지는 기대값을 찾는 메트릭이 제시됐다.

이후엔 상시적으로 확인할 수 있는 대시보드 요구사항이 나왔다. 먼저 시스템 체계를 만들었다. 요청과 피드백 체계. 내부 고객에 대한 사용자관리, 외부고객 관리, 알림(변경 혹은 이슈), 데이터 시각화 등이 이뤄져야 했다. 이 과정에서 연산 부하가 증가해도 순간적으로 확장가능한 클라우드의 도움을 많이 받았다고 한다.

추가적으로 필요한 게 시각화와 리포팅이었다. 새로 만든 시스템과 기존 시스템의 데이터를 통합해 현업 요청에 빨리 보고서를 전달하는 게 목표였다. 처음엔 휴와 아파치 제플린을 사용하고 스칼라를 비즈니스 담당자에게 교육시켜 직접하도록 했지만, 교육에만 한달을 소비했고, 결국은 개발자에게 요구하고 마는 상황이 벌어졌다. 그래서 상용소프트웨어인 타블로를 사용하기로 했다.

대시보드까지 완료된 다음은 실제 서비스에 데이터 분석을 긴밀하게 연결하는 부분이었다. 분석한 결과를 서비스에 실시간으로 연동하는 것으로 예측 분석이 그것이다.

피키캐스트는 키벨류 스토어에 다양한 키의 점수를 다 저장하고, 사용자 방문 시 해당사항 있는 키로 긁어와서 수식에 대입해 푸는 방식을 사용한다. 시의성, 정보성, 매력, 참여, 에디터 작성글 매칭 등이 들어간다.

추천 시스템도 필요했다. 여러 항목 중 시의성과 일부를 제거하면 개인화 추천이 된다. 딥러닝, 토픽모델, 셸로우 러닝 등을 넣어 복잡한 연산을 해서 보여주도록 만들었다.

그는 “추천이 지금 시대 가장 많이 쓰는 하이테크 구현이다”라며 “계산력이 많아서 1초에서 오백밀리초 안에 1만로그를 연산하는데 인프라를 클라우드 도움 받았다”고 말했다.

마지막으로 필요했던 건 검색이었다. 그는 엘라스틱서치란 오픈소스를 사용하지 않고 직접 검색 엔진을 개발하기로 결정했다. 피키캐스트의 UI가 카드뷰로 이뤄져 있어 기존 검색엔진에 적합하지 않았고, 새로운 사업모델에 새로운 무언가가 필요하다는 판단이었다고 한다.

현재 피키캐스트는 개발팀과 데이터사이언스 조직을 분리해 운영중이다. 그는 데이터사이언스실이 개발 가능한 데이터 조직이라고 설명했다.

관련기사

그는 “개발팀이 있음에도 어느새 문가출신이 대부분인 데이터 사이언스실이 인프라를 직접 다루고 있었고, 리소스 절약을 위해 클라우드의 도움을 받았다”며 “그랬더니 개발팀과 완전히 연동되지 않는 상태가 돼버려 개발팀에 요청하는 게 어려워졌다”고 말했다. 이어 “그래서 완성형 라이브러리를 개발팀에 제공하니 협조를 잘 받을 수 있었다”고 덧붙였다.

그는 데이터 엔지니어와 수학/통계 전문가 간의 상호 지식 교류를 위한 스터디를 진행중이며, 이미지 분류와 저작권 이슈 대응을 위해 GPU프로세싱과 시스템화를 계획중”이라고 밝혔다.