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ıç🗺️ 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.
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ır | Algoritma | Optimizasyon Hedefi |
|---|---|---|
| Top Picks for [Username] | Personalized Video Ranker (PVR) | Olası izleme + tamamlama |
| Trending Now | Trending content algoritması | Anlık popülarite + kişiselleştirme |
| Continue Watching | Sequential modeling | Geri dönüş olasılığı |
| Because You Watched X | Item-item similarity | Bağlamsal benzerlik |
| Popular on Netflix | Popularity + regional filtering | Genel ilgi |
| Top 10 in Turkey | Country-personalized top-K | Regional + recent |
| New Releases | Recency-boosted ranking | Yeni içerik exposure |
| Award Winners | Curated + personalized | Kürasyon + algoritma karması |
| My List | Kullanı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).
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):
- Collaborative Filtering — diğer benzer kullanıcıların dinlediği
- Natural Language Processing — şarkı, sanatçı hakkındaki internet metni (blogpost, review)
- 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#
| Tip | Algoritma | Yer |
|---|---|---|
| Frequently Bought Together | Item-Item CF | Ürün sayfası altı |
| Customers Who Bought… | Item-Item CF | Ürün sayfası alt |
| Recommended for You | Personalized ranking | Anasayfa |
| Inspired by Your Shopping Trends | Sequential modeling | Anasayfa |
| Sponsored Products | Ad ranking | Arama 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:
- Offline batch precomputation — her item için top-K similar item'ları offline'da hesapla, Redis'e koy. Online'da O(1) lookup.
- Sparse matrix optimization — sadece "co-purchased" item çiftlerini hesapla (sıfır cell'leri atla).
- 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#
| Aksiyon | Sinyal 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:
- Content embedding — video'nun kendisinden (görüntü + ses + caption text) embedding üret.
- Small-scale exploration — yeni video, 100-1000 kullanıcıya rastgele sunulur, hızlı reaction toplanır.
- 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#
| Şirket | Retrieval | Ranking | Cold-Start Çözümü | İlginç Özellik |
|---|---|---|---|---|
| Netflix | Two-Tower + heuristic | Deep ranking + DPP | "5 film seçim ekranı" | Artwork personalization |
| YouTube | Two-Tower + sampled softmax | Deep multi-task | Search history + demo | RL ile long-term reward |
| Spotify | CF + NLP + Audio CNN ensemble | Contextual bandit (BaRT) | Audio embedding | Audio-based cold-start |
| Amazon | Item-Item CF + sequential | Deep multi-task | Browse history kısa-vade | "Frequently bought together" devrimsel |
| TikTok | Realtime embedding | Multi-objective | Video content embedding | Realtime learning (Monolith) |
| Trendyol | Two-Tower + FAISS | Multi-task DNN | CLIP-tarzı image-text | Mevsimsellik + 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
Modül 0: Kurs Çerçevesi ve Atölye Kurulumu
Öneri Sistemleri Neden Bu Kadar Önemli? Bir Disiplinin Doğuşu, Bugünü ve Yarını
Öğrenmeye BaşlaModül 0: Kurs Çerçevesi ve Atölye Kurulumu
Recommender Engineer Kimdir? Yetkinlik Atlası ve Junior → Staff Kariyer Haritası
Öğrenmeye BaşlaModül 0: Kurs Çerçevesi ve Atölye Kurulumu