Advanced
Open
Pro
Diagnose and Fix Popularity Bias in a Retrieval Model
Part of the ML System Design Interview path →
Part of the Search, Recommendation & NLP Systems path →
Your two-tower retriever trains with in-batch negatives. Two complaints arrive in the same week. The ML team says "recall on the validation set is much lower than the previous model, even though the architecture is the same". The product team says "the feed is dominated by the same few hundred items and creators". You suspect popularity bias in both cases but they may have different causes.
- Explain what happens to the logits of popular items when an in-batch softmax is trained without any correction, and which complaint it explains. What is the fix?
- In the lesson's toy retrieval experiment (400 users, 2,000 items, popularity share of the top 10 percent of items = 52.8 percent) recall@10 was 0.019 without the correction and 0.214 with it, the oracle was 0.226. What happened to the share of head items in the recommended lists and what happened to recall on tail items? What does this tell you about using the correction to "reduce popularity bias"?
- Explain the feedback loop that causes the second complaint and why the first fix does not address it.
- Propose three interventions for the feedback loop (one in training data, one at serving, one in evaluation) and their trade-offs, including inverse propensity weighting with a clip.
- What would you monitor afterwards?
Share this question