본문 바로가기
AI · 인공지능/AI 칼럼

틱톡(TikTok)은 왜 사용자를 사로잡은 것일까? - 사용자를 매혹시키는 AI 알고리즘[전편]

by 두우우부 2020. 11. 18.
반응형

TickTok이 세계를 석권하고 있다. Sensor Tower에 따르면, 이 짧은 비디오 앱은 App Store와 Google Play에서 전 세계 20억 회 이상 다운로드 되었다. 깜짝 놀랄만한 애플리케이션 뒤의 마법은 무엇인가? 놀랄것도 없지만, 그 대답은 기계 학습을 배경으로 한 추천엔진인 것이다.

 

저자 Catherine Wang 씨는 호주에 거주하는 AI 엔지니어이며, AI 기술의 해설 기사를 Medium에 게시합니다(자세한 경력은 그의 LinkedIn 참조). 그는 이 Medium에 게시된 기사 중 하나인 『TikTok은 왜 사용자를 사로잡은 것일까? 그 이유는 사용자를 매혹시키는 AI 알고리즘』에서 TikTok의 추천 시스템을 수식이나 소스 코드 없이 평문으로 설명하고 있습니다.

 

현재는 세계적인 숏 비디오 앱의 대표주자로 간주되고 있는 TikTok의 매력은 사용자를 사로잡는 추천 시스템에 있습니다. Wang 씨는 공표된 기술 블로그의 게시물이나 리버스 엔지니어링을 시도한 이들의 연구 결과에 따라, 이 응용 프로그램의 추천 알고리즘의 구조를 다음과 같이 추측했습니다.

 

학습 데이터의 생성과 학습에 관하여, 그 요점을 다음과 같이 정리할 수 있습니다.

  • TikTok 학습에 사용되는 데이터는 매일 게시되는 내용, 생년월일과 직업 등 사용자 정보, 사용자의 행동 이력의 3개. 이 세 가지 소재로 다양한 특징량을 추출하여 학습 데이터를 생성하고 있습니다.
  • 학습 데이터의 생성 및 추천 AI 모델의 투입은 실시간으로 실행되고 있습니다. 그러므로 하나의 동영상 시청이 즉시 추천 영상에 영향을 줍니다.
  • 유해 콘텐츠 검색과 같이 AI 모델의 학습만으로는 대응하기 어려운 작업에 관해서는 AI와 인간이 협동하는 체제를 채택하여 수행하고 있습니다.

 

추천의 흐름에 관해서는 다음과 같이 정리할 수 있습니다.(후편에서 상세히 설명)

  • 유해 콘텐츠 관련 심사를 통과한 콘텐츠는 200 ~ 300명의 액티브 유저에게 열람 가능한 초기 트래픽 풀에 투입됩니다. 이 단계에서는 신규 크리에이터의 영상과 인플루언서의 영상을 구분하지 않고 동일하게 처리합니다.
  • 초기 트래픽 풀의 조회수를 기준으로 동영상이 평가됩니다. 평가가 높은 상위 1%는 모든 사용자가 볼 수 있는 트렌디 풀에 투입됩니다. 또한 동영상을 평가하는 과정에서 사용자 취향과 동영상 내용이 일치하도록 사용자 정보가 업데이트됩니다.
  • 평범한 크리에이터의 영상이 갑자기 화제가 될 수 있습니다. 이런 일이 일어나는 것은 오래된 고품질 영상을 발굴하거나 트렌드 영상과 유사한 영상의 노출을 늘리는 알고리즘이 작동하고 있기 때문입니다.
  • 게시된 영상이 각종 트래픽 루프에 투입되는 기간은 고작 1주일 이내입니다. 1주일 후에는 화제의 영상 및 관련 동영상의 노출이 급격히 저하됩니다.

 

이와 같은 구조를 구축함으로써 TikTok은 특정 장르에 치우치지 않고 다양한 동영상을 추천함과 동시에, 새로운 크리에이터와 인플루언서에게 평등한 히트 기회를 제공하는 것입니다. 이렇게 교묘하게 설계된 알고리즘이야말로 TikTok이 세계적인 응용 프로그램으로 성장한 원동력인 것입니다.

 

목차

1. TikTok의 일반적인 개요
2. TikTok의 추천 시스템의 설계 원칙(데이터, 특징량, 목표, 알고리즘, 학습 메커니즘을 설명)
3. TikTok의 추천 워크플로우(리얼타임 실행)

 

솔직히 강아지나 고양이의 귀여운 영상이 싫은 사람이 있을까? 특히 이 세계적으로 비탄에 젖어있는 기간 동안에...(※ 역주 1)

(※ 역주 1) 귀여운 고양이 동영상은 TikTok의 전례 없는 성공 사례의 일부를 설명한 것에 지나지 않습니다. 2년도 안 돼서 이 앱은 작은 팬 커뮤니티의 '립싱크'앱에서 2020년에는 8억 명에 달하는 월간 액티브 유저를 가진 바이럴 앱으로 성장한 것입니다. 또한, #coronavirus로 태그 된 TikTok 영상은 530억 번 시청되고 있습니다.

 

 

TikTok은 2020년 1월, 미국에서 가장 많이 다운로드된 앱이 되었습니다.

 

Sensor Tower가 제공한 전 세계 TikTok의 다운로드 추이

 

 

TikTok Crosses 2 Billion Downloads After Best Quarter For Any App Ever

ByteDance’s popular social video app picked up 500 million users in five months, Sensor Tower data shows.

sensortower.com

 

TikTok은 바이럴 송과 귀여운 밈 영상을 대량으로 만들어 유명해졌습니다. 일반적으로 사람들은 하루 중 52분을 TikTok의 사용에 지출, 다른 앱의 일일 이용시간은 스냅챗 26분, 인스타그램이 29분, 페이스북이 37분이었습니다.

 

 

Oberlo의 보고서

 

10 TikTok Statistics That You Need to Know [September 2020]

TikTok is the fastest growing social media app on the market. But what is this app that youngsters just can’t get enough of? Learn all that here, as well as the top 10 statistics for TikTok in 2020. Read more.

au.oberlo.com

 

그로스 해킹( Growth Hacking : 성장(Growth)과 해킹(Hacking)의 합성어로서 한정된 예산하에 빠른 성장을 해야 하는 스타트업들에게 효과적인 마케팅 기법을 뜻한다. 미국의 유명 마케터 션 엘리스가 최초로 제안한 개념으로, 창의성, 분석적 사고 및 소셜 매트릭스를 사용하는 기술 스타트업에 의해 개발된 마케팅 기술) 전략이라는 것을 가까이서 들여다보면 60초의 짧은 비디오 앱인 TikTok에는 밈, 코미디, 댄스, 탤런트 동영상이 넘칩니다. 업계 최고의 추천 엔진을 탑재하고 있기 때문에, 검색하거나 무엇을 봐야 할지 알 필요가 없습니다. 한 번의 클릭으로 개인화된 피드가 제공되는 것입니다.

 

이 같이 끊임없이 쉽고도 행복한 자극이 TikTok에서의 브라우징을 멈출 수 없게 만듭니다. 어떤 사람들은 이 앱을 궁극의 타임 킬러라고 부르며, 이 앱이 만들어내는 시간의 왜곡을 'TikTok에서의 5분은 실생활 속의 1시간과 동일하다'고도합니다.

 

이 문서에서는 TikTok이 어떻게 기계 학습을 이용하여 앱과의 상호 작용을 통해 유저의 관심과 선호도를 분석하고, 다양한 유저들에 맞춰진 피드백을 표시하는지 논의해 나갈 예정입니다.

 


추천 엔진은 데이터 과학의 세계에서 새로운 것이 아닙니다. 오히려, 이미지 인식과 언어 생성과 같이 복잡한 기능이 없기 때문에 이전 세대의 AI 시스템으로 생각하는 사람도 있습니다.

 

그럼에도 불구하고 추천 엔진은 거의 모든 온라인 서비스나 플랫폼에 가장 폭넓게 구현되는 우수한 AI 시스템의 하나인 것에는 변함이 없습니다. 예를 들어, YouTube 동영상 추천 기능, Amazon에서 받은 캠페인 메일, Kindle 북스토어 등에서 추천 AI는 사용되고 있습니다.

 

실제로 Gomez-Uribe와 Netflix의 제품 부문 수석인 Neil Hunt가 발표한 연구 논문에 따르면, 개인화와 추천의 복합 효과로 Netflix는 연간 10억 달러 이상을 절약하고 있습니다. 또한 가입자의 80%는 엔진이 출력하는 자동완성 목록에서 동영상을 선택하고 있다는 것입니다.

 

The Netflix Recommender System: Algorithms, Business Value, and Innovation: ACM Transactions on Management Information Systems:

ACM Transactions on Management Information Systems  Volume 6, Issue 4 January 2016 Copyright © 2015 Owner/Author

dl.acm.org

 

그럼 TikTock이 어떻게 다른지 살펴보겠습니다.

 

1. 추천 엔진 입문

추천 엔진에 대한 유용한 기사 및 온라인 강좌가 많습니다. 기초 지식을 구축하기 위한 두 가지 자료를 소개합니다.

  • 추천 엔진을 처음부터 구축하기 위한 완벽한 가이드 [ LINK ]
  • 앤드류 응에 의한 추천 엔진 [ LINK ]
 

Comprehensive Guide to build Recommendation Engine from scratch

This is a comprehensive guide to building recommendation engines from scratch in Python. Learn to build a recommendation engine using matrix factorization.

www.analyticsvidhya.com

 

Recommendation Engine

 

www.youtube.com

 

기본적인 것과는 별도로, 상용 추천 엔진은 강력한 백엔드 통합을 위해 설계된 아키텍처가 필요합니다. 아래에 대표적인 것을 정리하고 있습니다.

 

추천 엔진의 아키텍처 - Catherine Wang 작성, (무단전재 금지)

 

실시간 시스템은 다양한 비즈니스 문제에 대응하는 복수의 추상 계층(알고리즘 층, 서빙 계층, 애플리케이션 계층)을 지원하기 위해(데이터 수집 및 저장을 위해) 강력한 데이터 기반을 가질 필요가 있습니다.

 

2. TikTok의 추천 시스템 설계 원칙

"사용자 중심 설계"가 설계 원칙의 핵심인 것에는 변함이 없습니다. 간단하게 말하면, TikTok은 콜드 스타트(※ 역주 2)의 조정에서부터 활성 유저에게 명시적으로 추천하는 것에 이르기까지 사용자가 원하는 콘텐츠만 추천합니다.

(※ 역주 2) 콜드 스타트 대해서는 후편에서 자세히 설명합니다. 간단히 말하면, TikTok은 모든 유저 생성 콘텐츠에 화제성의 기회가 평등하게 주어지도록 트래픽을 조정하고 있습니다.

 

만약 사용자가 댄스 동영상을 클릭하면 해당 사용자의 피드는 처음에 엔터테인먼트 카테고리에 정의된 후 사용자를 팔로업하는 메커니즘의 분석을 위해 사용자 행동을 추적합니다. 이렇게 수행된 분석은 궁극적으로 개별 사용자들을 위한 정확한 추천을 제공하는 것입니다.

 

하이레벨의 워크 플로우를 표시하면 다음과 같습니다.

TikTok의 3가지 주요 구성 요소 - Catherine Wang 작성, (무단전재 금지)

 

TikTok의 설계 원칙은 다음의 세 가지로 요약할 수 있습니다.

1) 콘텐츠의 태그

2) 사용자 프로필과 사용자 시나리오 작성

3) 추천 알고리즘의 훈련 및 제공

 

설계 원칙의 각 요소에 대해 검토해 봅시다.

 

2.1 데이터와 특징

우선 데이터입니다. 추천 모델을 공식적으로 설명하면, 사용자가 생성한 콘텐츠에 대해 그 콘텐츠를 보는 사용자의 만족도를 일치시키는 기능이라고 할 수 있습니다. 이 기능을 제공하기 위해서는 3가지로 차원 데이터를 입력할 필요가 있습니다.

 

 

콘텐츠 데이터 - TikTok은 방대한 사용자 생성 콘텐츠 플랫폼입니다. 콘텐츠는 각각의 특징이 있어서, 시스템은 안정적인 추천을 위해 이러한 특징을 식별하고 구별할 수 있어야 합니다.

 

사용자 데이터 - 이 데이터에는 관심 라벨, 직업, 연령, 성별, 인구 통계 등이 포함된다. 또한 기계 학습 기반의 고객 클러스터링에 의한 잠재적인 특징도 포함됩니다.

 

시나리오 데이터 - 이 데이터는 다양한 시나리오에 따라 이용 시나리오와 사용자의 기호 변화를 추적합니다. 예를 들어, 사용자가 업무 중, 여행 중 또는 출퇴근 중에 어떤 동영상을 보는 것을 좋아하는지 등을 추적합니다.

 

이상의 추천에 대한 데이터가 수집되면 교묘하게 설계된 4가지 유형의 중요 특징이 도출되고, 추천 엔진에 전달됩니다. 그렇게 도출된 4가지 특징은 다음과 같습니다.

 

  • 상관 특징 : 콘텐츠 특성과 사용자 태그 사이의 상관관계를 나타내고, 키워드 매칭, 분류 태그, 소스 매칭, 테마 태그, 사용자와 콘텐츠 사이의 벡터 거리와 같은 잠재적인 특징을 포함합니다.
  • 사용자 시나리오 특징 : 지리적 위치, 시간, 이벤트 태그 등 시나리오 데이터로 설계되어 있습니다.
  • 트렌드 특징 : 사용자의 상호 작용을 바탕으로 글로벌 트렌드 핫토픽 상위 키워드 트렌드 테마를 표현합니다.
  • 협조 특징 : 협업 필터링 기술을 기반으로 한 특징량입니다. 좁은 추천(바이어스)과 컬래버레이션 추천(일반화)의 균형을 취하고 있습니다. 더 정확하게는 단일 사용자 기록뿐만 아니라(클릭 관심 키워드 주제에 따라) 비슷한 사용자 그룹의 공동 행동을 고려합니다.

모델은 위의 특징을 학습함으로써, 모든 시나리오에 걸쳐서 유저에 적합한 콘텐츠인지를 예측합니다.

 

 

2.2 무형의 목표

추천 모델에서 클릭률, 방문 시간, 좋아요, 댓글, 리포스트 등은 모두 수치화 가능한 목표입니다. 이러한 목표를 최종 예측에 적합하도록 모델과 알고리즘을 이용할 수 있습니다.

 

그러나 다른 무형 목표는, 정량화 가능한 목표로는 평가할 수 없습니다.

 

예를 들어, 건전한 커뮤니티와 에코 시스템을 유지하기 위해 TikTok은 폭력, 사기, 포르노, 과장된 콘텐츠를 제한하고, 뉴스와 같은 사실에 입각한 고품질의 콘텐츠를 중시하는 것을 목표로 하고 있습니다.

 

이상과 같이 정량화가 어려운 목표의 경우, 계량 가능한 모델의 목표를 넘어 어떠한 경계를 관리할 수 있는 프레임을 정의할 필요가 있습니다(이러한 프레임이야말로 콘텐츠 감시 시스템입니다).

 

2.3 알고리즘

권장 사항의 목표는 고전적인 기계 학습 문제를 공식화할 수 있습니다. 그러므로 그 목표는 협업 필터링 모델, 로지스틱 회귀 모델, MF(Matrix factorization), GBDT 및 딥러닝을 포함한 알고리즘에 의해 해결됩니다.

협업 필터링을 그림으로 설명한 GIF 애니메이션

 

상용 수준의 추천 시스템은 다양한 모델을 신속하게 훈련하기 위한 실험용 파이프 라인을 구축하기 위해 유연하고 확장 가능한 기계 학습 플랫폼이 필요합니다. 그리고 훈련된 다양한 모델을 모아서 실시간으로 서비스를 제공합니다.(예 : 로지스틱 회귀 모델과 딥 뉴럴 네트워크의 조합, CNN과 서포트 벡터 머신의 조합)

 

주요 추천 알고리즘과는 별도로 TikTok은 콘텐츠 분류 알고리즘과 사용자 프로파일링 알고리즘을 훈련할 필요가 있습니다. 아래에 콘텐츠 분석을 위한 계층적 분류 아키텍처를 표현했습니다.

계층적 분류 트리 - Catherine Wang 작성, (무단전재 금지)

 

계층적 분류 아키텍처에서는 콘텐츠를 마스터 루트에서부터 드릴 다운해 나갑니다. 각 계층의 상위 - 하위 관계는 주요 범주와 하위 범주가 있습니다. 별도의 분류 장치를 사용하여 비교하면서 계층적 분류 메커니즘을 사용함으로써 데이터의 왜곡 문제를 잘 해결할 수 있습니다.

 

2.4 트레이닝의 구조

TikTok은 리얼타임 온라인 트레이닝 프로토콜을 사용하고 있으며, 그 프로토콜은 적은 계산 리소스를 필요로 하며, 빠른 피드백을 제공합니다. 이러한 설계는 스트리밍과 정보 플로우 제품에 있어서 중요합니다.

 

빠른 트레이닝 프로토콜에 의해 사용자의 행동이나 동작을 즉시 캡처하고 모델에 피드백하여 다음 피드에 반영시킬 수 있습니다. (예 : 새로운 동영상을 클릭하면 최신 액션에 기초하여 피드가 재빠르게 변화합니다)

 

대부분의 경우 TikTok은 Apache Storm(※ 역주 5) ​​클러스터를 사용하여 클릭, 검색, 콘텐츠 수집, 좋아요, 댓글, 공유 등의 실시간 샘플 데이터를 처리하고 있습니다.

(※ 역주 5) Apache Storm은 오픈 소스로 복원력이 뛰어난 고속 분산처리형 프레임워크입니다. 여러 클러스터에 분산하여 처리 부하가 경감됩니다.

 

TikTok은 추천 모델의 파라미터 업데이트 기능과 학습 데이터의 공급 기능으로 구성된 고성능 시스템을 구축하고 있습니다 (feature 스토어와 모델 스토어). feature 스토어는 수천만 개 기존 학습 데이터의 특징과 가공된 것을 저장하고 학습 데이터를 모델 스토어에 공급합니다. 그리고 모델 스토어는 모델을 유지하거나 조정된 매개 변수를 모델에 공급하기도 합니다.

온라인 기계학습(단순화 버전) - Catherine Wang 작성, (무단전재 금지)

 

전반적인 트레이닝 과정은

1) 온라인 서버가 실시간 데이터를 캡처하고 (Apache) Kafka(※ 역주 6)에 그들을 저장하고

2) Apache Storm 클러스터는 Kafka 데이터와 제품의 특징을 사용하고

3) feature 스토어는 새로운 학습 데이터 세트를 구축하기 위해 새로운 특징과 추천 라벨을 수집하고

4) 온라인 트레이닝 파이프 라인은 모델 파라미터를 재훈련 해, 재훈련한 파라미터를 모델 스토어에 전달

5) 클라이언트 측의 추천 목록을 업데이트하고 새로운 피드백(사용자의 행동)을 캡처, 그리고 이러한 과정을 재순환

(※ 역주 6) Apache Kafka는 확장성이 뛰어난 분산 메시지 큐의 일종. 메시지 큐는 시스템 간의 데이터 전달을 중개하고 데이터를 임시로 보관(queuing)하는 미들웨어입니다. Kafka를 도입하여 데이터 흐름의 급격한 증가에 따른 시스템의 부하 상승을 억제할 수 있습니다.

(후편에 계속...)


원문
"Why TikTok made its user so obsessive? The AI Algorithm that got you hooked"

 

 

Why TikTok made its user so obsessive? The AI Algorithm that got you hooked.

Tick Tok is taking the world by storm. The short video app was downloaded 2 billion times, so what is the magic behind it ?

towardsdatascience.com

저자
Catherine Wang

반응형