İçeriğe geç

Tavsiye Motorları Nerede Çalışır? Netflix, YouTube, Spotify, Amazon, TikTok, Trendyol Mimari Turu

6 büyük şirketin yayınlanmış mühendislik blog'larına dayalı somut mimari turu: Netflix retrieval-ranking pipeline'ı, YouTube'un 2 aşamalı modeli, Spotify Discover Weekly'nin BaRT mimarisi, Amazon item-CF mirası, TikTok Monolith, Trendyol kişiselleştirme.

Şükrü Yusuf KAYA
28 dakikalık okuma
Başlangıç
Tavsiye Motorları Nerede Çalışır? Netflix, YouTube, Spotify, Amazon, TikTok, Trendyol Mimari Turu
🗺️ Bu dersin amacı
Bir disiplinin teorisini öğrenmeden önce somut örnekleri görmek pedagojik olarak çok güçlüdür. Bu derste 6 büyük şirketin gerçek production mimarilerini turlayacağız. Tüm bilgi yayınlanmış mühendislik blog yazıları, paper'lar veya konferans konuşmalarından — yani 'gerçek'. Sonunda kafanda ortak iskeleti göreceksin — ve bu iskelet bu kursun 22-25. modüllerinde tekrar tekrar karşına çıkacak.

Ortak İskelet: Retrieval-Ranking Pipeline'ı#

İlerlemeden önce sana bir kelime şifresi vereceğim — bu kursta her şeyi açacak anahtar:
[Tüm Item Kataloğu] ↓ [CANDIDATE GENERATION / RETRIEVAL] ← Milyonlarca → Yüzlere ↓ [FILTERING] ← Business rules, blacklist, vb. ↓ [RANKING] ← Yüzlerce → On'larca ↓ [RE-RANKING / DIVERSIFICATION] ← Çeşitlilik, business boost ↓ [USER'A SUNULAN ÖNERİLER]
Bu iskelet evrenseldir. Netflix de YouTube da Spotify de Amazon da bu modeli kullanır — sadece her kutunun içine farklı şeyler koyarlar. Şimdi her şirketin "içine ne koyduğunu" inceleyelim.
Modern öneri sistemlerinin ortak iskeleti: Retrieval → Filter → Ranking → Re-rank → Sunum.
Tüm büyük endüstri recommender'larının paylaştığı 4 aşamalı omurga.

1) Netflix — "Algoritmik İzleme"#

Netflix recommendation'ı tek motor değil — 9 farklı satır algoritması (rows) ve 3 farklı kişiselleştirme katmanından oluşur. Yayınlanmış kaynaklar:
  • Gomez-Uribe & Hunt, "The Netflix Recommender System", ACM TMIS 2016
  • Steck et al., "Deep Learning for Recommender Systems", RecSys 2021
  • Netflix Tech Blog (her ay yeni post)

Netflix'in 9 Satır Algoritması#

Netflix anasayfasına girdiğinde gördüğün her satır ayrı bir algoritmadır:
SatırAlgoritmaOptimizasyon Hedefi
Top Picks for [Username]Personalized Video Ranker (PVR)Olası izleme + tamamlama
Trending NowTrending content algoritmasıAnlık popülarite + kişiselleştirme
Continue WatchingSequential modelingGeri dönüş olasılığı
Because You Watched XItem-item similarityBağlamsal benzerlik
Popular on NetflixPopularity + regional filteringGenel ilgi
Top 10 in TurkeyCountry-personalized top-KRegional + recent
New ReleasesRecency-boosted rankingYeni içerik exposure
Award WinnersCurated + personalizedKürasyon + algoritma karması
My ListKullanıcının kendi eklediği(Algoritma değil, listeleme)

Netflix Mimarisi (Yüksek Seviye)#

Kullanıcı izleme geçmişi (offline'da güncellenir, ~saatlik) ↓ Embedding Service (her user için, her item için 256-1024d vektör) ↓ Candidate Generation - Two-Tower neural retrieval - Heuristic candidates (yeni içerik, lokasyon) - Historical candidates (geçmiş izlemeden) - Total: ~1000-3000 aday ↓ Ranking - Deep ranking model (DCN-tarzı) - ~50 feature: user demo + history + item meta + context ↓ Row-specific re-ranking - Her satır için ayrı objective (Trending vs Top Picks vs ...) ↓ Diversification - DPP (Determinantal Point Process) ile çeşitlilik ↓ Anasayfa render

İlginç Detaylar#

  • Artwork personalization — aynı film için her kullanıcıya farklı poster gösterilir. 2017'de bu özelliği eklediklerinde tıklama oranı %30+ arttı. (Modül 4'te content-based bağlamında geri döneriz.)
  • Kontekst: Aynı kullanıcı mobil saat 22:00'da ile TV'de hafta sonu öğleden sonra farklı önerileri görür. Context feature'ları (cihaz, saat, gün) ranking model'in girdisidir.
  • Cold-start çözümü: Yeni üye aboneliği başladığında 5 dakika içinde gösterilen "Movies you might like" — 5 film seçim ekranındaki seçimlerle kuruluyor (semi-cold start).
Netflix 9-satır algoritması ve 4-aşamalı retrieval-ranking pipeline'ı.
Netflix'in çoklu-algoritma yapısı — her UI satırı bağımsız bir öneri sistemi.

2) YouTube — "Tüm İnternetin İzleme Süresi"#

YouTube'un öneri sistemi 2016'da yayınlanmış paper'la (Covington, Adams, Sargin — "Deep Neural Networks for YouTube Recommendations", RecSys 2016) endüstri standardı iki aşamalı yapıyı tanıttı.

YouTube 2-Aşamalı Mimarisi (2016 Paper'ı)#

[Milyonlarca video] (~10⁹) ↓ [CANDIDATE GENERATION NETWORK] — Deep neural network - User: watch history embeddings + search history + demographics - Output: O(10²-10³) candidate - Approximate Nearest Neighbor ile retrieval (Annoy ya da custom) ↓ [RANKING NETWORK] — Daha derin neural - Daha zengin feature set (~100 feature) - Hedef: weighted logistic regression for expected watch time ↓ [10-50 video → autoplay, home, up next]

Çağdaş YouTube (2020-2026)#

2016'dan beri büyük değişiklikler yayınlandı:
  • Multi-task learning — sadece "izlenme" değil "like + share + comment + completion" hepsi birden optimize ediliyor (Modül 15'te MMoE/PLE).
  • Reinforcement learning — "Top-K Off-Policy Correction for a REINFORCE Recommender System" (Chen et al., WSDM 2019). YouTube'un long-term reward optimization'ı.
  • Two-Tower retrieval — 2016 paper'ındaki "candidate generation network" formal olarak two-tower'a evrildi (Yi et al., RecSys 2019).
  • Real-time signals — son 10 dakikadaki davranış anında modele yansıyor.

YouTube Mimarisinin İlginç Yanı#

  • Watch-time prediction (sadece click değil!) — bu paper sonrası endüstride standart oldu.
  • Negative sampling stratejisi: "impressed but not clicked" (gösterildi ama tıklanmadı) negatif. Random negatif değil — bu çok önemli (Modül 6 ve 7'de geri döneceğiz).
  • Cold-start çözümü: Search query embedding'i + age feature. Yeni kullanıcı için search history'si yoksa, demografi + cihaz + region kullanılıyor.

3) Spotify — Discover Weekly ve BaRT#

Spotify'ın Discover Weekly ürünü dünyanın en çok bahsedilen recommender ürünlerinden biri. Her haftaki Pazartesi sabahı 600M+ kullanıcıya 30 şarkılık kişisel playlist gönderiyor.

Discover Weekly'nin Üç Sinyali#

Yayınlanan engineering blog yazılarına göre (Engineering@Spotify, 2015-2023):
  1. Collaborative Filtering — diğer benzer kullanıcıların dinlediği
  2. Natural Language Processing — şarkı, sanatçı hakkındaki internet metni (blogpost, review)
  3. Audio Analysis — ses dosyasının kendisi (tempo, key, energy, danceability)
Bu üç sinyal ensemble ile birleştiriliyor.

BaRT (Bandits for Recommendations as Treatments)#

Spotify'ın anasayfa kişiselleştirmesi contextual bandit yapısıyla çalışıyor. McInerney et al., RecSys 2018 paper'ı yayınlandı:
Anasayfa "shelf" (raf): 12 satır Her shelf için: hangisi gösterilecek + içeriği kim olacak? ↓ Multi-armed bandit (her shelf bir "arm") - Exploration vs exploitation - Reward: stream/skip ↓ Cold-start için Thompson sampling
(Bu kursun Modül 20'sinde RL ve bandit'leri detaylı işleyeceğiz.)

Spotify'ın İlginç Mimari Kararı#

Audio embedding'leri Convolutional Neural Net ile çıkarılıyor (Dieleman et al., NeurIPS 2014, Spotify'ın o zamanki research'ünden). Bu sayede:
  • Çok az dinlenmiş yeni şarkıların bile audio benzerlikle önerilebiliyor olması.
  • Audio cold-start problemi büyük ölçüde çözüldü.
Bu kursun Modül 17 (LLM-rec) ve Modül 19 (Multimodal) derslerinde benzer mantığı text/image embeddings için göreceksin.

4) Amazon — Item-CF'in Endüstri Ölçeği#

Amazon'un "Customers who bought this also bought" satırı tek başına bir disiplini başlattı. Patent (US 6,266,649, 1998) ve klasik paper (Linden, Smith, York — "Amazon.com Recommendations: Item-to-Item Collaborative Filtering", IEEE Internet Computing 2003) bu disiplinin temel okumalarındandır.

Amazon Recommendation Tipleri#

TipAlgoritmaYer
Frequently Bought TogetherItem-Item CFÜrün sayfası altı
Customers Who Bought…Item-Item CFÜrün sayfası alt
Recommended for YouPersonalized rankingAnasayfa
Inspired by Your Shopping TrendsSequential modelingAnasayfa
Sponsored ProductsAd rankingArama sonuçları

Item-Item CF'in Amazon Ölçeğinde Hilesi#

Naive item-item CF: O(N² × M) — N item, M user. Amazon'da bu trilyonlarca operasyon. Çözümleri:
  1. Offline batch precomputation — her item için top-K similar item'ları offline'da hesapla, Redis'e koy. Online'da O(1) lookup.
  2. Sparse matrix optimization — sadece "co-purchased" item çiftlerini hesapla (sıfır cell'leri atla).
  3. Locality-Sensitive Hashing — yaklaşık (ε approximation) benzerlik araması.
Bu üç teknik bu kursun Modül 5'inde detaylı işleniyor — Amazon ölçeğinde ne yapıldığını orada NumPy ile elinle yapacaksın.

A9 — Amazon Arama Algoritması#

A9 (Amazon'un arama motoru) ayrı bir hikaye — query → item ranking. Ama "Sponsored Products" ranking algoritması açıkça recommender mantığıyla çalışıyor: kişiselleştirilmiş CTR prediction + revenue maximization.

5) TikTok — "For You Page" ve Monolith#

TikTok'un "For You" feed'i son 4-5 yılın en konuşulan recommender ürünü. Watch-time'ın %90+'ı bu feed'den geliyor.

TikTok Monolith (2022 — Bytedance'in Açık Paper'ı)#

Bytedance, "Monolith: Real Time Recommendation System With Collisionless Embedding Table" paper'ını 2022'de yayınladı. Önemli noktalar:
  • Embedding table boyutu: ~10TB (sadece feature embeddings için!)
  • Realtime learning — modelin embedding'leri saniyeler içinde güncelleniyor. Geleneksel batch retraining'in (saatlik veya günlük) tersine.
  • Collisionless embedding — hash trick yerine custom data structure (geleneksel hash collision'ın model kalitesine zarar verdiğini gösterdiler).
  • Continuous training — online + offline hybrid eğitim.

TikTok'un Mimari Sırrı: Hızlı Sinyal#

AksiyonSinyal Gücü
Video'yu sonuna kadar izleme⭐⭐⭐⭐⭐ (en güçlü)
Re-watch⭐⭐⭐⭐⭐
Like⭐⭐⭐
Comment⭐⭐⭐⭐
Share⭐⭐⭐⭐
Follow⭐⭐⭐⭐⭐
Skip (<1 sn)⭐⭐⭐⭐ (negatif)
Skip (3-5 sn)⭐⭐ (zayıf negatif)
Anahtar: Skip negatif bir sinyaldir — ama ne kadar süre izlendiği önemli. 1 saniye skip ve 5 saniye skip aynı şey değil. Bu continuous reward anlayışı.

TikTok ve Cold-Start#

TikTok'un en etkileyici teknik başarısı video cold-start. Yeni yüklenen video, eğer doğru kullanıcılara gösterilemezse hiç viral olamaz. Çözümleri:
  1. Content embedding — video'nun kendisinden (görüntü + ses + caption text) embedding üret.
  2. Small-scale exploration — yeni video, 100-1000 kullanıcıya rastgele sunulur, hızlı reaction toplanır.
  3. Bandits / exploration boost — pozitif sinyal alırsa daha geniş yayılım.

6) Trendyol — Türkiye'de Endüstri Ölçeği#

Türkçe-okurlar olarak ekstra ilgimizi hak ediyor. Trendyol'un teknik blog'u son 2-3 yılda çok aktif — yayınlanan içeriğe dayalı somut detaylar:

Trendyol Mimarisi (Blog Yazılarından — 2022-2024)#

Anasayfa: - "Senin İçin" satırı → kişiselleştirilmiş ranking - "Senin İçin Seçtiklerimiz" → uzun-vadeli ilgi - "Sıcak Fırsatlar" → recency + popularity hybrid - Kategoriye göre kişiselleştirilmiş feed

Yayınlanmış Teknik Yaklaşım#

  • Two-Tower retrieval — user tower + item tower, FAISS index
  • Multi-objective ranking — CTR + conversion + revenue (multi-task DNN)
  • Real-time features — son 30 dakikadaki davranış için Kafka + Redis stream
  • Cold-start için image embeddings — yeni ürün için CLIP-tarzı image-text embedding

Trendyol-Özgün Zorluklar#

Türkiye e-ticareti kendine özgü dinamiklere sahip:
  • Mevsimsellik agresif — Ramazan, bayram, mevsim geçişleri davranışı dramatik değiştirir.
  • Hızlı moda etkileri — bir TikTok trendi 24 saatte ürünü patlatabilir; recommender bu hızı yakalamalı.
  • Bayilik çeşitliliği — aynı ürün 10 satıcıdan, fiyat-stok farklı. Recommender değil sadece "ürün" satıcı + fiyat sıralamasını da çözüyor.
  • Türkçe NLP — search query'leri içinde Türkçe çeşitleme problemi (Modül 4'te content-based bağlamında konuşacağız).

Karşılaştırma Tablosu: 6 Şirketin Mimari Tercihleri#

ŞirketRetrievalRankingCold-Start Çözümüİlginç Özellik
NetflixTwo-Tower + heuristicDeep ranking + DPP"5 film seçim ekranı"Artwork personalization
YouTubeTwo-Tower + sampled softmaxDeep multi-taskSearch history + demoRL ile long-term reward
SpotifyCF + NLP + Audio CNN ensembleContextual bandit (BaRT)Audio embeddingAudio-based cold-start
AmazonItem-Item CF + sequentialDeep multi-taskBrowse history kısa-vade"Frequently bought together" devrimsel
TikTokRealtime embeddingMulti-objectiveVideo content embeddingRealtime learning (Monolith)
TrendyolTwo-Tower + FAISSMulti-task DNNCLIP-tarzı image-textMevsimsellik + bayilik mimari
🔑 Gözünden kaçırma — ortak pattern
Hepsi (1) iki aşamalı (retrieval-ranking) yapı kullanır, (2) bir tür embedding/two-tower retrieval'a sahiptir, (3) cold-start için content/context kullanır. Sen bu kursta her birini sırayla öğreneceksin — sonra hangisini hangi sırayla kombine edeceğini Modül 21'de göreceksin.

Senin Recommender'ın Hangi Mimaride Olmalı?#

Bu kurs sonunda bir mühendis olarak şunu yapabileceksin: yeni bir use case verildiğinde, sıfırdan mimari kararı verebilmek. İşte rehber:

Senaryo 1: Küçük Ölçek (<100K user, <10K item)#

  • Önerim: Item-Item CF (sıfırdan, Modül 5) + content-based hybrid (Modül 4). Eğitim 1 dakika, latency milisaniye.
  • Gereksiz: Two-tower, GNN, deep ranking. Karmaşıklık değer üretmiyor.

Senaryo 2: Orta Ölçek (1M user, 100K item)#

  • Önerim: Matrix Factorization (BiasedMF, ALS — Modül 6) + LightGBM ranking (Modül 14) + Redis cache.
  • Gereksiz: Trillion-parameter modeller, real-time embedding updates.

Senaryo 3: Büyük Ölçek (10M+ user, 1M+ item)#

  • Önerim: Two-Tower retrieval (Modül 12) + FAISS index + Deep ranking (Modül 14) + business re-ranking (Modül 16).
  • Sequential katmanı ekle (Modül 10) — SASRec genelde +5-10% NDCG verir.

Senaryo 4: Süper Büyük (TikTok/YouTube ölçeği)#

  • Önerim: Multi-channel retrieval (sequential + collaborative + content) → MMoE ranking → RL ile long-term optim.
  • Bu seviyede bu kurs temelini verir, üstüne 2-3 yıl iş tecrübesi gerek.

Sıradakİ Ders#

Bir sonraki derste (1.2) "ne tip problem çözüyoruz?" sorusuna iniyoruz. Rating prediction vs. ranking vs. top-N retrieval vs. sequential — bunların ne olduğunu, ne zaman hangisini seçmen gerektiğini ve metrik farklarını göreceksin. Hadi devam edelim. 🎯

Sık Sorulan Sorular

Hepsi yayınlanmış. Netflix Tech Blog (research.netflix.com/blog), YouTube'un RecSys paper'ı, Spotify Engineering blog (engineering.atspotify.com), Amazon'un klasik IEEE paper'ı, Bytedance'in Monolith paper'ı (arXiv:2209.07663), Trendyol Tech blog (trendyoltech.medium.com). Şirket-içi gizli bilgi yok.

Yorumlar & Soru-Cevap

(0)
Yorum yazmak için giriş yap.
Yorumlar yükleniyor...

İlgili İçerikler