Integrating Foundation Models into Production Personalization Systems

netflix · Media & Entertainment · 2025 · source Agentic: no · promotional bias: low · source-backed · extracted with prompt 0.5.6 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Production personalization model integration

Netflix had built a centralized personalization foundation model, but the hard production problem was how to integrate that large model into existing recommendation systems with different latency requirements, technology stacks, freshness needs, cost constraints, and appetite for model depth. The goal was not just to train a transformer model, but to make its representations useful across production personalization applications without overburdening every downstream team.

Constraints:

Architecture

Netflix integrated its personalization foundation model through three production paths. The lowest-friction path generates user and item embeddings from the foundation model, refreshes them through monthly pretraining, daily fine-tuning, batch inference, and an Embedding Store, then lets existing pipelines consume them as features or retrieval inputs. A deeper subgraph path embeds the foundation-model decoder stack inside downstream application model graphs, eliminating embedding staleness and exposing more layers at the cost of feature-generation complexity, model size, and inference time. A direct fine-tuning path lets application teams train product-specific variants with custom objectives, output heads, and frozen or unfrozen layers. Platform teams supported these options with stabilization, reusable code/jobs, near-real-time embedding work, distillation work, and standardized APIs.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  Netflix_Foundation_Model["Netflix Foundation Model"] --> Monthly_pretraining_job["Monthly pretraining job"]
  Monthly_pretraining_job --> Daily_fine_tuning_job["Daily fine-tuning job"]
  Daily_fine_tuning_job --> Batch_embedding_inference["Batch embedding inference"]
  Batch_embedding_inference --> Profile_embeddings["Profile embeddings"]
  Batch_embedding_inference --> Item_embeddings["Item embeddings"]
  Profile_embeddings --> Embedding_Store["Embedding Store"]
  Item_embeddings --> Embedding_Store
  Monthly_pretraining_job --> Embedding_stabilization["Embedding stabilization"]
  Daily_fine_tuning_job --> Embedding_stabilization
  Embedding_stabilization --> Embedding_Store
  Embedding_Store --> Candidate_generation["Candidate generation"]
  Embedding_Store --> Downstream_personalization_models["Downstream personalization models"]
  Netflix_Foundation_Model --> Foundation_Model_subgraph["Foundation Model subgraph"]
  Application_feature_generation_jobs["Application feature generation jobs"] --> Foundation_Model_subgraph
  Reusable_feature_generation_jobs["Reusable feature-generation jobs"] --> Application_feature_generation_jobs
  Foundation_Model_subgraph --> Downstream_personalization_models
  Netflix_Foundation_Model --> Fine_tuning_framework["Fine-tuning framework"]
  Fine_tuning_framework --> Fine_tuned_foundation_models["Fine-tuned foundation models"]
  Fine_tuned_foundation_models --> Downstream_personalization_models
  Near_real_time_embedding_framework["Near-real-time embedding framework"] --> Embedding_Store
  Distilled_foundation_model["Distilled foundation model"] --> Foundation_Model_subgraph
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Netflix Foundation Model Central transformer-style personalization model trained on user interaction histories and content data. Monthly pretraining job, Daily fine-tuning job, Foundation Model subgraph, Fine-tuning framework
Monthly pretraining job Retrains the foundation model from scratch on a monthly cadence. Netflix Foundation Model, Daily fine-tuning job, Embedding stabilization
Daily fine-tuning job Updates the monthly pretrained model with latest data and newly launching title IDs. Monthly pretraining job, Batch embedding inference, Embedding stabilization
Batch embedding inference Refreshes user profile and item embeddings after daily fine-tuning. Daily fine-tuning job, Profile embeddings, Item embeddings, Embedding Store
Profile embeddings User representations extracted from the hidden state of the last user event. Batch embedding inference, Embedding Store, Downstream personalization models
Item embeddings Title representations extracted from item-tower weights. Batch embedding inference, Embedding Store, Candidate generation
Embedding stabilization Maps embeddings from new pretraining and fine-tuning runs into a consistent embedding space. Monthly pretraining job, Daily fine-tuning job, Embedding Store
Embedding Store Netflix feature store for versioned, timestamped embeddings with offline and online access interfaces. Batch embedding inference, Downstream personalization models, Candidate generation, Near-real-time embedding framework
Candidate generation Uses embeddings to retrieve appealing titles for users or support title-to-title recommendations. Item embeddings, Embedding Store, Downstream personalization models
Foundation Model subgraph Decoder stack embedded inside application model graphs to process raw user sequences at request time. Netflix Foundation Model, Application feature generation jobs, Downstream personalization models
Application feature generation jobs Generate the features required to run the foundation-model subgraph inside downstream models. Foundation Model subgraph, Reusable feature-generation jobs
Reusable feature-generation jobs Platform-provided code and jobs that reduce compute overhead for subgraph feature generation. Application feature generation jobs, Downstream personalization models
Downstream personalization models Application models that consume embeddings, subgraph representations, or fine-tuned foundation-model variants. Embedding Store, Foundation Model subgraph, Fine-tuned foundation models, Candidate generation
Fine-tuning framework Lets application teams create custom foundation-model variants with product-specific data, objectives, layers, and heads. Netflix Foundation Model, Fine-tuned foundation models, Downstream personalization models
Fine-tuned foundation models Application-specific variants that can directly power products or act as baselines for new applications. Fine-tuning framework, Downstream personalization models
Near-real-time embedding framework Platform direction for updating embeddings based on in-session user actions to reduce staleness. Embedding Store, Profile embeddings
Distilled foundation model Planned smaller model variant intended to reduce subgraph inference latency. Foundation Model subgraph, Downstream personalization models

Data flow

Netflix trains the foundation model from comprehensive user interaction histories and content data. For the embedding path, monthly pretraining and daily fine-tuning produce a current model; batch inference extracts profile embeddings from the last user-event hidden state and item embeddings from item-tower weights, maps the embeddings into a stable space, and publishes them to the Embedding Store for offline and online consumers. For subgraph integration, the application model generates the raw sequence features needed by the foundation-model decoder stack, runs the subgraph once per profile per request, and shares the representation across items. For fine-tuning, application teams adapt the foundation model to product-specific data and objectives, optionally freezing layers or adding a new output head.

4 supporting quotes
“one powerful model learned from comprehensive user interaction histories and content data at a large scale and have this model distribute its learnings to other models.”article, stated
“the Foundation Model is pre-trained from scratch every month. Then, the monthly pre-trained model is fine-tuned everyday based on the latest data.”article, stated
“The Foundation Model subgraph processes raw user interaction sequences and outputs representations that are then fed into the downstream model graph.”article, stated
“application teams can choose to do full parameter fine-tuning or freeze some layers. They can also choose to add a different output head with a different objective.”article, stated

Why this architecture

Netflix chose a portfolio of integration paths because no single path satisfied every product surface. Embeddings offered low-cost, low-friction reuse through existing pipelines, subgraph integration unlocked fresher and deeper foundation-model representations for high-impact cases, and fine-tuning let teams optimize the model for application-specific objectives. Platform abstractions such as the Embedding Store, reusable feature-generation jobs, fine-tuning framework, stabilization, distillation, and standardized APIs let teams choose an integration depth that matched their latency, cost, and benefit profile.

3 supporting quotes
“The motivation for trying different approaches stems from varying application needs.”article, stated
“different teams have different latency requirements, tech stack constraints and different appetites for leveraging the full power of a large foundation model.”article, stated
“Each integration approach has its own set of motivations, tradeoffs, complexities and learnings.”article, stated

Models used: Netflix Foundation Model for personalization · large-scale transformer-based model · Foundation Model decoder stack · fine-tuned foundation-model variants · planned smaller distilled Foundation Model

Scale

Alternatives considered (roads not taken)

Embeddings from the Embedding Store as the only integration path

Rejected because: Embeddings are low-cost and easy to adopt, but they can be stale and may not unlock the full value of the foundation model for real-time or high-adaptability use cases.

“The time gap between embedding computation and downstream model inference can lead to staleness, impacting the freshness of recommendations.”article, stated
“While embeddings may not leverage the full power of the Foundation Model, they offer a good initial step.”article, stated

Foundation Model subgraph for every application

Rejected because: Subgraph integration gives deeper value, but Netflix reserves it for high-impact use cases because it increases feature generation complexity, model size, inference time, compute cost, and training-code complexity.

“Merging the Foundation Model as a subgraph also increases the application model size and inference time.”article, stated
“we would reserve this approach for high impact use cases where the increase in metric wins compensate for the cost and complexity.”article, stated

Direct fine-tuned foundation models for all product surfaces

Rejected because: Direct fine-tuning adapts well to application objectives, but it can create more models and pipelines to maintain and requires per-application latency/SLA optimization.

“this approach can lead to more models and pipelines to maintain across the organization.The latency and Service Level Agreements (SLAs) of the fine-tuned model must be carefully optimized”article, stated

Current daily batch embeddings for all freshness needs

Rejected because: Daily refresh was valuable but left staleness for session-adaptive recommendations, prompting investment in near-real-time embedding generation.

“We found this infrastructure to be so valuable that we stepped up our investment here to build a near-realtime embedding generation framework.”article, stated
“making the embeddings and our downstream models more adaptive.”article, stated

Full-size foundation model in latency-sensitive subgraph paths

Rejected because: Netflix is working on a smaller distilled model because the subgraph approach carries inference-latency pressure.

“We are also working on a smaller distilled version of the Foundation Model to reduce the inference latency of the subgraph approach.”article, stated

Patterns

batch-offline-processing (operations)

Netflix refreshed embeddings through monthly pretraining, daily fine-tuning, batch inference, and publication to the Embedding Store.

“After the daily fine-tuned model is ready, we run batch inference to refresh the profile and item embeddings and publish them to the Embedding Store.”article, stated

fine-tuning-adaptation (modeling)

Application teams can fine-tune the foundation model on product-specific data, freeze layers, or attach new output heads for application-specific objectives.

“the Foundation Model can be fine-tuned on more product specific data and then the fine-tuned model can be used to directly power the product.”article, stated
“application teams can choose to do full parameter fine-tuning or freeze some layers.”article, stated

latency-optimization (operations)

Netflix split the foundation-model subgraph so it runs once per profile per request, works on distillation, and optimizes fine-tuned models against application SLAs.

“we split the subgraph and ensure it only runs once per profile per request and is shared by all items in the request.”article, stated
“working on a smaller distilled version of the Foundation Model to reduce the inference latency of the subgraph approach.”article, stated

cost-aware-routing (architecture)

Netflix routes applications among embeddings, subgraph integration, and fine-tuning depending on latency, tech-stack constraints, metric wins, compute cost, and complexity.

“different teams have different latency requirements, tech stack constraints and different appetites for leveraging the full power of a large foundation model.”article, stated
“requiring a trade-off between metric improvement, compute cost, and time.”article, stated

data-quality-loop (data)

The foundation model refresh pipeline updates daily on latest data and expands entity IDs for newly launched titles, keeping representations current for downstream systems.

“the monthly pre-trained model is fine-tuned everyday based on the latest data.”article, stated
“The daily fine-tuning also expands the entity id space to include the newly launching titles.”article, stated

model-distillation (modeling)

Netflix is developing a smaller distilled foundation model to reduce latency when the foundation model is used as a subgraph.

“We are also working on a smaller distilled version of the Foundation Model to reduce the inference latency of the subgraph approach.”article, stated

Tradeoffs

Expose foundation-model learning through embeddings first.

Chose profile and item embeddings served by the Embedding Store over requiring every application to embed the full foundation model in its serving path.

Rationale: Embeddings offered a low-cost, high-leverage starting point that fit existing pipelines, but traded off freshness and full model expressiveness.

3 supporting quotes
“Embeddings can serve as powerful features for other models or for candidate generation”article, stated
“embeddings are a low cost and high leverage way of using the Foundation Model.”article, stated
“While embeddings may not leverage the full power of the Foundation Model, they offer a good initial step.”article, stated

Use subgraph integration for high-impact applications.

Chose foundation-model decoder stack inside the downstream model graph over static embeddings from the Embedding Store.

Rationale: The subgraph path removed embedding staleness and exposed more foundation-model layers, but increased feature-generation cost, model size, inference time, and training complexity.

3 supporting quotes
“there is no time gap or staleness between the Foundation Model inference and the application model’s inference”article, stated
“This can add time, compute and complexity to their feature gen jobs.”article, stated
“reserve this approach for high impact use cases where the increase in metric wins compensate for the cost and complexity.”article, stated

Support direct fine-tuning for product-specific surfaces.

Chose custom fine-tuned foundation-model versions over new model stacks and months of feature engineering.

Rationale: Fine-tuning let teams adapt objectives and reuse the foundation model as a baseline, but increased model/pipeline maintenance and SLA tuning burden.

“Instead of coming up with a new model stack and spending months on feature engineering, new applications can directly utilize fine-tuned foundation models.”article, stated
“this approach can lead to more models and pipelines to maintain across the organization.”article, stated

Invest in near-real-time embedding generation.

Chose session-adaptive embedding updates over daily batch embedding refresh only.

Rationale: Near-real-time updates address staleness and adaptiveness, but Netflix notes that the framework cannot be used for very large models.

“we stepped up our investment here to build a near-realtime embedding generation framework.”article, stated
“Although the near-real time framework cannot be used for very large models”article, stated

Standardize APIs while preserving multiple integration paths.

Chose refined and standardized APIs across embeddings, subgraph, and fine-tuning approaches over bespoke integrations per application team.

Rationale: The three-pattern portfolio remained flexible, while API standardization reduced adoption friction for application teams.

“We also continue to refine and standardize the APIs used in these approaches to make it easy for application teams to use them.”article, stated
“these three integration patterns provide a comprehensive framework for how Netflix applications can interact with and extract value from the Foundation Model.”article, stated

Gotchas (what bit them)

Embedding spaces changed across model refreshes.

Root cause: Monthly pretraining starts from random initialization and daily fine-tuning drifts from previous-day embeddings.

Resolution: Netflix used embedding stabilization so downstream models could consume pre-computed embeddings in the same space.

3 supporting quotes
“the embedding spaces between different runs are completely different due to the random initialization in the model.”article, stated
“embeddings start to drift when the daily job fine-tunes on the latest data”article, stated
“it is important to map the embeddings generated everyday into the same embedding space”article, stated

Precomputed embeddings could become stale before inference.

Root cause: There was a time gap between embedding computation and downstream recommendation inference.

Resolution: Netflix invested in a near-real-time embedding generation framework that can update embeddings from in-session user actions.

“The time gap between embedding computation and downstream model inference can lead to staleness, impacting the freshness of recommendations.”article, stated
“This new framework also enables us to update the embeddings based on user actions during the session”article, stated

Subgraph integration added feature-generation and inference complexity.

Root cause: Application models had to generate all features required by the foundation-model subgraph, and merging the subgraph increased model size and runtime.

Resolution: The foundation-model team provided reusable code/jobs and optimized inference by running the subgraph once per profile per request.

3 supporting quotes
“application models need to generate all the features necessary for the subgraph as part of their feature generation process.”article, stated
“To alleviate some of these complexities, the Foundation Model team provides some reusable code and jobs”article, stated
“we split the subgraph and ensure it only runs once per profile per request and is shared by all items in the request.”article, stated

Direct fine-tuning created operational sprawl.

Root cause: Application-specific fine-tuning can produce many models and pipelines across the organization.

Resolution: Netflix built a fine-tuning framework and treated latency/SLA optimization as application-specific work.

“this approach can lead to more models and pipelines to maintain across the organization.”article, stated
“We built a fine-tuning framework to make it easy for application teams to develop their own custom fine-tuned versions of the Foundation Model.”article, stated

Large production models lacked practical integration guidance.

Root cause: Most available literature focused on training and inference rather than integration into existing production systems.

Resolution: Netflix treated integration itself as the engineering problem and documented embeddings, subgraph, and fine-tuning as production patterns.

“there remains a significant gap in practical guidance and research on how to effectively and efficiently integrate large models into existing production systems.”article, stated
“we talk about how we integrate the Foundation Model into various applications.”article, stated

Evaluation

The article is primarily an integration-design report rather than an evaluation paper. It evaluates approaches qualitatively through production use cases, application needs, latency constraints, cost/complexity tradeoffs, staleness, metric wins, and platform adoption. It reports that all three integration approaches are used in production, but does not disclose offline metric values, A/B-test sizes, or recommendation KPI lifts.

Metrics: latency requirements · tech stack constraints · metric wins · compute cost · inference time · embedding freshness · model and pipeline maintenance burden · service-level agreements

3 supporting quotes
“different teams have different latency requirements, tech stack constraints and different appetites for leveraging the full power of a large foundation model.”article, stated
“requiring a trade-off between metric improvement, compute cost, and time.”article, stated
“The latency and Service Level Agreements (SLAs) of the fine-tuned model must be carefully optimized for the specific application use case.”article, stated

Outcomes

The article discloses three production integration approaches, monthly pretraining, daily fine-tuning, daily embedding refresh, and in-session near-real-time embedding goals. It does not disclose user counts, traffic volume, model size, or KPI lift.

4 supporting quotes
“In this blog, we go over the 3 approaches we experimented with and which are now used in production for different use cases.”article, stated
“This approach is often the initial and most straightforward way for applications to interact with the Foundation Model.”article, stated
“we would reserve this approach for high impact use cases where the increase in metric wins compensate for the cost and complexity.”article, stated
“We built a fine-tuning framework to make it easy for application teams to develop their own custom fine-tuned versions of the Foundation Model.”article, stated