Machine Learning Engineer: Configuring a Prediction Pipeline for Web Banner Placement

Implementing the Simplest Solution

Question

You work for an online travel agency that also sells advertising placements on its website to other companies.

You have been asked to predict the most relevant web banner that a user should see next.

Security is important to your company.

The model latency requirements are 300ms@p99, the inventory is thousands of web banners, and your exploratory analysis has shown that navigation context is a good predictor.

You want to Implement the simplest solution.

How should you configure the prediction pipeline?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

B.

In this scenario, the goal is to predict the most relevant web banner that a user should see next on an online travel agency's website. The model needs to have low latency requirements of 300ms@p99, and there are thousands of web banners to choose from. The exploratory analysis has shown that the navigation context is a good predictor. Security is also important to the company.

Given these requirements, the best configuration for the prediction pipeline would be to embed the client on the website and deploy the model on AI Platform Prediction. Option A is the correct answer.

Option A: Embed the client on the website, and then deploy the model on AI Platform Prediction. This option is the simplest solution that meets the requirements. The client can collect the user's navigation context and send it to the model deployed on AI Platform Prediction for prediction. AI Platform Prediction can handle large-scale prediction requests and has low latency requirements. This option does not require any additional infrastructure or services, making it the simplest solution.

Option B: Embed the client on the website, deploy the gateway on App Engine, and then deploy the model on AI Platform Prediction. This option adds an additional layer of infrastructure by deploying the gateway on App Engine. While App Engine can handle large-scale requests, it adds complexity to the pipeline and may not be necessary for this use case.

Option C: Embed the client on the website, deploy the gateway on App Engine, deploy the database on Cloud Bigtable for writing and for reading the user's navigation context, and then deploy the model on AI Platform Prediction. This option adds a database layer using Cloud Bigtable for storing and retrieving user navigation context. While this can improve the model's prediction accuracy, it adds significant complexity to the pipeline and may not be necessary for this use case.

Option D: Embed the client on the website, deploy the gateway on App Engine, deploy the database on Memorystore for writing and for reading the user's navigation context, and then deploy the model on Google Kubernetes Engine. This option adds a database layer using Memorystore for storing and retrieving user navigation context and deploys the model on Google Kubernetes Engine. While Kubernetes can handle large-scale prediction requests, it adds significant complexity to the pipeline and may not be necessary for this use case.

Overall, the simplest and most appropriate solution for this use case would be to embed the client on the website and deploy the model on AI Platform Prediction (Option A).