37 puan yazan xguru 2026-01-21 | 2 yorum | WhatsApp'ta paylaş
  • X'in "For You" akışındaki kişiselleştirilmiş içerik önerilerinin kalitesini artırmak için geliştirilen makine öğrenimi tabanlı öneri sistemi
  • Akış, takip edilen hesaplar (Thunder) ve takip dışı içerikler (Phoenix Retrieval) olmak üzere iki kaynağın birleştirilmesiyle oluşturuluyor
  • Tüm aday gönderiler, Grok tabanlı Transformer modeli Phoenix ile değerlendirilerek nihai sıralama üretiliyor
    • Bu model, her gönderi için etkileşim olasılığını tahmin ediyor
  • Sistemde elle tasarlanmış tüm özellikler ve çoğu sezgisel algoritma kaldırıldı
  • Kullanıcının etkinlik geçmişi (beğeni, yanıt, paylaşım) analiz edilerek ilgili içerikler belirleniyor

Sistem mimarisi

  • Home Mixer, tüm pipeline'ı koordine eden orkestrasyon katmanı
    • Kullanıcı davranış geçmişi ve takip bilgilerini toplayan Query Hydration aşamasını içeriyor
    • Aday toplama, veri zenginleştirme, filtreleme, puanlama ve nihai seçime kadar bir dizi aşamayı yönetiyor
    • gRPC tabanlı ScoredPostsService ile kullanıcıya göre sıralanmış gönderileri döndürüyor
  • Thunder, Kafka event stream üzerinden gerçek zamanlı gönderi toplayan bellek içi bir depolama sistemi
    • Orijinal gönderiler, yanıtlar/repost'lar ve video gönderileri için kullanıcı bazlı depoları yönetiyor
    • İstekte bulunan kullanıcının takip ettiği hesaplardan "In-network" gönderi adayları sağlıyor
    • Takip edilen hesapların en yeni gönderilerini ultra düşük gecikmeyle sunuyor
    • Harici veritabanına erişim olmadan alt milisaniye düzeyinde sorgu performansı sağlıyor
  • Phoenix, önerinin çekirdek ML bileşeni olup Retrieval ve Ranking olmak üzere iki aşamadan oluşuyor
    • Arama: Two-Tower model kullanarak kullanıcı özellikleri/etkileşim kayıtları gömüleri ile gönderi gömüleri arasındaki benzerliği hesaplayıp Top-K gönderileri getiriyor
    • Sıralama: Transformer with Candidate Isolation yapısıyla her adayın bağımsız değerlendirilmesi için tasarlanmış
      • Girdi olarak kullanıcı bağlamını (etkileşim geçmişi) ve aday gönderiyi alıyor
      • Her gönderi için beğeni, yanıt, repost, tıklama gibi çoklu davranış olasılıklarını tahmin ediyor
  • Candidate Pipeline, yeniden kullanılabilir bir öneri pipeline çerçevesi
    • Source, Hydrator, Filter, Scorer, Selector gibi trait'leri tanımlıyor
    • Paralel çalışma, hata işleme ve loglama özelliklerini yerleşik sunarak ölçeklenebilirlik ve kararlılık sağlıyor

Çalışma biçimi

  • Pipeline aşamaları

    • 1. Sorgu verisini alma: Kullanıcının yakın dönem etkinlik geçmişi ve metadata'sı (ör. takip listesi) getiriliyor
    • 2. Aday bulma: Aday gönderiler şu kaynaklardan aranıyor
      • Thunder: Takip edilen hesapların (ağ içi) son gönderileri
      • Phoenix Retrieval: Küresel corpus içinden makine öğrenimiyle keşfedilen gönderiler (ağ dışı)
    • 3. Aday zenginleştirme (Hydration) için şu bilgiler kullanılıyor:
      • Temel gönderi verileri (metin, medya vb.)
      • Yazar bilgileri (kullanıcı adı, doğrulanma durumu)
      • Video süresi (video gönderilerinde)
      • Abonelik durumu
    • 4. Ön puan filtreleri: Şu koşulları sağlayan gönderiler çıkarılıyor
      • Yinelenenler
      • Fazla eski olanlar
      • İzleyicinin kendisine ait olanlar
      • Engellenmiş/susturulmuş hesaplara ait olanlar
      • Susturulan anahtar kelimeleri içerenler
      • Daha önce görülmüş veya yakın zamanda sunulmuş olanlar
      • Abone olunamayan içerikler
    • 5. Puanlama yöntemi: Birden fazla puanlayıcı sıralı olarak uygulanıyor
      • Phoenix Scorer: Phoenix transformer modeliyle makine öğrenimi tahmin sonuçlarını getiriyor
      • Ağırlıklı puan hesaplayıcı: Tahmin sonuçlarını birleştirerek nihai alaka puanını üretiyor
      • Yazar çeşitliliği puanlayıcısı: Çeşitlilik için aynı yazardan gelen tekrarların etkisini azaltıyor
      • OON scorer: Ağ dışı içeriklerin puanını ayarlıyor
    • 6. Seçim: Puan sırasına göre dizip en üstteki K adayı seçiyor
    • 7. Seçim sonrası süreç: Aday gönderiler için nihai doğrulama yapılıyor
  • Puanlama ve sıralama

    • Phoenix modelinin tahminleri ağırlıklı toplam yöntemiyle birleştiriliyor
    • Olumlu davranışlara (beğeni, paylaşım vb.) daha yüksek ağırlık verilirken, olumsuz davranışlar (engelleme, şikayet vb.) puanı düşürüyor
  • İki aşamalı filtreleme

    • Puanlama öncesi filtre: Yinelenenler, eşik değerden daha eski gönderiler, kullanıcının kendi gönderileri, görülemeyen ücretli içerikler, zaten görülmüş veya sunulmuş gönderiler, engelli hesaplar, susturulmuş anahtar kelimeler vb. kaldırılıyor
    • Seçim sonrası filtre: Silinmiş gönderiler, spam gönderiler, şiddet içeren içerikler, aşırı rahatsız edici gönderiler ve aynı konuşma dizisinin birden fazla dalındaki tekrarlar kaldırılıyor

Temel tasarım ilkeleri

  • Elle özellik mühendisliğinin kaldırılması; Transformer, kullanıcı davranışı dizilerinden doğrudan öğreniyor
  • Adayların bağımsız değerlendirilmesi (Candidate Isolation) ile tutarlı puan üretimi ve daha kolay cache'leme
  • Hash tabanlı embedding ile hem retrieval hem de ranking için embedding sorgularında birden fazla hash fonksiyonu kullanımı
  • Çoklu davranış tahmini (Multi-Action Prediction) ile tek bir "alaka" puanı yerine birden fazla davranış için tahmin üretimi
  • Modüler pipeline mimarisi
    • Pipeline çalıştırma ve izlemeyi iş mantığından ayırıyor
    • Bağımsız aşamaların paralel çalışmasını ve hatalara uygun şekilde müdahale edilmesini sağlıyor
    • Yeni kaynaklar, hydration, filtreler ve puanlayıcıların kolayca eklenmesine olanak tanıyor

Lisans

2 yorum

 
pmc7777 2026-01-21

"Rust %62,9"

 
nemorize 2026-01-21

트위터의 추천알고리즘을 오픈소스로 공개
Bu da bundan farklı bir şey mi acaba? Hafta sonu zaman ayırıp okumam gerekecek sanırım...