Showing ads to users is the trend of monetizing social networking platform. Snap’s ad rating system is designed to target the right user at the right time. Snap follows a few principles in designing such a complex system. They focus on providing an excellent user experience while maintaining user privacy and security. The following image shows the high-level structure of Snap Ads Ranking and Targeting.
This system consists of some microservices. It contains a module called Ad Eligibility Filter. This module applies some filters such as checking ad budget, privacy, and ad policy compliance. Determines whether an advertisement is appropriate to display to the user. Ads from this module are passed to the candidate generation module. The filter generation module identifies relevant ads to users. Usually a machine learning model is very light Re-Call used in this unit. Once hundreds or a few thousand ads are identified, a heavy deep learning model is used to score the likelihood of the ads converting. In the end, the auction is run to select and score ads based on business rules, budget, etc. The feedback loop is used to collect more user interaction data to retrain models.
Ad rating systems face some unique challenges compared to general recommendation and search ranking systems. First of all, size, cost and latency. As mentioned in Blog Posts :
Our ML models work very broadly; Every day we make trillions of predictions using models trained on billions of examples. Such a large scale involves significant training and heuristics costs. These models also operate under strict latency restrictions. A combination of highly optimized training platform, inference platform, and model architectures is needed to keep cost and latency within acceptable limits.
Low prediction error rate is an important factor in choosing an advertisement. The error in predicting the outcome will propagate in the auction phase resulting in low quality data in the model’s training. The rapid change in advertising inventory is also one of the main challenges. This makes it difficult to get good embed Representation of advertisements.
For heavy ml models, in-service deep learning models are used as described in Blog Posts :
We make use of the latest multitasking models like MMoEs And the PLE To jointly predict multiple conversion events (eg, app installs, purchases, and subscriptions). Our models also use the latest high-level feature interaction layers such as DCN And the DCN version 2 as a building stone. We also optimize these models for inference cost and response time by splitting them into multiple towers, ie one for user features processing and one for advertising features. We illustrate these components and their interrelationships in the figure below.
Ad Ranking Systems is a use case recovery systems. Some cloud service providers such as AmazonAnd the The GoogleAnd the Microsoft It also offers these return systems as a service to its customers. There are some open source systems like Ad search systems On Github for further review.