One email each morning — yesterday's AI, sortedGet it in your inbox

METAL LAB

Netflix Pilots In-House Language Model GenRec in Recommendation Engine

GenRec converts viewing history into sentences instead of thousands of hand-crafted features, posting meaningful gains in online testing

추천 시스템의 데이터 처리 및 순위 산출 과정을 보여주는 다이어그램

이미지: The Decoder 화면 갈무리

Summary

  • Netflix ran a head-to-head test between its language-model-based recommendation system GenRec and its existing engine
  • In offline evaluation, ranking quality improved by about 1.6% while using roughly 40 times less labeled data
  • In a four-week online A/B test covering 10% of traffic, short-term and long-term metrics rose 0.115% and 0.006%, respectively
시스템 이름
GenRec
훈련 방식
오픈웨이트 언어모델을 넷플릭스 데이터로 1차 파인튜닝 후, 추천 랭킹용 2차 특화 훈련
오프라인 랭킹 품질
기존 시스템 대비 약 1.6% 개선
2단계 훈련 라벨 데이터
기존 대비 약 40배 적게 사용
온라인 A/B 테스트 규모
4주간, 트래픽 약 10%, 사전 계산되는 추천 화면 한정
온라인 테스트 결과
단기 지표(홈 화면 행동) 0.115% 상승, 장기 핵심 지표 0.006% 상승
서빙 방식
vLLM에서 텍스트 생성 없이 입력을 한 번 읽고 후보 전체를 한 번에 스코어링

An Experiment Behind the Home Screen

Netflix has been experimenting with running its recommendation engine on a language model. The experimental system is called GenRec. In a post on its engineering blog, Netflix said GenRec outperformed its existing system, which had been refined over many years.

Netflix's current recommendation system relies on thousands of hand-crafted features covering users, titles, and interactions — meaning a large number of variables that engineers designed and added one by one. The problem is that this structure makes it costly every time Netflix wants to fold new content types like games, live content, or podcasts into the recommendation system, or extend recommendations to new areas of the app interface. At the same time, simply adopting an off-the-shelf general-purpose language model isn't an option either, since such models tend to overweight popular content, hallucinate titles that don't exist in the catalog, and ignore Netflix's business rules.

이미지: The Decoder

Sentences Instead of Number Vectors

GenRec is trained in two stages. First, an unnamed open-weight language model is fine-tuned on Netflix's catalog and user behavior data to create a base model. This base model then goes through a second stage of training specialized for recommendation ranking, which is updated more frequently to reflect new releases and shifting tastes.

The biggest change lies in how data is represented. Where the existing system encoded user data as dense numerical vectors, GenRec turns it into plain text. Actions like plays, watch time, likes and dislikes, list additions, and drop-offs are converted into something like a dialogue between the user and the recommendation system. Rather than having engineers manually design features to capture patterns like genre preference or shifting tastes, the model reads them directly from this dialogue.

Converting every single interaction into text quickly exceeds the model's context window — the amount it can read at once. So Netflix filters the data aggressively: high-signal behaviors like long viewing sessions are kept in detail, short taps or quick scrolls are discarded, and binge-watching sessions are compressed. To prevent the model from recommending titles that don't actually exist, Netflix also added a separate component that only scores items that are genuinely present in the catalog.

이미지: The Decoder

How Much Did Performance Improve

GenRec runs on vLLM. Rather than generating text, it reads the input once and scores all candidates in a single pass, which keeps costs manageable.

ComparisonMetricResult
Offline comparisonRanking qualityAbout 1.6% improvement over baseline
Offline comparisonLabeled data used for second-stage trainingAbout 40x less than baseline
Online A/B (4 weeks, 10% of traffic)Short-term metric (home screen behavior)+0.115%
Online A/B (4 weeks, 10% of traffic)Long-term core metric+0.006%

Netflix said the increases in both online metrics were too large to be explained by chance. However, it noted this comparison is limited to the current experimental stage and does not necessarily apply as-is to the full scale of Netflix's training data.

One notable finding concerns model freshness. The second-stage, recommendation-specific fine-tuning adds 35–50% on top of the base model's performance, but that gap widens to about 80% once the base model is just two weeks old. In other words, a base model that fails to keep up with new releases and shifting tastes loses its usefulness quickly.

이미지: The Decoder

Not Just a Netflix Story

Netflix frames GenRec as part of a broader trend also visible in research such as PLUM, GLIDE, and OneRec-Think. Instead of building a separate custom architecture for every recommendation task, the direction is toward a single language model handling multiple use cases. This shift also changes engineers' work: instead of continuously building new features, the focus moves to selecting what signals to feed into the model's input and how much weight to give them. Infrastructure, too, is shifting toward GPU servers and LLM tooling.

Netflix made clear that this experiment is still at an early stage. It described GenRec as "an early but promising first step" and said that fully replacing the existing system is not currently under consideration.

This isn't the first time Netflix has applied machine learning outside of its recommendation lists. In 2020, it introduced a method using knowledge graphs and similarity maps to predict which content categories a project in development would fit into and how many viewers it might draw by country. At the time, Google's BERT language model was used only to process human-written synopses before passing them to downstream models. Netflix has continued building its own models for production workflows since then, and has occasionally open-sourced some of them, such as the VOID framework for removing specific subjects from video.

이미지: The Decoder

Editor's View

What makes this experiment interesting is that Netflix used a language model not as a chatbot but as a ranking engine. GenRec doesn't generate text — it reads the input once and simply scores candidates. This signals that language models are spreading beyond conversational interfaces into "quiet" backend tasks like recommendation, ranking, and filtering. The fact that multiple studies — PLUM, GLIDE, OneRec-Think — have already moved in the same direction supports this reading.

On paper, 1.6%, 0.115%, and 0.006% don't look like much. But at Netflix's scale of traffic, improvements of that size influence tens of millions of playback decisions every day. In the past, gains like this would have required an engineering team months of designing and validating new features. What stands out here is that Netflix achieved comparable or better results using 40 times less labeled data. Organizations for which data collection and cleaning are costly will likely feel this gap more acutely.

One point worth noting for domestic commerce and media platforms is the freshness problem. The finding that the performance gap widens to 80% after just two weeks of a stale base model suggests that any organization adopting a language-model-based recommendation system needs to design its training cadence and retraining pipeline from the outset. Building a good model once and leaving it alone won't work — services with catalogs that change weekly will need tightly scheduled update cycles.

Still, it's worth remembering that Netflix itself did not call this a full replacement. Swapping a production system tuned over years for a single language model isn't a decision that can be made based on a handful of performance numbers. Whether Netflix expands GenRec's traffic share in the coming months, or instead limits it first to specific new content types like games or live content, will be a good indicator of how much trust this technology has actually earned.

Comments