번개장터: 디지털 광고 시스템(예측)

whatSup CheatSheet·2022년 7월 25일
0

Tech-Insight

목록 보기
1/2
post-thumbnail

개요

  • 특정 고객으로부터 추출된 노출과 클릭 히스토리는 큰 의미를 갖게 됩니다.
    • 고객에게 타겟팅된 광고를 노출시키기 위한 발판이 됩니다.
    • 매력적인 광고 상품의 적절한 노출을 기대해볼 수 있으며, 이는 기업 입장에서는 광고 수익의 증대로 이어질 수 있습니다.
    • 미리 수익 및 eCPM(effective Cost Per Mille)을 추축해 광고의 효율을 명확하게 측정할 수도 있습니다.
  • 추천시스템과 같은 고도화 기술이 발전하는 것과 더불어 광고의 효율을 높이기 위한 Click(CTR) Prediction 기술 또한 비슷한 기법들로 발전하게 되었습니다.

Dataset(Feature)

  • 번개장터에서의 CTR은 노출과 클릭에 대한 히스토리 데이터를 이용해 모델을 생성합니다. 이때 실제 상품에 대한 노출 대비 클릭 수는 매우 희소(sparse)하기 때문에 데이터 불균형 문제가 나타나게 됩니다.
    • 불균형 문제들을 해결하기 위해선 언더샘플링(UnderSampling) 및 오버샘플링(OverSampling)을 이용하여 데이터의 균형을 맞춰야 한다고 알려져 있었으나, 번개장터에서 실제로 적용을 해보았을 때 크게 성능에 영향을 주는 점을 발견하지 못해 샘플링을 진행하진 않았다고 합니다.
  • 노출 및 클릭 데이터는 매우 방대하기 때문에 차원의 저주 문제를 해결하기 위해 차원을 축소하거나 Feature 둥요도를 고려해 그 수를 가볍게 만드는 것이 중요합니다.
  • 번개장터는 Click Prediction 모델에 광고 정보(Ad Feature) 및 고객의 데모그래피 정보(Context Feature), 그리고 질의 요소(Query Feature)를 활용하고 있습니다.

Model Algorithm

  1. Logistic Regression

    • xixi : Feature 벡터
    • yiyi : 클릭여부
    • dd : 학습 데이터셋(인스턴스)
    • 𝜙(𝑤,𝑥)=𝑤⋅𝑥 : 선형 모델

    → 전통적으로 CTR에서 가장 간단하면서 강력한 성능을 내는 모델입니다. 그러나 가중치를 이용하 Feature 간 결합(Interaction, Conjunction)을 설명하는 데 있어서 적합하지 않다는 단점을 가지고 있습니다.

    추천시스템에선 feature interaction을 학습하는 것이 중요합니다.

    • ex)
      • 식사 시간(1)에 배달 앱 다운로드 수(2) 증가 → order-2 interaction
      • 10대(1) 남성(2)은 슈팅/RPG(3) 게임을 선호 → order-3 interaction
  2. Factorization Machine (DeepFM)

    • 논문
    • 특징
      • FM층을 통해 고차원 feature interaction을 학습
      • 빠른 연산 속도
    • 번개장터의 Fatorization Machine 아키텍처

  3. LightGBM

    • Microsoft가 공개한 Tree 기반 알고리즘
    • Tree 형태가 수직적으로 확장(Leaf-Wise) 되기 때문에 연산량을 줄일 수 있습니다.
    • GPU 활용 및 효율적인 병렬작업을 할 수 있도록 다양한 기능도 지원합니다.

    → 현재(2021년 9월) 번개장터의 Click Prediction에 활용 중인 알고리즘입니다.(성능과 비용을 동시에 만족시킨 알고리즘이었다고 합니다.)

Metric

  • Click(CTR) Prediction은 데이터 불균형 문제로 인해 정확도(Accuracy)나 재현율(Recall)과 같은 평가 지표를 사용하기가 어려울 수 있습니다.

    • 노출 대비 클릭 할당이 3~4%(혹은 그 이하) 밖에 되지 않기 때문에 학습 시 수많은 검증 데이터에서 하나만 맞춰도 정확도에 엄청난 영향을 주게 됩니다.
  • 주로 논문들을 보면 AUC(Area Under ROC)와 RIG(Relative Information Gain)를 평가 지표로 사용하고 있습니다.

    • RIG: 베이스 Log Loss(Entropy)를 기반으로 상대적 이득을 측정하는 방법입니다.

      • 번개장터는 검증 데이터 셋의 평균 CTR을 Baseline으로 구성하고, 위의 식을 이용하여 Baseline과의 증감률을 확인하여 평가 지표로 구성하고 있습니다.

Implementation (ML Pipeline)

  • 노출 및 클릭 로그를 담아 놓는 Data Warehouse에서 데이터를 가져와 Preprocessor에서 특정 시간마다 전처리 작업을 수행합니다.
    • 로그 데이터들을 이쁘게 가공하는 작업(결측값 제거 등)을 진행하고, 학습에 필요한 feature들을 선별합니다.
    • Feature들은 학습에 알맞게 레이블링하여 AWS Redis(ElasitcCache)로 구성된 Feature Store에 저장되며, 추가적으로 S3에 파일로 저장됩니다.
  • 가공된 데이터를 토대로 Modeler에서 학습을 진행
    • AWS Sagemaker를 활용
    • Sagemaker에서는 전처리부터 서빙까지 다양한 기능을 제공하지만, 번개 장터는 훈련 작업 용도로 Python 코드를 구성하였다고 합니다.
      • 알고리즘에 따라 다양한 인스턴스(CPU, GPU)들을 쉽게 테스트해볼 수 있으며,
      • 학습 종료 시 컨테이너도 자동으로 내려가기 때문에(온디맨드) 금액이 낭비되는 것을 방지할 수 있습니다.
  • 최종적으로는 제작된 학습 모델을 이용해 Serving API가 광고 서버에 전달해주는 역할을 합니다.
    • FAST API 사용(자동 Swagger 문서 구현, 간편한 파라미터 Validation 등)

번개장터 광고의 미래: CVR Prediction

  • 매체의 매출뿐 아니라 판매자단에서의 구매 전환율도 중요한 성과 지표입니다.
    • 전환율을 예측한다는 것은 노출의 가치를 추정하는 데 있어서 필수적입니다.
    • 그러나 번개장터의 구매 전환율을 측정하기 매우 어려운 구조죠.
      • C2C 특성상 광고로 인해 생긴 판매자의 매출을 파악할 수 없습니다.
      • 광고 캠페인이 노출된 후 긴 시간이 지나서야 전환이 이루어지는 경우가 있습니다.(지연된 피드백)
    • 이러한 이유로 번개장터는 전환율을 측정하는 방식을 새롭게 정의하였다고 합니다.
      • 광고 상품에 들어와 번개페이나 번개프로미스 버튼 클릭을 전환으로 판단하는 방식
  • 전환율에 영향을 주는 메커니즘은 다음과 같이 두 가지 경우가 있습니다.
    • Post-View: 다수의 노출에 의한 영향
    • Post-Click: 다수의 클릭에 의한 영향
  • 주요 연구에서는 클릭에 의해서 나타나는 모델을 사용하고 있으며, 생존분석(Survival Analysis), 음이항 회귀(Negative Binomial Regression) 등을 활용해 광고가 전환되는 시간에 대하여 분석하고 있다고 합니다.

Reference

profile
AI Engineer : Lv 0

0개의 댓글