유튜브는 내가 좋아할 다음 영상을 어떻게 추천해줄까? (알기 쉽게 설명한 구글 최신 논문)

추천 시스템에 관한 국제 포럼인 ACM RecSys의 2019년 9월 컨퍼런스에서 유튜브가 다음 시청할 영상을 어떻게 추천하는지에 관한 논문 (Recommending What Video to Watch Next: A Multitask Ranking System)이 발표되었다. 이 글에서는 머신러닝이나 데이터 사이언스를 모르는 사람도 이해할 수 있도록 가능한 전문 용어를 사용하지 않고 논문의 주요 내용을 정리했다. 아래 트위터 사진은 피츠버그 대학의 피터 브루실로프스키 (Peter Brusilovsky) 교수가 찍은 논문 발표 당시 장면이다.

유튜브는 어떻게 내가 좋아할 영상을 잘 찾아서 추천해주는 것일까? 쉽게 설명하면 유튜브는 지금 보고 있는 영상의 정보를 이용해 비슷한 영상을 찾아내고 다양한 사람들의 데이터를 분석해 그 중 나와 같은 사람이 지금 이 시간에 보고 싶어할 만한 것을 찾아낸다. 물론 이 과정이 쉽지는 않다.

추천에 이용되는 요소들

유튜브는 추천을 위해 크게 두 가지 데이터를 이용하는데 첫번째는 사용자의 행동을 예측하기 위해 주어지는 데이터로 영상의 제목이나 내용의 주제 그리고 업로드 시간과 같은 영상과 관련된 데이터와 사용자 프로필, 디바이스, 시간, 장소와 같은 사용자 혹은 컨텍스트(문맥)와 관련된 데이터이다.

두 번째는 사용자의 행동을 예측하기 위한 목표로 설정할 수 있는 데이터로 클릭, 시청 시간, 좋아요 또는 관심없음 여부 등이다. 유튜브는 단순히 어떤 영상을 클릭했는지를 보는 것이 아니라 얼마나 오랫동안 시청했는지도 변수로 이용하며 지금은 유튜브에서 사라진 별점도 예측을 위해 사용된다.

일반적인 추천 시스템의 난관들

추천 시스템이 효과적으로 동작하기 위해서는 여러 난관을 극복해야한다. 첫 번째 난관은 추천 목표 설정이다. 단순히 사용자가 좋아할 것으로 추천하고 싶다고 할 때 이 “좋아하다”는 표현은 모호하며 다양한 의미를 포함한다. 예를 들어 좋아하는 영상 중 사용자가 보고싶어 하는 비디오와 내가 공유하고 싶은 비디오는 다른 비디오일 수 있다.

유튜브는 이 문제를 해결하기 위해 목표를 두 가지로 분류하는데 첫 번째는 클릭이나 시청시간과 같은 참여 (engagement)이며, 두 번째는 좋아요, 관심없음 혹은 별점과 같은 만족 (satisfaction)이다. 유튜브는 목표를 분류하여 여러 목표가 충돌하지 않고 예측할 수 있도록 기계학습을 시킨다.

두 번째 난관은 편향 (bias)이다. 사용자들은 상위에 추천되어 있는 것을 실제 좋아하는지 여부와 관계 없이 클릭하는 경향이 있고 이것은 피드백 루프를 만들어 추천 시스템은 한번 인기를 얻은 영상이 계속 인기를 얻어 상위에 노출시키는 문제를 발생시킬 수 있다. 이 문제를 해결하기 위해 유튜브는 편향이 영상의 인기에 미치는 정도를 계산하여 예측한다. 예를 들어 상위에 노출된 영상은 많은 사용자가 클릭하더라도 상대적으로 낮은 점수를 준다는 것이다.

추천시 사용자가 직접적으로 주는 좋아요와 같은 명시적 피드백만을 사용한다면 사용자가 그 영상을 실제로 좋아하였는지를 알 수 있기 때문에 이와 같은 편향 문제를 줄일 수 있다. 하지만 명시적 피드백은 클릭과 같은 암시적인 피드백에 비해 훨씬 데이터가 적기 때문에 일반적으로 추천시스템은 클릭이나 시청시간과 같은 암시적인 피드백도 활용한다.

유튜브가 가진 난관들

유튜브는 위와 같은 일반적인 추천시스템이 가진 난관 외에 또 다른 어려움을 가진다.

먼저 활용할 수 있는 데이터가 다양한 형태를 지닌다는 점이다. 예를 들면 영상의 내용물, 썸네일, 오디오, 영상 제목, 사용자 정보와 같은 것들이 있다. 데이터가 단순할수록 예측도 쉬워진다. 유튜브는 많은 데이터를 가지고 있다는 장점을 있지만 동시에 거의 모든 형태의 데이터를 활용해야 한다는 어려움도 가진다.

두 번째 난관은 확장성 (scalability)이다. 유튜브는 십억명 이상의 사용자를 가졌으며 매일 수십억개의 비디오가 재생된다. 유튜브는 이렇게 많은 데이터를 이용해 기계학습을 시켜야 하며 이를 이용해 실시간으로 사용자에게 추천 영상을 제공해야한다.

다양한 데이터 형태 문제를 해결하기 위해 유튜브는 영상의 메타정보와 내용의 신호들을 이용하여 영상을 대표할 수 있는 정보로 만들어내 사용자나 컨텍스트 정보와 함께 사용한다.

확장성 문제를 다루기 위해서는 추천 시스템을 후보 생성과 랭킹 두 단계로 나누어 처리하는데, 후보 생성 단계에서 수많은 영상 중 수백개만을 추려내며 랭킹 단계에서 각 영상에 점수를 매긴다. 후보생성 시에는 영상의 정보를 이용하여 비슷한 영상을 찾아내거나 함께 시청한 영상들을 찾는 등의 방법을 이용한다. 후보 생성을 거처 선정된 영상은 수백개 밖에 되지 않기 때문에 랭킹 단계에서 연산이 복잡한 고급 알고리즘을 사용하여 점수를 매길 수 있다. 

유튜브의 추천이 다른 시스템보다 월등하게 느껴지는 것은 기존의 다른 추천 시스템이 가지고 있는 어려움들을 극복하고 거대한 스케일의 데이터와 고급 알고리즘을 활용하며 편향된 데이터를 판별할 수 있는 능력을 갖추었기 때문으로 요약할 수 있다.

테크니들 인사이트

유튜브는 동영상 플랫폼 시장에서 어느 누구도 따라오기 힘든 선두주자가 되었다. 이제 단순히 동영상 플랫폼 시장 뿐 아니라 웹서비스를 통틀어 구글 다음으로 가장 인기 있는 웹사이트다.

유튜브가 지금은 동영상 플랫폼 시장을 장악하고 있지만 이후에는 유튜브 뮤직을 통해 음악시장도 위협할 수 있을 것이라 본다. 필자가 거주하고 있는 유럽 지역에서 현재 가장 인기있는 음악 서비스는 스포티파이로 월 9.99 유로이다. 유튜브 프리미엄은 월 11.99 유로인데 프리미엄을 이용하면 광고없이 유튜브 동영상을 볼 수 있을 뿐 아니라 유튜브 뮤직까지 이용할 수 있다.

유튜브 뮤직이 아직은 UX나 추천 알고리즘 등 여러 측면에서 스포티파이에 비해 많이 부족하지만 추후 유튜브가 프리미엄 서비스를 강화하고 유튜브 뮤직까지 개선한다면 많은 사용자들이 2유로 정도를 더 부담하더라도 유튜브 프리미엄으로 충분히 이동할 수 있다고 생각된다.

  • 관련 논문 : ACM

Written by

독일 베를린의 이커머스 기업 잘란도(Zalando)에서 개발자로 일하고 있습니다. 이상현 in 베를린 블로그를 운영하고 있습니다. 데이터 기술에 관심을 가지고 있습니다. techNeedle의 첫 독일 필진으로, 유럽을 중심으로 한 최신 IT 소식을 전달하도록 하겠습니다.