Instagram ML Question - Design a Ranking Model (Full Mock Interview with Senior Meta ML Engineer)

Sdílet
Vložit
  • čas přidán 31. 05. 2024
  • Ace your machine learning interviews with Exponent’s ML engineer interview course: bit.ly/4bUEPbF
    In this ML System Design video, we ask a Senior Machine Learning Engineer from Meta to design a ranking and recommendation system for Instagram. He focuses on increasing user engagement by optimizing post suggestions from both friends and content creators, aiming to boost daily active users and session times by implementing AI in clever ways. Our guest explains the model's functional requirements, emphasizing predicting engagement actions like likes, comments, and views. He also covers the importance of MLOps tools for analytics, monitoring, and alerts to ensure the system's effectiveness and reliability.
    Chapters (Powered by ChapterMe) -
    00:00 - Designing Instagram's Ranking Model
    03:24 - ML Model for Instagram Metrics
    08:33 - ML Pipeline Nonfunctional Requirements
    10:22 - Monetization Through Ads
    12:03 - ML Pipeline Stages Overview
    19:18 - Pretrained Embeddings for Interaction Analysis
    24:04 - Comprehensive Model Pipeline Strategy
    31:23 - Collaborative Filtering for Efficient Representation
    33:13 - Two-Tower Network for Data Filtering
    38:43 - ML Maturity & AUC Curve Analysis
    44:58 - Microservices for Continuous Learning and Scaling
    Want more machine learning content?
    - Fake News Detection System - Machine Learning Mock Interview - • Fake News Detection Sy...
    - Amazon Machine Learning Engineer Interview: K-Means Clustering - • Amazon Machine Learnin...
    - How to Become a Machine Learning Engineer - • How to Become a Machin...
    👉 Subscribe to our channel: bit.ly/exponentyt
    🕊️ Follow us on Twitter: bit.ly/exptweet
    💙 Like us on Facebook for special discounts: bit.ly/exponentfb
    📷 Check us out on Instagram: bit.ly/exponentig
    📹 Watch us on TikTok: bit.ly/exponenttikttok
    ABOUT US:
    Did you enjoy this video? Want to land your dream career? Exponent is an online community, course, and coaching platform to help you ace your upcoming interview. Exponent has helped people land their dream careers at companies like Google, Microsoft, Amazon, and high-growth startups. Exponent is currently licensed by Stanford, Yale, UW, and others.
    Our courses include interview lessons, questions, and complete answers with video walkthroughs. Access hours of real interview videos, where we analyze what went right or wrong, and our 1000+ community of expert coaches and industry professionals, to help you get your dream job and more!

Komentáře • 13

  • @MeghavVerma22
    @MeghavVerma22 Před 3 měsíci +12

    The Meta engg guy is on-point. Every stage of the pipeline/process has so many nuances which could have made this into a 2hr+ video - maybe consider doing a podcast version of this and make a guestlist of viewers who can submit questions? @Exponent

  • @soustitrejawad
    @soustitrejawad Před 2 měsíci +5

    As a current master's student in data science actively job hunting, I must say this mock interview is incredible. Thank you so much, Vicram! Where can I find more of your content?

  • @_anarki_
    @_anarki_ Před 28 dny +2

    he's cracked. great job to you both

  • @maryamaghili1148
    @maryamaghili1148 Před měsícem +3

    for the candidate generation, I would propose a funel model in which first I use some simple algorithms like logistic regression or Dtree or ANN which he used to quickly narrow down the search space to 1/1000 and then do more advanced techniques for refining it. I will use 2 tower network for ranking my candidates.

    • @mullachv
      @mullachv Před měsícem +3

      Two tower is for learning the embeddings. During serving we use the learnt embeddings from the two tower to located approximate nearest neighbor to the viewer's embedding. In reality we will have several parallel paths to generate candidates - here we show just one in the interest of time. Some of the candidate generation sources include: collaborative filtering (either two tower or matrix factorization), content filtering (keyword/interest matching), popular feeds, viral feeds, connected content feeds (content from socially connected creators) etc.
      The deeper model for ranking typically would use thousands of features (windowed aggregates, embedding aggregates, embeddings from pre-trained text/image/video processing models etc.). These models are compute and memory intensive to run and we want to only run them on a select thousand (or so) items for a specific viewer. This keeps the serving latency low. This deep ranking model typically has multiple heads (multi-task) with several predictors (like, comment, share etc.). These individual predictors are weighted to generate a score. Reverse sorted scores can be used for creating a candidate post-item list to show the viewer.
      Does that help clarify?

  • @abhipatel9048
    @abhipatel9048 Před 3 měsíci +2

    Very educational! Loved it, Keep on brining more ML interviews.. :)

  • @haoyuwang3243
    @haoyuwang3243 Před 12 dny +1

    just out of curiosity, do you think the performance is good enough to pass a senior level MLSD interview?

  • @xgu185
    @xgu185 Před 2 měsíci +3

    One comment could be that two tower network should also be categorized as collaborative filtering

  • @sharulathan8028
    @sharulathan8028 Před měsícem

    can someone explain the label part in the two tower model ?

  • @PrudhviRaj12
    @PrudhviRaj12 Před 2 měsíci

    Thank you so much for this video. I have a question. So once the two-tower model is trained, for candidate generation, the embeddings for items are computed offline, and the user embedding is computed on the go with the user features, and that user embedding is used against the item embedding vectors for kNN. Is that correct? If so, since the output of the two-tower model is binary, where would I be getting the embeddings from? From a layer before the sigmoid?

    • @chun5919
      @chun5919 Před měsícem +2

      yes, just apply user tower or item tower.

  • @alexilaiho6441
    @alexilaiho6441 Před 20 dny

    Great interview. I have always been confused, in an ML System design interview, should we focus on the ML model data/training/eval pipeline more or the inference pipeline( which is ore of a traditional system design) more ??

    • @tryexponent
      @tryexponent  Před 12 dny

      In an ML system design interview, you typically need to cover the entire process, including the problem statement, data engineering, modeling, and deployment. It's important to address both the data/training/evaluation pipeline and the inference pipeline. To determine where to focus more on, you may take cues from your interviewer or directly ask them for guidance.