Practice — Modern Recommender Architectures (6 questions)
Design a Multi-Task Short-Video Ranker and Its Fusion Formula Permalink →
A short-video app ranks 2,000 candidates per request. Product wants to optimize "satisfying watch time" and says: "just train on watch time, and also keep clicks and likes up". Logs show click and expected watch time are negatively correlated across candidates (about -0.4), likes are rare (about 3 percent of views) and "not interested" taps are rarer still (0.3 percent). An engineer proposes a shared-bottom network with five heads and a fusion formula V = p_{\text{click}} + 0.02\,E[\text{watch}] + 3\,p_{\text{like}} - 10\,p_{\text{dislike}}. A second engineer proposes MMoE "because it is state of the art".
- Pick the heads and the label definition for each (what is a positive, what is the regression target). Why is raw watch time a poor target?
- In the formula above, one candidate has p_{\text{click}} = 0.18, E[\text{watch}] = 60 s, p_{\text{like}} = 0.05 and p_{\text{dislike}} = 0.002; another has 0.30, 12 s, 0.02 and 0.001. Compute both values and say which term decides the ranking and why that is a scaling problem.
- A sweep of the watch weight from 0.001 to 0.005 on a candidate set moved the mean click probability of the top-20 slate from 0.653 to 0.079. What does that imply for how you set and ship the weights?
- When would you move from shared-bottom to MMoE or PLE? What do you measure to decide, and what does the lesson's toy experiment say about adopting it by default?
- Name two ways to make the fusion robust to the different scales of the heads.
Share this question
Choose a Sequence Model for 10,000-Event User Histories Permalink →
Your ranker must use each user's last 10,000 events (item, action, timestamp). Latency budget for the ranker is 40 ms for 1,000 candidates. One engineer wants a SASRec-style Transformer over all 10,000 events; another wants DIN-style target attention with an MLP scorer over all 10,000 events for each candidate; a third says "just average the embeddings". Embedding dimension is 64 and there are 500M users.
- Estimate the multiply-accumulates per request for (a) dot-product target attention over 10,000 events for 1,000 candidates, (b) one full self-attention layer over the 10,000 events, and (c) a DIN-style MLP scorer of about 20,600 MAC per pair. Which of them fits a 40 ms budget on one accelerator slice, and what would you do about the rest?
- Estimate the storage for the histories as IDs (8 bytes) and as fp16 vectors, for 500M users.
- Explain a retrieve-then-attend design (SIM or ETA style) and give the new cost if 200 events are retrieved.
- When would you choose a SASRec-style user encoder over target attention, and how does BERT4Rec differ at serving time?
- List three training or evaluation pitfalls specific to sequence models.
Share this question