Amazon AI Lead Mandates Hard Causal Rules to Fix Biased Training Data

Teaching Models to Imagine: Trustworthy Simulation for Sequential Data with Amazon — Ai4

Ai4

Training models directly on historical observational logs locks systems into self-fulfilling policy bias, requiring engineers to hardcode mechanistic rules and limit generative algorithms to residual behavioral variations.

AI-assisted summary of Teaching Models to Imagine: Trustworthy Simulation for Sequential Data with Amazon — original source. Check the original for full context.

Source published:

Detailed notes

## Background Published on YouTube by Ai4 on August 21, 2026, this presentation features Abhimanyu Mukerji, Science Manager and Research Lead at Amazon. The talk outlines strategies for generating robust, distribution-agnostic synthetic and simulated sequential data to support modern machine learning systems when real-world data is sparse, delayed, privacy-restricted, or policy-biased.

## TL;DR The talk presents a comprehensive framework for sequential simulation, arguing that real-world time-series data must be modeled as dynamic causal state trajectories rather than independent bags of rows. Mukerji advocates for a hybrid simulator architecture combining mechanistic physical rules, agent utility incentives, environmental stochasticity, and generative ML on the residuals. This approach unlocks counterfactual reasoning, off-policy evaluation, and robust stress-testing against rare operational shocks like severe weather or driver shortages. The session concludes by diagnosing five major failure modes—such as feature leakage and transition mismatches—and defining a governed, six-stage simulation lifecycle.

## Atmosphere & style The presentation carries the methodical, pragmatic, and authoritative tone of a senior industrial research leader addressing applied AI practitioners. Mukerji delivers a clear, systems-oriented breakdown that balances foundational mathematical concepts with concrete operational scenarios from rideshare dispatching, ad auctions, and subscription churn. The experience feels like an advanced technical masterclass that steadily demystifies generative data synthesis while issuing sharp, realistic warnings against naive black-box modeling.

## Key takeaways - [00:04](https://www.youtube.com/watch?v=G0xBkNl211w&t=4s) Synthetic sequential simulation provides a safe, compliant way to unlock statistical utility from restricted, private, or cold-start enterprise data where direct model training is impossible. - [01:53](https://www.youtube.com/watch?v=G0xBkNl211w&t=113s) Real-world observational data is structurally constrained by sparsity in critical edge cases, delayed business feedback loops, privacy limits, and historical policy bias. - [03:47](https://www.youtube.com/watch?v=G0xBkNl211w&t=227s) Sequential data cannot be treated as an independent 'bag of rows'; matching superficial marginal distributions often hides catastrophic violations of underlying causal state transitions. - [06:52](https://www.youtube.com/watch?v=G0xBkNl211w&t=412s) A robust simulator requires a four-layer hybrid design combining hard mechanistic rules, agent incentive utilities, environmental stochasticity, and generative ML applied strictly to residual behaviors. - [11:07](https://www.youtube.com/watch?v=G0xBkNl211w&t=667s) Different sequential generative architectures carry inherent blind spots—such as GAN mode collapse or transformer hallucinations—requiring rigid operational wireframing around state spaces and action bounds. - [13:29](https://www.youtube.com/watch?v=G0xBkNl211w&t=809s) The greatest business value of simulation lies in stress-testing extreme, rare disruptions (like severe storms or acute driver deficits) that dictate customer churn but rarely appear in historical logs. - [15:30](https://www.youtube.com/watch?v=G0xBkNl211w&t=930s) Downstream training pipelines must maintain strict data provenance tagging to separate synthetic traces from empirical records, validated against untouched real-world holdout datasets. - [17:12](https://www.youtube.com/watch?v=G0xBkNl211w&t=1032s) Simulators should be evaluated on directional validity and out-of-sample utility rather than false quantitative precision; a simulator that predicts the wrong direction of a metric shift indicates a fundamental structural flaw. - [18:22](https://www.youtube.com/watch?v=G0xBkNl211w&t=1102s) Observational logs in recommendation and ranking systems reflect historical policy decisions rather than organic intent, locking unadjusted models into deceptive feedback loops. - [20:03](https://www.youtube.com/watch?v=G0xBkNl211w&t=1203s) Simulation enables off-policy evaluation (OPE) and counterfactual reasoning, letting teams assess alternative ranking, pricing, or retention interventions by leveraging overlapping historical edge cases without risking live traffic. - [25:24](https://www.youtube.com/watch?v=G0xBkNl211w&t=1524s) High-dimensional sequential data can create unique behavioral fingerprints that risk user re-identification, requiring automated nearest-neighbor distance auditing before synthetic data is cleared for use. - [26:44](https://www.youtube.com/watch?v=G0xBkNl211w&t=1604s) To prevent self-fulfilling prophecies where legacy strategies appear universally optimal, historical policies must be explicitly modeled as agent actions rather than absorbed as organic environment transitions. - [27:47](https://www.youtube.com/watch?v=G0xBkNl211w&t=1667s) Sequential simulators face five major pitfalls: marginal matches with broken transitions, mode collapse, chronological causal inversion, downstream models optimizing to simulator artifacts, and untracked heuristic assumptions. - [31:43](https://www.youtube.com/watch?v=G0xBkNl211w&t=1903s) Trustworthy simulation requires an ongoing 6-stage lifecycle: Audit, Specify, Generate, Validate, Train, and Monitor, using operational drift to continually refine underlying assumptions. - [33:55](https://www.youtube.com/watch?v=G0xBkNl211w&t=2035s) Simulation needs span a progressive maturity spectrum, scaling from basic data augmentation for rare events to operational scenario testing, offline policy evaluation, counterfactual exploration, and live-calibrated digital twins.

## Detailed walkthrough ### [00:04](https://www.youtube.com/watch?v=G0xBkNl211w&t=4s) Why Models Need Simulation Beyond Generative Hallucinations

Generative AI has made hallucinations a familiar concept, representing what is essentially "a simulation gone wrong"—a scenario where a model predicts a sequence of tokens with high internal confidence despite the output being factually incorrect. While diagnosing those failures is crucial, synthetic simulation plays a fundamentally different and productive role across practical machine learning applications. In many enterprise settings, teams have accumulated large volumes of training data that cannot be directly utilized due to strict compliance, regulatory, or privacy constraints. Despite these restrictions, the data contains valuable underlying statistical properties. By training a simulator to replicate those statistical patterns safely, teams can generate high-utility synthetic data for downstream model training.

```mermaid flowchart TD accTitle: Hybrid Simulator Architecture and Sequential Decision Flow subgraph S1["1. State & Context (Time t)"] A["Contextual Information<br/>(Prices, Demand, Locations, Weather)"] B["Historical Trajectory<br/>(Past Customer & Demand History)"] end

subgraph S2["2. Hybrid Simulation Core"] C["Mechanistic Rules<br/>(Hard constraints, Eligibility)"] D["Agent Incentives<br/>(Customer vs. Driver Utility)"] E["Probabilistic Stochasticity<br/>(Demand & Weather Draws)"] F["Generative Residual Learning<br/>(Transformers / ML models)"] end

subgraph S3["3. Action & Response Loop"] G["Platform Action<br/>(Assign Driver, Price, ETA)"] H["Agent Response<br/>(Accept, Cancel, Wait)"] end

subgraph S4["4. State Transition (Time t+1)"] I["Updated World State<br/>(Shifted Supply, Bid-Up Prices, New Demand)"] end

S1 --> S2 S2 --> G G --> H H --> I I -.->|"Feeds Next Step"| S1 ```

A parallel motivation arises in cold-start and data-scarce environments, such as a new business venture with only a few months of operational logs. While insufficient on its own to train complex architectures directly, that limited history contains foundational patterns that can seed rigorous simulations. Building these systems requires moving beyond ad-hoc data synthesis toward formal design paradigms that guarantee sequential data generation remains robust, verifiable, and decision-relevant.

[01:53](https://www.youtube.com/watch?v=G0xBkNl211w&t=113s) Limitations of Real-World Observational Data

ML practitioners rarely face a total absence of data; the deeper challenge is that observational data is burdened by structural limitations:

- **Sparsity**: High-stakes phenomena are often statistically rare. In payment processing and fraud detection, the vast majority of transactions are routine and legitimate, leaving the rarest, most damaging edge cases poorly represented. - **Policy Bias and Feedback Loops**: Observational data is never generated in a vacuum. It reflects historical business policies. Training models purely on historical logs locks the system into a reinforcement loop where past rules bias the training distribution, which in turn dictates future policy. - **Delayed Feedback**: The true return on business interventions often lags by months. For example, a customer value initiative may not manifest in top-line revenue immediately; a model trained only on the initial transition period completely misses downstream benefits. - **Privacy and Data Restrictions**: Highly regulated domains like healthcare restrict the use of identifiable patient records, necessitating synthetic generation methods that retain population-level dynamics without leaking private identity data.

[03:47](https://www.youtube.com/watch?v=G0xBkNl211w&t=227s) Conceptual Framework: Sequential Data is Not a Bag of Rows

A foundational error in synthetic data generation is treating sequential time-series data as an independent "bag of rows." Real-world systems possess an intrinsic causal structure: every step is governed by cause-and-effect dependencies. Generating data by merely matching marginal distributions, frequency counts, and 1D histograms can create an illusion of accuracy while violating fundamental domain mechanics—such as generating a rideshare match timestamped before the customer's ride request was ever submitted.

The generation process must instead be framed as an evolving state trajectory. At time $t$, the system resides in an initial state containing real-time context (prices, demand spikes, customer clickstream) alongside historical trajectories (customer behavior history and macro demand patterns). The platform evaluates this state to select an action—such as matching a rider to a specific driver or establishing a price point. The customer evaluates the platform's action, produces a response (accepting or canceling), and thereby transitions the entire system into state $t+1$, altering available driver supply and market price clearing. A simulator must model this entire causal chain rather than sampling disconnected states.

Relying purely on holdout performance across naively simulated data is insidious. A generative model can achieve high predictive scores on synthetic test splits while quietly flattening non-linear dynamics, failing to produce rare states, or memorizing and leaking private records.

[06:52](https://www.youtube.com/watch?v=G0xBkNl211w&t=412s) Structuring the Decision Space: A Hybrid Simulator Architecture

Instead of treating simulation as an unconstrained black-box problem, practitioners must explicitly structure the simulator around specific decision points. In a rideshare or delivery environment, the sequence unfolds through clear operational stages: a rider opens the app under specific weather conditions (e.g., heavy rain), establishing local supply and demand coordinates. The platform decides which driver to assign, what price to set, and what estimated time of arrival (ETA) to quote. The customer responds by booking or abandoning the trip, immediately shifting the state by reducing local driver supply and potentially bidding up dynamic pricing for subsequent users.

To model this accurately, simulators should adopt a hybrid design across four distinct layers:

- **Mechanistic Rules**: Non-negotiable physical laws and policy rules hardcoded directly into the engine. If a driver is ineligible for a certain dispatch, or if requests are processed on a strict first-come, first-served basis, the simulation must strictly enforce these constraints rather than attempting to learn them probabilistically. - **Agent Incentives**: Explicit utility formulations for human decision-makers. Customers optimize for lower prices and minimal wait times, whereas drivers optimize for higher earnings and preferred travel distances. - **Probabilistic Modeling**: Stochastic environmental factors that cannot be learned deterministically (such as sudden weather shifts or exogenous demand surges) are modeled via parameterized random distributions, allowing the simulator to sweep across diverse scenario draws. - **Generative ML Modeling**: Modern generative models are deployed selectively on the *residuals*—the complex, subtle behavioral variations that remain after mechanistic constraints, agent incentives, and environmental stochasticity have been accounted for.

[11:07](https://www.youtube.com/watch?v=G0xBkNl211w&t=667s) Strengths and Blind Spots of Sequential ML Architectures

Different generative model architectures present distinct trade-offs when applied to sequential simulation tasks:

| Model Architecture | Core Strengths | Operational Limitations & Failure Modes | |:--- |:--- |:--- | | **Generative Adversarial Networks (GANs)** | Strong at capturing complex joint statistical distributions. | Highly susceptible to mode collapse, entirely wiping out rare edge cases and tail distributions. | | **Autoregressive Models** | Effective when historical steps have high predictive power over the immediate next token/state. | Degrades rapidly under non-stationarity, external regime shifts, or unexpected environmental shocks. | | **Diffusion Models** | Exceptional at sampling across high-dimensional, multi-modal outcome spaces. | Struggles to inherently maintain strict temporal cause-and-effect directionality. | | **Transformers** | Excels at maintaining long-range contextual dependencies across extended operational sequences. | Prone to confident hallucinations and ungrounded policy leaps when operating outside observed token contexts. |

To counteract these weaknesses, sequential simulators must be constructed like an architectural wireframe. The practitioner defines the precise state space, bounds the available action choices, explicitly conditions customer response functions on prior actions, applies censoring to variables that real-world actors cannot observe in advance, and enforces hard capacity bounds (such as total available driver headcount).

[13:29](https://www.youtube.com/watch?v=G0xBkNl211w&t=809s) Stress-Testing and Simulating Extreme Scenarios

The primary operational value of a simulator is evaluating system behavior under conditions rarely observed in historical logs. In standard on-demand delivery systems, routine operational days with predictable demand are easily modeled directly from historical data to calibrate ETA quotes and dispatch batching (combining multiple nearby pickups into a single driver journey).

The true business risk resides in rare, high-friction disruptions—severe storms, sudden traffic gridlock, or acute driver shortages. These tail events occur infrequently in historical logs, yet they disproportionately dictate customer retention:

> "The decision of you leaning towards using DoorDash versus Uber Eats might be based on a single experience where on a rainy day one of them was able to bring you food and the other one was not."

Observational logs cannot provide sufficient training samples for these critical edge cases. A hybrid simulator solves this by anchoring baseline dynamics in historical data and then executing aggressive stress simulations—artificially injecting extreme driver deficits and severe transit delays. This allows teams to evaluate whether ETA estimation, surge pricing, and batching algorithms remain reliable and robust when operating under severe distribution shifts.

[15:30](https://www.youtube.com/watch?v=G0xBkNl211w&t=930s) Training Downstream Models: Provenance, Causal Ordering, and Validation

When preparing simulated sequential data to train downstream models, mixing synthetic samples and real observations into an undifferentiated pool creates significant risks. Real-world observational data carries higher intrinsic evidential value, whereas synthetic trajectories inherently reflect the assumptions and parameterizations of the simulation engine.

Data pipelines must preserve strict data provenance, explicitly tagging records so downstream architectures (such as decision transformers) can distinguish between empirical history and synthetic runs. Furthermore, synthetic trajectories must enforce strict causal ordering where cause strictly precedes effect. To ensure rigorous evaluation, practitioners must maintain an untouched, pristine holdout split of real-world data—isolated from both simulator calibration and downstream model training—to serve as the final stress test.

Evaluating a simulator cannot be reduced to a single aggregate metric. Validation requires a multi-dimensional approach, beginning with basic statistical fidelity to confirm that marginal and joint distributions align with reality, before verifying state-transition dynamics and downstream decision utility.

[17:12](https://www.youtube.com/watch?v=G0xBkNl211w&t=1032s) Evaluating Simulator Utility, Robustness, and Directional Validity

Evaluating a sequential data simulator requires moving far beyond surface-level visual similarity to scrutinize operational value. The primary hurdle is utility: if the synthetic data produced by the simulator fails to demonstrably improve model performance on an out-of-sample or holdout dataset, pursuing simulation may not be worth the investment. Robustness acts as an explicit audit of the assumptions engineered into the system. Practitioners must ask how drastically downstream predictions shift when foundational structural assumptions are modified. Alongside robustness and privacy safeguards against data leakage, directional validity serves as an essential sanity check.

In many complex operational settings, a simulator cannot provide exact quantitative precision, such as definitively ruling whether a price should be set at $5 or $6. However, it must be directionally dependable: when a specific policy intervention is applied, the simulator must correctly reflect whether prices should rise or fall. If a simulator cannot capture the correct directional movement, it exposes a fundamental flaw in the modeling logic that demands immediate remediation rather than minor parameter tuning.

- **Utility threshold:** Synthetic sequences must yield measurable out-of-sample generalization gains to justify production investment. - **Directional accuracy:** Reliable qualitative trajectory (up vs. down) takes precedence over false precision when ground truth is inherently uncertain. - **Red flag criterion:** Directional failure indicates structural breakdown rather than routine calibration error.

---

[18:22](https://www.youtube.com/watch?v=G0xBkNl211w&t=1102s) Recommendation Feedback Loops and Policy Bias

Observational data in sequential domains is heavily skewed by the legacy systems that produced it. Recommendation engines—whether deployed on an e-commerce marketplace or a music streaming platform—do not present items arbitrarily. What a user sees, the sequence in which it is presented, and the precise moment of exposure are governed by an underlying algorithm. Consequently, all recorded user interactions are downstream effects of prior algorithmic choices rather than pure expressions of organic intent.

In a music streaming scenario, an algorithmic ranking presents a listener with a specific candidate track. The user decides whether to play or skip, a choice heavily modulated by transient behavioral states such as fatigue or novelty seeking. That decision immediately feeds back into the user’s state profile. When training a simulator or evaluating a replacement recommendation policy on historical playback logs, treating those records as neutral customer preferences introduces dangerous feedback loops. The system risks learning its own historical ranking artifacts rather than true user dynamics.

```mermaid flowchart TD accTitle: Recommendation System Feedback Loop subgraph System ["Policy / System"] A["Recommendation Policy"] -->|"Ranks & presents items"| B["Exposed Item"] end subgraph User ["User Dynamic State"] B -->|"Interaction trigger"| C["User Action: Play / Skip"] C -->|"Modulated by fatigue & novelty"| D["Updated User State"] end D -->|"Historical logs"| A ```

- **Non-random presentation:** User interaction sequences reflect previous algorithmic filters, not unfettered organic preferences. - **Endogenous state shifts:** Listener states are actively reshaped by the fatigue, novelty, and sequencing imposed by previous models. - **Feedback trap:** Simulators trained uncritically on historical logs mistake the historical policy's constraints for natural user behavior.

---

[20:03](https://www.youtube.com/watch?v=G0xBkNl211w&t=1203s) Counterfactual Reasoning and Off-Policy Evaluation

Beyond extreme stress testing, the greatest operational value of simulation lies in generating counterfactuals: answering what would have occurred had a radically different decision been executed. In ad auctions, production pipelines process an incoming auction context, invoke a ranker to order competitive bids, and observe whether an ad conversion takes place. Under normal production, observers only capture data along this single observed branch.

Practitioners routinely need to evaluate alternative decisions—such as swapping the top-ranked ad for the fifth candidate or altering reserve pricing—without disrupting production environments. This discipline, known as off-policy evaluation (OPE), uses simulation to project counterfactual conversion probabilities. While completely unobserved trajectories cannot be fabricated out of thin air, scenarios that appeared in even a tiny fraction of historical interactions (for example, in 5% of edge cases) provide enough underlying structure for a simulator to evaluate untried candidate rankers with statistical confidence.

- **Observed vs. counterfactual:** Production logs reveal only the winning policy path, concealing alternative ranking and pricing payoffs. - **Off-Policy Evaluation (OPE):** Allows teams to test novel scoring policies against historical interaction manifolds without live traffic risks. - **Leveraging rare overlap:** Counterfactual estimation exploits low-frequency production variations (e.g., 5% overlap subsets) to ground unobserved paths.

---

[21:57](https://www.youtube.com/watch?v=G0xBkNl211w&t=1317s) Simulating Intervention Strategies for Subscription Churn

Customer retention illustrates how counterfactual simulation prevents expensive policy mistakes. When telemetry reveals a subscriber's platform engagement is deteriorating, they enter an elevated churn risk state. The default, reflexive business policy is often to issue a direct financial discount—such as a 20% subscription offer—and wait to see whether the user renews. While this may salvage the account, it directly surrenders operating margin.

```mermaid flowchart TD accTitle: Counterfactual Retention Strategies subgraph Trigger ["Risk Detection"] A["Declining Usage Observed"] end subgraph Counterfactuals ["Evaluated Policies"] A -->|"Default Path"| B["Issue 20% Discount Offer"] A -->|"Alternative Path"| C["Deliver Targeted Onboarding & Guidance"] end subgraph Financials ["Outcome Assessment"] B --> D["Higher Direct Dollar Cost / Margin Loss"] C --> E["Low Delivery Cost / Increased Platform Engagement"] end ```

A structured simulator allows teams to model alternate, cost-effective counterfactual interventions before committing capital. Instead of forfeiting revenue with a price cut, the business can simulate the impact of targeted onboarding guidance, workflow coaching, or automated educational emails designed to remove product friction and rekindle active usage. Because testing dozens of variations live on real customers risks accelerating churn, pre-computation via simulation provides the only safe mechanism to surface optimal retention policies.

- **Default policy cost:** Automatic price discounting preserves subscriber count at the direct expense of recurring margin. - **Alternative interventions:** Guided feature onboarding and educational prompts can restore engagement at near-zero incremental delivery cost. - **Pre-deployment simulation:** Simulating behavioral branching avoids running destructive A/B tests on users already teetering on cancellation.

---

[23:08](https://www.youtube.com/watch?v=G0xBkNl211w&t=1388s) Multi-Dimensional Stress Testing Under Operational Constraints

Establishing trust in a simulator and its downstream models requires rigorous stress testing across diverse operational dimensions. In domains like ride-sharing and on-demand delivery, systems must be systematically evaluated against drastic demand swings, alternating between prolonged demand droughts, sudden hyper-surges, and chaotic oscillation sequences. The simulator must generate coherent, realistic data across every extreme state.

Simulators must also model operational imperfections rather than assuming pristine environments: - **Agent latency:** Artificial delays must be injected into multi-agent response loops to ensure lagging communications do not trigger system instability or catastrophic behavioral loops. - **Missing information and partial telemetry:** Training pipelines must be subjected to intentionally dropped records, masked fields, and corrupted logs to ensure downstream models remain resilient when real-world data feeds fail. - **Mechanistic and capacity bounds:** Hard physical constraints—such as depleted driver supply or localized inventory exhaustion—must be enforced so the simulation cannot invent impossible throughput. - **Macro environment drift:** Models validated during one season can fail months later due to unmodeled external macroeconomic shocks, such as unexpected tariffs or supply chain disruptions altering underlying market dynamics.

---

[25:24](https://www.youtube.com/watch?v=G0xBkNl211w&t=1524s) Privacy Risks and Nearest-Neighbor Auditing

Generating synthetic data does not inherently ensure compliance with privacy regulations. In high-dimensional sequential records, behavioral patterns often act as unique fingerprints. For instance, smart electricity meters continuously log the micro-patterns of home appliance usage. The specific cadence and sequence with which appliances turn on and off can be completely unique to an individual household.

If an adversary possesses observed anonymized records and high-fidelity simulated sequences, they can perform nearest-neighbor matching across the feature trajectories to reconstruct the user's real-world identity. This directly breaches privacy guarantees. To prevent synthetic models from memorizing and reproducing real user traces, simulators must implement strict gating criteria, including continuous distance-based auditing and nearest-neighbor checks, to guarantee sufficient divergence from training points before simulated datasets are approved for downstream consumption.

- **Sequential fingerprinting:** Granular time-series signatures (e.g., smart meter power curves) can uniquely identify households even without explicit PII. - **Re-identification via matching:** Overly faithful synthetic records allow adversaries to link simulated profiles to real individuals through trajectory correlation. - **Nearest-neighbor gating:** Automated distance audits must verify that generated sequences maintain sufficient statistical distance from source user data.

---

[26:44](https://www.youtube.com/watch?v=G0xBkNl211w&t=1604s) Escaping the Self-Fulfilling Prophecy of Policy Bias

Simulators that ingest historical operational data without structural context naturally fall into a self-fulfilling prophecy. Historical logs inherently reflect the decisions made by the policies operating at the time the data was captured. When a simulator trains naively on these logs, it treats the observed outcomes as natural dynamics of the environment, making the historical policy appear universally optimal.

> "Simulators that learn from old policies which is what you would see in your historical data will not do a good job. It's going to make it look like repeating those same policies are are going to do always be doing a good job. It's almost like a it's a foregone conclusion. It's it's it's a it's a self-fulfilling prophecy."

To overcome this failure mode, previous policies must be modeled explicitly within the simulation architecture. If past pricing was determined as a specific mathematical function of real-time demand, that rule must be formally encoded as an active agent action rather than absorbed as exogenous, organic marketplace behavior. Only by disentangling the governing policy from the environment can a simulator reliably evaluate novel counterfactual strategies.

- **The policy bias trap:** Models trained on historical logs mistake legacy operational rules for immutable laws of customer behavior. - **Self-fulfilling loops:** Unadjusted simulations inevitably conclude that historical actions were the best possible decisions. - **Explicit policy isolation:** The mathematical rules governing historical interventions must be formally decoupled from ambient environment transitions.

---

[27:47](https://www.youtube.com/watch?v=G0xBkNl211w&t=1667s) Five Major Failure Modes in Sequential Simulation

Building sequential simulators involves navigating critical pitfalls that can quietly undermine downstream machine learning systems. These failure modes span statistical mismatches, structural logic violations, and organizational engineering breakdowns:

```mermaid flowchart TD accTitle: Simulator Failure Modes subgraph Statistical ["Statistical Failures"] F1["Marginal Match with Transition Mismatch"] F2["Mode Collapse & Missing Rare Events"] end subgraph Causal ["Structural & Causal Failures"] F3["Feature Leakage & Causal Inversion"] F4["Optimizing to the Simulator"] end subgraph Operational ["Operational Governance"] F5["Untracked Assumptions"] end ```

1. **Marginal Match and Transition Mismatch:** A simulator may mirror macro-level summary statistics—such as matching the true distribution mean and standard deviation—while entirely failing to model dynamic sequential transitions. A synthetic user profile might show hundreds of active engagement and browsing events followed by a zero conversion rate. This dynamic disconnect reveals that the simulator never learned the true causal link between engagement and downstream purchasing. 2. **Mode Collapse and Missing Rare Paths:** When low-frequency events carry massive operational significance, unconstrained simulators often drop them entirely. In an environment with a known 1% fraud baseline, generating millions of synthetic sessions without a single fraudulent transaction renders the simulator useless for training fraud detection models. 3. **Feature Leakage and Broken Causality:** Simulators frequently break chronological cause-and-effect by learning raw statistical correlations across the entire sequence. A glaring example occurs when a user's simulated account state displays a "refund status" before any product offer or purchase event has taken place. 4. **Optimizing to the Simulator:** Downstream models trained on simulated data will aggressively exploit the simulator's internal biases and modeling shortcuts, essentially "grading its own work." To maintain integrity, the simulation engine must remain strictly decoupled from the validation and evaluation framework that scores it. 5. **Untracked Assumptions:** The most prevalent practical risk is failing to document engineering heuristics. If an engineering team hardcodes behavioral constraints, state transition logic, or demand processes during initial development without maintaining a disciplined registry, the simulator becomes impossible to safely audit or update as market dynamics shift over time.

---

[31:43](https://www.youtube.com/watch?v=G0xBkNl211w&t=1903s) The End-to-End Simulation Lifecycle

Deploying reliable sequential simulators requires an iterative, governed lifecycle designed around continuous auditing and assumption tuning. Rather than viewing simulation as a one-off synthetic data generation task, the architecture operates as a closed feedback loop spanning six distinct stages:

```mermaid flowchart LR accTitle: End-to-End Simulation Lifecycle subgraph Design ["Design & Generation"] A["1. Audit"] --> B["2. Specify"] B --> C["3. Generate"] end subgraph Validation ["Validation & Training"] C --> D["4. Validate"] D --> E["5. Train"] end subgraph Operations ["Deployment & Feedback"] E --> F["6. Monitor"] F -->|"Drift feedback & parameter tuning"| A end ```

- **Audit:** Ground the project in domain intuition and causal physics rather than raw distributions. For ride-sharing, this means explicitly tracing how prices depend on spatial supply counts and customer demand from preceding timesteps. - **Specify:** Translate audited business logic into hard mathematical constraints, defining strict state boundaries and controlling exactly what information the simulator is allowed to observe at each discrete timestep. - **Generate:** Produce high-volume sequential trajectories across diverse operating regimes, spanning baseline business-as-usual scenarios, stress-testing surges, and constrained capacity environments. - **Validate:** Run generated sequences through automated gating pipelines that verify physical consistency, check transition distributions, and enforce privacy barriers (e.g., nearest-neighbor distance auditing). - **Train:** Augment sparse observational datasets with validated simulated sequences to train downstream decision and transformer models, benchmarking performance against holdout splits of real-world data. - **Monitor:** Continuously track model performance in production to identify localized degradation or emergent data drift. When performance dips, operational telemetry feeds directly back into the initial Audit phase to refine assumptions for the next development cycle.

[33:55](https://www.youtube.com/watch?v=G0xBkNl211w&t=2035s) The Spectrum of Simulation Needs: From Data Augmentation to Digital Twins

Not every organization or use case requires an exhaustive, end-to-end simulation infrastructure. The investment and sophistication needed vary widely across different business contexts. At the entry level, simulation serves simply to augment scarce or skewed data—such as synthesizing rare instances of fraud to safeguard customer experience and platform health. Moving slightly higher in complexity, businesses rely on scenario testing to build robustness against anticipated real-world perturbations, such as testing how pricing mechanisms handle adverse weather like rain or heavy traffic congestion.

```mermaid flowchart LR accTitle: Spectrum of Simulation Sophistication subgraph S1["Data Augmentation & Testing"] A["Augment Scarce Data<br/>(e.g., Fraud detection)"] B["Scenario Testing<br/>(e.g., Weather, Traffic)"] end subgraph S2["Policy & Causal Reasoning"] C["Offline Policy Evaluation<br/>(Rare/Unseen scenarios)"] D["Counterfactual Decisions<br/>(Altered trajectories)"] end subgraph S3["Full Virtualization"] E["Calibrated Digital Twin<br/>(Live synthetic business lab)"] end A --> B --> C --> D --> E ```

As the ambition grows, the next tier involves offline policy evaluation. Here, teams need a reliable foundation to safely evaluate strategies under conditions that rarely or never occurred in historical data. Beyond evaluation lies counterfactual reasoning, where entire sequences, user journeys, or policies are drastically rewritten to assess what would have happened under completely different operating choices. At the apex of the maturity curve is the fully calibrated digital twin—a synthetic, real-time replica of the entire business ecosystem that continuously recalibrates against live operational data, serving as an interactive laboratory for running experimental interventions.

- **Scarce Data Augmentation**: Generating synthetic examples for critical but rare events (e.g., fraud detection) without requiring heavyweight simulation machinery. - **Operational Scenario Testing**: Stress-testing pricing and allocation systems against known operational shifts (e.g., weather disruptions, traffic surges). - **Offline Policy Evaluation**: Testing the validity of unobserved or low-probability strategies in a safe, offline environment. - **Counterfactual Decision-Making**: Modifying complete historical trajectories and systemic policies to understand alternative causal paths. - **Calibrated Digital Twin**: Running a dynamic, constantly updating virtual environment that mirrors real business operations for advanced experimentation.

---

[35:40](https://www.youtube.com/watch?v=G0xBkNl211w&t=2140s) Core Principles for Trustworthy Sequential Simulation

When constructing sequential simulators, treating events as independent or randomly distributed leads to flawed models. Real-world dynamics follow temporal and causal structures, making it essential to simulate entire trajectories or traces rather than isolated rows of data. Merely matching superficial distributional properties or statistical marginals is deceptive; a model can match historical distributions perfectly while violating fundamental operational logic. Practitioners must resist using unconstrained black-box models—such as unguided transformers—and instead hardcode physical constraints, impossible states, and strict causal mechanisms where certain downstream events cannot logically occur without prerequisite upstream triggers.

```mermaid flowchart TD accTitle: Core Principles for Trustworthy Simulation subgraph P1["Sequential Fidelity & Mechanisms"] A["Simulate Full Trajectories<br/>(Not isolated rows)"] B["Encode Hard Constraints<br/>(Logical causal rules)"] end subgraph P2["Validation & Integrity"] C["Stress & Sensitivity Testing<br/>(Beyond out-of-sample R²)"] D["Track Provenance & Tag Data<br/>(Prevent synthetic pollution)"] end A --> B B --> C C --> D ```

Validation for sequential simulators is far more demanding than calculating standard out-of-sample metrics like $R^2$. Evaluators must verify how the system behaves under stress scenarios and run sensitivity analyses to measure how dependent downstream model performance is on specific structural assumptions. Because these assumptions are inevitably formulated with incomplete knowledge, systems must remain resilient to a variety of structural conditions. Finally, maintaining clear data provenance is vital: models trained on hybrid datasets must explicitly distinguish between synthetic and observational feeds. In panel data settings, synthetic user trajectories must run in parallel without crossing causal boundaries—ensuring that a simulated action is never mistakenly credited with causing a real-world effect.

- **Trajectory-Level Simulation**: Simulating complete event paths rather than independent rows to maintain sequential coherence. - **Mechanisms Over Marginals**: Prioritizing logical preconditions and domain constraints over matching surface-level statistical distributions. - **Stress and Sensitivity Validation**: Evaluating simulation stability under extreme edge cases and varying underlying assumptions. - **Provenance and Separation**: Rigorously tracking synthetic tags and keeping simulated trajectories isolated to prevent contaminating real-world causal inferences.

---

[38:20](https://www.youtube.com/watch?v=G0xBkNl211w&t=2300s) Closing Remarks and Connecting on Simulation Research

To conclude the presentation, the speaker emphasizes the practical impact and rapid evolution of simulation methods in modern machine learning workflows. Developing robust simulators that can train downstream models reliably remains an active, critical area of work within industry day-to-day operations, especially when navigating data sparsity and dynamic decision-making. The session wraps up with an invitation to practitioners and researchers to connect offline for further discussions on building trustworthy sequential simulation systems.

## Notable quotes > [00:04](https://www.youtube.com/watch?v=G0xBkNl211w&t=4s) a simulation gone wrong — Abhimanyu Mukerji

> [01:53](https://www.youtube.com/watch?v=G0xBkNl211w&t=113s) ML practitioners rarely face a total absence of data; the deeper challenge is that observational data is burdened by structural limitations — Abhimanyu Mukerji

> [03:47](https://www.youtube.com/watch?v=G0xBkNl211w&t=227s) Generating data by merely matching marginal distributions, frequency counts, and 1D histograms can create an illusion of accuracy while violating fundamental domain mechanics — Abhimanyu Mukerji

> [13:29](https://www.youtube.com/watch?v=G0xBkNl211w&t=809s) The decision of you leaning towards using DoorDash versus Uber Eats might be based on a single experience where on a rainy day one of them was able to bring you food and the other one was not. — Abhimanyu Mukerji

> [15:30](https://www.youtube.com/watch?v=G0xBkNl211w&t=930s) Real-world observational data carries higher intrinsic evidential value, whereas synthetic trajectories inherently reflect the assumptions and parameterizations of the simulation engine. — Abhimanyu Mukerji

> [17:12](https://www.youtube.com/watch?v=G0xBkNl211w&t=1032s) If a simulator cannot capture the correct directional movement, it exposes a fundamental flaw in the modeling logic that demands immediate remediation rather than minor parameter tuning. — Abhimanyu Mukerji

> [18:22](https://www.youtube.com/watch?v=G0xBkNl211w&t=1102s) The system risks learning its own historical ranking artifacts rather than true user dynamics. — Abhimanyu Mukerji

> [25:24](https://www.youtube.com/watch?v=G0xBkNl211w&t=1524s) In high-dimensional sequential records, behavioral patterns often act as unique fingerprints. — Abhimanyu Mukerji

> [26:44](https://www.youtube.com/watch?v=G0xBkNl211w&t=1604s) Simulators that learn from old policies which is what you would see in your historical data will not do a good job. It's going to make it look like repeating those same policies are are going to do always be doing a good job. It's almost like a it's a foregone conclusion. It's it's it's a it's a self-fulfilling prophecy. — Abhimanyu Mukerji

> [35:40](https://www.youtube.com/watch?v=G0xBkNl211w&t=2140s) Merely matching superficial distributional properties or statistical marginals is deceptive; a model can match historical distributions perfectly while violating fundamental operational logic. — Abhimanyu Mukerji

## Mentioned Abhimanyu Mukerji, Amazon, Ai4, DoorDash, Uber Eats, Generative Adversarial Networks (GANs), Autoregressive Models, Diffusion Models, Transformers, Decision Transformers

## Video description Abhimanyu Mukerji - Science Manager and Research Lead, Amazon

When real-world sequential data is sparse, biased, delayed, or impossible to access, how do we train models to reason well instead of hallucinating patterns? This talk will explain how to generate synthetic and simulated sequential data in ways that are distribution-agnostic, robust, and trustworthy enough to support modern ML systems, including transformer-based models. The talk will show how simulation can be used not just for prediction, but also for recommendations, policy evaluation, and counterfactual reasoning in dynamic environments. Attendees will learn practical principles for designing simulators that preserve the right structure, stress-test models under shift, and avoid misleading conclusions. The session will be especially useful for practitioners who need better data-generation strategies when observational data is incomplete or operationally constrained, and want a more reliable path from limited real-world data to models that generalize, adapt, and support better decisions.

[Source](https://www.youtube.com/watch?v=G0xBkNl211w)

中文简报

亚马逊AI负责人主张引入硬性因果规则以修正有偏训练数据 直接基于历史观测日志训练模型会使系统陷入自我实现的策略偏差,需要工程师硬编码机制性规则,并将生成式算法限制在残差行为变异的建模上。 该演讲提出了一个用于序列模拟的综合框架,指出真实世界的时间序列数据必须被建模为动态因果状态轨迹,而非相互独立的行集合。Mukerji主张采用混合模拟器架构,将物理机制规则、智能体效用激励、环境随机性以及针对残差的生成式ML相结合。该方法能够实现反事实推理、离线策略评估,以及针对恶劣天气或司机短缺等罕见运营冲击的稳健压力测试。演讲最后剖析了五种主要失效模式(如特征泄漏和状态转移不匹配),并确立了受治理的六阶段模拟生命周期。 合成序列模拟提供了一种安全合规的途径,能够从无法直接训练模型的受限、私密或冷启动企业数据中释放统计效用。 (0:04) 真实世界的观测数据在结构上面临关键边缘案例稀疏、业务反馈回路延迟、隐私限制以及历史策略偏差等制约。 (1:53) 序列数据不能被视作独立的“行集合”;仅匹配表面的边际分布往往掩盖了对底层因果状态转移的灾难性破坏。 (3:47) 稳健的模拟器需要四层混合设计,将硬性机制规则、智能体激励效用、环境随机性与严格应用于残差行为的生成式ML结合起来。 (6:52) 不同的序列生成架构存在固有的盲区(如GAN模式崩溃或transformer幻觉),因此需要围绕状态空间和动作边界建立严格的运行框架约束。 (11:07)

Reading summary

Amazon's presentation at Ai4 argues that training sequential machine learning models purely on observational logs traps systems in policy bias and causal errors. To safely evaluate edge cases and counterfactual interventions, teams must employ structured, hybrid simulation architectures that combine mechanistic domain constraints with generative residual learning. Limits of Observational Logs and Row-Based Generation (1:53) Real-world operational data presents severe structural limitations for sequential decision-making. Observational datasets frequently suffer from acute sparsity around high-stakes tail events—such as rare payment fraud or acute driver deficits—as well as delayed feedback loops and privacy restrictions. Crucially, treating time-series trajectories as an independent "bag of rows" destroys temporal causality, generating impossible sequences such as dispatching a rideshare vehicle before a ride request occurs or recording an account refund prior to an initial purchase offer. Furthermore, historical data inherently mirrors the legacy business policies under which it was recorded. Simulators trained naively on unadjusted operational logs mistake past rules for natural environmental dynamics. This policy bias creates a self-fulfilling prophecy where the simulator repeatedly concludes that historical actions were optimal, obscuring superior alternative strategies. A Four-Layer Hybrid Simulation Architecture (6:52) Standard generative architectures exhibit distinct blind spots when modeling state sequences: generative adversarial networks (GANs) suffer from mode collapse that wipes out critical rare paths, autoregressive models break down under non-stationary regime shifts, diffusion models struggle to enforce temporal directionality, and transformers risk confident hallucinations outside observed contexts. Consequently, sequential simulators cannot be deployed as unconstrained black boxes. To ensure fidelity, the presentation outlines a four-layer hybrid framework: first, non-negotiable physical realities and operational policies (such as dispatch eligibility and driver headcount limits) are hardcoded as mechanistic rules; second, explicit utility functions govern agent incentives (such as balancing rider price sensitivity against driver earnings); third, parameterized probability distributions model stochastic environment shocks like weather and demand surges; finally, generative machine learning models are applied selectively to capture the remaining behavioral residuals. Counterfactual Reasoning and Operational Stress-Testing (13:29) The primary operational value of a sequential simulator lies in stress-testing disruptions rarely captured in historical logs and evaluating counterfactual decisions without live traffic risk. In on-demand delivery, routine operational days are easily calibrated from historical data, but rare disruptions—such as severe storms or localized gridlock—disproportionately drive customer retention, such as determining user loyalty between competing platforms based on single-event delivery reliability. Simulators enable off-policy evaluation (OPE) by leveraging rare historical overlap (such as 5% production exploration subsets) to project outcomes along untried decision branches. In subscription retention, for example, rather than defaulting to an automatic 20% discount that preserves accounts at the expense of operating margins, businesses can simulate lower-cost counterfactual interventions, such as guided onboarding and product coaching, before committing capital. Governance, Privacy Auditing, and Directional Validation (17:12) Validating sequential simulators requires evaluating dynamic state transitions rather than relying on aggregate out-of-sample metrics like R² or superficial marginal distributions. A simulator can accurately mirror macro means and standard deviations while completely failing sequential transition logic, such as modeling extensive web browsing that never yields downstream conversions. System evaluations must prioritize directional validity—reliably predicting whether an intervention causes metrics like prices to rise or fall—and decouple the simulation engine from the validation framework to prevent downstream models from exploiting internal simulator shortcuts. Operational governance also demands strict data provenance and privacy protections. Because high-dimensional behavioral traces—such as smart meter power usage curves—can function as unique household fingerprints, simulators must enforce nearest-neighbor distance auditing to prevent identity reconstruction. Finally, synthetic trajectories must be explicitly tagged to prevent contaminating real-world causal evaluation pipelines. While sequential simulation maturity ranges from basic fraud data augmentation to fully calibrated enterprise digital twins, the speaker emphasizes that unmodeled macroeconomic drift and untracked engineering heuristics present persistent failure risks. Trustworthy deployment requires continuous lifecycle auditing, where live production telemetry systematically refines the simulator's core behavioral assumptions.

精炼阅读摘要

演讲者指出,基于现实历史日志直接训练序列模型常面临样本稀疏、政策偏置与因果破裂等结构性缺陷;构建值得信赖的序列仿真系统需摆脱单纯拟合边际分布的黑盒生成思维,转而采用融合物理规则、主体激励、概率扰动及机器学习残差的混合架构,以支撑高风险场景下的反事实推演与决策验证。 现实观测数据的局限与独立行建模误区 (3:47) 业务系统积累的真实观测数据往往受制于四大结构性短板:其一是极端事件的高度稀疏性,如欺诈交易在正常流水中仅占极小比例;其二是政策偏置与反馈闭环,历史日志忠实记录的是过往算法策略干预下的结果而非用户的纯粹意图,不加甄别的训练会使模型陷入复刻旧策略的自我强化循环;其三是干预回报的反馈滞后,早期指标往往无法反映长期价值;其四是高合规要求下的隐私限制,无法直接利用高敏敏感特征。 针对时序数据,最基础也是最致命的错误是将其视为孤立无关的“行集合”(bag of rows)。单纯拟合统计边际分布、频次或一维直方图,极易制造出表面精确却违背客观物理逻辑的时序,例如生成在叫车请求发起之前便已完成匹配的荒谬记录。现实系统在时刻 t 的状态由动态上下文与历史轨迹共同定义,平台派单调价与用户接受取消的往复交互驱动系统步入时刻 t+1。仿真器必须对这一完整的因果链条与状态转移进行显式建模,而非断裂式抽样。 四层混合仿真架构与序列模型权衡 (6:52) 为避免将仿真构建为不可控的黑盒端到端映射,演讲提出了基于明确业务决策节点的四层混合架构。第一层为机械化规则(Mechanistic Rules),以确定性代码直接硬编码物理定律与准入政策(如司机派单资格与先进先出队列);第二层为主体激励(Agent Incentives),针对顾客追求低价快达、司机追求高收益偏好设定明确的效用函数;第三层为概率建模(Probabilistic Modeling),运用参数化随机分布模拟突发恶劣天气或需求突增等外生随机扰动;第四层为生成式机器学习模型(Generative ML Modeling),专门部署于前三层约束无法覆盖的细微行为残差。 主流序列生成架构在仿真落地中均存在固有盲区。生成对抗网络(GAN)擅长拟合高维联合分布,但极易出现模式坍塌(mode collapse)并抹除关键的罕见边缘事件;自回归模型在依赖近期前序状态时预测力强,却难以应对非平稳环境或外生制度突变;扩散模型具备优异的高维多模态采样能力,却难以内生保障严格的时间单向因果;Transformer 擅长长程上下文依赖,但在未观测分布区间容易生成脱离实际的自信幻觉。因此,构建仿真系统必须前置设定严格的状态边界、动作空间与运力容量硬上限。 反事实推理、离线评估与极端压力测试 (20:03) 仿真的核心业务价值在于探索历史日志中极度罕见的极端工况与反事实路径。在即时配送中,常规时段的派单与预估到达时间(ETA)计算依赖常规日志即可平稳拟合,但决定用户平台留存的关键往往是极端恶劣天气或严重运力短缺下的单次履约体验。由于历史观测无法为这类尾部场景提供充分样本,混合仿真器通过人为注入严重通行延误与运力缺口,可系统化压力测试动态调价与订单批处理算法的抗震荡韧性。 在决策层面,仿真使离线策略评估(OPE)成为可能。以广告竞价和订阅防流失为例,生产日志仅能沉淀已执行策略的单一路径;当检测到订阅用户活跃度下滑时,常规策略往往直接提供 20% 折扣挽留,从而牺牲了利润边际。利用仿真系统,团队可以基于历史中仅占 5% 的低频探索数据,推演采用针对性引导教程等低成本干预方案的转化概率,在无需承受线上真实流量流失风险的前提下完成多策略预演。同时,将历史算法规则从环境转移逻辑中解耦,能够有效打破政策偏置的“自我实现预言”。 仿真失效模式、隐私审计与闭环生命周期 (27:47) 序列仿真面临五项关键工程失效模式:边际分布匹配但状态转移失真、模式坍塌导致罕见故障完全缺失、特征穿越造成因果倒置(如在购买前生成退款状态)、下游模型过度迎合仿真器自身偏置(自我批改),以及硬编码工程假设缺乏追踪注册。此外,针对高维连续轨迹(如智能电表功率曲线)易构成唯一用户指纹的特点,系统必须引入严格的最近邻距离审计(nearest-neighbor auditing),防止下游模型通过时序比对逆向重构个体真实身份。 为此,工业级仿真需遵循“审计、规范、生成、验证、训练与监控”六阶段构成的闭环生命周期。在评估标准上,仿真追求方向有效性(Directional Validity)优于虚假的数值精度,即当实施特定调价干预时,系统能可靠反映供需价格的涨跌走势而非纠结于细微误差。生产流水线必须对合成序列进行严格的血统标记与隔离,并始终保留一份未受污染的纯真实世界保留数据集作为终极应力测试基准。 演讲总结表明,仿真需求在产业界呈现从基础数据增强、场景稳健性测试、离线策略评估到高阶实时数字孪生的渐进光谱。确保序列仿真可信的根本原则在于坚持全轨迹建模,并显式引入不可逾越的因果与物理约束;如何平衡合成数据的生成效用、方向准确性与隐私隔离,仍是推动序列决策系统落地的核心工程议题。

Detailed notes — zh

## Background 本内容由 YouTube 频道 Ai4 于 2026 年 8 月 21 日发布,主讲人为来自亚马逊(Amazon)的科学经理兼研究负责人 Abhimanyu Mukerji。视频页面简介指出,本次演讲主要探讨在真实序列数据面临稀疏、有偏、延迟或合规受限等困境时,如何通过构建分布无关、稳健且值得信赖的合成序列仿真系统,来支持 Transformer 等现代机器学习模型的训练、策略评估与反事实因果推理。 ## TL;DR 演讲深入剖析了真实世界序列数据的四大局限性,并告诫从业者切勿将时序数据视作无序的“行集合”,而必须建模为包含硬性机制规则、智能体激励与概率残差的闭环动态轨迹。主讲人系统梳理了 GAN、自回归、Diffusion 与 Transformer 在时序仿真中的权衡与局限,警示了模式坍塌、转移失真、因果倒置与自证预言等常见失效陷阱。此外,演讲提出了从数据审计、规则规约到门禁验证与生产监控的端到端生命周期,展示了如何通过严谨的假设注册表、数据血统隔离与激进压力测试,将仿真能力从基础样本扩充逐步跃迁至离线策略评估(OPE)与反事实推理。 ## Atmosphere & style 整个演讲呈现出浓厚的大厂工业界务实风格,冷静、严谨且极具方法论深度。主讲人摒弃了对纯生成式黑盒模型的盲目崇拜,而是以网约车派单、即时配送、流媒体推荐与防流失干预等鲜活业务为切入点,层层拆解因果逻辑与物理约束。聆听过程中能清晰感受到一种从“表面指标光鲜”走向“底层机制可信”的清醒审视,既有对技术盲区与合规陷阱的犀利剖析,又充满构建高可靠复杂决策沙盒的工程智慧。 ## Key takeaways - [00:04](https://www.youtube.com/watch?v=G0xBkNl211w&t=4s) 生成式模型中的“幻觉”本质上是一种出错的模拟,而在隐私合规限制和冷启动样本匮乏的实际业务中,需要通过严谨的序列合成数据模拟来训练更复杂的模型。 - [01:53](https://www.youtube.com/watch?v=G0xBkNl211w&t=113s) 真实世界的序列数据普遍面临稀疏性(罕见事件极少)、历史策略偏差(正反馈循环污染)、反馈延迟以及受合规保护无法直接使用这四大核心局限。 - [03:47](https://www.youtube.com/watch?v=G0xBkNl211w&t=227s) 序列数据绝非无序的“一袋行数据”,必须建模为由初始状态、历史轨迹、系统动作与用户响应构成的因果状态转移闭环,杜绝因果倒置与时间穿越。 - [05:52](https://www.youtube.com/watch?v=G0xBkNl211w&t=352s) 评估模拟器不能仅看表面的静态分布拟合度;边缘直方图吻合并不代表跨状态转移概率有效,下游模型也可能在留出集上伪拟合而丢失关键时序动态。 - [08:46](https://www.youtube.com/watch?v=G0xBkNl211w&t=526s) 高保真序列模拟器应采用混合架构:将不可违背的“物理机制规则”硬编码,结合“决策智能体模型”刻画各方利益诉求,并用“概率模块”采样系统不确定性。 - [10:25](https://www.youtube.com/watch?v=G0xBkNl211w&t=625s) 纯生成模型各有局限(GAN 易模式坍塌、自回归依赖平稳性、Diffusion 缺乏因果结构),最理想的做法是用规则与激励约束系统,由模型拟合残差部分。 - [13:29](https://www.youtube.com/watch?v=G0xBkNl211w&t=809s) 常态数据只能拟合平稳需求,对于决定用户心智的关键长尾极端场景(如暴雨、运力瘫痪),需通过激进的仿真注入极端延迟与短缺来压力测试下游模型。 - [15:30](https://www.youtube.com/watch?v=G0xBkNl211w&t=930s) 真实数据与合成数据不可等量齐观,必须实施严格的数据溯源(Provenance)标记,并始终保留独立的真实测试集作为终极评估基准以防污染。 - [16:46](https://www.youtube.com/watch?v=G0xBkNl211w&t=1006s) 仿真器评估需兼顾保真度、效用、稳健性、隐私性以及在复杂策略下的定性方向性(Direction),避免单指标带来的决策误判。 - [20:33](https://www.youtube.com/watch?v=G0xBkNl211w&t=1233s) 仿真的高级价值在于离线策略评估(OPE)与反事实推理,帮助企业在不承担线上试错成本的前提下推演未发生策略(如广告重新排序、低成本流失干预)的潜在回报。 - [25:24](https://www.youtube.com/watch?v=G0xBkNl211w&t=1524s) 合成时序数据存在身份重识别泄露风险(如智能电表用电轨迹),流水线中必须引入最近邻距离检查等门控标准进行拦截过滤。 - [26:44](https://www.youtube.com/watch?v=G0xBkNl211w&t=1604s) 必须对历史策略进行显式建模,将旧策略逻辑作为上下文输入,以打破“从旧策略日志学习导致模型再次推荐旧策略”的自证预言闭环偏差。 - [27:47](https://www.youtube.com/watch?v=G0xBkNl211w&t=1667s) 构建时序仿真需严防四大失效模式:边缘分布匹配但转移失真、长尾稀有路径模式坍塌、因果时序颠倒的特征泄露,以及让仿真器“给自己的作业打分”造成的过拟合。 - [30:34](https://www.youtube.com/watch?v=G0xBkNl211w&t=1834s) 团队必须建立严谨的“假设注册表”,对状态转移与需求演化等硬编码假设进行版本化追踪,否则未记录的业务假设将导致仿真系统无法敏捷校准与迁移。 - [33:55](https://www.youtube.com/watch?v=G0xBkNl211w&t=2035s) 仿真基础设施可依据业务成熟度分层推进,从基础的稀缺样本扩充、鲁棒性压力测试,逐步跃迁至离线策略评估、反事实推演乃至全真数字孪生沙盘。 ## Detailed walkthrough ### [00:04](https://www.youtube.com/watch?v=G0xBkNl211w&t=4s) 什么是“教模型去想象”:合成序列数据的价值与挑战 演讲开场明确了主题“Teaching Models to Imagine”(教模型去想象)的核心内涵。在生成式模型(Generative Models)中,大家普遍遇到过“幻觉”(Hallucination)或输出错误,从本质上讲,幻觉其实就是一种“出错的模拟”——模型预测了一串看似正确但实际上完全错误的 Token 序列。理解模拟在何处出错固然关键,但在许多实际业务场景中,存在着另一类极具价值的合成数据模拟(Synthetic Data Simulation)需求。 现实中,企业常常面临两大数据困境: - **合规与隐私限制**:收集了海量训练数据,但出于隐私合规(如患者医疗数据、PII 个人身份信息)无法直接用来训练下游模型,此时需要训练一个模拟模型,生成保留原始统计特性的合成数据副本; - **冷启动与样本匮乏**:业务刚起步,只积累了几个月的数据,不足以直接训练复杂高阶模型,但这些有限数据中蕴含的规律可被用来合成更多数据,进而支撑更复杂的模型训练。 当利用一个模型生成序列数据再去训练其他模型时,核心挑战在于:如何制定设计范式、避开常见陷阱,并以严谨、稳健的方法验证模拟系统的可靠性。 --- ### [01:53](https://www.youtube.com/watch?v=G0xBkNl211w&t=113s) 真实世界序列数据的四大局限性 在实际应用中,面临的问题通常不是“完全没有数据”,而是“手头的数据存在严重缺陷”。主要表现为四个维度: - **稀疏性(Sparsity)**:关心的关键事件发生频率极低。例如在支付欺诈检测中,绝大多数交易都是合法的,极度稀缺的欺诈样本很难直接支撑针对罕见事件的模型训练。 - **历史偏差与正反馈循环(Bias)**:数据不是在真空中生成的,用户行为是对企业现有规则和策略(Policy)的响应。在老策略下收集的数据会污染下游模型,导致新模型延续旧决策,形成难以跳出的闭环偏差。 - **延迟反馈(Delays)**:某项策略的成效无法立竿见影。例如上线了一项提升用户长期价值的项目,其财务和营收收益可能在数月后才会显现;仅用初期数据训练的模型无法捕捉到中长期的收益。 - **受限与受保护数据(Restricted Data)**:如医疗患者健康记录、含敏感个人可识别信息(PII)的数据,在合规监管下被严格禁止直接使用。 --- ### [03:47](https://www.youtube.com/watch?v=G0xBkNl211w&t=227s) 序列数据不是“一袋行”:马尔可夫决策与因果结构 针对序列数据,最致命的认知误区是将其视作“一袋无序的行数据”(bag of rows)。序列数据本质上具有因果链条与内在结构,如果抛弃结构仅做无序采样,即便边缘分布直方图(Histograms)和频率匹配得再完美,在逻辑上也会彻底失效——例如在网约车场景中,绝对不能出现“用户还没发起打车请求,系统就已经完成了匹配”的荒谬模拟。 必须将序列数据建模为状态、历史、动作与响应构成的闭环轨迹转移系统: ```mermaid flowchart LR accTitle: Sequential State Transition Loop accDescr: Diagram showing how state, history, actions, and responses transition the system into a new state. subgraph S0["当前状态 (Time t)"] StateT["状态 Context<br/>(价格/需求/点击)"] HistT["历史 History<br/>(用户历史/过往轨迹)"] end subgraph Act["系统与用户交互"] Action["系统动作 Action<br/>(派单/定价/预估到达时间)"] Response["用户响应 Response<br/>(接受/取消/流失)"] end subgraph S1["下一状态 (Time t+1)"] StateT1["新状态 State t+1<br/>(需求变化/运力扣减/价格调整)"] end StateT --> Action HistT --> Action Action --> Response Response --> StateT1 ``` - **初始状态(State $t$)与历史(History)**:包含当前时刻的环境上下文(价格、需求、天气、用户行为等)以及该用户与大盘的历史交互序列。 - **动作(Action)**:系统在当前上下文下做出的业务决策(如是否将司机派给该乘客)。 - **用户响应(Response)与状态转移(State $t+1$)**:用户根据系统动作做出反应(接受、取消等),驱动整个系统演进到下一个新状态(司机可用运力减少、实时价格调整、待响应需求变化)。 模拟器必须完整地模拟整条动态轨迹及其因果约束,确保状态条件下的动作空间合法,且后续响应严格基于前序动作与状态产生。 --- ### [05:52](https://www.youtube.com/watch?v=G0xBkNl211w&t=352s) 伪拟合与表面评估的陷阱 使用模拟数据训练下游模型时,存在极其隐蔽(insidious)的假象风险: 下游模型在模拟数据的留出测试集(Hold-out samples)上可能表现出极高的评估指标,预测精准,让人误以为系统非常完美。但实际上,这种模拟可能在底层丢掉了关键的时序动态特征、抹去了罕见边缘分支,甚至在生成过程中悄悄泄露了敏感隐私。 评估模拟器绝不能仅看表面的统计拟合度: - **静态分布有效不等于支持决策**:边缘直方图吻合,并不代表其包含正确的决策因果链; - **频率正确不等于转移有效**:单点出现概率匹配,但跨状态之间的转移概率(State Transitions)可能完全失真; - **指标好看不等于安全合规**:未经约束的模拟模型可能会无意间复现训练集中的敏感信息,带来严重的隐私泄露风险。 --- ### [06:52](https://www.youtube.com/watch?v=G0xBkNl211w&t=412s) 决策约束驱动的模拟器设计:以网约车为例 构建模拟器不能简单地“将海量数据扔给模型让其自由学习”,而必须自顶向下拆解实际要优化的决策目标(无论是平台端决策还是用户端决策),理清业务因果链,将硬性规则硬编码为不可逾越的物理约束。 以网约车派单为例,其核心交互链路如下: 1. **乘客端发起请求**:收集当前上下文(天气如下雨、乘客与司机各自的经纬度坐标、供需分布); 2. **平台端系统决策**:基于历史与当前状态,决定派单给哪位司机、计算动态定价、预估到达时间(ETA); 3. **乘客端决策响应**:乘客根据平台给出的价格和 ETA 决定是否确认订单或取消; 4. **系统状态更新**:可用运力扣减、需求出清、大盘供需比变化引发价格重估。 在模拟器中,必须显式约束因果依赖关系:派单决策仅能依赖前序状态信息,而乘客的响应行为模拟只能作为“其所见初始状态 + 系统派单与报价”的函数,杜绝时间穿越和无因果依据的拟合。 --- ### [08:46](https://www.youtube.com/watch?v=G0xBkNl211w&t=526s) 混合模拟器架构的三大设计空间 为了构建高保真、可信赖的序列模拟器,应采用融合三种不同范式的混合架构(Hybrid Approach): | 模拟维度 | 核心定位 | 典型场景与设计原则 | |:--- |:--- |:--- | | **机制规则<br/>(Mechanistic Rules)** | 不可违背的“物理定律”与硬约束,直接硬编码 | 准入资格过滤(不合规司机绝不能被派单)、业务排队逻辑(如严格的先进先出 FIFO 服务顺序)。模拟数据绝不能打破此类因果规则。 | | **决策智能体<br/>(Agents Modeling)** | 模拟具有不同利益诉求的人类决策主体 | 分别对**乘客**与**司机**建模:乘客倾向于更低价格与极短的 ETA;司机倾向于更高运费收入与特定里程偏好。决策行为均以环境状态为输入。 | | **概率与不确定性模块<br/>(Probabilistic Components)** | 捕捉系统中固有的随机波动与不可测因素 | 突发天气变化、瞬时极端需求激增等。此类要素无法靠确定性规则推断,必须通过概率分布多次随机采样(Random Draws)进行充分的压力测试与模拟推演。 | ### [10:25](https://www.youtube.com/watch?v=G0xBkNl211w&t=625s) 混合建模与不同生成模型的权衡 在序列数据仿真中,纯粹依靠生成模型从历史轨迹中学习模式往往是不够的。最理想的方案是采用一种结合了硬性机制、智能体激励(Agent Incentives)与机器学习的“混合模型”(Hybrid Model)。在实际业务系统中,有一些核心物理规律或业务规则是无论如何都必须严格保持成立的,而模型则主要用于拟合那些无法被明确规则或激励机制解释的“残差部分”(Residuals)。 ```mermaid flowchart LR accTitle: 混合建模与序列模型评估 subgraph 混合建模框架 A["业务硬规则与约束"] --> C["混合仿真引擎"] B["智能体激励机制"] --> C D["残差数据 (Residuals)"] --> E["生成/序列模型"] E --> C end subgraph 模型局限性评估 C --> F["GAN: 易模式崩溃"] C --> G["自回归: 强依赖平稳性"] C --> H["Diffusion: 缺乏因果结构"] C --> I["Transformer: 需长序列上下文"] end ``` 不同的生成建模范式在序列数据模拟中各有利弊与局限性: - **生成对抗网络(GAN)**:能够较好地复刻原始数据的统计特性,但极易发生模式崩溃(Mode Collapse),从而完全丢失对罕见或极端事件的生成能力。 - **自回归模型(Autoregressive Models)**:其有效性建立在历史数据对下一步具有强预测能力的前提下;如果外部系统受到剧烈冲击导致动态特性改变,或者数据不满足平稳性(Stationarity),该模型便会失效。 - **扩散模型(Diffusion Models)**:非常适合处理多模态输出和多样化结果,但无法显式捕捉底层的因果结构(Causal Structure)以及因果发生的时间先后顺序。 - **Transformer 架构**:在需要跨长序列维护上下文依赖时表现极为出色,但同样依赖特定假设,有时会以极高的置信度给出并不符合实际业务决策逻辑的推断。 --- ### [12:10](https://www.youtube.com/watch?v=G0xBkNl211w&t=730s) 仿真系统的结构化线框设计 构建一个用于训练其他下游模型的仿真系统,绝不能将其视作一个随意输入数据的“黑盒模型”(Blackbox Model),而必须将其设计为一个具有清晰逻辑约束的“线框骨架”(Wireframe)。系统必须首先明确在做出决策前确定成立的**状态(State)**,接着定义所有可用的**动作空间(Action)**——例如展示给用户的特定排序列表、动态定价策略、或者是否对系统进行人工干预。在此基础上,智能体或用户端会结合当前状态与动作做出**响应(Response)**并执行决策。 ```mermaid flowchart TD accTitle: 仿真系统线框骨架 subgraph 决策核心流 S["状态 (State)"] --> A["动作 (Action)"] A --> R["响应 (Response)"] end subgraph 结构性约束 D["信息延迟与截断 (Delays & Censoring)"] -.-> S C["物理硬约束 (Hard Constraints)"] -.-> A end ``` 除了基本的状态-动作-响应循环,仿真架构还必须强制维护特定业务属性: - **信息可见性与延迟(Delays & Censoring)**:在现实中存在数据延迟,必须确保模型在仿真时无法提前观测到其在实际操作中不可见的信息;未观测变量必须严格进行截断隔离。 - **物理硬约束(Hard Constraints)**:例如在运力调度系统中,司机的可用总数存在硬性物理上限,匹配算法绝不能突破这一容量极限。 - 通过引入上述全方位的结构约束与严谨假设,可以严格限制机器学习模型在合法且合理的边界内进行拟合。 --- ### [13:29](https://www.youtube.com/watch?v=G0xBkNl211w&t=809s) 配送系统的极端场景压力测试 以典型的即时配送和网约车系统为例,历史数据中绝大部分时间记录的都是平稳的“常态需求”(Normal Demand)。针对常态场景,只需在历史数据上训练简单的回归或预测模型,就能较好地评估预计送达时间(ETA)并决定是否采取拼单/批处理(Batching,即让司机在同一次行程中顺路提取多笔订单并依次配送)。 然而,业务中最关键的痛点往往出现在低频的极端场景中: - **长尾极端事件的商业价值**:在暴雨天气、突发严重拥堵或运力严重短缺的日子,极端样本在历史记录中出现频率极低,但对用户体验和心智决策具有决定性影响。用户最终倾向于选择 DoorDash 还是 Uber Eats,往往就取决于某一个雨天其中一家能送达而另一家瘫痪的单次关键体验。 - **通过激进仿真进行压力测试**:由于真实世界中很难高频观测到极端故障,合理的做法是利用常态数据学习底层结构机制,随后运行激进的仿真程序(Aggressive Simulations),人为对系统施加极端运力短缺或极端延迟的冲击,以此检验 ETA 预估模型与拼单算法在逆境下的稳健性,并反哺最终的定价与调度策略。 --- ### [15:30](https://www.youtube.com/watch?v=G0xBkNl211w&t=930s) 混合训练陷阱与数据溯源 在利用序列数据训练下游模型时,直觉上可能会把真实历史数据和模拟生成数据混在一起直接喂给模型学习,但这是一种非常危险的做法。真实数据蕴含极高的客观价值,而仿真数据则始终受限于生成时所做出的各种人为假设,二者绝不能等量齐观。 - **数据溯源(Provenance)**:必须向待训练的模型显式标注数据来源,明确区分真实样本与模拟样本。 - **因果时序保护**:仿真生成的信息必须严格遵循因果逻辑链条,即原因必须在时间序列上先于结果发生,尤其在使用 Transformer 进行训练时更需保证这一因果结构。 - **严格留出真实测试集(Held-Out Data)**:必须始终保留一部分完全独立的真实世界数据,既不用于训练仿真器,也不用于下游模型的常规训练,专门作为评估整个序列系统与行为是否符合预期的终极压力测试基准。 --- ### [16:46](https://www.youtube.com/watch?v=G0xBkNl211w&t=1006s) 仿真评估的多维验证框架 评估一个仿真系统是否可靠,不能依赖单一的综合评分,而必须建立一套多维度的评估指标: | 评估维度 | 核心含义与检验标准 | 失败风险与应对方式 | |:--- |:--- |:--- | | **保真度 (Fidelity)** | 基础统计特性复刻能力,边缘分布与联合分布是否与真实数据一致。 | 统计分布失真会导致模型学到虚假的统计相关性。 | | **效用 (Utility)** | 引入模拟数据能否切实提升模型在样本外(Out-of-Sample)测试集上的表现。 | 若无法带来泛化性能增益,则构建模拟器本身便失去业务价值。 | | **稳健性 (Robustness)** | 对结构假设进行微调扰动时,模型预测结果与系统表现的敏感程度。 | 验证系统是否过度依赖特定假设脆弱运行。 | | **隐私性 (Privacy)** | 在全链路生成和流转过程中,严防原始敏感数据的意外泄露。 | 避免在合成序列中重现敏感个体特征。 | | **方向性 (Direction)** | 面对定量信息不足的复杂策略时,仿真必须能准确判断政策调整的正负定性走势。 | 例如调整规则后价格应该上涨还是下跌;若方向判断错误即为重大危险信号。 | --- ### [18:22](https://www.youtube.com/watch?v=G0xBkNl211w&t=1102s) 推荐系统中的内生偏置与反馈回路 在电商平台或内容推荐等应用中,用户所看到的内容绝非任意或随机的,而是完全由底层推荐算法在特定时间、特定序列下决定的。推荐系统与用户交互之间存在强烈的内生偏置与动态反馈闭环。 以流媒体音乐推荐为例: 1. **策略分发**:系统根据用户当前特征输出排序列表,并将 Top 1 的曲目展现给听众。 2. **用户交互响应**:用户基于疲劳度(Fatigue)或对新鲜感(Novelty)的好奇心,做出“播放”或“跳过”的决策。 3. **状态内生演变**:用户的下一步状态(Next State)实际上是由系统上一轮展示的特定内容所塑造的。 4. **仿真器构建风险**:在训练新的推荐模型或构建推荐仿真系统时,必须警惕这种反馈循环(Feedback Loop)。听众的决策并不独立,其所有行为轨迹都已经深深烙上了原有推荐策略的印记。 --- ### [20:03](https://www.youtube.com/watch?v=G0xBkNl211w&t=1203s) 从压力测试迈向反事实推理 仿真系统的能力不仅限于极端边界条件下的稳健性压力测试,其更高阶、更强大的价值在于**反事实推理(Counterfactual Reasoning)**——即探索“如果我们采取了截然不同的重大策略,系统的最终观测结果将发生何种改变”。演讲者在此引出在线广告拍卖(Ad Auctions)这一典型案例,展示如何利用可信仿真在复杂博弈环境下评估不同机制设计的反事实结果。 ### [20:33](https://www.youtube.com/watch?v=G0xBkNl211w&t=1233s) 离线策略评估(Off-Policy Evaluation)与反事实广告排序 在典型的线上广告竞价与推荐系统中,生产环境通常只记录了一条确定性的路径:在特定的竞价上下文(谁参与了出价、当前出价是多少、此时用户的互动水平等)下,线上排序模型(Ranker)输出推荐列表,最终记录下用户是否发生转化。然而,算法迭代的核心诉求往往是反事实推理(Counterfactual Reasoning)——如果当时没有展示排在第一位的广告,而是把排在第五位的广告提上来,或者调整了定价策略,转化概率和最终结果会发生什么改变?由于线上只运行了单一策略,直接观察到的数据永远只是冰山一角。 这就是离线策略评估(Off-Policy Evaluation, OPE)要解决的核心挑战。仿真器的目标不是凭空断言某个未发生的选择一定会转化,而是在统计置信度内评估不同策略的效果。如果某种特定的候选排序组合在历史日志中从未出现过,系统就无法做出有效推断;但如果该模式在历史特定场景或 5% 的样本中曾经出现,仿真器便能利用这些结构化信息进行学习,进而可靠地推演该替代策略在离线环境下的潜在表现。 ```mermaid flowchart TD accTitle: Off-Policy Evaluation and Counterfactual Reasoning subgraph Production ["生产系统(线上实际发生)"] A["竞价上下文\n(出价/价格/互动)"] --> B["线上排序器 Ranker"] B --> C["观测结果\n(转化 / 未转化)"] end subgraph Counterfactual ["仿真器与离线策略评估 (OPE)"] D["相同上下文"] --> E["候选替代策略\n(如: 调整价格/更换Top1广告)"] E --> F["仿真推演转化概率"] end ``` --- ### [21:57](https://www.youtube.com/watch?v=G0xBkNl211w&t=1317s) 用户流失预警与低成本干预的反事实模拟 在订阅制业务与用户流失(Churn)防护场景中,反事实模拟展现了极高的商业决策价值。当监控发现某位订阅用户的活跃度持续下降、面临流失风险时,传统的常规手段往往是直接推送折扣优惠(如立减 20% 的续费促销)。这种做法不仅会直接损失真金白银的收入,而且未必触及用户流失的本质原因。 通过构建能够推演反事实的仿真器,业务团队可以在事前探索海量的潜在干预路径。例如,仿真器可以模拟:如果系统不提供 20% 的折扣,而是通过邮件发送新手上手指引或功能进阶辅导,能否重新激发用户的使用兴趣并促成续费?后者的边际实施成本极低,甚至只需一封自动化引导邮件。由于在真实生产环境中对每个流失用户进行实时试错的成本极高,仿真器为企业在数十种干预方案中筛选出性价比最高的最优策略提供了沙盒环境。 - **高成本被动防御**:直接发放价格折扣(例如 20% 折扣),直接侵蚀利润空间。 - **低成本主动引导**:提供系统功能指引、上手辅助教程或针对性答疑,从提升使用价值层面促成留存。 - **仿真前置测试**:在无法承受真实环境大规模灰度试错的前提下,利用仿真器对数十种干预策略进行离线推演。 --- ### [23:08](https://www.youtube.com/watch?v=G0xBkNl211w&t=1388s) 仿真系统与下游模型的多维度压力测试 要对仿真器以及利用模拟数据训练的模型建立充分的信任,必须在多维度极端场景下对其进行严苛的压力测试(Stress Testing)。以网约车出行和即时配送系统为例,仿真器必须能够合理应对各种波动的业务形态:无论是突发的极端高峰需求、持续的波峰波谷交替序列,还是网络与系统延迟导致的智能体响应滞后。如果仿真器在面对延迟注入时直接崩溃或产生荒谬的数据,说明其内部逻辑存在严重缺陷。 此外,真实环境中的日志记录往往充满缺失值、截断和系统故障。因此,在生成模拟训练数据时,需要主动验证模型对残缺信息的鲁棒性:故意隐藏某些字段、丢弃部分结果,检验下游模型是否依然能学到底层规律。同时,仿真器还必须严格遵循物理与业务层面的机械限制(Mechanistic Restrictions)。如果库存严重短缺或受限,仿真推演必须忠实反映这些约束,防止出现“1 月份仿真有效、6 个月后因关税或供应链变化导致上游断货而全盘失效”的情况。 ```mermaid flowchart LR accTitle: Multi-Dimensional Stress Testing subgraph StressDimensions ["压力测试维度"] D1["极端需求模式\n(突发流量/潮汐变化)"] D2["系统与通信延迟\n(Agent响应滞后)"] D3["数据缺失与残缺日志\n(字段隐藏/观测丢失)"] D4["物理机制与容量约束\n(库存短缺/供应链中断)"] end StressDimensions --> SIM["高保真仿真器"] SIM --> RobustModel["高泛化度下游 ML 模型"] ``` --- ### [25:24](https://www.youtube.com/watch?v=G0xBkNl211w&t=1524s) 合成数据的隐私合规陷阱与近邻过滤机制 生成合成数据(Synthetic Data)本身并不能自动保证符合隐私法规和合规要求。以智能电表(Smart Meters)为例,设备安装在家中并高频记录各类电器的启闭时间与用电负荷。由于不同家庭的生活习惯截然不同,这种电器开关的时序模式可能具备高度的唯一性。 如果仿真器生成的时序数据与真实源数据过于贴近,攻击者完全可以通过将真实数据与模拟序列进行匹配,反向识别出特定家庭的真实身份,从而直接造成严重的隐私泄露违规。为了避免合成数据沦为“去标识化失败”的隐患源头,仿真系统的验证流水线中必须引入严格的准入与门控标准(Gating Criteria)。例如,强制运行最近邻距离检查(Nearest Neighbor Checks),一旦发现生成的合成序列与底层真实用户轨迹距离过近,便直接拦截并修正,确保差分隐私与合规安全。 --- ### [26:44](https://www.youtube.com/watch?v=G0xBkNl211w&t=1604s) 历史策略偏见与自证预言的破解方案 如果仿真器仅仅通过机械地拟合历史日志来学习,它将不可避免地掉入历史偏见(Historical Bias)的陷阱。直接从旧策略生成的数据中学习状态转移,仿真器会错误地认为“重复过去的旧策略永远能取得好结果”,从而陷入一种闭环的“自证预言”(Self-fulfilling Prophecy):从旧策略日志中学习 -> 仿真器重现旧策略轨迹 -> 下游模型在此基础上训练 -> 模型再次推荐旧策略。 解决该问题的关键在于对历史策略进行显式建模(Explicit Modeling)。系统不能把过去的决策行为当作与环境无关的外生变量,而必须将旧策略的决策逻辑作为仿真上下文的一部分显式输入。例如,必须向仿真器明确说明“历史上的定价规则是基于特定需求函数计算得出的”,让模型清楚地将环境物理反应与人为策略干预区分开来。 --- ### [27:47](https://www.youtube.com/watch?v=G0xBkNl211w&t=1667s) 仿真器构建中的四大常见失效模式 在构建和评估时序数据仿真器时,从业者必须警惕从基础统计到深度因果层面的四大典型陷阱: 1. **边缘分布匹配但状态转移失真(Marginal Match vs. Transition Mismatch)**:仿真器在均值、方差等一阶/二阶统计指标上表现完美,但在状态之间的时序跃迁逻辑上全盘错误。例如,模拟出一个高频点击、深度浏览的合成用户,其加购或最终购买转化率却趋近于零;这种互动与购买因果脱节的现象表明模型根本没有学到真实的序列转移规律。 2. **模式坍塌与长尾稀有路径丢失(Mode Collapse & Missing Rare Paths)**:系统在真实世界中有 1% 的欺诈概率(Fraud),但在生成数百万条模拟序列后,欺诈样本却完全消失。仿真器直接“抹除”了极低概率的关键尾部事件,导致训练出的风控模型毫无实战价值。 3. **特征泄露与因果时序颠倒(Feature Leakage & Causality Break)**:逻辑因果关系发生倒置。例如在用户尚未收到任何促销优惠(Offer)之前,时序日志中就已经出现了退款(Refund)状态。这表明模型只是在机械地拟合全局相关性,而丧失了对时间先后与因果逻辑的基本约束。 4. **针对仿真器过拟合与自我裁判(Optimizing to the Simulator & Self-Grading)**:下游模型利用了仿真器自身的缺陷和固有偏差来“刷高”指标,导致线上实测全面溃败。同时,严禁让仿真器兼任自身的评估者——"不能让仿真器给自己的作业打分"(You don't want to be asking the simulator to grade its own work),必须使用独立的验证模型与严格的第三方评测标准进行隔离校验。 | 失效模式 | 典型表象 | 潜在危害与本质原因 | |:--- |:--- |:--- | | **转移失真 (Transition Mismatch)** | 统计均值一致,但高互动用户零转化 | 状态时序链接断裂,未学到转化核心机制 | | **模式坍塌 (Mode Collapse)** | 模拟数百万条样本,1% 概率的欺诈事件完全消失 | 忽略长尾关键路径,风控或异常检测模型失效 | | **特征泄露 (Feature Leakage)** | 未发放优惠前即出现退款记录 | 违背时间单向性与因果链,仅捕获表面相关性 | | **仿真器过拟合 (Overfitting to Simulator)** | 下游模型在模拟环境下表现极佳,上线即崩溃 | 模型利用了仿真器偏差漏洞;缺乏独立的评估模型 | ### [30:34](https://www.youtube.com/watch?v=G0xBkNl211w&t=1834s) 未跟踪假设的隐患与建立假设注册表 在构建仿真系统时,最具有实际操作意义且至关重要的考量,莫过于对底层假设的追踪与管理。现实团队中常见的情况是:工程团队可能在 1 月份构建了一整套复杂的仿真管线,并在需求生成过程、状态转移逻辑等方面引入了大量主观或业务假设。如果这些假设没有被详尽记录,而是在代码中被硬编码硬套,未来其他人员在使用或维护该仿真器时就会陷入巨大困境。因为这些未被显式记录的假设并没有以分布无关(agnostic)的方式被系统自主学习,后续迭代将极难复现或优化。 为了避免模型失效并保全业务价值,团队必须建立一套严谨的“假设注册表”(disciplined registry)。每一次仿真模型的迭代、每一次利用合成数据训练下游模型的过程,都必须清晰记录所依赖的具体假设。缺少这一流程,不仅会导致后续模型出现难以排查的严重错误,更会彻底浪费原本通过仿真所能创造的业务红利。 - **硬编码逻辑的代价**:未归档的状态转移与需求演化假设,会导致仿真系统在面对环境变化时无法敏捷迁移与重新校准。 - **假设注册表的核心价值**:对仿真模型及下游训练模型的每轮迭代实施版本化与假设追溯,是保障系统长期可用性的制度基石。 --- ### [31:43](https://www.youtube.com/watch?v=G0xBkNl211w&t=1903s) 端到端仿真系统生命周期:从审计到生产监控 构建仿真模型及依托其训练下游业务模型存在一个清晰的标准生命周期。这一闭环始于最初的“审计”(Audit)阶段——团队不能仅仅停留在观察数据的统计指标和分布特征上,而必须深入理解底层的业务直觉与运转逻辑。以网约车场景为例,当前时间步的价格往往是前序时间步需求、当前可用运力供给以及实时乘客需求的复合函数。明确这种内在的时序逻辑后,流程进入“规约”(Specify)阶段:工程师需要显式设定硬约束与规则,严格限制仿真器在每个时间步所能访问的信息上下文,以决定下一时刻的系统演变。 ```mermaid flowchart TD accTitle: 序列数据仿真生命周期流转图 subgraph Stage1["1. 规约与生成"] A["业务逻辑审计 (Audit)"] --> B["施加约束与规则 (Specify)"] B --> C["多场景序列生成 (Generate)"] end subgraph Stage2["2. 验证与训练"] C --> D["门禁校验与合规审查 (Validate)"] D --> E["模型混合训练 (Train)"] end subgraph Stage3["3. 部署与迭代"] E --> F["样本外评估与监控 (Monitor)"] F -->|反馈性能衰退与异常| A end ``` 完成规则规约后,系统即可在“生成”(Generate)阶段批量输出不同假设、常态运营(BAU)或极限压力场景下的序列数据。随后,生成的数据必须进入严格的“验证”(Validate)门禁管线,检查其是否符合既定假设与物理特性,并排查隐私与合规风险。通过检验后,合成数据将用于“训练”(Train)下游机器学习模型,大幅扩充原本有限的真实用户样本。最终,模型在真实保留集上通过离线测试并投入生产“监控”(Monitor);一旦监控发现模型在特定极端场景下性能衰退,相关指标便会回流至“审计”阶段,用于修正先验假设与结构约束,完成系统的持续自愈与演进。 --- ### [33:55](https://www.youtube.com/watch?v=G0xBkNl211w&t=2035s) 仿真基础设施的应用阶梯:从数据扩充到数字孪生 企业并非在所有场景下都需要一套完全体形态的仿真基础设施;根据具体业务诉求与投资回报率,仿真能力的建设可以划分为由浅入深的多个层级: | 复杂度层级 | 业务应用场景 | 核心价值与技术实现要求 | |:--- |:--- |:--- | | **基础层:稀缺数据扩充** | 欺诈检测(Fraud)、极低频违规事件捕捉 | 无需构建全链路重度系统,重点在于补充正负样本失衡,保障用户体验与业务安全。 | | **进阶层:鲁棒性与情景测试** | 恶劣天气(如暴雨)、突发交通拥堵下的动态定价系统 | 模拟已知但低频出现的现实冲击,验证既有业务规则和定价策略的抗压弹性。 | | **深化层:离线策略评估** | 评估从未在历史数据中发生过的新产品方案或运营规则 | 摆脱线上 A/B 测试的试错成本,构建可信离线环境以评估未知策略的预期表现。 | | **高级层:反事实因果推断** | 彻底改变历史用户行为轨迹、推演激进新业务策略 | 支持对完整事件轨迹进行干预与重构,以可靠且符合因果律的方式推演反事实走向。 | | **终极形态:高精度数字孪生** | 复杂业务生态的“全真模拟实验室” | 构建一个与真实业务动态实时对齐的数字孪生系统,作为所有重大战略决策的沙盘推演试验场。 | 随着能力从简单的样本补全延伸到离线策略评估和反事实推演,仿真系统对底层机制建模的保真度要求也呈指数级上升。 --- ### [35:41](https://www.youtube.com/watch?v=G0xBkNl211w&t=2141s) 核心原则总结与未来展望:构建可信的序列仿真 在全流程设计序列数据仿真系统时,实践者需要恪守四大支柱原则: 1. **时序轨迹先于孤立事件**:切忌将序列中的每个事件视为独立的随机变量。仿真必须针对整条行为轨迹(traces/trajectories)进行建模。即便某些生成模型在边际分布(marginal distribution)上拟合得天衣无缝,也绝不代表时序结构是正确的。 2. **机制约束先于黑盒模型**:“切勿在没有任何先验约束的情况下直接套用 Transformer 等黑盒模型”。现实世界存在大量硬性因果依赖与逻辑前置条件(某些事件未发生前,特定后续事件绝不可能触发),这些物理机制必须显式编码进仿真引擎。 3. **多维敏感性检验**:模型校验远非计算离线 $R^2$ 那么简单。由于初始假设往往建立在有限信息之上,必须主动进行压力测试与扰动分析,评估一旦核心假设被打破,下游模型性能会发生多大程度的滑坡,从而保证系统具备跨结构的鲁棒性。 4. **数据血统追踪与防污染隔离**:必须对合成数据进行严格的血统标记(provenance)。在数据管道中,绝不能让“模拟的原因被误读为真实的结果”;推荐采用面板数据(panel data)隔离架构,保持真实用户轨迹与合成用户轨迹的并行独立,避免对有限的真实观测数据造成不可逆的信息污染。 演讲最后,分享者总结道,利用高质量仿真训练更聪明、更具备想象力与推理能力的时序模型,不仅是其在日常工作中的核心研发方向,也是现代机器学习系统攻克数据稀缺与策略评估瓶颈的关键路径。 ## Notable quotes > [00:04](https://www.youtube.com/watch?v=G0xBkNl211w&t=4s) 幻觉其实就是一种“出错的模拟”——模型预测了一串看似正确但实际上完全错误的 Token 序列。 — Abhimanyu Mukerji > [03:47](https://www.youtube.com/watch?v=G0xBkNl211w&t=227s) 针对序列数据,最致命的认知误区是将其视作“一袋无序的行数据”(bag of rows)。 — Abhimanyu Mukerji > [05:52](https://www.youtube.com/watch?v=G0xBkNl211w&t=352s) 静态分布有效不等于支持决策;频率正确不等于转移有效;指标好看不等于安全合规。 — Abhimanyu Mukerji > [10:25](https://www.youtube.com/watch?v=G0xBkNl211w&t=625s) 有一些核心物理规律或业务规则是无论如何都必须严格保持成立的,而模型则主要用于拟合那些无法被明确规则或激励机制解释的“残差部分”。 — Abhimanyu Mukerji > [13:29](https://www.youtube.com/watch?v=G0xBkNl211w&t=809s) 用户最终倾向于选择 DoorDash 还是 Uber Eats,往往就取决于某一个雨天其中一家能送达而另一家瘫痪的单次关键体验。 — Abhimanyu Mukerji > [16:46](https://www.youtube.com/watch?v=G0xBkNl211w&t=1006s) 面对定量信息不足的复杂策略时,仿真必须能准确判断政策调整的正负定性走势,若方向判断错误即为重大危险信号。 — Abhimanyu Mukerji > [26:44](https://www.youtube.com/watch?v=G0xBkNl211w&t=1604s) 从旧策略日志中学习 -> 仿真器重现旧策略轨迹 -> 下游模型在此基础上训练 -> 模型再次推荐旧策略。 — Abhimanyu Mukerji > [27:47](https://www.youtube.com/watch?v=G0xBkNl211w&t=1667s) 不能让仿真器给自己的作业打分(You don't want to be asking the simulator to grade its own work),必须使用独立的验证模型与严格的第三方评测标准进行隔离校验。 — Abhimanyu Mukerji > [35:41](https://www.youtube.com/watch?v=G0xBkNl211w&t=2141s) 切勿在没有任何先验约束的情况下直接套用 Transformer 等黑盒模型。 — Abhimanyu Mukerji > [35:41](https://www.youtube.com/watch?v=G0xBkNl211w&t=2141s) 在数据管道中,绝不能让“模拟的原因被误读为真实的结果”。 — Abhimanyu Mukerji ## Mentioned Abhimanyu Mukerji, Amazon, Ai4, DoorDash, Uber Eats, Transformer, GAN, Diffusion Models, Autoregressive Models ## Video description Abhimanyu Mukerji - Science Manager and Research Lead, Amazon When real-world sequential data is sparse, biased, delayed, or impossible to access, how do we train models to reason well instead of hallucinating patterns? This talk will explain how to generate synthetic and simulated sequential data in ways that are distribution-agnostic, robust, and trustworthy enough to support modern ML systems, including transformer-based models. The talk will show how simulation can be used not just for prediction, but also for recommendations, policy evaluation, and counterfactual reasoning in dynamic environments. Attendees will learn practical principles for designing simulators that preserve the right structure, stress-test models under shift, and avoid misleading conclusions. The session will be especially useful for practitioners who need better data-generation strategies when observational data is incomplete or operationally constrained, and want a more reliable path from limited real-world data to models that generalize, adapt, and support better decisions. [Source](https://www.youtube.com/watch?v=G0xBkNl211w)

Source quotes

[0:04] Abhimanyu Mukerji: 幻觉其实就是一种“出错的模拟”——模型预测了一串看似正确但实际上完全错误的 Token 序列。 [3:47] Abhimanyu Mukerji: 针对序列数据,最致命的认知误区是将其视作“一袋无序的行数据”(bag of rows)。 [5:52] Abhimanyu Mukerji: 静态分布有效不等于支持决策;频率正确不等于转移有效;指标好看不等于安全合规。 [10:25] Abhimanyu Mukerji: 有一些核心物理规律或业务规则是无论如何都必须严格保持成立的,而模型则主要用于拟合那些无法被明确规则或激励机制解释的“残差部分”。 [13:29] Abhimanyu Mukerji: 用户最终倾向于选择 DoorDash 还是 Uber Eats,往往就取决于某一个雨天其中一家能送达而另一家瘫痪的单次关键体验。 [16:46] Abhimanyu Mukerji: 面对定量信息不足的复杂策略时,仿真必须能准确判断政策调整的正负定性走势,若方向判断错误即为重大危险信号。 [26:44] Abhimanyu Mukerji: 从旧策略日志中学习 -> 仿真器重现旧策略轨迹 -> 下游模型在此基础上训练 -> 模型再次推荐旧策略。 [27:47] Abhimanyu Mukerji: 不能让仿真器给自己的作业打分(You don't want to be asking the simulator to grade its own work),必须使用独立的验证模型与严格的第三方评测标准进行隔离校验。 [35:41] Abhimanyu Mukerji: 切勿在没有任何先验约束的情况下直接套用 Transformer 等黑盒模型。 [35:41] Abhimanyu Mukerji: 在数据管道中,绝不能让“模拟的原因被误读为真实的结果”。

Source quotes

[0:04] Abhimanyu Mukerji: a simulation gone wrong [1:53] Abhimanyu Mukerji: ML practitioners rarely face a total absence of data; the deeper challenge is that observational data is burdened by structural limitations [3:47] Abhimanyu Mukerji: Generating data by merely matching marginal distributions, frequency counts, and 1D histograms can create an illusion of accuracy while violating fundamental domain mechanics [13:29] Abhimanyu Mukerji: The decision of you leaning towards using DoorDash versus Uber Eats might be based on a single experience where on a rainy day one of them was able to bring you food and the other one was not. [15:30] Abhimanyu Mukerji: Real-world observational data carries higher intrinsic evidential value, whereas synthetic trajectories inherently reflect the assumptions and parameterizations of the simulation engine. [17:12] Abhimanyu Mukerji: If a simulator cannot capture the correct directional movement, it exposes a fundamental flaw in the modeling logic that demands immediate remediation rather than minor parameter tuning. [18:22] Abhimanyu Mukerji: The system risks learning its own historical ranking artifacts rather than true user dynamics. [25:24] Abhimanyu Mukerji: In high-dimensional sequential records, behavioral patterns often act as unique fingerprints. [26:44] Abhimanyu Mukerji: Simulators that learn from old policies which is what you would see in your historical data will not do a good job. It's going to make it look like repeating those same policies are are going to do always be doing a good job. It's almost like a it's a foregone conclusion. It's it's it's a it's a self-fulfilling prophecy. [35:40] Abhimanyu Mukerji: Merely matching superficial distributional properties or statistical marginals is deceptive; a model can match historical distributions perfectly while violating fundamental operational logic.

Original transcript

[0:04] Uh good morning everyone. Um thank you for  being here. Um so the title of my talk is [0:11] uh teaching models to imagine. And uh let me spend  a couple minutes just explaining what exactly [0:17] I mean by that. So I think uh by now most of us  would have encountered uh the problems associated [0:24] with hallucinations or errors in generative  models. Um, and in a sense that's a simulation [0:30] gone wrong. There is a sequence of tokens that the  model is predicting and it thinks it's correct but [0:35] you know it's not. Um, and so understanding why  a simulation might go wrong in that setting is [0:42] important. But there's an entirely different  type of uh synthetic data simulation that is [0:47] useful in a number of different applications.  Um, so for example, you might have uh a lot of [0:53] training data that you've collected, but there may  be compliance or privacy concerns that prevent you [0:57] from using that data to train your models. Um,  but there's useful statistical information in [1:02] there and you want to find some way to use it.  So what you can try to do is train a model to [1:06] essentially create versions of that data to create  simulations of that data that you can use. Um, [1:11] another application would be that you may have  a limited set of data available to you. So maybe [1:16] you've started a business and you've collected, I  don't know, like a few months of information. Um, [1:21] and so that's not sufficient to do very much, but  it might still have useful patterns that allows [1:26] you to create data that can be used to train  more sophisticated models. Um, so I'm going to [1:30] spend a bit of time on uh what are the kind of  design paradigms that one should be careful of [1:36] when trying to do something like this. What are  things that go wrong? And how do you think about [1:40] validating and ensuring that what you're building  is making sense? and sequential data generation [1:45] from models used to train other models is being  done in as rigorous and robust a way as possible. [1:53] Okay. Um so generally the problem is not that  there is no information available to you. You [1:59] usually have some data and you can make some  inferences from that. The bigger problem is [2:04] that the data that you do have might have a  lot of limitations. Um so one could be sparity. [2:09] Um there could be things that you care about  that just don't happen often enough in your [2:15] data. Um so fraud is a good example of this. You  might have a lot of payments information. The [2:20] vast majority of that is going to be perfectly  legitimate. But if you wanted a model that is [2:24] going to be focusing on very rare occurrences um  that that may not be possible to do very easily. [2:31] Um bias is another problem. So most uh most  data sets are not being generated in a vacuum. [2:38] you have customers or uh or somebody or the other  responding to certain policies that you have set [2:44] that your business may have set. Um and so  the old policies that you observe are kind [2:49] of determining what is the historical data that  you're seeing and that is going to influence the [2:53] models that you train on top of that. So you can  end up in this reinforcement loop where previous [2:57] decision decisions that you made are impacting the  modeling that is making the next set of decisions. [3:03] Um sometimes you have delays. So it could be that  you know you implement something right now you [3:08] don't expect to see the gains from that for a few  months. You might change for example um a program [3:14] that improves value for customers but that's not  going to really manifest in revenue or anything [3:18] like that for a few months. And so a model that's  just trained on that initial period is not going [3:22] to capture the benefits that come later on. And I  I referenced the last one on restricted data. Um [3:28] in healthcare for example you may not be allowed  to use um data from patients. um there could be [3:33] cases where um identifiable information exists  and you're collecting it and you aren't able to [3:38] use that. So before I go too deep into um more  on the design uh let me set some a concept a [3:47] conceptual framework for like how I would like  us to think about this. Um so one mistake that [3:53] should be avoided is that sequential data should  not be treated as a bag of rows. And what I mean [3:58] by that is there is inherently structure in  it. there is a cause and effect pattern. Um, [4:04] and so ignoring that structure could lead you  to sample very effectively. You might be able to [4:08] match marginal distributions on your histograms,  frequency, everything looks looks very good, [4:13] but it might entirely miss the actual structure.  So an example of this might be that um if you are [4:20] looking at right share um your your your model  that's simulating your data should not show a [4:27] match before a request has even been made. Um  so there's there's structure here that needs to [4:31] be taken account taken taken into account. Um so  broadly you can think of it as you know like your [4:38] world is in a state initially at time t that's the  that's the blue square on the far left. Um and at [4:43] that point in time you have information. There's  going to be context on um prices context on demand [4:49] context on what the customers clicked on and so  on. Um, and in addition to that information at [4:56] state T, you also have a bunch of history. You've  seen sequences of this kind of thing happening [5:00] before. You may have seen history for that  specific customer, history of your demand. And [5:04] the choice you're making is what kind of action  to take. So in that moment, do you want to match [5:09] that customer to your driver? Do you want to do  something else? Um, and then once that action is [5:13] taken, it's it goes back to the other side where  the customer has to now respond. And once that [5:18] happens, you transition the entire system into a  new state T+1 where demand has changed. You may [5:24] have adjusted your price. Um you may have limited  availability of drivers or something something [5:29] of that kind. Um and so when you're simulating  things like this, you need to simulate the entire [5:34] trajectory along with its underlying structure.  um there's a certain set of actions that are [5:39] possible conditional on a state and there's a  certain response uh set that is possible given [5:43] the action in the previous state and that implies  uh a a transition into a new state of the world. [5:52] So the challenge also is when you simulate  data and you use that simulations simulated [6:00] data to train your model um it can give  you good performance. it might look like on [6:05] uh hold out samples of simulated data. Your  performance is pretty good. Um and that can [6:08] make you feel confident that you know  you're doing a good job. The model has [6:12] uh has pred is predicting exactly what you want.  It's performing very well. Um and so what makes [6:17] this very insidious is that it looks very good,  but it's actually missing certain things that may [6:23] be very important. It might erase some dynamics.  It may not allow you to capture rare parts and it [6:27] might have privacy validations. Um, so it's it's  difficult because in many ways it looks right like [6:34] you may have histograms that look good but it's  not useful for decision-m you might have frequency [6:39] distributions that are fine but the transition  between states is not being properly captured [6:43] and you might accidentally leak information  that is a violation of privacy or disclosure. [6:52] So the way you should be thinking about this  is rather than trying to throw a model at the [6:57] problem and just give it a lot of data and say can  you learn from this data you need to impose more [7:02] structure. Um so the idea is to think about what  is the decision that you actually want to make. [7:08] Um is that decision going to be for a customer?  Is that decision going to be on your end? And [7:14] frame the structure of that problem. Figure  out what exactly needs to be hardcoded. what [7:20] are constraints that should not be violated and  then accordingly constrain the model to learn from [7:24] that. So going back to ride share as an example um  this is a rough sequence of what might happen. So [7:30] the rider might open the app. Um at that point  in time there's some information. It might be [7:36] a weather situation. There may be rain. Um the  driver and the rider respectively have particular [7:42] locations. There is a demand for um cars from the  drive from the rider and there is a supply from [7:47] the driver's side. Um and so the decision that you  have now make is um which driver to assign, how to [7:54] price and then what kind of ETA to quote for the  customer. And the customer's decision goes into, [8:00] you know, do you want to accept this or do you  want to cancel it or what do you want to do? Um, [8:04] and once that happens, um, everything updates.  You now have maybe less supply of drivers. [8:09] Your price may have been bid up and you have  one fewer customers looking for a car. Um, [8:16] and so the simulator needs to kind of think  about the decision point like maybe you're [8:20] focusing on whether or not to assign a driver.  Maybe you're focusing on what how to price this. [8:24] Um so you start there and you impose the  structure so that um the decision to assign a [8:29] driver should be based only on the information  in the previous state and the decision of the [8:34] customer that you'll have to simulate as well  needs to be a function of what they saw in the [8:39] initial state and the price and the assignment  of the driver that you've made in the system. [8:46] So the design space of a simulator would be  best constructed by having many components. [8:52] um you want to think about a hybrid approach. Um  so on the far left here I have what I'm calling [8:58] mechanistic rules. Um and so the idea is uh  certain things need to be encoded as laws of [9:04] nature. You can't violate them. Um so if somebody  is not eligible to be matched to a particular [9:10] driver that needs to be hardcoded in the system.  Um there may be a sequence. You may may have a [9:16] first come first- serve kind of approach. And  so your your model that has generated simulated [9:20] data should never be violating these things. Um  and if it does, it's going to cause impact uh in [9:26] the future or downstream in that system that's  going to be problematic. Um the second thing is [9:32] to do with agents. Uh not AI agents but agents  in the sense of people who are making decisions. [9:36] Um so you need to model a representation of your  customer. You need to model a representation of [9:41] your driver. Um and each of them have different  incentives. So the customer is going to go for [9:45] low price and maybe a very short ETA. The driver  is going to do the opposite. They want a higher [9:51] price and they want to travel some distance. And  uh all of these things are functions also of state [9:56] state variables like demand and so on. Um and  there are certain components that you're never [10:01] going to be able to properly just learn. Um some  some things are just fundamentally uncertain. You [10:06] don't know for example at that point in time what  the demand is going to be, what kind of weather [10:10] you're going to experience and things like that.  Um and so rather than trying to hardcode that, [10:16] you think about it as a probabilistic modeling  component. So when you do the simulations, [10:20] you'd be doing it for many many different types  of these random draws. It could be that demand was [10:25] high or demand was low and accordingly you'd be  running simulations. Um and there is a role here [10:31] for generative modeling. Um you can think about  uh learning patterns from historical trajectories [10:36] constrained by the three I just mentioned. um  the mechanisms and the agent incentives um and [10:41] combining them into a hybrid model is probably  the right way to go. So you have certain rules [10:46] for things that you definitely want to maintain.  There's some things that you want to hold true [10:50] no matter what and then the rest of it  is subject to being learned by a model. [10:54] And so the the residuals the part that's not  explained just by these rules and by incentives [10:58] from agents you can think of that as being the  best thing to sort of uh train using modeling. [11:07] So sequential modeling um is going to do a  reasonable job of capturing patterns and you'd be [11:14] able to replicate this uh in in in simulations. Um  but different models have different limitations. [11:19] Uh a GAN might do a very good job um replicating  statistical properties but it might have mode [11:25] collapse. So you might you might not be able  to capture any rare occurrences at all. Um [11:29] auto reggressive structure is very good assuming  that the historical data is strongly predictive of [11:34] what happens next and also assuming that you are  not constantly shocking the system into different [11:40] uh trajectories and stationerity is not true  then it's not going to be a good job there. [11:44] Diffusion models are good for when there's many  different outcomes and so on but again it's not [11:48] going to capture underlying causal structure.  It's not going to capture cause and effect and [11:51] the sequence of that. Um, and transformers are  very good if you think that there's going to be [11:56] need for context across a longer sequence, but  again, it's making assumptions and it's going to [12:02] confidently do things that may not be exactly  how you actually want the decisions to go. [12:10] So, the right way to think about this is a sim  a simulation system to train other modeling is [12:16] is not going to be just a blackbox model where  you throw something at it. You need to think [12:21] of it as a kind of a wireframe. So you you  can start with the state like what exactly [12:27] is definitely going to be true before you make  the decision. You go into action. What is the [12:32] set of actions that are available to you? It  could be for example um a particular ranking [12:36] that you show a customer. It could be pricing. It  could be a decision to intervene or not intervene [12:40] in the system. And then you have a response  which is going to be the agent or the customer [12:44] side and they conditional on the state and the  action. They're going to make some decisions. [12:49] Um then there's properties that you want to  maybe maintain just because of the structure. [12:53] So there may be delays. You don't want to be  observing things that the that the model should [12:57] not be able to see in advance. And you want to  make sure that if there are certain variables [13:01] that the model never observes, that also is  censored and kept out of it. Um and finally, [13:06] there could be constraints. Um you might have hard  limits on how many drivers there are. So you can't [13:11] be matching beyond that. Um and so all of this  together means that you're [snorts] adding a lot [13:16] of structure. you're making sure that assumptions  are well thought through and they're going to [13:21] be constraining what kind of modeling steps  uh your model is actually allowed to learn. [13:29] So what is the point of uh having the system and  what is the point of being able to simulate things [13:36] like driver demand and right share and so on. Um  so this like what I have on the slide here is kind [13:43] of like a very standard problem for a delivery  system. So you have uh the vast majority of the [13:49] time what would be normal demand. That would be  what you see very often in your data and from [13:54] that you can make a decision on what kind of ETA  to quote and should there be batching which is [13:59] uh should the driver be trying to kind of  trying to pick up multiple orders in the [14:02] same kind of journey and then delivering them all  or not. Um so that's fine and you could probably [14:10] just do a very simple model on historical  data and it would be it would be just fine. [14:13] Now the problem comes up because there will  be unusual days when you might have a lot of [14:19] traffic or it could be heavy rain or there  could be some kind of reason why there's [14:24] a shortage of drivers on that day. And these  um may not occur in your history very often, [14:30] but these are probably the ones that customers  care about a lot. The decision of you leaning [14:35] towards using Door Dash versus Uber Eats might  be based on a single experience where on a rainy [14:41] day one of them was able to bring you food and  the other one was not. So getting these types [14:44] of things right can have a lot of important  implications for a business. But you also [14:49] don't observe this. So now what what can you do?  So the the the way to do it is you think about [14:54] um using the historical data and normal demand  to kind of learn some of the structure that I [14:59] mentioned before and then you can think about  running aggressive simulations which are kind [15:03] of shocking things like extreme driver shortage or  extreme delays and so on and trying to understand [15:09] how would your ETA and batching prediction model  do on these extreme circumstances and is it robust [15:16] to doing a good job even in those circumstances  and that feeds ultimately into a model that does [15:21] a good job or not on on how to think about  uh pricing, estimating ETAs and batching. [15:30] So when you are training um a model with this  kind of sequential data um it might initially [15:37] make sense to think about just muddling everything  up. So you mix together actual historical data, [15:42] you mix together your simulations, your model is  not told what is what and it's trying to learn [15:46] from that. Um, and it can be a problem because  the first reason is you may not want to weight the [15:53] simulated data the same as your actual data. The  actual data arguably is much more valuable. Um, [15:58] and the simulations are still subject to  all the assumptions that you're making in [16:01] trying to generate that simulation. So  thinking about um giving it provenence, [16:06] the model needs to know where your sim where the  data came from. Is it actual historical data or [16:11] is it simulated data? And what is the causal  sequence? uh you want to make sure that cause [16:16] um comes before effect and that is maintained even  in the simulated information and you can then use [16:21] that to train something like a transformer. Um  so you always want to make sure that if you're [16:27] doing something like this there is actual data  that is held out. So there's actual data that's [16:31] not being used to train the simulator and it's  also not being used to train your model. And [16:35] that's going to be your stress test. that's  going to be the real evaluation of whether [16:39] the sequence is working as expected, whether the  model is behaving the way you want it to behave. [16:46] So validation is is very important um for  reasons that that we kind of just went through, [16:52] but it's also important to know that there's not  going to be a single number that tells you that [16:57] your simulator is good or bad. It's going to be  many many different things. So you want to think [17:02] about fidelity, which is basics. Um, are you able  to replicate the properties of the original data [17:08] like statist from a statistical perspective like  our marginal distributions and joint distributions [17:12] looking the same as your actual data? Um, utility  is is the simulator information actually helping [17:19] you? So by creating this model that generates  simulated data, are you actually able to improve [17:24] performance in some kind of out of sample or hold  out sample? If you're not being able to do that, [17:30] then it may not even be worth going the  simulation route. Um, robustness is a test [17:35] of your assumptions. Um, how different would your  model um, predictions or performance be if you [17:41] change some of the assumptions that you're making  when you're adding structure to your problem? Um, [17:45] privacy. Uh, you want to make sure that at all  points in time you aren't accidentally leaking [17:49] information. Um, and the last one, direction  is important one because in a lot of cases [17:55] you may not have the right information to be  able to make precise quantitative statements. [17:59] Your model may not be able to tell you with with  precision whether uh a price should be $5 or $6, [18:06] but at least directionally you can tell when I  impose a policy, does the simulation say that [18:11] the price should go up or go down? And if you  get that wrong, then it's a it's a red flag [18:15] that something something more fundamental is off  and you need to maybe spend time trying to fix it. [18:22] So this is to do again with the bias problem  that I mentioned. Um this is this is pretty [18:28] common across uh a lot of different applications.  Um and recommendations uh are not arbitrary. Um [18:36] whether you're doing whe whether you're looking  at an e-commerce website or something else like [18:40] there is a model underlying the system that  is kind of telling the system what to show [18:45] you and what sequence to show it to you and when  to show it to you. Um and so everything that you [18:50] see or you interact with is a function of that.  It's not it's not random. It's not arbitrary. [18:55] Um so this example is from music. So let's  say you have a listener. Um they start at a [19:00] particular point in time and given information  about that listener. You have a recommendation [19:04] system that is saying these are the rankings  of things that I think you would want to engage [19:09] with or listen to next. Um and the top one is  what maybe gets shown to you or the top one [19:13] is the one that you are you have opportunity to  interact with. Um and then you make a decision. [19:18] Do you want to play or do you want to skip  and do you want to do the next thing? Um, [19:22] and so there's effects like fatigue and novelty  where you might be skipping a lot or you might [19:26] play just out of curiosity and so on. And so  all of these factors kind of go back in and [19:31] they determine your next state. Um, so the  listener state is now a function of what has [19:35] that listener been shown before by this exact  recommendation system. So now when you say you [19:40] want to train a new recommendation system or you  want to train a simulator of recommendation uh [19:44] training systems um you want to be careful because  it's not that the listener is just seeing things [19:50] and making decisions. What it's what it's being  shown is itself a function of the policies that [19:54] you are setting. Um so these things are a feedback  loop that needs that you need to watch out for. [20:03] So let's say you do all of this. Let's  say you impose structure. you've done some [20:06] validations and and now you want to think  about what else you can do with this. So, [20:10] so far I've kind of focused on robustness and  stress testing in extreme scenarios. But what [20:16] is a powerful tool would be if you could actually  generate counterfactuals. If you want to think [20:21] about if I did something major in a different way,  what kind of conclusions or observations at the [20:27] end would change as a result. So ad auctions is  the example I have on this slide. Um so you have [20:33] initially some auction context who has bid on ads  what is the price what is the level of engagement [20:38] at that point in time and the thing the the two  boxes at the top are basically the production [20:43] system there is a ranker which gives you some kind  of ranking and it's and from that you know either [20:49] the person converts or they don't and so you  have an observed outcome from that um but what [20:54] you really want to do is think about what else  could I have done like maybe instead of showing [21:00] uh ad number one as a top rank think I could have  had number five or I could have changed my price [21:03] or I could have done many different things.  And so you don't actually know whether or not [21:08] um making these changes is going to affect the  conversion probability and whether it's going [21:12] to affect like what ends up happening. Um and so  this is called OP of policy evaluation. So the [21:18] idea is that you [snorts] observe um behavior and  outcomes only for a particular um paradigm which [21:24] is the top one but really you want to be able  to simulate many more which is the bottom. Um, [21:28] and so it's not about uh would these alternatives  have led to conversion. It's more what can you say [21:34] with confidence. So maybe there has never been  a specific candidate ranker matching what has [21:40] happened in the lower row here. And so you can't  say anything about it, but it could be that it's [21:44] happened in 5% of cases or it's happened in  specific scenarios and you can use that to [21:48] try to learn from that structure and then see what  would have happened in the soft policy evaluation. [21:57] So another example this one is uh is to do with  subscriptions and churn. So similarly like you [22:03] know you see a sub a subscriber is reducing  their usage and they are at risk of potentially [22:08] um cancelling their subscription. So ordinarily  you might just default to saying give them some [22:14] kind of offer and then see if they renew um and  then see what happens after a certain period of [22:18] time. But there are many many other options  available to you. So your simulator could for [22:22] example be structured in a way that it allows  you to examine these counterfactuals. It allows [22:26] you to examine what would happen if instead of  a 20% offer I was to try to provide onboarding [22:32] assistance or guidance on how to use the system  and that might increase the usage and then lead [22:37] to more renewals and so on. Um so the top one is  is more costly like you're losing actual dollars [22:43] by doing this whereas the bottom one is it could  could potentially be much cheaper. You might be [22:47] providing it just through uh some kind of email or  something like that. Um and so understanding what [22:52] exactly is the better way to do things and this is  just two possibilities but there could be dozens [22:57] of such possibilities. Understanding that is  going to require a lot of testing and simulation [23:01] in advance because these decisions may not be  possible to make or experiment with in real time. [23:08] Okay. So let's uh let's think about uh how you  want to make how how you want to build confidence [23:15] in a simulator and the corresponding models that  are being trained using that simulated data. So [23:20] you want to think about uh stress testing it  across many many different paradigms and and [23:25] these dimensions along which uh you want to think  about stressing it is is subject to the specific [23:30] uh use case. So I'm thinking again about ride  share and kind of delivery. So you have demand. [23:38] So there could be, you know, like low demand, high  demand, sudden surges and sequences of of surges [23:43] and and lulls. Um and so the simulator needs to  behave sensibly under all of these assumptions. So [23:49] if you try to simulate a surge period, the data  that you get out of it should still be making [23:53] sense to you. Um there could be latency issues.  Um so if you say that I don't know like there [23:59] is a a delay in how your different agents in the  system are are responding um that should not break [24:04] the simulation. It should not create very weird  behavior. Um if you wanted to train models using [24:10] simulated data you want to make sure that that  training process is robust to missing information [24:15] because in the real world there's going to be  errors. There's going to be partial logs missing [24:18] data data that that isn't isn't representative.  And so you want to make sure that if you were [24:24] to hide certain fields or or if you want to  delete some outcomes or delete some information, [24:28] your model is still able to learn useful things  from that. Um there could be capacity issues. So [24:35] this goes back to the mechanistic restrictions  I mentioned. So if your if your inventory is [24:39] severely constrained, you want to think about what  your simulations would do in such an environment. [24:43] And so it makes it reliable across all the  different things that might happen. Um, and [24:48] the reason you want to focus on this is it could  be that in January you you use your simulator, you [24:52] train something and it works well and then you try  to do the exact same simulation 6 months later and [24:57] and it's not working reliably any longer. And the  reason could be that things have changed in the [25:01] real world. There could be tariffs or something  and so now you have less supply and now everything [25:05] is has kind of changed from the original system  that you started with. Um, and in some cases you [25:11] want to focus a lot on very unusual events. And  so you want to think about the simulations being [25:16] able to represent that and your model being  able to learn something useful from that. [25:24] So I talked about privacy a little bit. So let  me let me go into that uh one more time. So [25:30] um synthetic uh data doesn't actually ensure  necessarily that you're compliant with privacy [25:36] laws or privacy rules. Um, so take smart meters  as an example. So they may be installed in your [25:42] house. Um, and they're collecting a lot of data  on what time what appliances are active and so [25:47] on. Um, it could be that the specific pattern  of these appliances being turned on and off when [25:52] you're using electricity and when you're not is  actually very unique to a particular household. [25:57] So even even if I don't know exactly who this  person is, if I have the actual data and I [26:02] had the simulated data, I could potentially match  it. I could potentially figure out that these two [26:06] are actually the same person. And so you've now  violated the compliance rule. You're not supposed [26:10] to be using you're not supposed to be be able to  infer any information on the actual user, but you [26:15] are able to in this case. Um, and so if you end up  with situations where your simulated data is very [26:21] close to the source from which you're trying  to simulate it and you don't want that to be [26:25] happening, you need to have a gating criteria for  maybe nearest neighbor checks or something like [26:30] that to ensure that you don't end up with with  kind of this problem. So privacy privacy is is a [26:37] consideration that needs to be needs to be a part  of the validation process for any simulations. [26:44] Um, I talked about bias. Uh let me reinforce that.  So simulators that learn from old policies which [26:51] is what you would see in your historical data  will not do a good job. It's going to make it [26:54] look like repeating those same policies are  are going to do always be doing a good job. [26:59] It's almost like a it's a foregone conclusion.  It's it's it's a it's a self-fulfilling prophecy. [27:05] So you start with an old policy, you generate  logs of data from that and now your simulator [27:09] is learning from that. and everything it's giving  to this new model is assuming that the old policy [27:14] events did not happen when in fact they did. And  so now trying to retrain is most likely going to [27:19] go back to recommending the old policies. So  the way to get around this is policies should [27:24] be explicitly modeled. You need to have it be  part of the simulation process that the previous [27:29] pricing rule might have been based on demand in  a particular function and you want to make sure [27:34] that the simulation knows that that is what that  is how pricing was determined in the past and not [27:39] that it's something that is being learned uh  learned entirely exogenously to that process. [27:47] So let me go through some of the major  things that can go wrong and the things [27:52] that one should watch out for. Um, so I'll  start with the most basic checks and then go [27:57] into things that are maybe not as easy to do.  So the first one top left marginal match and [28:02] transition mismatch. What this means is you  might do a very good job just on statistical [28:07] properties. You might match on averages and  standard deviation and things like that, [28:11] but you might get the actual transition between  states entirely wrong. Um, so if your simul if [28:17] your simulator was telling you that the data  series shows that a customer, a fake customer, [28:22] synthetic customer has been engaging a lot and  clicking a lot, but you see an extremely low [28:27] low rate of conversion or add to cart or actual  purchase behavior. That's weird. Like you you [28:32] shouldn't you shouldn't expect to see that. If  you see a lot of engagement without any future [28:36] purchasing, that that's odd. And that means that  there's something wrong. like the linkage between [28:40] engagement and conversion or engagement and  purchasing is not being properly learned by [28:45] the model. And so that's something that's pretty  major and you need to think about fixing it. Um [28:50] mode collapse and missing uh rare parts. So if  if you have a 1% probability of fraud in a system [28:57] and then you have simulated millions of data  series um and you never actually see any fraud, [29:02] that again is weird. So it means that your model  has just entirely lost that. it's missed it [29:06] completely and it's not it's not it's not it's  not going to be useful for you if you if your [29:10] focus was trying to reduce fraud in in in your  in your customer platform. Um feature leakage [29:17] uh this is a break of cause and effect. Um if no  offer has been made there should not be a refund [29:23] status showing up in the system. So if your data  series shows these weird things where something [29:28] that is a logical effect of a different cause if  that's occurring before the cause itself that's [29:34] not possible. So your model is basically just  thinking about general correlations or general [29:38] probability of occurrence and that's what it's  indexing on too much. It's not focusing on the [29:42] actual um underlying structure and how one thing  causes another. Um uh the fourth one optimizing [29:49] to the simulator. This is uh sort of very similar  to over overfitting. Um, so if you if you if you [29:56] have a policy that that is very explicit in your  data and now your simulator has learned that any [30:02] future model you train is most likely going to  just win by optimizing the simulator's biases. [30:08] So the simulator is wrong in some ways. The  model after that is going to identify that. [30:13] It's going to learn from that error and it's going  to reinforce that um in your actual training data. [30:19] Um it's important to not have the same process  be the simulator as well as the evaluator of the [30:26] simulator. So you want a different model to be  validating and testing. You want a different set [30:31] of criteria and you don't want to be asking the  simulator to grade its own work. You don't want [30:34] it to be um all simultaneously trying to generate  the data but also decide whether or not that works [30:39] well. Uh you want to keep it separate. The last  one on unttracked assumptions is is probably what [30:45] is the most practical and important consideration.  Um maybe in the month of January your team builds [30:51] all of this stuff and and they make a lot of  assumptions around what what kind of process does [30:56] demand follow, what kind of logic is there that  governs um transition from one state to another. [31:03] And if none of these assumptions are documented,  that simulator is going to be extremely difficult [31:07] to use in the future. Um you've hardcoded certain  things that are not being learned in an agnostic [31:13] way. And so if you don't if you don't have that  be part of the explicit process that you note [31:19] down for improving the simulator or for training  future models that's going to be missed. So having [31:24] a disciplined registry of what assumptions were  made for each iteration of a simulation model and [31:30] for each iteration of models being trained using  simulated data um you run the risk of uh making [31:35] a lot of uh mistakes and potentially losing a lot  of the value that you could have avoided losing. [31:43] So, so kind of summarizing what we what I talked  about, um, there's there is a a specific life [31:50] cycle to how you want to build a simulation  model and how you want to build models on top [31:54] of that. So, let me start with the audit on the  top left. So, you start by just observing. You [31:59] start by observing um what data you're actually  collecting and you want to make sure it's not [32:04] just in terms of you know like distribution and  statistics. It's more about what is the business [32:10] intuition or the underlying logic that tells me  how this behaves. Um so in ride share a price is [32:15] a function of the previous uh timestamps demand  and what kind of supply you have and what kind of [32:21] what kind of demand you have from your users. Um  and so there is a logical sequence underlying this [32:28] and you need to make that explicit. So that's that  goes to the specify step. So when first thinking [32:32] about how you want to create a simulator, you  start by hard- coding certain restrictions, [32:37] hard- coding certain constraints and then imposing  what information your simulator is allowed to use [32:42] at every time step to decide what should happen  in the next time step. And once you have that, [32:47] you can use it to generate many sequences.  Um it you can generate sequences under [32:51] different assumptions. You can do it under  stress situations, under normal BAU kind of [32:55] situations. And then it goes into a validation  pipeline where you should be focusing on [33:01] um whether or not it makes sense given the  assumptions that you've made and given the [33:04] properties of the data that you expect to see.  And once it gets through that gating criteria, [33:08] once you've checked for privacy and compliance  issues, then you go into training a model. So like [33:13] now you have a lot of simulated data augmenting  um the actual potentially limited information [33:19] that you have collected from your customers and  from your users. And so now you can go ahead and [33:23] train this model. Um and then that model can can  be measured on an out of sample hold out set of [33:29] actual data. Um and once you have that it's it can  go into production and you go into monitoring it. [33:34] So you're testing to see is it is its performance  declining at any point in time. Are there specific [33:40] circumstances under which it's not doing a  good job? And that goes back into the audit [33:44] step again where you are essentially adjusting  the assumptions you started with adjusting the [33:48] the structure that you imposed to begin with to  try to improve performance in the next iteration. [33:55] So like having a full complete simulation  infrastructure is maybe not required in many [34:01] cases. So there are like different businesses  will have different needs for this and the [34:06] value add from having something like this  will also vary. So the simplest and most [34:10] common thing is just augmenting scarce data.  So things like fraud. Um if you have if you [34:16] if you know that it's an important thing for  your business or it's an important thing for [34:20] your customers and for maintaining engagement, you  you will try to spend time uh trying to generate [34:25] that. But it doesn't need to be done in a fully  sophisticated way. Uh as we've just described, [34:30] um you may want to be testing robustness to  things that you know are going to happen. [34:34] You know that on some days there's going to be  rain, on some days there's going to be traffic. [34:38] And so having having models that are able to  accommodate that and having uh having a pricing [34:43] system that's able to accommodate this easily  is almost critical to the business. So you want [34:47] to make sure you do that. And scenario testing  is again pretty simple. Um evaluating policies [34:51] offline is the next next level of this. So now  you want to think about um having a reliable [34:56] infrastructure to be able to test things that have  never happened in the data or have happened very [35:00] rarely. And an even more extreme version of this  is supporting counterfactual decisions where you [35:05] want to be able to change entire sequences or  trajectories of of of what has happened. You [35:09] want to change policies drastically from what  what you've actually observed in the data and [35:13] you want to have this be done in a reliable way.  And the final level is the most extreme one where [35:19] you have a complete calibrated digital twin of  everything that is going on in your system. So [35:23] you want like it'll be a fake version of your  business that is constantly adjusting itself to [35:29] what is actually happening and that is going to be  the lab in which you test all the different types [35:33] of things that you might want to do. So uh quickly  kind of summarizing some of the things that [35:41] uh we talked about focusing on the most important  ones. So first top left um when simulating uh it [35:47] should not be done in each event should not  be taken as random. There's always going to [35:52] be sequential structure and that structure  is very important to capture. So you want to [35:56] be thinking about simulating entire traces or or  trajectories of data not just individual rows and [36:01] you have to be careful because it might do a very  good job matching distributional properties and [36:07] that might give you a lot of confidence but that  does not mean that it's correct and something that [36:11] uh that you need to be careful of preserving  mechanisms for marginalss. So it's this is not [36:18] uh this is not the kind of thing that you want to  do with blackbox. You don't want to be throwing a [36:21] transformer model at this with no constraints. Um  there there are going to be certain things that [36:26] you have to be careful of. There are certain  things that are just uh impossible. There are [36:31] certain things that should not ever be happening.  And you want to make sure that those are properly [36:35] encoded. And you also want to make sure that  if there is very obvious logical structure [36:39] where certain things cannot happen without certain  other things have happen having happened before, [36:44] you want to have those mechanisms be be part of  the system and be very structured in that system. [36:50] Um validation is very complicated for these types  of models. It's not as simple as just measuring [36:54] an out of sample R square or something like that.  You have to think about uh whether it is behaving [36:59] well under stress circumstances whether your the  assumptions that you're making are bearing out [37:03] in the data. Um in particular are the scenarios  that you're most interested in simulating are [37:09] those behaving as expected and is the entire  simulation infrastructure sensitive or overly [37:15] sensitive to the assumptions that you're making.  So if you were to break some of those assumptions, [37:18] how much would it change the subsequent model  performance? And the reason you need to do this [37:22] is because these assumptions are being made  with limited information. You don't know for [37:26] sure exactly what kind of structure you should be  imposing. And so the best policy is to make sure [37:30] that it is robust to many kinds of structure. And  the last one is around provenence and assumptions. [37:36] You want to make sure that at all points in time  any model that is being trained on simulated data [37:40] is aware that it is simulated data. If you are  trying to insert it along with actual data feeds, [37:45] it would be useful to have some kind of encoding  representing where that data is sourced from and [37:49] you want to make sure that you don't have um  simulated data melding in with with actual [37:55] data. So like a simulated cause should not be  interpreted as causing an actual effect because [38:00] that simulation did not happen. You've just  imposed it as part of your data. And it's easier [38:05] when you're kind of working with a panel data kind  of setting where an entire customer trajectory [38:09] might be simulated and you so you have actual  customer trajectories and simulated ones but they [38:14] don't actually communicate with each other. So  you're augmenting your data without polluting the [38:18] actual information the limited actual information  that you might have. Um I think I'm almost out of [38:26] time so thank you very much. Um I find this area  very interesting. I do a little bit of uh work [38:31] uh in my day job relating to simulations and  how they can be used to train models. Well, [38:37] um happy to kind of connect and talk offline uh  if anyone is interested. Thank you very much.