데이터 조직으로의 변화 과정: 시나리오

본격적인 논의에 앞서 우리가 해결하고자하는 문제를 좀더 상세히 정의해 보도록 하자. 우리의 목표는 다양한 유형의 데이터를 모으고 활용하여 온라인 서비스 개발 과정에서의 다양한 문제를 해결하는것이다. 여기에는 서비스 성장 극대화를 위한 개발 방향설정, 신규피쳐 런치 의사결정, 서비스 상태 모니터링 및 이슈 해결등이 포함된다.

좀더 구체적인 논의를 위해 IT 교육용 컨텐츠를 모아 유료로 제공하는 IT4U라는 서비스가 있다고 가정하자. 창립 1년만에 비대면 교육 붐을 타고 월간 1백만명의 사용자를 모은 IT4U는 향후 지속적인 성장을 위해 데이터 및 분석 (Data & Analytics) 팀을 만들기로 했고, 당신은 새롭게 만들어진 팀의 리더를 맡았다. 어디서부터 시작해야 할까?

분석을 위한 기초 만들기

데이터 관련 업무 경험을 바탕으로 당신은 우선 양질의 데이터를 쌓는 것이 우선순위라는 결론을 내리고, 기존 앱 데이터 로깅 및 데이터 파이프라인을 점검해 보았다. 그 결과 앱 사용자의 이동 경로를 추적하는데 필요한 항목이 로깅에서 빠져 있다는 것을 발견했다. 또한 데이터 조인 과정에서 레코드의 중복이 생기는 문제도 발견되었다.

이런 문제를 해결하기 위해 DnA팀에서는 기존에 개별 개발자들이 나름의 방식으로 하고 있던 앱 로그 데이터 형식에 대한 표준 가이드라인을 마련하고, 데이터 파이프라인 개발 및 관리에 Airflow와 같은 일관된 워크플로우 툴을 도입했다. 이를 통하여 파이프라인 장애가 났을때 바로 알람을 받을 수 있고 손쉽게 복구할 수 있는 인프라를 갖추게 되었다.

DnA팀의 노력으로 IT4U는 앱 사용자들이 어떤 경로로 접속하여 어떻게 앱을 사용하고 나가는지에 대한 기본적인 통계를 모을 수 있었다. 이를 바탕으로 개발팀이 앱 네비게이션의 몇가지 문제를 해결한 이후에 서비스 접속 후 컨텐츠 소비까지 이어지는 사용자의 비율을 대폭 올릴 수 있었고, 이 결과는 새로 생긴 DnA팀이 경영진의 신뢰를 얻는 계기가 되었다.

품질 개선을 위한 A/B테스트

이런 초기 성과에 여러 팀에 알려지게 되었고, 그중 컨텐츠 추천을 담당하는 팀에서 당신에게 고민을 털어놓았다. 그 팀에서 여러 추천 모델을 연구해서 실서비스에 적용해 보았지만 장기적인 지표 상승을 경험할 수 없었다는 것이다. 추천 팀에서는 추천 모델 변경 전/후의 총 컨텐츠 소비량 및 매출을 기준으로 서비스 개선 여부를 판단하고 있었다.

당신은 모델 변경 전/후의 비교 결과에는 모델 품질의 차이 이외에도 컨텐츠의 수급이나 요일별 컨텐츠 소비 패턴이 영향을 끼친다고 설명을 하고, 제대로 된 서비스 개선 평가를 위해서는 A/B테스트를 수행할 것을 권고했다. 추천 팀에서는 A/B테스트를 수행하기에 충분한 트래픽이 없다고 생각했지만, 몇몇 지표에 대해 Power Analysis를 해본 결과 어느정도 의미있는 실험이 가능한 것으로 나타났다.

마침 DnA팀 내에서 A/B테스트를 위한 기본적인 프레임워크를 만들어놓았기 떄문에, 여기 추천 팀의 지표를 추가하여 몇 주 뒤에 A/B테스트를 수행할 수 있었다. 이 테스트 결과 최근에 개발한 모델이 실제로 컨텐츠 소비를 유의미하게 증가시킨다는 결과를 얻은 추천팀은 신규 모델을 안심하고 서비스에 적용할 수 있었다. 서비스 적용 과정에서도 A/B테스트 프레임워크를 사용하여 지표를 확인하면서 서서히 대상 사용자의 범위를 늘릴 수 있었다.

하지만 몇주안에 새로 런칭한 추천 모델에 대한 불만이 접수되지 시작했다. IT4U에 컨텐츠를 공급하는 파트너들 가운데 상당 수의 매출이 뚝 떨어진 것이다. 컨텐츠 소비 패턴을 분석한 결과 추천 모델 신규 적용 이후 인기 컨텐츠가 추천 결과에서 노출되는 비율이 예전보다 훨신 증가했는데, 그 결과 상대적으로 덜 인기를 얻는 카테고리의 컨텐츠들이 노출되는 비중이 줄어들게 된 것이다.

이 분석 결과를 바탕으로 DnA팀에서는 컨텐츠 공급 파트너들이 최소한의 사용자 트래픽을 얻을 수 있는 방향으로 추천 모델을 개선하기로 하고, A/B테스트 결과에서도 컨텐츠의 소비량과 함께 파트너간 컨텐츠 노출의 공정성을 측정하는 지표를 추가하여 향후 모든 실험에서 이를 확인하도록 하였다.

신규 개발된 모델은 기존 모델 대비 컨텐츠 소비량을 해치지 않으면서 컨텐츠 노출의 공정성을 확 끌어올리는 결과를 가져왔으며, 이 모델이 적용된 이후에는 컨텐츠 파트너들의 불만도 잦아들었다. 당신은 모델 평가에는 단순 매출을 높이는 것 이외에도 고려할 것이 많다는 점을 배우게 되었다.

분석의 품질과 효율 높이기

추천 팀의 A/B테스트 결과를 들은 사내 다른 팀들도 DnA팀의 A/B 테스트 프레임워크에 대해 문의하기 시작했다. DnA팀은 이에 대응하기 위해 테스트 프레임워크의 안정성을 개선하고, 개별 파트너가 직접 실험을 분석할 수 있는 분석 툴 개발에 착수했다. 이와 함께 사내 모든 팀이 A/B테스트 분석 결과를 논의할 수 있는 정기 회의도 만들어서 운영하기 시작했다.

이런 노력 끝에 A/B테스트는 IT4U의 대부분의 팀이 사용하는 서비스로 자리잡게 되었다. 처음에는 대규모 UX 변경이나 추천모델 변경에만 A/B테스트를 적용했지만, 나중에는 Back-end 개선이나 리펙토링 등에도 사용자에게 끼치는 문제가 없다는 부분을 확인하기 위한 A/B테스트를 활용이 표준으로 자리잡았다. 그동안 A/B테스트 인프라의 개선으로 이런 테스트 사례의 증가는 팀에게 큰 부담을 주지 않게 되었다.

또한 팀간에 서로 영향을 주는 피쳐를 개발할 때도 각자 A/B 테스트를 수행하여 필요한 부분을 조율하는 프로세스가 자리를 잡게 되었다. 서로 목소리를 높이다가 결국 직위가 높은 사람의 의견을 따르던 회의는, 각자 가져온 실험 결과를 논의하고 이를 바탕으로 사용자에게 최선의 결과가 무엇인지 고민하는 시간으로 바뀌었다. 상명하복의 기업 문화가 누구나 아이디어를 제안하고 실험해볼 수 있는 방향으로 바뀐 것이다.

이렇게 A/B테스트가 전사 표준으로 자리를 잡으면서 IT4U의 피쳐 개발 방식에도 변화가 생겼다. 예전에는 개별 팀에서 몇 개의 새 피쳐를 개발했는지를 가지고 평가를 받았다면, 어느새부터인가 개별 피쳐의 A/B테스트를 통해 지표가 얼마나 향상되었는지가 평가 기준이 되었다. 또한 이에 따라 피쳐 개발 초기에 이를 어떻게 평가할 것인지를 먼저 논의하고 필요한 로깅이나 지표를 먼저 추가하는 방식으로 개발 패러다임이 바뀌게 되었다. 데이터와 지표가 개발의 시작이자 끝이 된 것이다.

이런 문화 변화에 따라 DnA팀의 역할도 계속 진화해갔다. 처음에는 개별 조직의 지표 개발과 분석을 일일이 지원해주는데 많은 시간을 투자해야 했지만, 틀과 인프라가 개선됨에 따라 점차 기존의 도구를 더 잘 쓸 수 있도록 교육하고 새로운 데이터 사이언스 기법을 사내 여러 비즈니스 문제에 적용하는 방법을 연구하는 기능이 강화되었다. 단순히 데이터 및 분석을 담당하는 역할에서 데이터를 바탕으로 서비스의 방향을 제시하고 조직 전체가 이를 달성하는 것을 지원하는 역할을 맡게 되었다.

이렇게 몇년간 전사적인 투자와 변화의 노력 끝에 IT4U는 지속적인 성장을 거듭할 수 있었다. 온라인 교육 시장에도 경쟁이 치열해지고 사용자들의 취향도 바뀌어 갔지만, 조직 구성원 각각이 여러 아이디어를 내고 이를 지표와 분석을 바탕으로 평가하여 의사결정을 하는 것이 체질화된 IT4U는 이런 변화에 기민하게 대응하면서 시장을 선도해 갔다. 또한 종종 발생하여 사용자들의 원성을 사던 시스템 장애 역시 이상 신호를 조기에 포착하여 신속하게 해결함으로써 서비스 영향을 최소화할 수 있었다.

맺음말

지금까지 IT4U라는 스타트업에서 데이터 활용 방식이 어떻게 바뀌었는지를 알아보았다. 처음에 데이터 인프라의 검증과 구축부터, 개별 팀의 평가 및 분석 업무 지원을 통한 신뢰 쌓기, 그리고 데이터 기반 개발 문화의 전사적인 확산에 이르기까지 기업에서 데이터를 제대로 활용하는 과정이 하루 아침에 이루어지지는 않는다는 교훈을 얻으셨으리라 생각한다.

데이터 조직으로의 변화는 이런 기술적, 업무적, 문화적인 변화가 꾸준히 쌓여 선순환을 만들며 점진적으로 이루어진다. 기술적으로 훌륭한 분석 및 평가 시스템이 갖추어졌다고 해도 구성원들의 일하는 방식이 바뀌지 않으면 제대로 활용되지 않을 것이며, 반대로 구성원들의 의지가 있더라도 제대로 된 인프라와 분석 시스템이 없다면 이는 오래 지속되지 못할 것이다.

데이터 기반 조직으로 가는 선순환의 고리

따라서 데이터 문화를 만들고자 하는 조직에서는 긴 호흡을 가지고 선순환의 고리를 하나씩 만들어나가야 할 것이다. 처음에 기본적인 분석과 평가 인프라의 바탕을 갖추고 작은 규모에서 성공 사례를 만든 후, 전사 확산을 위해 자동화 및 업무 프로세스가 정의되고, 이를 통해 효과적인 의사결정을 내리는 경험이 반복되면서 신뢰가 쌓이고 기업 문화가 바뀌는 것이 여기서 말하는 선순환의 모습이다.

마지막으로 데이터 기반 조직으로 가는 길은 일회성 이벤트가 아니라 지속적인 과정임을 기억하자. 애써 만들어놓은 데이터 인프라와 평가 시스템이 고객과 서비스의 변화하는 요구사항에 따라 바뀌어야 한다. 환경이 바뀌었는데 의사결정 지표와 프로세스가 이를 반영하지 못한다면 오히려 조직의 변화를 가로막는 결과를 낳을 수도 있다. 그래서 데이터 기반 조직의 핵심 프로세스에는 이런 내/외부적인 변화에 대응하여 데이터와 의사결정 기준을 검증하는 과정이 꼭 포함된다.

데이터지능 S2E11: 네이버 클로바 Document Intelligence팀 전희원님의 검색엔진, 데이터사이언스, 딥러닝 이야기

안녕하세요, 데이터 지능 청취자 여러분, 이번에는 오랫동안 데이터사이언스 및 AI 분야에서 경력을 쌓으시면서 고감자라는 필명으로 좋은 글도 많이 쓰시고 오픈소스 활동도 꾸준히 해오신 전희원님을 모셨습니다. 희원님은 야후 코리아, NexR, SKT를 거쳐 최근에는 네이버 클로바에서 Document Intelligence팀 리더로 새로운 시작을 하셨는데요, 그 과정에서의 배움과 앞으로의 계획을 여러분들과 공유하신다고 합니다. Back-end / Front-end 엔지니어 채용도 진행중이시라니 많은 지원 바랍니다! (아래 지원 정보)

관련 링크:
https://tinyurl.com/docuintel
http://freesearch.pe.kr/
https://github.com/haven-jeon
https://www.linkedin.com/in/gogamza

‘온라인서비스를 위한 데이터사이언스’ 시리즈를 시작하며

필자의 첫 책인 헬로데이터과학 출간후 6년이 지났다. 그동안 데이터 세상의 화두는 빅데이터에서 인공지능으로 넘어갔고, 대부분의 서비스는 모바일 환경에서 클라우드와 인공지능을 결합한 형태로 개발되고 있거나, 이런 방향으로의 진화를 고민하고 있다. 모바일, 클라우드, 인공지능의 결합은 이론적으로 사용자의 취향과 컨텍스트에 맞는 지능화 및 개인화된 서비스를 컴퓨팅파워의 제약 없이 제공할 수 있다는 것을 의미한다.

현대적인 온라인 서비스란?

모바일, 인공지능, 클라우드 — 언뜻 별 관련이 없어 보이는 이 세가지 키워드의 공통 분모는 데이터의 가능성을 더 확장시킨다는 점이다. 모바일 환경은 사용자에 대한 더 많은 데이터를 수집할 수 있도록 해주고, 인공지능 기술은 이렇게 수집된 데이터를 바탕으로 지능화된 서비스를 제공할 수 있도록 해주고, 마지막으로 클라우드는 이런 데이터 스토리지와 서비스에 필요한 인프라를 제공하니 말이다. (아래 그림은 필자의 최근 발표에서 발췌)

현대적인 온라인 서비스의 3요소

따라서 이런 패러다임 시프트는 데이터를 제대로 활용하는 조직과 그렇지 못한 조직간의 격차가 점점 벌어진다는 것을 의미하기도 한다. 모바일 앱 사용자에게서 서비스 개선에 필요한 데이터를 모으는 일, 이를 바탕으로 사용자가 만족할만한 인공지능 서비스를 제공하는 일, 서비스의 성장에 발맞추어 적절한 의사결정을 내리고 이를 뒷받침하는 인프라를 제공하는 일은 데이터 관련 여러 분야의 전문성을 필요로 하기 때문이다.

실제로 대부분의 빅테크 회사들은 자신들의 도메인에서 데이터 활용을 극대화하기 위해 꾸준한 연구 개발을 이어가고 있다. 모바일 환경에서 사용자의 영향을 최소화하는 로깅, 조직 전체의 필요에 따라 유연하게 성장하고 변화할 수 있는 데이터 파이프라인, 새로운 피쳐 개발 및 서비스 반영에 필요한 다양한 의사결정을 지원하는 지표와 실험 기법, 그리고 데이터 및 이에 기반한 인사이트의 개발 및 활용을 극대화하는 조직 문화들이 여기에 포함된다.

데이터사이언스의 역할

이렇게 변화된, 그리고 끊임없이 진화하는 환경에 과거의 경험이 아닌 새롭게 수집된 데이터를 바탕으로 적절히 대응하는 것을 가능하게 하는 것이 데이터 사이언스의 역할이다. 온라인 서비스를 위한 데이터 사이언스의 역할에 대해 이야기할 기회가 있을때, 필자는 서비스의 개발 및 지속적인 개선을 위한 방향을 설정하고, 이를 바탕으로 조직 전체가 일관되게 움직이는 것을 가능케하는 신경망을 만드는 일이라고 이야기한다.

동물의 신경계가 주위 환경으로부터 개체의 생존에 필요한 각종 정보를 수집하여 의사결정을 내리고 이에 근거하여 행동에 옮기듯이, 효과적인 데이터사이언스 조직/플랫폼/프로세스는 서비스 내 외부의 각종 데이터를 수집하고, 이를 바탕으로 각종 리포팅과 분석을 수행하고, 이를 바탕으로 서비스 개선에 직결되는 각종 의사결정을 내리고 관련 팀이 움직이는 것을 가능하게 하기 때문이다.

기업의 데이터사이언스는 조직 전체가 하나의 유기체처럼 움직이는 것을 가능케한다

단일 개체의 신경망과 달리 조직 내의 데이터사이언스가 갖는 어려움은 정보와 지식의 생산 및 전달이 개별 구성원 및 조직간에 원활히 일어나기 힘들다는 점이다. 데이터 팀의 분석 결과가 현업 부서에서 제대로 활용되지 못하는 문제, 개별 팀에서 서로 다른 지표와 의사결정 기준을 가지고 움직이는 문제 등이 다 여기 해당한다. 따라서 조직에서의 데이터 사이언스는 이런 소통 및 공유의 문제를 해결하고, 조직 전체가 데이터에 기반한 지식의 생산 및 축적, 이에 기반한 의사결정 프로세스를 만드는데 초점을 맞추어야 한다.

시중에는 이미 많은 데이터사이언스 관련 자료가 있지만 대부분은 입문서이거나 학술 논문과 같은 기술 중심의 전문적인 자료이다. 또한 데이터사이언스 교과서에서 나오는 이야기를 실제 업무 환경에 적용하는 과정에서 겪는 다양한 어려움에 대한 자료는 전무하다시피하다. 따라서 온라인 서비스를 실제로 개발해서 운영한 경험을 바탕으로 현업에서 바로 적용할 수 있는 가이드를 만드는 것이 가치가 있겠다는 생각을 했다.

집필을 결심한 이유

그동안 필자는 마이크로소프트 및 스냅에서 검색엔진, 추천시스템 관련된 다양한 데이터 사이언스 문제를 접했고, 현재는 네이버의 검색 품질 관리 및 개선에 바탕이 되는 데이터 사이언스 및 엔지니어링 문제를 해결하는 Data&Analytics팀을 이끌고 있다. 처음에는 검색 연구자로 시작하여, 현업 데이터 사이언티스트를 거쳐 현재는 데이터 및 분석 조직을 맡고 있으니 나름 여러 관점에서 데이터 관련 업무를 경험한 샘이다.

이 시리즈의 많은 부분은 필자가 이끌고 있는 네이버 서치의 Data&Analytics(DnA)팀의 업무에 기반하고 있으며, DnA팀은 이미 다양한 데이터와 지표를 바탕으로 네이버 서치가 다음 단계로의 진화를 위한 뱡향을 수립하고 앞으로 나아가는데 중추적인 역할을 수행하고 있다. 물론 앞으로도 계속 새로운 기술의 등장에 발맟추어 꾸준히 업데이트해야겠지만, 그동안 팀으로서 함께 배우고 경험한 것을 정리하는 것도 의미있는 경험이라는 생각을 했다.

물론 필자가 다년간 데이터지능 팟캐스트를 진행하며 느꼈듯이, 데이터 세상은 넓고 고수는 많다. 필자가 알고 경험한 영역보다 훨씬 넓은 세상이 있으며, 이런 부분을 훌륭한 Data&Analytics 팀원분들이나 외부 게스트 필자를 섭외하여 채울 생각이다. 앞으로 본 시리즈가 온라인서비스를 위한 데이터사이언스라는 영역에 종사하는 여러분들의 집단지성이 모이는 장이 되기를 희망한다.

p.s. 앞으로 이 시리즈는 필자의 블로그미디엄브런치 및 메일링 리스트를 통해서 보실 수 있습니다. 글에 대한 피드백이나, 게스트 필진 참여, 혹은 DnA팀에서 네이버 검색과 추천서비스의 미래를 만들어가실 분은 jin.y.kim at navercorp.com으로 연락 바랍니다!

온라인 서비스 개선을 위한 데이터 사이언스: 문제와 해법

외부에서 저희 Data&Analytics팀에 대해 이야기를 할 때에 종종 정확히 어디까지가 데이터 사이언스 및 엔지니어링의 영역인지에 대해 궁금해 하시는 경우가 종종 있습니다. 특히 요즘처럼 머신러닝/인공지능이 뉴스를 많이 타는 시점에는 머신러닝만 잘 하면 되는게 아냐? 이렇게 생각하시는 경우도 종종 접합니다.

최근 시애틀의 한인 테크 커뮤니티인 창발에서 주최한 컨퍼런스에서 이런 질문에 대한 대답이 될만한 내용을 발표했습니다. (글미에 발표 영상 및 자료 포함) 저희 Data&Analytics 팀의 현재 프로젝트 및 내년 계획에도 대부분 포함된 내용이니 관심있게 보시면 좋겠습니다.

현대적인(modern) 온라인 서비스란?

우선 현대적인 온라인 서비스의 3요소인 인공지능 / 클라우드 / 모바일의 관점에서 왜 데이터 사이언스가 필요한지 생각해 봅시다. 주된 서비스의 형태가 모바일 앱이 된 상황은 서비스에서 사용자에 대한 데이터를 더 많이 모을 수 있다는 것을 의미하고, 이렇게 수집된 데이터를 클라우드에 저장하면 저비용으로 강력한 컴퓨팅 파워를 활용할 수 있습니다. 마지막으로 인공지능은 이런 데이터를 활용해 다양한 지능형 서비스를 제공하는 것을 가능하게 합니다.

What constitutes a modern online service?

온라인 서비스가 당면한 첼린지들

여기까지 보면 완성된 그림처럼 보입니다. 하지만 데이터를 수집해서 클라우드에 넣고 AI모델을 만들어 돌리면 성공적인 서비스의 런치, 그리고 지속적인 성장이 보장되는 걸까요? 아마 온라인 서비스를 만들어 보신 분이라면 현실은 그렇게 녹록치 않다는 점을 잘 아실 것이라 생각합니다.

기회 분석: 어떤 방향으로 서비스를 만들고 발전시켜야 하나?

우선 이런 첼린지의 큰 부분은 인공지능(=AI) 기술의 본질과 한계에 기인합니다. 흔히 AI라면 ‘내가 원하는 것을 정확히 가져다주는 마법같은 기술’로 생각하는 경향이 있고, 서비스 사용자 관점에서는 그런 경험을 제공되는 성공사례도 (주로 검색 및 추천 서비스의 형태로) 많이 있습니다.

하지만 서비스를 만드는 관점에서는 인공지능은 입력값에 따라 출력값을 내놓는 수학적 알고리즘에 지나지 않습니다. 그리고 구체적으로 이 알고리즘은 주어진 데이터를 바탕으로 개발자가 지정한 목적함수를 최적화하는 모델을 (정확히 말하면 이미 정해진 모델의 파라메터를) 학습합니다.

What AI algorithm does: model fitting based on data & objective function.

여기서 우리가 알 수 있는 것은 AI에게 데이터와 목적함수를 주는 것이 개발자의 역할이라는 것입니다. 따라서 AI 개발자는 AI가 어떤 모델을 학습해야 할지에 대한 방향을 목적함수 및 제약조건의 형태로 제공해야 합니다. 그리고 이런 방향성은 결국 고객의 요구사항을 정확히 이해하는데서 나옵니다.

따라서 제대로 된 온라인 서비스를 개발하는 조직에서는 고객의 목소리, 혹은 경쟁사와의 비교 결과를 개발 프로세스에 반영할 수 있는 방법이 필요합니다. 이를 위해서는 사용자들이 서비스를 사용하는 과정에서 남기는 로그를 바탕으로 퍼널 및 코호트 분석 등 다양한 형태의 기회 분석(Opportunity Analysis)을 할 수 있습니다.

Where do users come & go? Funnel Analysis

발표에서는 기본적인 퍼널 분석과 함께 Snapchat에서 논문화한 사용자 Journey분석 및 사용자 이탈 예측 모델링 프로젝트도 간단히 소개합니다. 논문에서 발췌한 아래 결과를 보시면 아시겠지만, 최근에서는 사용자의 행동을 모델링하는 프로젝트에도 다양한 딥러닝 모델을 활용하는 것이 추세입니다.

Use DNN models to predict and optimize user satisfaction / retention

또한 검색엔진과 같이 사용자의 검색 질의어에 따라 대체로 검색 페이지에 나오는 결과물이 결정되는 경우 다음과 같은 Side-by-side 비교를 통해 경쟁사 대비 서비스의 품질 분석을 수행하는 방법도 존재합니다. (관련 논문)

Competitive Analysis of Service Quality: Side-by-Side Evaluation

품질 평가: 개발한 서비스가 기존 서비스보다 더 나을까?

서비스가 개발된 이후에는 개발된 서비스가 기존 서비스보다 (혹은 경쟁사보다) 더 나은지를 평가해야 합니다. 질의어에 대한 문서별 품질 레이블 및 클릭 데이터에 기반한 평가가 비교적 용이한 검색엔진의 경우 이런 평가 기법이 수십년전부터 연구 개발되어 왔습니다.

저희 Data&Analytics팀에서 현재 주로 하고 있는 프로젝트가 이런 품질 평가 프로세스를 네이버 검색 조직 전체에 대해 플랫폼화하여 자동화 및 고도화하는 업무입니다. 이를 위해 저희는 올해 하반기에 레이블 기반의 검색 품질 평가 시스템 및 사용자 로그 기반의 검색 품질 평가 시스템을 개발하였으며, 그중 로그 기반의 A/B 평가 시스템은 최근 블로그 포스트에서 소개한 바 있습니다.

이중 A/B 평가 시스템은 한번에 여러 variant의 비교를 가능하게 하고, 실험 버전 관리를 통해 개발 프로젝트에 대해 기능 추가 및 버그 수정을 위해 여러 차례 iterate하는 것을 가능하게 하지만, 종종 수백 수천개의 파라메터 가운데서 최적값을 찾아야 하는 검색 및 추천시스템의 최적화에는 직접 활용하기 어려운 측면이 있습니다. 이를 해결하기 위해 주어진 컨텍스트에 (사용자 질의어 혹은 프로필) 대해서 사용자의 피드백을 기반으로 최적의 파라메터를 동적으로 탐색하는 Contextual Bandit 기법이 최근에는 각광을 받고 있습니다. 이를 통해 사용자의 피드백을 기반으로 스스로 개선하는 시스템을 만들 수 있기 때문에 최근 검색 및 추천 시스템에 널리 활용되고 있는 기술입니다.

Converge to the best action (max. reward) given a context for Parameter Optimization

또한 과거에는 사용자의 만족도 및 활동(engagement)을 최대화하는 시스템을 만드는 것이 개발자들의 주된 관심사였다면, 최근에는 상품 혹은 컨텐츠를 제공하는 공급자 및 시스템이 속한 사회에 미치는 영향까지 고려한 시스템 개발을 요구받고 있습니다. 검색 및 추천시스템이 더 널리 사용됨에 따라 잘못된 정보를 퍼트리고 사회적 약자에 대한 편견 및 차별을 조장하는 부작용에 대한 인식이 확산된 까닭입니다. 좀더 자세한 내용은 올해 여름에 제가 발표한 아래 내용을 참조하시기 바랍니다.

발표 영상은 여기서 보실 수 있습니다: http://naversearchconf.naver.com/

저희 팀에서는 현재 검색 평가 분야의 석학이신 와세다 대학의 Tetsuya Sakai교수님을 Research Advisor로 모셔 검색 결과의 공정성을 평가하고 개선하기 위한 연구 프로젝트를 진행하고 있습니다. 연구의 주 아이디어는 공정성을 요구받는 검색 결과의 속성과 우리가 원하는 노출 비율을 미리 정하고 (예: 뉴스 사이트에서 보수와 진보 성향의 기사가 5:5로 나와야 한다) 이를 평가할 수 있는 지표를 개발하는 것입니다. 내년 SIGIR 컨퍼런스에서 관련 성과를 공유할 수 있기를 기대해 봅니다.

품질 모니터링: 서비스의 장애를 바로 감지하고 대응할 수 있을까?

이렇게 엄밀한 평가를 거쳐 좋은 서비스를 내놓고 잊어버릴 수 있다면 좋겠지만, 현실적으로 이미 잘 돌아가고 있는 서비스의 품질을 위협하는 다양한 요소가 상존합니다. 사용자의 행동 패턴의 변화, 네트워크 및 기타 시스템 장애, 모델 및 피처 개선 과정에서의 문제 등 이런 요인은 어디선가 나타나 서비스의 안녕을 위협할 수 있습니다. 이런 장애에 제대로 대응하지 못하면 매출의 손실은 물론 서비스의 생존까지 위협받을 수 있습니다.

따라서 서비스의 장애가 있을 때 이를 바로 인식하고 대응할 수 있는 품질 모니터링이 장기적으로 지속가능한 서비스 운영을 위해 필수적인 컴포넌트가 됩니다. 모니터링 시스템은 서비스의 각종 지표를 지켜보다가 이상 징후가 보이면 담당자에게 연락을 하는 식으로 작동하는데, 여기서 어려운 점은 이상이 아닌 부분을 이상으로 리포팅하는 False Alarm과 실제 이상 현상을 놓치는 Missing Alarm을 최소화하는 부분입니다. 아래 Microsoft에서 발표한 논문은 이런 시스템을 구현하는 좋은 사례를 보여줍니다.

Source: KDD’20 Paper from Microsoft

맺음말

이번 글에서는 온라인 서비스 운영의 각 단계에서 나타날 수 있는 데이터 사이언스 문제를 설명하고, 현재까지 나온 여러가지 해결책을 소개했습니다. 이 글을 통해 온라인 서비스를 제대로 기획하고, 개선하고, 운영하기 위해서는 데이터 활용이 중요하다는 인식이 조금이나마 확산되었으면 하는 바램입니다.

Data Science Problems & Solutions by Service Lifecycle: Each stage present different analysis and decision problems, with corresponding data science solutions

아래 발표자료 및 동영상을 같이 공유하니 필요한 분께서는 참고하시기 바랍니다. 언제나처럼, 네이버 Data&Analytics에서는 이렇게 다양하고 흥미진진한 문제를 같이 푸실 데이터 사이언티스트와 엔지니어 분들을 모시고있습니다!

데이터지능 S2E10 이정윤님 (2) – 캐글 마스터의 커리어 이야기

오늘은 지난번에 소개한 캐글 마스터 이정윤님의 스타트업과 대기업을 넘나드는 커리어 이야기를 들어보도록 하겠습니다.

1:30 대학원 & 첫 직장 (컨설팅) 경험
11:15 LA에 정착하신 이유
16:15 스타트업 (컨버전 로직) 경험
28:00 마이크로소프트에서의 경험
38:30 우버에서의 경험
49:30 데이터 사이언티스트가 코드에 신경을 써야 하는 이유
61:00 우버에서의 데이터 사이언스 오픈소스 패키지 만드신 경험
68:00 넷플릭스에서의 경험
76:00 넷플릭스의 회사/개발팀
85:30 원격근무에 대한 생각

마지막으로, 정윤님께서 청취자분께 전하고 싶으신 말씀을 글로 남겨주셔서 여기 공유합니다:

DS/ML 분야에서 경력을 개발하고자 하는 분들께 드리고 싶은 말은 회사나 직급보다 배움과 경험에 집중하시라고 말씀드리고 싶습니다. 물론 좋은 회사에 좋은 직급으로 일을 하시면서 많이 배우고 다양한 경험을 쌓을 수 있으면 좋겠지만, 여러 사정상 그렇지 못하는 분들이 더 많겠지요.

DS/ML 분야는 다행히도 꼭 핫한 대기업의 연구개발 직군이 아니더라도 많은 기회들이 있습니다. 다양한 인더스트리에 걸쳐 많은 회사들이 DS/ML 분야의 인력을 필요로 하고 있구요. 또한 회사 밖에서도 캐글과 같은 대회에 참가하거나 오픈소스에 기여하면서 전문성을 키우고 검증 받을 수 있는 기회들이 있습니다.

이렇게 꾸준히 다양한 문제와 방법론들을 배우고 경험하며 실력을 키우다보면 어느 순간 전문가가 되어있는 자신을 발견할 수 있으실 겁니다.

관련 링크

데이터지능 S2E9 이정윤님 (1) – 캐글 마스터 & KDD컵 우승까지

안녕하세요, 이번에는 캐글(Kaggle) 마스터 및 2015년 KDD컵 우승에 빛나는 데이터 사이언스 컴피티션의 대가 이정윤님을 모셨습니다. 정윤님은 또한 스타트업 & 대기업 (우버/넷플릭스) 에서 데이터 사이언스와 머신러닝을 넘나드는 다양한 업무를 수행하셨고 5남매의 아버지이시기도 한데요, 오늘은 정윤님과 주로 캐글을 중심으로한 DS 컴피티션 이야기를 나누어 보았습니다.

오디오 목차
4:20 DS 컴피티션 참석하계된 계기
12:30 컴피티션에 계속 참석하는 이유
15:00 가장 기억에 남는 컴피티션 (2015년 KDD컵)
22:30 컴피티션 우승의 비법은? (2015년 / 그리고 그 이후)
33:30 컴피티션 경험이 업무에 적용되는 부분? 적용되지 않는 부분?
41:15 컴피티션이 보여주는 DS / ML 트랜드
49:00 캐글 경험이 취업에 주는 도움?
51:00 캐글을 시작하는 방법?
63:00 향후 계획 & 컴피티션의 미래

관련 링크

광고

저는 올해 4월부터 네이버 서치에서 근무를 하고 있고요, 저와 함께 한국/미국에서 네이버 검색 및 추천시스템의 사용자 만족도 및 결과의 공정성 평가 및 개선을 위해 일하실 데이터 사이언티스트 및 엔지니어를 모시고 있습니다. 관심있으신 분께서는 지금 진행 중인 네이버 월간채용에 지원하시거나 (Search CIC밑에 Data / Back-end), 저에게 직접 메일을 주시면 (jin.y.kim at navercorp dot com) 됩니다.

KDD’21와 SIGIR’21에서 엿보는 검색 및 데이터 사이언스의 최신 연구 개발 트렌드

여름은 무더위의 계절이지만 학회의 계절이기도 합니다. 검색 및 데이터 사이언스 분야의 메이저 학회인 KDD’21와 SIGIR’21이 최근 마무리되었습니다. 온라인 학회라는 특성상 새로운 곳을 방문하고 사람들과 교류하는 경험을 할 수는 없지만 새로운 지식과 연구 성과를 접하는 학회의 본질은 여전합니다.

학회를 최대한 잘 참석하는 방법?

DnA 팀원중 많은 분들이 SIGIR과 KDD에 참석하여 많은 배움을 얻었습니다. 특히 KDD의 경우에는 업무 관련 일정이나 미팅을 조정하여 정참석자들이 일주일동안 학회에 집중하실 수 있도록 하였습니다. 학회가 처음이신 팀원들을 위해 다음과 같은 가이드도 드렸습니다.

이를 요약하면 학회 초보는 튜토리얼 / 중급자는 논문 / 상급자는 워크샵에 집중하는 접근법입니다. 튜토리얼에서 해당 분야의 기초 지식을, 논문에서 최근에 보고된 연구 성과를, 워크샵에서 현재 진행중인 연구 성과를 확인할 수 있기 때문입니다.

키노트: 데이터 사이언스의 변화하는 본질

우선 인상적이었던 키노트는 스탠포드 인포랩의 Jeffrey D. Ullman 교수의 데이터 사이언스의 변화하는 본질에 관한 것이었습니다. 그는 학계의 관점에서 데이터 사이언스를 수학과 통계의 방법론을 기본으로 하는 CS와 기타 과학의 접점으로 설명합니다. 데이터 사이언스의 정의는 항상 논란을 가져오는 주제인데요, 좀 더 관심 있으신 분은 관련 아티클을 참고하시면 될 것 같습니다.

논문: 네트워크 상에서의 온라인(AB) 테스트

이번에는 페이스북에서 나온 네트워크 상에서의 온라인(AB) 테스트에 관한 논문을 소개합니다. 온라인 테스트는 실험 단위(보통 사용자) 간의 독립성을 가정하는데, 페이스북과 같은 소셜 네트워크에서 실험을 하다 보면 이런 전제가 깨지게 됩니다.

따라서 이런 환경 실험을 수행하고 올바른 결과를 얻기 위해서는 구성원간의 연결고리를 최소화해야 하는데, 본 논문에서는 이를 위한 방안으로 클러스터링을 제안하고 있습니다. 사용자간의 연관도를 가지고 클러스터링의 수행하고, 이 결과물을 기준으로 실험군을 구분하면 실험군 간의 간섭을 최소화할 수 있습니다. (아래 그림에 자세히 설명)

튜토리얼: Mixed Method Development of Evaluation Metrics

마지막으로 Spotify의 연구자들이 진행한 온라인 지표 개발에 대한 튜토리얼을 소개합니다. 대부분의 온라인 서비스에서는 지표에 대한 고민을 하게 되고, 보통 성숙한 온라인 테스트 환경에서는 의사결정에 수백~수천개의 지표를 사용하게 되는데, 본 튜토리얼에서는 사용자 연구와 데이터 분석을 결합한 지표 개발의 방법론을 소개하고 있습니다.

이렇게 수많은 지표 가운데 무엇이 서비스의 성공과 직결되는지는 실제로 많은 회사에서 고민하는 부분입니다. 본 튜토리얼에서는 방법론의 사례로 아래와 같이 Spotify에서 사용자의 성공과 연결되는 지표를 개발하고 평가한 과정을 소개하고 있습니다. 단순히 CTR 및 Top Position Click을 보던 방법에서 다양한 성공 지표를 정의하고 이를 통해 제품 개선에 좀더 민감하게 반응하는 성공 지표를 정의하였습니다.

결론: 학회는 성장하는 데이터 사이언티스트 / 엔지니어의 친구!

이번 포스팅에서는 최근 있었던 학회에서 DnA 팀의 주 연구 개발 분야에 관련된 컨텐츠를 살펴 보았습니다. 온라인 학회의 특성상 현장의 느낌을 살리기는 힘들지만, 더 많은 사람들이 학회 컨텐츠를 접할 수 있다는 장점이 있습니다.

성장을 원하는 데이터 사이언티스트 / 엔지니어분이라면 학회에 직접 참석하거나 홈페이지에 공개된 발표 내용을 온라인으로 보시는 것을 추천합니다. 그리고 조만간 DnA 팀의 연구 개발 성과를 이런 학회에서 공유하기를 기대해 봅니다!

(네이버 검색 DnA팀의 여정에 함께할 분께서는 DnA 팀블로그의 소개 페이지를 참조 바랍니다.)

네이버 검색의 Data & Analytics (DnA) Team에 함께하실 분들을 찾습니다.

제가 최근 네이버 검색 부문의 Data Science 담당 책임리더로 조인하게 되었습니다. (저희 팀은 한국/미국 양쪽에서 채용 중이며, 저는 주로 미국에서 일합니다.) 네이버의 다양한 검색 및 추천 서비스가 우리 사회의 지식 정보 생태계를 발전시키는데 일익을 담당하고자 합니다. 한국 혹은 미국에서 저와 함께 일하실 분들은 아래 세부 사항을 보시고 jin dot y dot kim at navercorp dot com으로 연락주시기 바랍니다! 한국의 경력직 월간 채용 공고 [1] [2], 혹은 영문 채용 홈페이지에 현재 채용중인 포지션에 대한 좀더 자세한 정보 및 지원 방법을 확인하실 수 있습니다.

DnA Mission 

네이버 서치의 Data & Analytics (DnA) 팀에서는 네이버 및 관련 서비스의 검색 및 추천 시스템 개발 과정에서 요구되는 다양한 분석 및 의사결정을 지원하기 위한 데이터 및 도구를 개발하고, 조직 전체가 따를 수 있는 품질 평가 프로세스 및 가이드라인을 제공하며, 전략적으로 중요한 지표 설정이나 분석 업무를 직접 수행하는 역할을 합니다. 또한 사용자 로그 데이터에서 최대한의 가치를 뽑아낼 수 있는 모델링 기법을 연구하고 이를 검색 랭킹 및 평가 업무에 적용합니다  

검색 및 추천시스템을 포함하는 데이터 사이언스 각 분야의 기술은 끊임없이 진화하고 있으며, 이런 변화의 흐름을 이해하고 선도하는 것이 테크 기업 및 종사자의 경쟁력 및 장기적인 성패에 결정적입니다. 이를 위하여 DnA팀에서는 조직 구성원들의 배움과 성장을 지원하고기술적인 배움과 성과를 사/내외에 다양한 형태로 공유하고, 이를 통해 관련 조직 및 커뮤니티의 성장에 기여함과 동시에 데이터 사이언스 분야에서의 기술적인 리더십을 공고히 하려고 합니다. 

DnA Culture 

팀의 미션을 실현하는 것은 결국 구성원들의 노력이고이를 뒷받침하는 것이 조직 문화입니다. 이번에 DnA팀을 만들면서 저희는 구성원들이 즐겁게 일하면서 지속적으로 성과를 내는데 필요한 요소만을 남기고, 불필요한 요소는 최대한 배제함으로써 업계를 선도하는 새로운 조직 문화를 만들어 가고자 합니다. 

도구와 프로세스에 투자 

조직이 전문성을 쌓고 이를 통한 성과를 극대화하기 위해서는 반복되는 업무를 자동화할 수 있는 최적의 도구를 도입하거나 개발하고사람이 관여하는 부분에 있어서는 최적의 프로세스를 정의하는 것이 필요합니다. DnA팀은 내부적으로 좋은 도구와 프로세스에 투자하고이에 공헌하는 구성원을 적절히 보상하고, 이런 노력의 결과물이 팀 내외에 모두 도움을 줄 수 있도록 적극적으로 공유합니다. 

구성원과 함께 성장하는 조직 

테크 기업이 처한 비즈니스 환경 및 기술 생태계는 끊임없이 진화하고 있으며, 이런 의미에서 저희는 끊임없이 구성원이 배우고 성장할 수 있는 문화를 만들고자 합니다. 구체적인 방안으로 각 구성원이 각자의 전문 분야에 부합하는 프로젝트를 수행하여 조직의 성과에 기여할 수 있도록 지원하고, 그 결과를 필요에 따라 사내 혹은 기술 커뮤니티에 공유하며 같이 성장하려고 합니다. 

유연한 근무 형태 

이번 코로나 사태를 지나면서 기업들은 구성원의 업무와 개인적인 생활이 최대한 조화를 이룰 수 있는 근무 형태가 회사에도 도움이 된다는 점을 배웠습니다. 따라서 저희는 지역 및 근무 형태를 가리지 않고 좋은 인재를 채용하려고 합니다. 모든 구성원들은 적응 기간을 거친 이후에는 부분 혹은 완전 원격 근무를 선택할 수 있게 하려고 합니다. (현재 사내 협의 중) 

공유 기반의 투명한 문화 

이런 장점에도 불구하고 원격 근무는 자칫 개인과 조직간에 보이지 않는 장벽을 만들고 효율적인 의사소통 및 협업을 어렵게 할 수도 있습니다. 이런 부작용을 최소화하기 위해 DnA팀에서는 프로젝트 진행 상황 등 조직 내 대부분의 활동을 투명하게 공유하고, 다양한 협업 툴을 적극 활용하여 구성원들이 서로 배운 것을 공유하고 신뢰하며 성과를 낼 수 있는 문화를 만들고자 합니다.  

데이터지능 S2E8: 네이버 Clova AI 하정우 / 성낙호님

안녕하세요, 데이터지능 청취자 여러분. 오늘은 대한민국 AI의 세계화를 위해 불철주야 노력하고 계시는 네이버 클로바 AI의 하정우 / 성낙호님을 모셨습니다.

3년전에 비해 AI에 대한 관심도 더 커졌고, 그에따라 그 부작용에 대한 우려도 생겨나고 있는 상황인데요, 이를 포함한 AI 전반의 다양한 주제에 대해 말씀을 나누었습니다.

클로바 AI에 관심을 가지시는 분께서는 채용 홈페이지를 참조하시거나 메일 clova-jobs@navercorp.com / naverai@navercorp.com로 연락을 주시면 된다고 합니다.

00:30 소개 및 지난 3년간의 소회
13:00 그동안 다양한 AI 디바이스 개발을 통해 배운 점
20:45 클로바가 생각하는 AI 디바이스의 미래는? (힌트: pre-training & GPT3)
26:00 클로바의 비즈니스 AI 접근 방법은?
29:40 코로나 극복에 일조한 클로바 케어콜 구축경험
34:30 최근에 급속도로 발전한 AI가 인간을 대체할 수 있을까?
40:15 윤리적인 AI를 만들기 위한 클로바의 노력은?
49:20 클로바 AI 리서치의 중점 및 인재상?
58:00 클로징: 클로바 지원자를 위한 꿀팁

(오늘부터 데이터지능 방송의 새 에피소드 및 홈페이지의 기타 포스팅을 글을 메일로도 서비스합니다. 혹시 메일을 원하시지 않는 분께서는 글미에 unsubscribe 링크를 찾으실 수 있습니다.)

#DILIVE 3/21: 물류 데이터 & AI의 미래

코로나로 인해 물류의 중요성이 어느때보다도 중요한데요, #DILIVE 이번주는 메쉬 코리아의 CTO로 재직하고 계시는 김명환님 모시고 물류 데이터 및 AI 이야기를 나누었습니다. 아래 메쉬코리아 채용 관련 링크를 참조하시기 바랍니다.

이벤트 링크:
https://clublink.to/event/myYYoZdV?ref=n_cp

김명환님 최근 발표자료:

매쉬코리아 채용 링크:
https://bit.ly/31EmeNN

p.s. 데이터지능 클럽하우스는 (#DILIVE) 클럽하우스 생방송으로 데이터 분야 전문가와 청중을 연결하는 새로운 포멧으로, 한국시간 일요일 오후 2시에 시작합니다. (소개 블로그 포스트) 클럽하우스에서 ‘데이터 지능’을 검색하셔서 공식계정 @di-live을 팔로우하시면 새 이벤트 소식을 받으실 수 있습니다. 기타 토픽 혹은 스피커 추천은 lifidea@gmail.com으로 항상 연락주시면 됩니다.