Pyohwan/english-study

Innovating Faster on Personalization Algorithms at Netflix Using Interleaving

Opened this issue · 0 comments

https://medium.com/netflix-techblog/interleaving-in-online-experiments-at-netflix-a04ee392ec55

넷플릭스는 랭킹 알고리즘으로 움직이며, 각 알고리즘은 다른 용도로 최적화 되어 있음. 예를 들어 홈페이지의 Top Picks row 는 개인화된 동영상 순위 기반이며, Trending Now row 는 최근 인기 트렌드를 반영함. 이런 알고리즘은 다른 많은 것들과 함께 1억명이 넘는 회원을 위한 개인화 홈페이지를 구성한다.

image
<개인화 홈페이지의 예 회원들에게 맞춤 추천을 제공하기 위해 많은 랭킹 알고리즘을 사용함. 왼쪽에서 오른쪽의 비디오 순서는 특정 랭킹 알고리즘에 의해 결정 됨>

넥플릭스에서는 권장 사항을 지속적으로 개선하기 위해 노력함. 개발 프로세스는 새로운 랭킹 알고리즘 생성과 오프라인 성능 평가로 시작한다. 그런다음 A/B 테스트로 회원 만족도를 극대화 하기 위해 핵심 평가 지표를 온라인으로 측정함. 이러한 측정 항목에는 월 단위 구독 유지와 회원 스트리밍 시간이 포함 된다. 랭킹 알고리즘과 전체 넷플릭스 제품이 최적화 되고, 이러한 측정 항목에서 우수하면, 샘플 크기가 커지고, 실험 기간이 길어진다.

알고리즘 혁신 속도를 가속화 하기 위해 2단계 온라인 실험 과정을 고안함. 첫 번째 단계는 빠른 가지치기인데, 가장 유망한 랭킹 알고리즘을 초기 아이디어들 중에서 확인한다. 두번째 단계는 기존 A/B 테스트인데 장시간 회원 행동에 영향을 주는 알고리즘들을 삭감한다. 이 글에서는 첫번째 단계에 중점을 둔다 : 회원의 선호도를 정확하게 측정할 수 있는 인터리빙 기술

Faster algorithm innovation with interleaving

광범위한 아이디어들을 빠르게 테스트 하여 학습 속도를 높이는 것이 알고리즘 혁신의 주요 원동력이다. 두가지 속성을 만족하는 새로운 온라인 초기 가지치기 테스트 알고리즘을 도입했다.

  • 랭킹 알고리즘 품질에 매우 민감하다. 즉, 기존 A/B 테스트에 비해 샘플 크기가 훨씬 작은 최고 알고리즘을 안정적으로 식별한다.
  • 두번째 단계에서 성공을 예측가능하다 : 첫번째 단계에서 측정된 메트릭은 핵심 A/B 평가 메트릭에 맞추어 조정된다.

우리는 실험 과정을 가속화하는 인터리빙 기법을 사용하여 위 사항을 달성했다. (두번째 그림 참고) 첫번째 단계는 며칠걸려 완려되며, 가장 유망한 순위 알고리즘을 남겨둔다. 두번째 단계에서는 선택된 알고리즘만 사용하므로, 전반적인 실험에 더 적은 멤버를 할당하고, 기존 A/B 테스트와 비교하여 전체 실험 기간을 단축할 수 있다.

image
<인터리빙을 통한 빠른 알고리즘 혁신 새로운 알고리즘은 전구로 표현한다. 성공한 아이디어는 빨간색. 인터리빙 방식으로 초기 랭킹 알고리즘에서 가장 유망한 후보로 신속하게 정리할수 있다. 기존 A/B 테스트 보다 훨씬 빠른 속도로 실험 가능하다>

Using a repeated measures design to determine preferences

인터리빙이 제공하는 직감을 개발하기 위해 Coke or Pepsi 가 집단 내에서 어떻게 선호되는지 실험해보자. 기존 A/B 테스트에서는 무작위로 두 그룹으로 나누고 맹목적인 테스트를 한다. 한 그룹에는 Coke 만 제공하고 두번째 그룹에는 Pepsi 만 제공한다. 실험의 결론은 Coke 와 Pepsi 중 선호도를 결정할수 있는데, 두 그룹간 소다 소비의 차이를 측정한다(소다 측정은 통계적으로 상당히 다르므로).

측정을 개선시킬 수 있는 포인트는 이렇다. 첫째, 주요 출서의 불안정한 측정 : 소다를 거의 소비하지 않는 사람부터 많이 소비하는 사람까지 소다 소비의 넓은 범위가 넓고 다양하다. 두번째, 소다 과다 소비자는 적은 비율일 수 있지만, 전체 소다 소비량에서 상당 비중을 차지할 수 있다. 따라서 두그룹간 소다 과다 소비자의 작은 불균형 때문에, 결론이 균형이 안맞아진다. 온라인 실험을 할때, 인터넷 제품은 스트리밍 시간(혹은 메시지 전송, 사진 공유)과 같은 가장 활동적인 사용자와 만날수 있다.

기존 A/B 테스트의 대안으로, 반복적인 측정 설계를 이용하여 Coke or Pepsi 선호도 측정을 해보자. 이 접근 방식에서는 모집인들을 무작위로 나누지 않는다. 오히려, 사람들은 Coke or Pepsi 에 대한 선택권을 갖는다. 실험의 결론은 Coke or Pepsi 소비량을 나눠서 사람들의 레벨을 비교할 수 있다. 이 설계에서는 1) 넓은 범위의 소다 소비량 범위의 불확실성을 제거한다. 2) 모든 사람에게 같은 무게를 주어서 과다 소다 소비자를 없애버리고, 측정에 덜 영향을 미치도록 한다.

Interleaving at Netflix

넷플릭스에서는 실험의 첫 단계에서 두개의 랭킹 알고리즘 간 회원 선호도를 예민하게 결정한다. 아래 그림은 A/B 테스트와 인터리빙의 차이를 보여준다. 기존 A/B 테스트에서 두개의 구독자를 선택한다 : 하나는 A 랭킹 알고리즘을 또하나는 B를 노출. 인터리빙에서는 A 와 B 알고리즘을 섞여 생성된 랭킹을 사용하는 구독자를 선택한다. 이를 통해 그들의 선호하는 랭킹 알고리즘을 결정하기 위해 선택사항을 제시한다. (회원은 특정 알고리즘에 의해 추천한 영상을 알수 없음) 랭킹 알고리즘이 추천한 영상과 시청시간을 비교하여 상대적인 선호도를 계산한다.


<A/B Testing vs. Interleaving. A/B 테스트에선 두그룹으로 나눠서 한쪽은 A, 한쪽은 B 를 노출. 유지력과 스트리밍 같은 핵심 메트릭을 평가하여 두 그룹을 비교함. 반면에 인터리빙은 한 그룹에 A와B를 섞어서 노출한다. 랭킹 알고리즘 선호도는 A 와 B가 추천한 영상을 얼마나 많이 보았는지 비교하여 결정한다>

넷플릭스 홈페이지의 인터리브된 두 알고리즘에서 편견을 고려해야 한다: 욎꼬에서 오른쪽으로 갈수록 재생 확률이 떨어짐. 확실한 측정을 위한 인터리빙은, 하나의 행에 있는 영상이 A or B 알고리즘에 동일한 가능성이 있는지 입증해야 한다.

이 문제를 해결하기 위해 스포츠 경기에서 팀을 선택하는 과정을 모방한 변형된 드래프트 인터리빙을 사용했다. 두팀의 주장이 동전을 던져 누가 먼저 뽑을지 결정한다. 그들은 번갈아가며 가장 선호하는 선수를 뽑는다. 이 과정은 팀선택이 완료될때까지 계속한다. 넷플릭스 추천에 유사하게 적용해보면, 영상은 이용가능한 선수이고 A, B 랭킹 알고리즘은 두팀 주장의 정렬된 선호이다. 우리는 랭킹 알고리즘이 적용된 인터리브 목록의 첫번째 영상을 랜덤하게 결정한다. 랭킹 알고리즘은 교체되는데, 각 알고리즘은 최고순위의 살아있는 영상에 기여한다. 랭킹 알고리즘 회원 선호도는 인터리브 목록에서 많은 시간을 보게 했는지에 따라 결정된다.

image
<Interleaving videos from two ranking algorithms using team draft. A,B 랭킹 알고리즘은 각각 정렬된 비디오 세트를 갖고 있음. 코인을 던지는것 처럼 랜덤하게 A, B 가 목록에서 첫번째영상으로 나오게 함. 각 알고리즘은 인터리브 목록에 없는 최고 순위의 영상을 차례대로 꽂아줌. 어떤것을 처음으로 선택하는지에 따라 두가지 결과가 표시된다. 각 랭킹 알고리즘에 다른 조회시간 점유율을 비교하여 사용자 선호를 측정함>

Comparing the sensitivity of interleaving to traditional A/B testing

첫번째 요구사항은 작은 샘플 크기로 더 우수한 랭킹 알고리즘을 안정적으로 찾아내는것이다. 상대적인 품질을 평가하면 : B 가 A 보다 낫다. 우리는 이 두 ranker 를 A/B 와 병렬로 인터리빙 실험을 했다.

인터리브 vs A/B 테스트의 민감도를 비교하기 위해, 다양한 부트스트랩 서브샘플링을 통해 인터리빙 선호도 와 A/B 메트릭을 계산함. 부트스트랩 분석을 수행하면서 N명의 N명의 사용자를 인터리빙 셀로, N/2 사용자를 A/B의 각셀에 할당했음. 어느 ranker 가 좋은지 무작위로 추측하면, 선호도에 동의하지 않을 확률은 50%다. 이 확률이 5% 일때, 95%는 ranker 품질의 차이가 다르다는것을 알수 있다. 이리하여 임계치를 교차하는 적은수의 구독자가 매우 민감한것중 하나다.

아래 그림은 분석결과를 보여준다. 우리는 인터리브 선호와 A/B 테스트의 메트릭을 비교합니다: 전체 스트리밍과 알고리즘 메트릭. A/B 테스트를 사용한 민감도 메트릭은 광범위한 범위로 달라질 수 있다. 인터리빙은 매우 민감하다: 95%의 힘을 얻기 위해서는 A/B 테스트 보다 100배 이상 적은 사용자가 필요하다.

image
<Sensitivity of interleaving vs. traditional A/B metrics for two rankers of known relative quality. 부트스트랩 서브샘플링은 인터리빙과 기존 계약된 메트릭과 비교하여 민감도를 측정하는데 사용됨. 가장 민감한 A/B 메트릭과 비교해도 인터리빙 ranker 선호는 100배 이하의 구독자가 필요하다.>

Correlation of interleaving metrics with A/B metrics

두번째 요구사항은 인터리빙 단계에서 기존 A/B 테스트 메트릭과 일치해야 한다. 인터리빙 선호도가 A/B 테스트 의 ranker 성능을 예측한다.

아래 그림은 컨트롤과 비교하여 A/B 메트릭의 변화에 대한 인터리빙 선호 메트릭의 변화를 보여준다. 각 데이터 지점은 생산 ranker 컨트롤 랭킹 알고리즘을 나타낸다. 인터리빙 메트릭과 A/B 평가 메트릭 사이에 매우 강한 상관관계가 있음을 확인하여, 인터리브 선호가 A/B 실험을 성공적으로 예측하는데 확신을 준다.
image
< Correlation of the interleaving measurement with the most sensitive A/B metric. 각 포인트는 평가된 생산 알고리즘의 다른점을 측정한 값이다. 인터리빙 선호와 A/B 메트릭 간에는 강한 상관관계가 있다.>

Conclusion

인터리빙은 넷플릭스에서 랭킹 알고리즘을 가속화 시킬수 있는 강력한 혁신 기술이다. 회원 선호를 민감하게 측정하고 며칠이내에 가장 유망한 후보자를 식별할 수 있다. 광범위한 새로운 알고리즘을 신속하게 테스트할 수 있었고, 학습 속도도 높일수있다.

인터리빙은 민감도를 크게 높이고, A/B 메트릭과 잘 일치하지만 한계가 있다. 첫째, 인터리빙 프레임워크가 복잡해서 엔지니어링 관점에서 문제점이 있다. 비지니스 로직의 존재가 또다른 간섭이 발생하는데, 일관섬 검사 및 문제 탐지를 위한 솔루션이 구축되어야 한다. 둘째, 인터리빙은 최상위 랭킹 알고리즘을 신속하게 식별 가능하지만, 사용자 선호의 상대적 측정값이라는 한계이다. 즉, 보존력(retention)과 같은 메트릭으로의 변경은 직접 측정이 어렵다.

A/B 실험을 두번째 단계(second phase)에서 실행하여 후자의 한계를 해결한다. 두번째 단계에서는 가장 좋은 초기 아이디어 세트만 잘라내었다. 이를 통해 셀당 새믈 크기를 늘릴수 있고, 실험에 힘을을 더 줄수 있어서 장기적인 회원 행동을 면밀히 측정할 수 있다. 이러한 과제를 해결하고 더 나은 측정을 개발하는것이 우리가 계속 연구하는 부분이다.

이 글에 설명된 작업이 끌린다면 이페이지로 와보시오. 우리는 항상 유능한 데이터 사이언티스트와 연구원이 합류하길 고대하고 넷플릭스 설혐혁신을 돕고자 한다. 당신의 업무는 전세계 1억 회원의 경험에 도움이 될것이다!