[Spotify의 새로운 실험 플랫폼 🎲] 바빴던지라 오랜만에 글을 쓰네요. 오늘은 핫한 AI / ML 뉴스 대신 데이터 사이언스의 오랜 주제에 대해 이야기해볼까 합니다. 예전에 경력직 채용 인터뷰를 갔는데 면접관 분이 제 이력서에서 ‘A/B 테스트 프레임워크를 설계하고 실험을 성공적으로 수행'했다고 쓴 부분을 가리키며 A/B 테스트는 그냥 하면 되는 거 아닌가요, 물으시더라고요. 마치 한국어 능통이라고 자랑하는 토종 한국 사람을 바라보는 눈빛이었습니다. 😔 그러나 A/B 테스트 인프라와 그것을 수용하는 문화를 제대로 갖춘 회사는 흔하지 않습니다. 되려 저는 그것을 회사의 데이터 사이언스 수준을 나타내는 지표라고 생각합니다. 10월 29일 Spotify가 사내 실험 플랫폼을 새로 구축했다고 알렸습니다. (기존 플랫폼 명칭은 ABBA였다고 합니다. ML 플랫폼 이름은 Rage against the Machine으로 지었기를... 😔) 해당 플랫폼의 컴포넌트로 '원격 설정', '메트릭 카탈로그', '실험 플래너'가 존재합니다. '원격 설정'은 클라이언트가 갖는 여러 속성 값을 실험에 따라 제어하는 역할을 합니다. 예컨대 앱의 헤더 폰트 사이즈나 이미지 사이즈 같은 속성들 말이죠. 각 클라이언트는 할당된 사용자 그룹에 맞게 원격 설정의 속성 값을 받아와 사용자 경험을 구성합니다. '메트릭 카탈로그'는 실험 관련한 메트릭들을 저장, 관리, 제공하는 곳입니다. '실험 플래너'는 전반적인 관리자로써 실험을 생성, 시작, 중지하고 결과를 분석하는 곳이고요. 자, 그럼 처음부터 끝까지 이어지는 워크플로를 볼까요? 실험 진행하기로 의사 결정했다면 데이터 사이언티스트는 '실험 플래너'에 실험을 생성합니다. 이때 사용자 그룹마다 가져야 할 '원격 설정' 속성 값들을 정의해주죠. 이를테면 실험군의 타이틀 폰트 사이즈를 14로, 대조군은 12로 지정할 수 있겠죠. ‘원격 설정' yaml 파일이 자동 생성되고 실험이 시작되면 클라이언트 또는 백엔드 서비스는 할당된 그룹에 맞게 '원격 설정'의 속성 값을 가져와 사용자 경험을 구성합니다. 즉, 실험군이라면 타이틀 폰트 사이즈 14로 앱을 빌드하는 거죠. 사용자에게 해당 설정이 노출됐다면 측정하고자 하는 메트릭들, 예컨대 CTR 등의 값을 데이터웨어하우스에 저장합니다. 이 공간이 '메트릭 카탈로그'로써 데이터 사이언티스트가 실험, 대조군의 메트릭을 손쉽게 추출, 분석할 수 있습니다. 실험 플랫폼을 잘 만드는 것은 의외로 쉽지 않습니다. Spotify와 달리 사용자 채널이 여러 개인 비즈니스는 특히나 어렵죠. '원격 설정' 컴포넌트가 실험의 다양한 처리(treatment) 형태를 소화할 수 있게끔 유연해야 하는데, 항상 새로운 요구조건이 등장합니다. 챗봇 캐릭터를 메인 페이지에 삽입해달라든지... 더욱 난제는 사내 문화입니다. ML 서비스를 레거시 비즈니스에 도입할 때 A/B 테스트를 마치 건곤일척의 단판 승부로 보는 경향이 있습니다. 당연히 ML 초기 버전이 기존 휴리스틱보다 결과가 안 좋을 수 있습니다. A/B 테스트는 그저 결과를 빠르게 탐색, 수용하고 다음 단계에서 반복 개선해 나가게끔 하는, 반증 가능성을 염두에 둔 체계입니다. 이걸 사내 구성원들이 모두 인지하지 않는 이상 A/B 테스트는 도박 또는 조작 같이 이뤄질 수밖에 없습니다.

Spotify's New Experimentation Platform (Part 1)

Spotify Engineering

Spotify's New Experimentation Platform (Part 1)

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2020년 11월 14일 오전 5:37

댓글 2