Netflix neden el yapımı özelliklerden vazgeçti
Tarihinin büyük bir bölümünde Netflix'in öneri hattı, kullanıcıları, içerikleri ve aralarındaki her etkileşimi tanımlayan sayısal vektörler olan binlerce manuel olarak tanımlanmış özniteliğe dayanıyordu. Mühendisler, sistem yeni bir içerik türünü —canlı spor, podcast veya oyunlar— önermeye başlamadan önce, bu türü yeni bir özellik setiyle eşleştirmek için haftalarca uğraşıyordu. Bu süreç maliyetli, kırılgan ve kataloğun hızlı genişlemesiyle senkronize kalması zor bir süreçti.
Hazır büyük dil modelleri (LLM'ler) kutudan çıktığı haliyle işe yaramadı. En popüler içeriklere yöneliyorlar, zaman zaman var olmayan öğeleri uyduruyorlar ve önerilerin güvenli ve alakalı kalmasını sağlayan iş kurallarını uygulamakta zorlanıyorlardı. Bu nedenle Netflix, bir dil modelinin güçlü yönlerini korurken üretim kısıtlamalarına da saygı duyan, özel olarak geliştirilmiş bir LLM tabanlı hat inşa etti.
GenRec'in İçinde: İki aşamalı bir eğitim hattı
GenRec iki farklı aşamadan oluşur:
- Temel model ince ayarı (fine-tuning) – Netflix, açık ağırlıklı bir dil modelinden yola çıkarak bunu dahili izleme verileriyle ince ayardan geçirir. Bu, modelin temel mimarisini değiştirmeden kataloğun kelime dağarcığını ve kullanıcı davranışı kalıplarını öğrenmesini sağlar.
- Öneri sıralaması – İkinci bir eğitim aşaması, ince ayar yapılmış modeli, belirli bir kullanıcı için aday içerikleri puanlayan bir sıralayıcıya (ranker) dönüştürür. Netflix, modelin yeni çıkan içeriklerle ve değişen trendlerle güncel kalması için bu aşamayı sık sık yeniler.
Eski sistemden temel ayrışma noktası, kullanıcı geçmişinin modele nasıl beslendiğidir. GenRec, izleme oturumlarını yoğun vektörlere sıkıştırmak yerine, her etkileşimi —oynatma süresi, beğenme veya beğenmeme, erken ayrılma— düz İngilizce cümlelere dönüştürür. Model daha sonra tüm oturumu kısa bir diyalog gibi okur ve herhangi bir açık özellik mühendisliği (feature engineering) yapmadan tür tercihindeki veya ruh halindeki ince değişimleri yakalar.
Performans ve verimlilik kazanımları
Netflix trafiğinin %10'unun GenRec'e maruz bırakıldığı dört haftalık bir deneyde, yeni sistem iki metrik ailesinde istatistiksel olarak anlamlı artışlar sağladı:
- Kısa vadeli etkileşim – Günlük önerileri yönlendiren birincil tıklama oranı ve izleme süresi sinyallerinde %0,115'lik bir artış.
- Uzun vadeli temel metrikler – İşletme için en önemli olan abone tutma ve genel memnuniyet puanlarında %0,006'lık bir artış.
Çevrimdışı testlerde, ayrılmış bir veri kümesi üzerindeki sıralama kalitesi, mevcut üretim hattına kıyasla %1,6 oranında iyileşti. Daha çarpıcı olanı ise veri verimliliğidir: ikinci eğitim aşaması, geleneksel hattın aynı performans seviyesine ulaşmak için ihtiyaç duyduğu etiketli örneklerin yaklaşık 1/40'ı kadar örnek gerektirdi.
Hesaplama maliyetlerini kontrol altında tutmak için Netflix, modeli, her adayı metin oluşturmak yerine tek bir ileri geçişte (forward pass) puanlayan bir servis yığını olan vLLM ile çalıştırıyor. Sistem ayrıca, yalnızca yüksek sinyalli olayların modelin bağlam penceresini (context window) işgal etmesi için agresif bir filtreleme uygulayarak gereksiz token'ları buduyor ve gecikmeyi azaltıyor.
“Özelliklerden” “bağlama” geçiş ne anlama geliyor?
GenRec, “bağlam mühendisliğinin” (context engineering) el yapımı özelliklerin yerini aldığı daha geniş bir hareketin parçasıdır. Mühendisler her öneri görevi için özel bir mimari tasarlamak yerine, hangi sinyallerin bir metin istemine (prompt) ekleneceğine karar verir ve dil modelinin bunlar üzerinde muhakeme yapmasına izin verirler. Bu yaklaşım, yeni içerik türlerinin sisteme dahil edilmesini hızlandırır: bir podcast bölümü veya canlı yayınlanan bir oyun, tek bir cümleyle tanımlanabilir ve aylarca süren özellik tanımlama maratonunu atlayarak anında öneri havuzuna katılabilir.
Kalan engeller
LLM tabanlı önericiler sihirli bir değnek değildir. Popüler öğeleri aşırı vurgulama eğilimleri kataloğu hala yanlı hale getirmektedir ve güçlü GPU'lara duyulan ihtiyaç operasyonel maliyetleri artırmaktadır. vLLM ve agresif filtrelemeye rağmen, Netflix ölçeğinde büyük bir dil modelini sunmak, gecikme hedeflerini karşılamak için dikkatli bir mühendislik gerektirir.
