Yandex Introduces Sona: A Single Generative Recommender That Replaces Entire Recommendation Cascade
https://www.marktechpost.com/2026/10/05/yandex-introduces-sona-a-single-generative-recommender-that-replaces-entire-recommendation-cascade/📌 Yandex用一個生成式模型砍掉15個以上推薦元件
TL;DR:Yandex的Sona用單一transformer取代候選生成到排序的整條推薦鏈,並通過7天線上A/B驗證。
大多數推薦系統的架構是「接力賽」:候選生成器先跑一段,交給pre-ranker,再交給吃掉數百個特徵的重量級ranker。每一棒各自優化自己的目標,最後一棒能看到的東西,還得看前面幾棒放不放水。Yandex的做法是直接把整條接力賽換成一個人跑完全程。
🤔 級聯架構的根本問題
根據Yandex的Sona技術報告,級聯式(cascade)推薦系統的問題在於每個階段各自訓練、各自優化目標,ranker只能看到上游階段放行的候選。Yandex在Yandex Music這個場景的舊架構,就需要消耗數百個特徵,其中包括來自前代推薦transformer「Argus」的訊號。
🧩 把候選生成與排序塞進同一個共享表示
Sona的設計是讓候選生成與排序共用同一個使用者表示:encoder針對每個請求只讀取一次聽眾歷史,decoder負責生成候選,Ranking Module則用同一組encoder狀態對候選評分。整個系統不使用任何人工設計特徵,輸入只有紀錄下來的事件欄位(track ID、artist ID、時長、按讚、播放時間、介面旗標)以及學習得到的Semantic ID。在Yandex的智慧喇叭場景中,使用者甚至不需要先選擇歌手、曲風或心情就能開始播放,研究團隊將這稱為「純推薦」場景。
Semantic ID的作法沿用Rajput等人的formulation,每首歌被表示成3個離散代碼的tuple:一個凍結的多模態LLM以prefill-only模式讀取歌曲前90秒的mel-spectrogram,搭配標題、歌手與標籤資訊;接著一個4層的精煉transformer,用InfoNCE對協同過濾的歌曲對齊聆聽行為;最後用residual K-means把結果量化成3個各32,000筆entry的codebook。這個方法打敗了CLMR音訊baseline,Recall@1000從0.8111提升到0.8524。
Encoder需要處理8,192筆過去事件,但完整attention成本太高,因此深度分配並不平均:最近2,048筆事件用7層self-attention處理,較舊的事件只經過cross-attention與1層full-history layer。論文指出,這個設計在推論成本大約減半的情況下,保留了完整attention的大部分品質。2層的decoder透過寬度1,024的constrained beam search生成Semantic ID tuple,並用catalog trie擋掉不合法的前綴,每個tuple會展開成所有共享該代碼的歌曲,再由4層cross-attention組成的Ranking Module,針對共享的encoder memory對這些歌曲評分。
💡 Rollout Distillation:排序能力從教師模型蒸餾而來
Ranking Module的訓練來源是一個凍結的Teacher Ranker:一個0.6B參數、同樣不使用人工特徵的transformer,用一年的互動事件資料分兩階段訓練——先做next-item-prediction預訓練,再做multi-head排序微調。拿掉預訓練階段會讓weighted pair accuracy從0.6215掉到0.6153。
訓練過程中,目前的decoder生成beam候選,教師模型對這些候選加上實際曝光紀錄一起評分,Ranking Module再用mean absolute error去回歸這些分數,這個方法被稱為Rollout Distillation。整體joint loss是 L = L_NTP + L_rollout + L_impression,三項損失都會更新共享的encoder。到了上線服務階段,教師模型會被移除。訓練本身是online進行:事件以15分鐘為窗口聚合成session,餵給GPU trainer,新權重每10分鐘更新一次,端到端延遲中位數45分鐘、p99為60分鐘。線上服務跑在NVIDIA Triton Inference Server上搭配CUDA graphs,model FLOPs utilization達到41%。
📊 7天線上實驗,成績統計顯著
最終實驗在智慧喇叭上跑了7天線上A/B測試,每個分組隨機抽取15%使用者,Sona取代了超過15個候選生成器、pre-ranking階段與ranking階段,合併成一個服務中的transformer。報告指出,相對於production control,以下所有變化在統計上都顯著,其中Active Users的提升幅度是Argus先前在同一介面上帶來+1.93%增量的2.35倍。
⚠️ 並非首創,但整合程度更完整
Sona不是第一個端到端生成式推薦系統上線的案例,Kuaishou的OneRec已經是單一encoder-decoder架構;Meta的HSTU Generative Recommenders在2024年就把推薦問題重新表述為針對使用者行為的序列transduction。Sona的差異在於同時做到完整取代整條級聯、完全不用人工特徵、且排序能力經過蒸餾並在線上驗證過。相較之下,OneRec仍仰賴人工設計的特徵路徑與帶reward model的RL,而Sona只用紀錄下來的事件欄位,並從凍結教師模型蒸餾排序能力。需留意的是,不同平臺與指標間的線上增益數字並不能直接互相比較。
🎯 實務啟示
如果你的推薦系統正苦於多階段級聯帶來的目標不一致與維護成本,Sona展示的「共享encoder狀態、候選生成與排序共用記憶」路線值得參考,尤其是用凍結教師模型做線上蒸餾、搭配10分鐘級的持續訓練更新,是一個在生產環境可行的折衷方案。
🔗 來源
- 標題:Yandex Introduces Sona: A Single Generative Recommender That Replaces Entire Recommendation Cascade
- 作者/機構:Asif Razzaq, MarkTechPost
- 連結:https://www.marktechpost.com/2026/10/05/yandex-introduces-sona-a-single-generative-recommender-that-replaces-entire-recommendation-cascade/
#Yandex #Sona #GenerativeRecommender #RecSys #SemanticID #MachineLearning #TransformerArchitecture #OnlineAB #RecommendationSystem #DeepLearning
原始資料 MarkTechPost · 收集於 2026-10-05
摘要原文
Most production recommenders are cascades. Candidate generators feed a pre-ranker, which feeds a heavy ranker built on hundreds of engineered features. Yandex’s Sona Technical Report describes a different design. Sona is a generative AI model that brings candidate generation and ranking into a single system, replacing the multiple stages typically used in recommendation pipelines. Yandex tested the model in a seven-day live production experiment on its smart speakers. In an online A/B test, it replaced more than 15 candidate generators, the pre-ranking stage, and the ranking stage with one served transformer. Cascades split one decision across separately trained models. Each stage optimizes its own objective, and the ranker only sees what upstream stages let through. Yandex’s previous stack on the Yandex Music surface consumed hundreds of features, including signals from Argus , Yandex’s earlier recommender transformer. Sona puts candidate generation and ranking around one shared user representation. The encoder reads the listener’s history once per request. A decoder generates candidates. A Ranking Module scores them against the same encoder states. No component uses hand-engineered features. Inputs are logged event fields (track ID, artist ID, duration, likes, played time, surface flags) and learned Semantic IDs. On Yandex smart speakers, playback can begin without the user first selecting an artist, genre, or mood. The research team describes this as a pure-recommendation setting. Following the Semantic ID formulation of Rajput et al. , every track becomes a tuple of 3 discrete codes. A frozen multimodal LLM reads the mel-spectrogram of the first 90 seconds along with title, artists, and tags. It runs in prefill-only mode. A 4-layer refinement transformer then aligns those features with listening behavior, using InfoNCE on collaborative track pairs. Residual K-means quantizes the result into 3 codebooks of 32,000 entries each. This beat a CLMR audio baseline: Recall@1000 rose from 0.8111 to 0.8524. Sona attends to 8,192 past events. Full attention over that length is expensive, so the encoder spends depth unevenly. The recent 2,048 events get a 7-layer self-attention stack. Older events pass through cross-attention and 1 full-history layer only. The paper reports this keeps most of the quality of full attention at about half the inference cost. A 2-layer decoder emits Semantic ID tuples through constrained beam search with width 1,024. A catalog trie blocks invalid prefixes. Each tuple expands to every track sharing it. The Ranking Module, which consists of four cross-attention layers, then scores those tracks against the shared encoder memory. The Ranking Module learns from a frozen Teacher Ranker. The teacher is a 0.6B-parameter transformer, also without hand-engineered features. It is trained on a year of engagement events in 2 stages: next-item-prediction pre-training, then multi-head ranking fine-tuning. Removing pre-training dropped weighted pair accuracy from 0.6215 to 0.6153. The team calls its distillation method Rollout Distillation. During training, the current decoder generates beam candidates. The teacher scores them, together with logged impressions. The Ranking Module regresses onto those scores with mean absolute error. The joint loss is L = L_NTP + L_rollout + L_impression. Both losses update the shared encoder. At serving time, the teacher is removed. Training stays online. Events aggregate into sessions over a 15-minute window, feed a GPU trainer, and new weights reach serving every 10 minutes. End-to-end latency is 45 minutes at the median and 60 minutes at p99. Serving runs on NVIDIA Triton Inference Server with CUDA graphs and reaches 41% model FLOPs utilization. The final experiment ran for 7 days on 15% of randomly selected users per split. Every change below is statistically significant and relative to the production control: These gains stack on top of improvements retained from earlier deployments. On Active Users, Sona’s uplift is 2.35x the +1.93% increment Argus previously delivered on this surface. Sona is not the first end-to-end generative recommender in production. Kuaishou’s OneRec already serves a single encoder-decoder model. Meta’s HSTU Generative Recommenders reframed recommendation as sequential transduction over user actions in 2024. What Sona combines is a full cascade replacement, no hand-engineered features, and a distilled ranker, validated online. Sources: Sona , OneRec , HSTU . Online gains come from different platforms and metrics, so they are not directly comparable. What is Yandex Sona? Sona is a generative AI model that combines candidate generation and ranking within a single system. Yandex tested it in a seven-day live production experiment on its smart speakers, where it replaced the existing multi-stage recommendation pipeline for the test group. How is Sona different from OneRec? OneRec uses engineered user feature pathways and RL with a reward model. Sona uses only logged event fields and distills ranking from a frozen teacher. Check out the Paper for full details. The post Yandex Introduces Sona: A Single Generative Recommender That Replaces Entire Recommendation Cascade appeared first on MarkTechPost .
由 claude-code/sonnet 自動生成