Evolution and Engineering Practices of the 360 Display Advertising Recall System
This article details the 360 display advertising system's architecture and the progressive evolution of its recall module, covering business overview, overall pipeline, various recall strategies—including Boolean, vectorized, and deep‑tree approaches—and the performance optimizations applied to meet real‑time constraints.
The presentation introduces the 360 display advertising business, which operates within an RTB programmatic buying framework, describing the flow from media partners through the 360 Max Ad Exchange, the 360 Dianjing DSP, and the ad selection process that must respond within tens of milliseconds.
It then outlines the overall system architecture, highlighting the Ad Search module that first classifies traffic (keyword, feed, banner) and routes it to corresponding leaf modules for candidate generation, followed by an Ad Selector that scores candidates using CTR/CVR models before logging events for offline training.
The core of the talk focuses on the evolution of the recall module. Initially, Boolean recall used tree‑based bit‑map grouping and inverted indexes to match user tags with advertiser targeting configurations, but suffered from long conjunction lists. Vectorized recall introduced dense embeddings via DSSM or similar models, employing similarity search with LSH, IVF‑Flat, or IVF‑PQ indexes.
To overcome the limitations of both methods, a deep‑tree recall (TDM) was adopted, constructing a hierarchical tree based on eCPM‑max heaps. Leaf and parent nodes are represented by embeddings generated from user profile, context features, and ad attributes, with cross‑feature interactions modeled by IPNN and deep neural networks. Beam search traverses the tree online, selecting top‑K nodes at each level.
Performance optimizations are discussed for both retrieval and training phases: skipping tree levels, returning clusters for downstream ranking, parallelizing searches, quantizing model weights, avoiding feed_dict in TensorFlow, using Dataset APIs, profiling with Timeline, and releasing the Python GIL for high‑frequency C++ calls.
References include the paper "Learning Tree‑based Deep Model for Recommender Systems" and Microsoft's DSSM project.
DataFunTalk
Dedicated to sharing and discussing big data and AI technology applications, aiming to empower a million data scientists. Regularly hosts live tech talks and curates articles on big data, recommendation/search algorithms, advertising algorithms, NLP, intelligent risk control, autonomous driving, and machine learning/deep learning.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.