Bayesian ROAS
Szkic potrzebnych kroków
A na co nam to? (przypomnienie)
::: block W Bayes ROAS:
- Każda predykcja jest rozkładem, dzięki czemu:
- moglibyśmy wybierać kampanię do wyświetlenia z użyciem Thompson sampling (tak jak w CPC)
- mamy sposób na samplowanie danych, których do tej pory model nie widział: nowy sklep, nowa powierzchnia, nowy slot…
- Możemy online zmieniać wagi modelu, dzięki czemu
- będziemy szybciej adaptować się do zmian (na rynku, w kreacjach, w kampaniach) - obecnie retrenujemy model raz na kilka tygodni
Obszary zmian
- Zmiana architektury modelu CTR
- Implementacja mechanizmu do aktualizowania wag online
note: Mechanizm aktualizacji wag narzuca nam pewne ograniczenia na to jak powinien wyglądać model.
Architektura modelu
<live>
Aktualizacja wag online
::: block
- Publikacja podaje jawny wzór na aktualizację wag online, czyli mając dotychczasowe , (w czasie ) oraz zapis klików i nie-klików z jakiegoś okna czasowego (np. 10 minut) można policzyć nowe , (w czasie .
- Do powyższego potrzebne są:
- Miejsce do przechowywania aktualnych , - redis lub po prostu feature store?
- Skrypt realizujący punkt 1.
Uwaga: Ten punkt wymaga od nas jeszcze researchu!
::: block Publikacje:
- TrueSkill https://proceedings.neurips.cc/paper/2006/file/f44ee263952e65b3610b8ba51229d1f9-Paper.pdf
- Bayesian CTR (uproszczona wersja TrueSkill dająca jawny wzór na aktualizację) https://discovery.ucl.ac.uk/id/eprint/1395202/1/Graepel_901%255B1%255D.pdf
- Wykorzystanie tego w Facebooku: https://research.facebook.com/file/273183074306353/practical-lessons-from-predicting-clicks-on-ads-at-facebook.pdf
Obszary zmian (dokładniej)
::: block
- Zmiana architektury modelu CTR
- Dzielimy nasz dotychczasowy model na dwa (analitycy):
- Duży Model (AutoInt), robiący za ekstraktor cech, zwraca wektor binarny. To jest model, który dostaje na wejściu cechy z Feature Store i mieli je tak, żeby dostać opis tych cech w postaci wektora binarnego
- Mały Model Bayesowski, który działa na wektorze binarnym. Do każdej cechy binarnej przypisany jest rozkład normalny ze średnią oraz . To właśnie parametry tych rozkładów normalnych będą modyfikowane online.
- Zaprojektowanie sposobu uczenia modelu z warstwą binarną (analitycy)
- Musimy ocenić na ile takie rozbicie modelu obniża jakość predykcji (za pomocą metryk offline: Brier Skill Score) (analitycy)
- Duży Model będzie musiał zwracać wektor binarny do biddera. Na podstawie tego wektora i na podstawie wartości , pobranych z Feature Store, bidder będzie musiał policzyć końcowy wynik. (devs)
- Dzielimy nasz dotychczasowy model na dwa (analitycy):
- Aktualizacja wag online
- Skrypt (analitycy + devs + feature store?)