Grokking the Machine Learning Interview - Ad Prediction System (3) Architectural Components

gunny·2024년 3월 8일
0

prediction/forecasting

목록 보기
2/4

Grokking the Machine Learning Interview

Ad Prediction System - (3) Architectural Components

광고 예측 시스템의 아키텍처 구성요소를 살펴보자.

  • 아키텍처(구조)
    광고 선택
    광고 예측
    경매
    간격
    훈련 데이터 생성
  • 퍼널 모델 접근 방식

Architecture

  • 시스템의 상위 수준(high-level) 아키텍처를 살펴본다면, 광고 예측 시스템에는 플랫폼 사용자와 광고주라는 두 가지 주요 행위자가 있다. 이 행위자들이 아키텍처에 어떻게 적용되는지 살펴보자.

1. 광고주 흐름(Advertiser flow)

광고주는 자신의 콘텐츠와 타겟팅(예: 광고를 실행하려는 시나리오)을 포함하는 광고를 만든다.
몇 가지 예시는 다음과 같다.

  • 쿼리 기반 타겟팅(Query-based targeting):
    이 방법은 검색어를 기반으로 사용자에게 광고를 표시한다.
    쿼리 용어는 부분 일치(partial match), 전체 일치(full match), 확장(expansion) 등이 될 수 있다.
    예를 들어 사용자가 "기계 학습 과정"이라는 검색어를 입력할 때마다 시스템은 educative.io에 ML 과정을 표시한다.

  • 사용자 기반 타겟팅(User-based targeting):
    광고는 특정 지역, 인구통계, 성별, 연령 등에 따라 사용자에게 주관적이다.

  • 관심 기반 타겟팅(Interest-based targeting):
    이 방법은 관심을 기반으로 광고를 표시한다.
    Facebook에서 광고주가 특정 관심 계층에 따라 광고를 표시하기를 원할 수 있다고 가정해보자.
    예를 들어 광고주는 스포츠에 관심이 있는 사람들에게 스포츠 관련 광고를 게재하고 싶어할 수 있다.

  • 군집/그룹 기반 타겟팅(Set-based targeting):
    이 유형은 광고주가 선택한 사용자 군집(집합)에게 광고를 표시한다.
    예를 들어 이전 구매자이거나 웹사이트에서 10분 이상 머물렀던 사람들에게 광고를 표시한다.
    여기에서 군집/그룹을 확장하고 "seed audience"를 확장할 수 있다.

'seed audience' : 광고 캠페인에서 초기에 설정한 작은 그룹의 대상 고객

2. 사용자 흐름(user flow)

플랫폼 사용자가 시스템에 쿼리하면 시스템은 광고주가 사용하는 다양한 타겟팅 기준을 기반으로 이 사용자에게 표시될 수 있는 모든 잠재적 광고를 찾는다.
해당 정보의 흐름은 아래에 설명된 대로 두 가지 주요 단계로 구성된다.

(1) 광고주는 타겟팅 정보를 제공하는 광고를 만들고, 광고는 광고 인덱스에 저장된다.
(2) 사용자가 플랫폼에 쿼리하면 해당 정보(예: 인구통계, 관심분야 등)를 기반으로 인덱스에서 광고를 선택하고 광고 예측 시스템을 통해 실행된다.

[그림] 광고 예측 시스템의 아키텍처 다이어그램

위 다이어그램에서의 각 구성 요소를 간략하게 살펴보자.

AD selection

광고 선택 구성요소는 관련성(사용자 상황에 따라 다름)을 기준으로 상위 k개 광고를 가져오고 광고 인덱스에서 입찰합니다.

AD prediction

광고 예측 구성요소는 광고, 광고주, 사용자 및 맥락을 고려하여 광고에 대한 사용자 참여(광고가 표시될 경우 광고에 대해 조치가 취해질 확률)를 예측한다.
그런 다음 관련성 점수와 입찰가를 기준으로 광고 순위를 매긴다.

Auction

경매 메커니즘은 이러한 상위 K개 관련 광고가 사용자에게 표시되는지 여부와, 표시 순서, 광고에 대한 조치가 취해질 경우 광고주가 지불하는 가격을 결정한다.
모든 광고 요청에 대해 게재할 광고를 결정하기 위해 경매가 진행된다.
광고 예측 시스템에 의해 선택된 관련성 높은 광고는 경매에 대한 입력으로 제공된다.
그런 다음 경매에서는 광고의 입찰가와 관련성 점수를 기준으로 총 가치를 고려한다.
총 가치가 가장 높은 광고가 경매에서 낙찰된다.
총 가치는 다음 요소에 따라 달라진다.

입찰(Bid) :
광고주가 해당 광고에 대해 제시하는 입찰가격
즉, 클릭이나 구매와 같은 특정 행동에 대해 광고주가 지불할 의사가 있는 금액

사용자 참여율(User engagement rate)
광고에 대한 사용자 참여의 추정치

광고 품질 점수(Ad quality score)
광고를 보거나 숨기는 사람들의 피드백을 고려하여 광고 품질을 평가

예산(Budget)
광고주의 광고 예산

  • 예상 사용자 참여도와 광고 품질 비율을 합산하여 광고 관련성 점수가 산출된다.
    플랫폼에서 선택한 다양한 가중치를 기준으로 결합할 수 있는데, 예를 들어 긍정적인 피드백을 높게 유지하는 것이 중요한 경우 광고 품질 비율에 더 높은 가중치를 부여한다.

순위 순서는 예측 광고 점수(광고 예측 구성요소의 점수)에 입찰가를 곱한 값을 기준으로 계산된다.
이를 광고 순위 점수(ad rank score)라고 한다면,

광고 순위 점수가 가장 높은 광고가 경매에서 낙찰되어 사용자에게 표시된다.
광고가 경매에서 낙찰되면 참여당 비용(CPE) 또는 클릭당 비용(CPC)은 광고 순위 점수와 바로 아래 광고의 순위 순위 점수에 따라 달라진다.

CPE = (광고 순위 / 광고 순위 점수) + 0.01

일반적인 원칙은 광고가 경매에서 낙찰될 수 있는 최소 가격으로 책정된다는 것이다.

Pacing

: 광고 캠페인이 일정한 속도로 광고 예산을 소비하도록 하는 것

광고 간격을 조정한다는 것은 캠페인 시작 시 광고 예산을 모두 지출하는 것이 아니라 선택한 기간 동안 광고 예산을 균등하게 지출한다는 의미이다.
사용자가 광고에 참여할 때마다 광고주에게 다음 광고의 입찰 금액이 청구된다.

  • 광고 순위 점수가 높으면 광고 세트는 특정 기간이 시작될 때(광고주가 일반적으로 일일예산을 갖고 있으므로 새로운 하루의 시작과 같은) 전체 예산을 지출 수 있고, 이로 인해 광고 로드(사용자 참여율)가 높을 때 클릭당 비용(CPC)이 높아진다.

페이싱(Pacing)은 광고 세트가 하루 종일 고르게 분산되고 광고주가 캠페인에 대해 최대 투자 수익(ROI)을 얻을 수 있도록 입찰가를 동적으로 변경하여 이 문제를 극복한다.
이는 또한 하루 시작 시 전체 시스템의 부하가 크게 높아지는 것을 방지하고 캠페인 전반에 걸쳐 예산이 균등하게 지출되도록 한다.

Training data generation

이러한 광고에 대해 취한 조치를 기록해야 하는데, 이 구성요소는 광고(경매 후 표시됨)에 대한 사용자 작업을 수행하고 광고 예측 구성요소에 대한 긍정적 및 부정적 학습 예제를 생성한다.

Funnel model approach (퍼널 모델 접근법)

대규모 광고 예측 시스템의 경우 검색어 및/또는 사용자 관심분야를 기반으로 사용자를 위한 광고를 빠르게 선택하는 것이 중요하다.
시스템의 광고 수와 플랫폼의 사용자 수 측면에서 규모가 클 수 있는데, 따라서 광고 품질을 저하시키지 않으면서 확장성이 뛰어나고 성능 효율성이 매우 높은 방식으로 시스템을 설계하는 것이 중요하다.

위의 목표를 달성하려면 퍼널 접근 방식을 사용하는 것이 합리적이다.
퍼널의 다음 단계를 위해 대규모 광고 세트에서 보다 정확한 세트로 점진적으로 이동합니다.

[그림] 퍼널 접근 방식: 사용자에게 관련성 높은 광고 제공

다이어그램에 표시된 것처럼 퍼널 아래로 내려갈수록 모델의 복잡성은 높아지고 모델에서 실행되는 광고 세트는 작아진다. 또한 초기 레이어는 주로 광고 선택을 담당한다.
반면, 광고 예측은 잘 조정된 광고 참여 및 품질 점수를 예측하는 역할을 한다.
이 예측점수는 경매(auction)에도 활용된다.

이러한 구성 요소가 검색 시나리오에서 어떻게 상호 작용하는지 알아보기 위해 예를 살펴보자.

30세 남성 사용자가 '머신러닝'이라는 검색어를 작성했다.
광고 선택 구성요소는 타겟팅 기준(사용자 인구통계 및 쿼리)과 일치하는 모든 광고를 선택하고 간단한 모델을 사용하여 광고의 관련성 점수를 예측할 것이다.

  • 광고 선택 구성요소는 r(여기서 r=입찰*관련성)에 따라 광고 순위를 매기고 상위 광고를 광고 예측 시스템으로 보낸다. 광고 예측 구성요소는 선택된 광고를 검토하고 고도로 최적화된 ML 모델을 사용하여 정확한 보정 점수를 예측합니다.
    그런 다음 광고 경매 구성요소는 입찰 및 예측 광고 점수를 기반으로 경매 알고리즘을 실행하여 사용자에게 표시되는 가장 관련성이 높은 광고를 선택한다.

다음 포스팅에서 피처엔지니어링으로 각 세그먼트를 탐색하면서 이 다이어그램의 다양한 세그먼트를 확인해보자.

profile
꿈꾸는 것도 개발처럼 깊게

0개의 댓글