Netflix
최종 갱신: 2026-08-21
한 줄 요약
편성 카탈로그(수천~수만 타이틀) 위에서 "소스별 후보 배분"이 아니라 페이지(행×열) 구성을 최적화하는 시스템 — 2015년부터 템플릿 없는 ML 페이지 생성 [확인], 2025년 Foundation Model로 회원 표현을 중앙화 [확인], 2026년 GenRec(LLM 랭커)·GenPage(페이지 전체를 트랜스포머 하나로 생성)로 세대 전환 진행 중 [확인].
세대 구분 — 이걸 먼저 알아야 자료가 안 헷갈린다
| 세대 | 시기 | 핵심 | 출처 등급 |
|---|---|---|---|
| 고전 | ~2015-2022 | 전용 랭커 여러 개(PVR, Top-N, Trending, CW, sims) + 템플릿-프리 페이지 생성 + 밴딧(아트워크/빌보드) | [확인] TMIS 2015 논문이 프로덕션 시스템 서술 |
| 통합 | 2023-2024 | 모델 통합 흐름: consolidation(2023) → UniCoRn(검색+추천 단일 랭커, RecSys 2024) | [확인] |
| FM | 2025~ | Foundation Model(GPT식 시퀀스 트랜스포머)이 회원 표현 중앙 생산, 월 사전학습+일 파인튜닝 | [확인] |
| LLM-네이티브 | 2026~ | GenRec(LLM 랭커, 배치 연산 지면 10% 트래픽 A/B 승리), GenPage(홈페이지 생성, RecSys 2026) — 아직 전면 롤아웃 진술 없음 | [확인] 실험 단계임까지 포함 |
시중 분석 대부분은 고전 세대(2015 논문) 기준이다. X의 2023 스냅샷 고착과 같은 패턴.
피드 지면
- 홈페이지 = 2차원: 행 약 40개 × 행당 최대 75개 타이틀 (디바이스별 상이)
[확인]TMIS 2015 - 행 종류: 장르행(PVR), Top Picks(Top-N 랭커), Trending Now, Continue Watching, Because You Watched(sims)
[확인]TMIS 2015 — 각 행이 별도 랭커를 가졌던 게 고전 세대의 특징 - 추천이 시청 시간의 약 80%에 영향, 나머지 20%가 검색
[확인]TMIS 2015 (2015년 수치임에 주의) - 개인화+추천의 절감 효과 "$1B 이상/년"
[확인]TMIS 2015 — Netflix 자체 추산 - 2025-05 TV 홈 개편: 순간 기분/관심 반응형 추천, 모바일 세로 클립 피드 테스트
[확인]About Netflix 2025
후보 생성 (retrieval)
retrieval 레이어가 사실상 없다. PVR은 "카탈로그 전체(또는 장르 필터된 부분집합)를 회원별로 정렬"한다 [확인] TMIS 2015 — 코퍼스가 수천~수만이라 전 카탈로그 채점이 가능하고, X의 500/400 같은 소스별 상한이 등장할 이유가 없다. 배분 문제는 아이템 선별이 아니라 행 선택으로 이동한다 (→ candidate-allocation.md).
- 행 후보는 회원당 수만 개("tens of thousands of rows") → 행 선택 알고리즘이 관련성+다양성으로 선별·정렬
[확인]TMIS 2015 - 2015년부터 템플릿 폐지: "BYW 행이 하나도 없는 홈도, 절반이 BYW인 홈도" 허용
[확인]TMIS 2015 - FM 시대: 임베딩 스토어에 회원/타이틀 임베딩 일 단위 배치 생산 — 검색용이 아니라 다운스트림 모델 피처+후보 소스 겸용
[확인]FM 통합 블로그 2025
랭킹
Foundation Model (2025, 프로덕션)
[확인] FM 블로그 2025-03:
- GPT식 autoregressive next-token prediction, 상호작용 이력을 토큰화(BPE 비유 — 인접 행동 병합)
- 토큰마다 이질적 피처: request-time(시각·디바이스·위치) / post-action(타이틀·시청시간) 분리
- 가중 목적함수: "5분 트레일러 재생과 2시간 완주가 같은 가중치일 수 없다" + multi-token prediction으로 근시안 방지
- 스케일링 법칙 확인 진술: "데이터·모델 크기 증가에 따라 일관된 개선"
- 파라미터 수는 비공개. 2M→1B 스케일 연구(2026)는 production-shadow 단계
[확인]arXiv 2605.23312 - 소비 3모드 (전부 프로덕션): ① 다중 예측 헤드 직결(FM 블로그 2025-03) ② 임베딩 스토어 ③ 서브그래프/파인튜닝(②③은 통합 블로그 2025-11 열거)
[확인]두 글 합산
GenRec (2026, 대규모 A/B)
[확인] GenRec 블로그 2026-07:
- 내부 LLM을 Netflix 데이터로 post-training한 랭커. 2단계: Netflix-adapted LLM("updated relatively infrequently") + 랭킹 post-training("refreshed more frequently")
- 피처 벡터 대신 언어화(verbalization): "The context window becomes our new 'feature budget'". User message 구성은 "verbalized context, profile, history, item metadata, and task"
- 채점은 텍스트 생성이 아니다. 백본에서 "we extract a pooled hidden state h" → 아이템 i의 학습된 임베딩 eᵢ와 scoring head ϕ가 "(e.g., via dot product or small MLP)" 결합해 sᵢ, softmax로 순위. "All parameters — the backbone, scoring head, and item embeddings — are trained jointly." 즉 LLM 백본 + 학습형 아이템 임베딩 채점기이지 생성 모델이 아니다
- prefill-only: "the model consumes the prompt once and scores the entire candidate set in a single forward pass, with no token-by-token decoding" — 후보당 1패스가 아니라 후보 집합 전체가 1패스. 서빙 비용 동인 3개를 명시(모델 크기 / 컨텍스트 길이 / prefill vs autoregressive), vLLM 사용
- 컨텍스트 엔지니어링 4규칙: high-signal(long play·thumbs-up)은 retain in full, low-signal(아주 짧은 재생·quick hover)은 omit, 반복 행동(binge-watching)은 summarize or compress, 신작·콜드스타트 아이템은 elaborate selectively. 압축은 "roughly one-third of the original budget with negligible degradation in offline ranking metrics" (⚠ 열화가 무시할 만하다는 건 오프라인 지표 한정)
- reward-weighted loss로 장기 만족 정렬 (full RL 아님, GRPO는 "higher cost" 때문에 future work). 가중치 출처 둘: 장기 만족 프록시("return behavior, catalog exploration, or sustained engagement") + 콘텐츠 타입·출시 단계 리밸런싱("games vs. movies, new releases vs. evergreen titles")
- 성과: Phase-2 라벨 "roughly 40×" 적게 쓰고 오프라인 MRR "about +1.6%" (별도로 프로덕션 대등/상회를 *"10–40× fewer Phase-2 labeled examples, depending on configuration"*로 서술 — 40×는 MRR 진술에만 묶어 쓸 것)
- 온라인: "we ran a large A/B test on batch-compute recommendation surfaces, covering ~10% of Netflix traffic over ~4 weeks" — 단·장기 지표 유의미 개선. ⚠ 배치 연산 지면 한정이 명시돼 있다.
[추정]실시간 서빙 지면 적용 여부는 글이 긍정도 부정도 하지 않는다 — "실시간엔 아직 안 갔다"고 읽으면 그건 우리 추론이지 출처가 아니다 - 랭킹 백본 "~1B to ~10B parameters". 유기 피드 랭킹 경로에 LLM이 들어갔다는 업계 최초급의 1차 진술 (→ llm-in-recsys.md 테제 수정)
- Limitations/Future Work 절이 없다
[관찰]2026-08-09 재확인. 전망 문장은 흩어져 있다 — "substantial headroom as we further scale data and input signals", "opens the door to natural-language steering for future experiences", 추천 이유 설명 같은 "text-generation use cases"
GenRec의 서빙 층 — 별도 블로그로 공개 (2026-07)
[확인] In-House LLM Serving at Netflix, 2026-07-17 — GenRec가 어느 인프라 위에서 돌아가는지의 반쪽. 원문 확보(archive.org 스냅샷).
- 엔진 전환 시점과 워크로드 폭이 곧 근거다 — 원래 TensorRT-LLM에서 시작, "By summer 2025" vLLM으로 전환. 결정타는 워크로드 확장: "embedding generation, prefill-only inference for ranking and retrieval, autoregressive decoding, and custom models with non-trivial per-step constraint logic" — GenRec가 서빙 스택 선정 기준의 4대 워크로드 중 하나로 명시 등장한다
- 모델 종류를 가리지 않는 공통 서빙 — Model Scoring Service(MSS)가 "the shared inference backend, supporting XGBoost, TensorFlow, PyTorch, and LLMs behind a unified interface", Triton 위에 Java control plane. 설계 원칙 명시: "A key design goal of our system was that LLM models should NOT be special snowflakes. Every model — XGBoost ensemble or large-scale LLMs — is scored via the same gRPC call". OpenAI-compatible API는 추가 프론트엔드로만 얹었다
- 콜드스타트를 인프라로 잡는다 — "We materialize models on Amazon FSx at the time of model announcement" — 큰 LLM을 S3/HF에서 부트 시 받으면 스케줄러 타임아웃을 넘어, 모델 공표 시점에 고성능 FS로 미리 물질화. Netflix 특유의 "편성 카탈로그 = 아이템 유입이 이벤트"라는 성질이 서빙 층에도 그대로 나타난다
- constrained decoding scaling — 배치 사이즈 상한을 결정한 사건 — vLLM V0에서 커스텀 logits processor가 요청별 순차 실행, "the GIL prevents Python from parallelizing the per-request work. CPU time in logit processing therefore grows linearly with batch size". V1(Q4 2025)에서 batch-level 재구조 + "reimplemented the hot path in C++ with multi-threading to step around the GIL" — 결과 "logits processing time staying flat as batch size grows". GenRec의 "후보 집합 전체 1패스" 채점이 배치 스케일에서 성립하는 이유가 여기 있다. 그리고 partial prefill / preemption에서 state machine 재동기화라는 운영 함정 2개가 뒤이어 나온다
- 배포 전략의 결정 — Red-Black(안정 인터페이스)과 Versioned(스키마 변경) 병용. "Versioned solves that gap by maintaining an independent deployment for every (modelId, modelVersion) pair" — 스키마가 바뀌는 GenRec 세대 전환에서 구/신 모델이 동시에 서비스되는 창을 GPU 비용으로 사는 구조
- 미공개: GPU 세대, QPS, batch size, latency 절대값은 이 글에도 없다
[관찰]2026-08-10 원문 재확인 — Model FLOPs 지표나 스루풋 수치가 부재. GenRec의 배치 서빙 비용 상한선을 계산하려면 열린 질문으로 유지
GenRec arXiv 논문 — 블로그가 안 밝힌 정량치 (2026-08-10)
[확인] GenRec: An LLM-Backed Recommendation Ranker at Netflix (arXiv 2608.10257), 2026-08-10 — 블로그와 동일 시스템의 학술판. 저자 6명(Ying Li, Shradha Sehgal, Arjun Rao, Rein Houthooft, Yaochen Zhu, Ashish Rastogi) + §8에 팀별 전체 기여자 명단. 블로그와 명시적 모순은 없고, 정량 세부·손실 수식·팀 구조가 새로 나온다.
- 온라인 코어 지표의 실측값 최초 공개 — "we observe a +0.006% relative improvement on our core online metric, which is statistically meaningful at Netflix scale". 블로그는 "statistically significant"만 썼고 절대값이 없었다. 그리고 논문이 스스로 이 값을 "at Netflix scale에서 유의미"로 규정한다
[확인]§5.1 - Phase 1 / Phase 2 각각의 기여 분해 — Phase 1(vs OSS 백본) +10–20% offline MRR, Phase 2(Phase 1 최신 시점) +35–50%, Phase 1 학습 2주 후에는 Phase 2의 상대 이득이 ~80%로 벌어진다. 논문이 이유를 명시: "increasing staleness of the less frequently updated Phase-1 backbone"
[확인]§5.3. 시간 축이 두 phase의 상대적 가치를 결정한다는 새 사실 - 컨텍스트 압축의 절대 예시 + 서빙 비용 1/3 — "the context length can be reduced to roughly a third of the original token budget (for example, from about 5,000 tokens down to about 1,700 tokens) with only negligible degradation" + "serving cost is reduced to roughly a third of original cost as well" — 블로그의 "roughly one-third"에 절대 토큰 예시와 비용도 함께 1/3이라는 정량 주장이 붙었다
[확인]§5.4 - 손실 함수 수식 ℒ = α·ℒ_ranking + β·ℒ_language + γ·ℒ_miscellaneous, α+β+γ=1. 랭킹 손실 = catalog(또는 candidate set) 전체 softmax cross-entropy, 카탈로그가 너무 크면 sampled softmax로 대체. 추론 시엔 랭킹 헤드만 쓰고 LM 헤드는 학습 정규화용 — *"future text generation use cases (e.g., natural-language explanations)"*까지 미래 확장으로 명시. α·β·γ 수치는 미공개
[확인]§4.4-§4.5 - 학습 데이터 스키마 = user/assistant 대화 — user message에 context+profile+history+item metadata+task, assistant message에 실제 engagement(play, play duration, abandon, thumb, etc.). 블로그는 user message 쪽만 나열했다. positive label 정의: "high-quality engaged events (e.g., high-duration plays, strong explicit feedback), with denoising logic and thresholds that vary by content types"
[확인]§4.2, §4.4 - GRPO는 실제로 이겼다 — 블로그는 "future work" 처리였지만 논문은 "In preliminary experiments, RL-style methods (e.g. GRPO) showed additional gains over supervised finetuning, but their high training overhead makes them better suited for future work" — 시도했고 SFT 대비 개선을 봤으나 비용 때문에 reward-weighted loss를 최종 채택
[확인]§4.6 - 데이터 스케일링 스윕 — Phase-2 데이터 1x~20x 스케일링을 ~1B와 ~10B 두 백본에서 각각 실행, 양쪽 모두 monotonic 개선 + 유사한 scaling pattern. 절대 곡선/기울기는 미공개
[확인]§5.2 - 서빙 비용 근사 — "inference cost in practice is roughly proportional to the product of model size and context length". 비용 최적화 두 축: smaller/distilled 모델(블로그에 없던 distillation 언급) + 컨텍스트 압축
[확인]§4.7 - Semantic-ID 계열이 아님을 명시적으로 자리매김 — §2.2 말미: "Most LLM-based generative retrieval systems rely on autoregressive decoding with beam search at inference time... Our work avoids these limitations by augmenting the base LLM architecture with a catalog-aware ranking head, so that it can rank a large candidate set in a single forward pass". Google PLUM, Kuaishou OneRec-Think, Spotify GLIDE, Yandex Gryphon 등 SID/생성 계열과의 차별점을 논문이 스스로 정리 (→ topics/llm-in-recsys.md, radar.md 생성형 retrieval 스레드)
[확인]§2 - 팀 구조 — 블로그에 없던 3팀 협업이 §8에서 드러난다: AI for members (22명, 주 저자단·Justin Basilico 포함) / AI platform and serving (13명, 서빙 인프라) / Product (4명). Justin Basilico는 Netflix 개인화 총괄로 알려진 인물로, 이번이 그의 이름이 GenRec 인접 문서에 처음 확인된 사례
[확인]§8 - 논문도 롤아웃 전면 확언은 피한다 — §7: "GenRec represents an initial step toward a more LLM-centric recommendation stack at Netflix. Our results suggest that this is a viable and promising path for large-scale personalization in at least some scenarios". batch-compute 지면 한정, "some scenarios", "initial step" — 정본의 열린 질문(전면 롤아웃 여부·실시간 지면 여부·후보 집합 출처)은 논문에도 답이 없어 그대로 유지
[확인]§7 - 논문에도 여전히 미공개: α/β/γ 수치, GPU 세대·QPS·latency 절대값, prefill vs autoregressive의 정량 speedup, Phase 1의 학습 데이터·목적 함수 상세, 베이스 OSS 모델 정체(Llama? Mistral?), A/B 지면 구체명, secondary metrics/guardrails, 후보 집합의 생성 주체
목적함수 — 가중합이 아니라 retention 계열
[확인] 장기 만족 블로그 2024:
- 컨텍스추얼 밴딧 프레임. north star는 retention이지만 직접 최적화 불가("계정당 월 1회 신호", 노이즈, 귀속 곤란)
- 공개된 프록시 보상 형태: r(user, item) = f(play, complete, thumb)
- 지연 피드백: Delayed Feedback Prediction Model이 p(최종 피드백 | 관측 피드백) 예측해 보상에 주입
- "CTR 과최적화는 클릭베이트 조장" 명시 — X/Meta의
Σ w·P(action)가중합 프레임과 구조적으로 다름 (→ multi-task-ranking.md) - 가중치/보상 결정 방법 = reward engineering 루프(가설→보상 수정→밴딧 정책→A/B)
[확인]
고전 세대 랭커 (참고용, 2015)
PVR(전 카탈로그 정렬, 인기와 개인화 블렌딩), Top-N(헤드만 최적화), Trending(분~일 단위 트렌드+개인화), Continue Watching(재개/포기 판별 — 경과시간·중단 지점·중간 시청·디바이스), sims(비개인화 유사도 + 개인화된 행 선택) [확인] TMIS 2015. UniCoRn(2024)이 검색·pre-query·More Like This를 단일 컨텍스추얼 랭커로 통합, 개인화로 오프라인 지표 리프트 검색 7%/추천 10% [확인] RecSys 2024
재순위·다양성·필터
- 다양성은 리스트 재순위가 아니라 페이지 구성 단계에 있다: 행 선택이 "관련성과 다양성으로 최적화"
[확인]TMIS 2015 (→ feed-diversity.md) - Calibrated Recommendations (Steck, RecSys 2018): 시청 이력의 장르 비율을 추천 리스트에 보존하는 재순위 — 수식 공개
[확인], 프로덕션 배포 진술은 없음[추정]배포 여부 불명이 정확한 상태 (논문) - 같은 타이틀의 행 간 중복: 허용/상한 규칙의 1차 출처 못 찾음. 중복이 버그가 아니라 "다른 추천 이유"로 기능할 가능성
[추정]행마다 다른 테마+아트워크 개인화와 결합하면 중복 노출이 설계일 수 있음 — 실제 홈에서 직접 관찰 필요 (미수행) - 아트워크·비디오 프리뷰 개인화가 지각된 다양성의 별도 레버 — 같은 타이틀도 회원마다 다른 이미지·비디오 프리뷰. 2017 밴딧에서 2026 MediaFM tri-modal foundation model로 세대 전환 (아래 절 참조)
- GenPage(2026): 페이지 구성 자체를 단일 트랜스포머 autoregressive 생성으로 대체 — 엔드투엔드 지연 20% 감소, 핵심 참여 지표 개선. 실험 단계
[확인]arXiv 2606.31031
아트워크·비디오 프리뷰 개인화 — MediaFM tri-modal FM (2026-08 프로덕션)
세대 흐름: 2017 밴딧(Artwork Personalization, 전면 배포) → 2026 CLIP two-tower + MediaFM (Multimedia Asset Personalization via Multimodal Embeddings at Netflix, 2026-08-18). 두 방향 확장:
CLIP 기반 통합 two-tower — 5개 캔버스 타입 단일 모델
아트워크 캔버스 5종(billboard / vertical box / horizontal panel / short panel / landscape panel)마다 별도 모델을 학습·서빙하던 구조가 CLIP 이미지 임베딩(768-d)을 item tower에 concat한 단일 two-tower로 통합됐다 [확인] §3.
- Reward-weighted 학습: 캔버스별 학습 예제를 reward 가중치로 균형 (특정 캔버스 편중 방지)
- 콜드스타트: 신규 타이틀·에셋이 상호작용 이력 없이도 CLIP 임베딩만으로 "day zero" 서빙 가능. ID-only 모델의 원천 한계 해소
- 온라인 A/B 결과
[확인]§5.1: 코어 discovery 메트릭 상대 +0.127% (p<0.005). Eclipse UI 홀드백 대비 discovery +0.233%, streaming hours +0.184% — 저자 추정 연간 ≈350M streaming hours 추가 - 검색 확장: CLIP의 joint text-image space를 재활용해 query-aware artwork를 검색 캔버스에 적용, playthrough rate +0.36% (p<0.05)
[확인]
MediaFM — 자체 tri-modal foundation model (비디오 프리뷰용)
Netflix 자체 학습한 shot-level tri-modal FM을 프로덕션 서빙 [확인] §4.
- 모달리티: 시각(SeqCLIP — CLIP 스타일 프레임 인코더) + 음성(wav2vec 2.0) + timed-text(text-embedding-3-large). shot당 concat 후 2,304-d unit-normed 벡터
- 인코더: BERT 스타일 3-layer / 8-head transformer. Masked Shot Modeling (20% shot 마스킹) + cosine distance loss로 self-supervised 사전학습. 프리뷰 표현은 contextualized shot embedding의 mean-pool
- 학습 코퍼스: Netflix 쇼 카탈로그의 대규모 shot corpus (구체 규모 미공개)
- 적용 지면: 모든 디바이스 플랫폼의 비디오 프리뷰 개인화 (프리뷰 30~90초). TV UI 서피스에서 가장 큰 이득
- 온라인 A/B 결과
[확인]§5.2: streaming 메트릭 상대 +0.193% (p<0.02). 오프라인 IPS lift 0.380%. visual-only 베이스라인 대비 tri-modal의 우월성이 오프라인·온라인 양쪽에서 확인
Popularity-Based Winner — 오프라인 프록시 태스크
MediaFM 체크포인트 릴리스 gating을 위해 새 오프라인 프록시가 배치됐다 [확인] §5.4.
- 정의: "만약 unpersonalized·uniform serving policy로 노출했다면 어떤 에셋이 이겼을까"를 에셋 콘텐츠 임베딩만 입력으로 예측 (linear probe binary classification)
- 왜 유효: end-to-end integration이나 A/B test 없이도 임베딩 quality를 랭크. 온라인 outcome과 상관 관찰됨 — 프로브 정확도 순위와 오프라인 IPS + 온라인 A/B 결과 순위가 세 시그널 모두에서 일치
- 정량치: MediaFM 프로브 정확도 = pick-at-random 대비 +25.90 percentage points. SeqCLIP 단독 = +18.75 pp. 트리모달의 uplift가 shot-level 프록시에서 재현
- 의미: 모든 새 MediaFM 체크포인트에 대해 이 프록시가 gating — 후보 공간 pruning 후에만 A/B로 넘어감. Netflix가 오랜 문제("오프라인 지표가 A/B를 예측 못 함")를 임베딩 quality만의 단일 태스크로 부분 우회한 사례
Netflix Embedding Store — 인프라 레이어
플랫폼 레이어 [확인] §4.3:
- 콘텐츠 임베딩 — 에셋이 카탈로그에 유입되는 순간 사전계산 (ingestion time)
- Item-tower projection — 에셋당 캐시
- 일일 materialization — 프로필별 상위 ~500 타이틀 선택 미리 계산
이 3단 캐싱이 저지연 서빙 + 값싼 스크리닝을 동시에 가능하게 만들었다. FM 시대에 이미 회원 임베딩 배치 생산이 프로덕션이었는데 (위 retrieval 절), MediaFM은 아이템 쪽 임베딩 파이프라인을 동일 방식으로 확립했다는 대응 사실.
의미 — 아트워크·프리뷰가 개인화 스택의 별개 축이 됐다
지금까지 canon은 아트워크 개인화를 "재순위·다양성"의 한 줄 언급으로 다뤘다 (2017 밴딧 이후 큰 갱신이 없었기 때문). 2026-08 MediaFM 논문이 이 축을 별도 프로덕션 시스템으로 확립했다:
- 캔버스별 → 단일 모델로의 아키텍처 통합 (5→1)
- 시각-only → tri-modal로의 modality 확장 (audio·timed-text가 정량적으로 uplift 검증)
- 콜드스타트 위치가 랭커 안이 아니라 pretrained 임베딩 (day-zero CLIP 임베딩)
- 오프라인 gating이 A/B의 전제조건으로 프로덕션 프로세스에 편입 (popularity-based winner)
이는 Netflix의 "FM으로 회원 표현 중앙화" 흐름의 아이템 쪽 대응이라 볼 수 있다. 회원은 FM(2025), 아이템은 MediaFM(2026). 두 임베딩이 결합돼 랭커·retrieval·아트워크·프리뷰의 공통 하부구조가 되는 방향.
콜드스타트
- 신규 타이틀: 출시일이 사전에 알려진 편성 카탈로그라 "인덱스 커버리지" 문제가 아니라 탐색·프로모션 문제. 빌보드 incrementality 밴딧(P(play|노출)−P(play|비노출) 최대화 — 어차피 볼 타이틀에 지면 낭비 안 함)
[확인]Kawale & Amat 2018 슬라이드 (전면 배포 여부는 미확인). FM에선 신규 타이틀 임베딩을 메타데이터 가중 결합으로 초기화 + entity age 기반 어텐션으로 ID↔메타데이터 임베딩 혼합[확인]FM 블로그 2025 — 신규 아이템을 ID로만 다루는 X와 정반대 - 신규 콘텐츠 타입: 라이브 이벤트 콜드스타트 사례 연구, 글로벌 실험으로 라이브 참여 +20%
[확인]RecSys 2025 - 신규 회원: 가입 시 타이틀 픽커 설문(2015 논문부터 현재 헬프 문서까지 확인, 선택사항 — 건너뛰면 "다양하고 인기 있는" 셋)
[확인]TMIS 2015 §5.5 + help.netflix.com
피드백 신호
- 암묵 신호가 지배: 무엇을·어떻게(디바이스·시각·요일·강도)·어디서 발견·노출됐으나 재생 안 됨까지 로깅
[확인]TMIS 2015 - 명시 신호: thumbs up("비슷한 것 더") / down("그만 추천") 2017 전환 — 별점 대비 평점 활동 200% 증가
[확인]About Netflix 2017 · Two Thumbs Up("정말 좋았음", 더 구체적 반영) 2022[확인]About Netflix 2022 - % Match는 "시청 습관·행동 분석만으로" 산출되는 표시용 점수
[확인]2017 발표 — 명시 평점의 소비처가 랭킹이 아니라 UI일 수 있음 (→ survey-signals.md) - 클릭베이트 방어: 아트워크 라벨에 "재생 유도했지만 저품질 참여" 배제
[확인]2017 - 인구통계(연령·성별) 미사용 명시
[확인]help.netflix.com - 세션 의도: FM-Intent가 다음 의도+아이템 동시 예측 (프로덕션)
[확인]블로그 2025
학습 주기·평가
- FM: 월 단위 처음부터 재학습 + 일 단위 파인튜닝 — 빅테크 추천 모델 중 가장 구체적으로 공개된 주기
[확인]통합 블로그 2025-11 - 고전 세대: 오프라인 실험 프로토콜 예시로 "이틀 전까지의 데이터" 언급
[확인]TMIS 2015 (프로덕션 학습 주기 진술은 아님 — 주기 자체는 미공개) · 3계층(offline/nearline/online) 구조[확인]2013 블로그 - 평가 2단계: interleaving(team-draft, 시청시간 점유율 판정, A/B 대비 "100× 적은 인원으로 95% power")으로 가지치기 → 2-6개월·셀당 ~200만 명 A/B
[확인]2017 블로그 + TMIS 2015 - 오프라인 지표의 정직한 한계 인정: "A/B 결과를 원하는 만큼 예측하지 못한다"(2015) → "오프라인 개선이 온라인 flat/음수"(2024) — 10년째 같은 고백
[확인]
광고
- 2022-11 Microsoft 파트너십 → 2024-01 인하우스 결정 → 2025 Ads Suite 전 12개국 라이브
[확인]Upfront 2025 + 파이프라인 블로그 - 공개된 것은 이벤트 파이프라인(frequency capping, Flink/Druid)과 타겟팅 상품(17개 카테고리 100+ 관심사)뿐 — 광고 랭킹 모델 엔지니어링 공개물은 2026-08 현재 없음
[확인](부재 확인). Meta처럼 오가닉/광고 계보 분리 서술 자체가 불가능한 상태
열린 질문
- GenRec/GenPage의 전면 롤아웃 여부 — 2026-08 현재 A/B 단계 진술까지만.
[관찰]2026-08-09 재확인: netflixtechblog에 GenRec 후속 글 없음(단 인덱스가 JS 렌더링이라 검색 결과 기준) - GenRec의 실시간 서빙 지면 적용 여부 — 공개된 A/B는 batch-compute 지면 한정. 실시간 후보 규모에서 prefill 1패스 비용이 성립하는지 진술 없음
- GenRec 후보 집합이 어디서 오는가 — 채점 대상 candidate set의 생성 주체(FM 임베딩 retrieval? 기존 소스별 후보?)를 글이 밝히지 않음
- Calibrated Recommendations의 프로덕션 배포 여부
- 프로덕션 FM 파라미터 수
- 행 간 중복 허용 규칙의 1차 출처
- 광고 랭킹 모델 (공개물 부재)
- "Hydra"라는 통합 시스템명 — 2차 출처만 존재, 1차 미확인
- semantic ID 사용 — 1차 출처 없음 (PRS 2025의 semantic tokenization 토크는 Spotify 것; 흔한 혼동)
출처
- The Netflix Recommender System (Gomez-Uribe & Hunt) — 2015, 논문 (프로덕션 서술)
- Learning a Personalized Homepage — 2015, 블로그
- To Be Continued (Continue Watching) — 2016, 블로그
- Recommending for the World (글로벌 단일 모델) — 2016, 블로그
- Artwork Personalization — 2017, 블로그
- Interleaving — 2017, 블로그
- Goodbye Stars, Hello Thumbs — 2017, 발표
- AVA — 2018, 블로그
- Calibrated Recommendations (Steck) — 2018, 논문
- Bandit 인프라 — 2019, 블로그
- Search: Netflix Case Study (SIGIR) — 2019, 논문
- DL for RecSys: A Netflix Case Study — 2021, 논문 (초록만 검증됨)
- Two Thumbs Up — 2022, 발표
- Consolidating ML Models — 2023, 블로그
- Reward Innovation (RecSys) — 2023, 논문
- UniCoRn — 2024, 논문
- Long-Term Member Satisfaction — 2024, 블로그
- Foundation Model — 2025, 블로그
- FM 통합 3모드 — 2025, 블로그
- FM-Intent — 2025, 블로그
- 임베딩 안정화 (RecSys) — 2025, 논문
- 라이브 콜드스타트 (RecSys) — 2025, 논문
- 라이브 실시간 추천 전달 — 2025, 블로그
- Ads 파이프라인 — 2025, 블로그
- Upfront 2025 (Ads Suite) — 2025, 발표
- 새 TV 경험 + 대화형 검색 베타 — 2025, 발표
- 1B 스케일링 연구 — 2026, 논문 (shadow 단계)
- GenRec — 2026, 블로그
- GenPage (RecSys) — 2026, 논문
- Artwork LLM Post-training — 2026, 논문 (연구 단계)
- In-House LLM Serving at Netflix — 2026-07-17, 블로그. GenRec의 서빙 층(vLLM + Triton + Java control plane, MSS, constrained decoding scaling)
- GenRec: An LLM-Backed Recommendation Ranker at Netflix (arXiv 2608.10257) — 2026-08-10, 논문. GenRec 블로그의 학술판. 손실 수식·Phase 1/2 기여 분해·컨텍스트 5000→1700 예시·+0.006% 코어 지표·GRPO preliminary·팀 구조 등 블로그가 안 밝힌 정량치
- Multimedia Asset Personalization via Multimodal Embeddings at Netflix (arXiv 2608.18322) — 2026-08-18, 논문. 아트워크 CLIP two-tower + MediaFM tri-modal (SeqCLIP + wav2vec 2.0 + text-embedding-3-large) 프로덕션 배포, +0.127%/+0.193% A/B lift, popularity-based winner 프록시로 체크포인트 gating