<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns">
  <key id="label" for="node" attr.name="label" attr.type="string"/>
  <key id="home" for="node" attr.name="home" attr.type="string"/>
  <key id="subject" for="node" attr.name="subject" attr.type="string"/>
  <key id="area" for="node" attr.name="area" attr.type="string"/>
  <key id="group" for="node" attr.name="group" attr.type="string"/>
  <key id="background" for="node" attr.name="background" attr.type="string"/>
  <key id="relation" for="edge" attr.name="relation" attr.type="string"/>
  <key id="statement" for="edge" attr.name="statement" attr.type="string"/>
  <key id="conditions" for="edge" attr.name="conditions" attr.type="string"/>
  <graph id="ML Systems Taxonomy 0.4-draft" edgedefault="directed">
    <node id="mlsys.requirements"><data key="label">System requirements</data><data key="home">F1.1</data><data key="subject">Requirements, SLOs &amp; baselines</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.baseline"><data key="label">Baseline</data><data key="home">F1.1</data><data key="subject">Requirements, SLOs &amp; baselines</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.proxy-objective"><data key="label">Proxy objective</data><data key="home">F1.3</data><data key="subject">Objectives, proxies &amp; decision policies</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.slo"><data key="label">Service-level objective</data><data key="home">F1.1</data><data key="subject">Requirements, SLOs &amp; baselines</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.workload"><data key="label">Workload characterization</data><data key="home">F1.2</data><data key="subject">Workload characterization</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.placement"><data key="label">Execution placement</data><data key="home">F1.2</data><data key="subject">Workload characterization</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.data-quality"><data key="label">Data quality</data><data key="home">P1.3</data><data key="subject">Data validation &amp; feature engineering</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.data-acquisition"><data key="label">Data acquisition and sampling</data><data key="home">P1.1</data><data key="subject">Data collection &amp; labeling</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.features"><data key="label">Feature engineering</data><data key="home">P1.3</data><data key="subject">Data validation &amp; feature engineering</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.missing-data"><data key="label">Missing data</data><data key="home">P1.3</data><data key="subject">Data validation &amp; feature engineering</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.leakage"><data key="label">Data leakage</data><data key="home">P1.6</data><data key="subject">Leakage &amp; training-serving skew</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.point-in-time"><data key="label">Point-in-time correctness</data><data key="home">P1.6</data><data key="subject">Leakage &amp; training-serving skew</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.lineage"><data key="label">Data lineage</data><data key="home">P1.5</data><data key="subject">Data contracts, versioning &amp; lineage</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.train-serve-skew"><data key="label">Training-serving skew</data><data key="home">P1.6</data><data key="subject">Leakage &amp; training-serving skew</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.data-selection"><data key="label">Data selection</data><data key="home">P1.2</data><data key="subject">Data selection &amp; curation</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.deduplication"><data key="label">Dataset deduplication</data><data key="home">P1.2</data><data key="subject">Data selection &amp; curation</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.embeddings"><data key="label">Embeddings</data><data key="home">F2.2</data><data key="subject">Architecture building blocks</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.distribution-shift"><data key="label">Distribution shift</data><data key="home">P5.3</data><data key="subject">Drift, feedback loops &amp; retraining</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.linear-model"><data key="label">Linear models</data><data key="home">F2.1</data><data key="subject">Model families</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">yes</data></node>
    <node id="mlsys.tree-ensemble"><data key="label">Tree ensembles</data><data key="home">F2.1</data><data key="subject">Model families</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">yes</data></node>
    <node id="mlsys.kernel-method"><data key="label">Kernel methods</data><data key="home">F2.1</data><data key="subject">Model families</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">yes</data></node>
    <node id="mlsys.nearest-neighbor"><data key="label">Nearest-neighbor models</data><data key="home">F2.1</data><data key="subject">Model families</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">yes</data></node>
    <node id="mlsys.neural-network"><data key="label">Neural networks</data><data key="home">F2.1</data><data key="subject">Model families</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">yes</data></node>
    <node id="mlsys.inductive-bias"><data key="label">Inductive bias</data><data key="home">F2.1</data><data key="subject">Model families</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">yes</data></node>
    <node id="mlsys.attention"><data key="label">Attention</data><data key="home">F2.2</data><data key="subject">Architecture building blocks</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.position-encoding"><data key="label">Position encoding</data><data key="home">F2.2</data><data key="subject">Architecture building blocks</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.tokenization"><data key="label">Tokenization</data><data key="home">F2.2</data><data key="subject">Architecture building blocks</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.loss"><data key="label">Training loss</data><data key="home">P2.2</data><data key="subject">Optimization &amp; training dynamics</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.autodiff"><data key="label">Automatic differentiation</data><data key="home">S2.1</data><data key="subject">ML frameworks &amp; programming models</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.optimizer"><data key="label">Optimization algorithm</data><data key="home">P2.2</data><data key="subject">Optimization &amp; training dynamics</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.regularization"><data key="label">Regularization</data><data key="home">P2.2</data><data key="subject">Optimization &amp; training dynamics</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.batch-size"><data key="label">Training batch size</data><data key="home">P2.2</data><data key="subject">Optimization &amp; training dynamics</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.training-state"><data key="label">Training state</data><data key="home">P2.3</data><data key="subject">Training memory &amp; state</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.activation-recompute"><data key="label">Activation recomputation</data><data key="home">P2.3</data><data key="subject">Training memory &amp; state</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.scaling-laws"><data key="label">Empirical scaling laws</data><data key="home">F3.4</data><data key="subject">Scaling laws &amp; compute-optimal allocation</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.hyperparameter-search"><data key="label">Hyperparameter search</data><data key="home">P2.4</data><data key="subject">Hyperparameter search &amp; experiment management</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.experiment-budget"><data key="label">Experiment-budget allocation</data><data key="home">P2.4</data><data key="subject">Hyperparameter search &amp; experiment management</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.transfer-learning"><data key="label">Transfer learning</data><data key="home">P2.5</data><data key="subject">Adaptation: fine-tuning, prompting &amp; transfer</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.peft"><data key="label">Parameter-efficient adaptation</data><data key="home">P2.5</data><data key="subject">Adaptation: fine-tuning, prompting &amp; transfer</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.tensor-layout"><data key="label">Tensor layout</data><data key="home">S2.2</data><data key="subject">Tensor operators &amp; memory layout</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.matrix-multiply"><data key="label">Matrix multiplication</data><data key="home">S2.2</data><data key="subject">Tensor operators &amp; memory layout</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.precision"><data key="label">Numerical precision</data><data key="home">S2.7</data><data key="subject">Numerical formats &amp; precision</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.mixed-precision"><data key="label">Mixed-precision training</data><data key="home">S2.7</data><data key="subject">Numerical formats &amp; precision</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.numerical-stability"><data key="label">Numerical stability</data><data key="home">S2.7</data><data key="subject">Numerical formats &amp; precision</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.quantization"><data key="label">Quantization</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.sparsity"><data key="label">Sparsity</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.distillation"><data key="label">Knowledge distillation</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.compilation"><data key="label">Graph compilation</data><data key="home">S2.4</data><data key="subject">ML compilers &amp; kernel optimization</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.fusion"><data key="label">Kernel fusion</data><data key="home">S2.4</data><data key="subject">ML compilers &amp; kernel optimization</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.dispatch"><data key="label">Host dispatch overhead</data><data key="home">S2.5</data><data key="subject">Runtime execution &amp; dispatch</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.memory-hierarchy"><data key="label">Memory hierarchy</data><data key="home">S1.2</data><data key="subject">Memory hierarchy &amp; bandwidth</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.memory-capacity"><data key="label">Memory capacity</data><data key="home">S1.2</data><data key="subject">Memory hierarchy &amp; bandwidth</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.accelerator-execution-architecture"><data key="label">Accelerator execution architecture</data><data key="home">S1.1</data><data key="subject">Accelerator architecture</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.arithmetic-intensity"><data key="label">Arithmetic intensity</data><data key="home">F3.1</data><data key="subject">Roofline, performance models &amp; simulation</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.roofline"><data key="label">Roofline bound</data><data key="home">F3.1</data><data key="subject">Roofline, performance models &amp; simulation</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.locality"><data key="label">Data locality</data><data key="home">F3.1</data><data key="subject">Roofline, performance models &amp; simulation</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.tiling"><data key="label">Tiling</data><data key="home">S2.4</data><data key="subject">ML compilers &amp; kernel optimization</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.profiling"><data key="label">Profiling</data><data key="home">Q1.1</data><data key="subject">Profiling &amp; utilization</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.execution-time"><data key="label">Execution time</data><data key="home">Q1.1</data><data key="subject">Profiling &amp; utilization</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.serial-fraction"><data key="label">Serial fraction</data><data key="home">F3.2</data><data key="subject">Amdahl's law &amp; scaling efficiency</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.collectives"><data key="label">Collective communication</data><data key="home">S3.3</data><data key="subject">Collective communication</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.data-parallel"><data key="label">Data parallelism</data><data key="home">S3.1</data><data key="subject">Parallelism strategies</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.tensor-parallel"><data key="label">Tensor parallelism</data><data key="home">S3.1</data><data key="subject">Parallelism strategies</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.pipeline-parallel"><data key="label">Pipeline parallelism</data><data key="home">S3.1</data><data key="subject">Parallelism strategies</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.state-sharding"><data key="label">Training-state sharding</data><data key="home">S3.1</data><data key="subject">Parallelism strategies</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.communication-overlap"><data key="label">Communication overlap</data><data key="home">S3.3</data><data key="subject">Collective communication</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.network-topology"><data key="label">Network topology</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.stragglers"><data key="label">Stragglers</data><data key="home">S3.3</data><data key="subject">Collective communication</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.checkpoint"><data key="label">Recovery checkpoint</data><data key="home">Q2.2</data><data key="subject">Checkpointing &amp; elastic recovery</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.consistent-cut"><data key="label">Consistent checkpoint cut</data><data key="home">Q2.2</data><data key="subject">Checkpointing &amp; elastic recovery</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.consensus"><data key="label">Replicated-log consensus</data><data key="home">S3.4</data><data key="subject">Coordination &amp; consensus</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.fencing"><data key="label">Fencing</data><data key="home">S3.4</data><data key="subject">Coordination &amp; consensus</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.federated-learning"><data key="label">Federated learning</data><data key="home">S3.5</data><data key="subject">Federated &amp; decentralized learning</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.arrival-rate"><data key="label">Arrival rate</data><data key="home">F3.3</data><data key="subject">Queueing &amp; capacity models</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.service-capacity"><data key="label">Service capacity</data><data key="home">F3.3</data><data key="subject">Queueing &amp; capacity models</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.queueing"><data key="label">Queueing delay</data><data key="home">F3.3</data><data key="subject">Queueing &amp; capacity models</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.tail-latency"><data key="label">Tail latency</data><data key="home">P4.3</data><data key="subject">Latency, throughput &amp; goodput</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.batching"><data key="label">Request batching</data><data key="home">P4.4</data><data key="subject">Batching, admission &amp; autoscaling</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.admission"><data key="label">Admission control</data><data key="home">P4.4</data><data key="subject">Batching, admission &amp; autoscaling</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.autoscaling"><data key="label">Autoscaling</data><data key="home">P4.4</data><data key="subject">Batching, admission &amp; autoscaling</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.kv-cache"><data key="label">KV cache</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.prefill-decode"><data key="label">Prefill and decode</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.paged-kv"><data key="label">Paged KV allocation</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.prefix-cache"><data key="label">Prefix caching</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.speculative-decoding"><data key="label">Speculative decoding</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.slo-goodput"><data key="label">SLO goodput</data><data key="home">P4.3</data><data key="subject">Latency, throughput &amp; goodput</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.generalization"><data key="label">Generalization</data><data key="home">P3.2</data><data key="subject">Metrics, calibration &amp; uncertainty</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.evaluation-split"><data key="label">Evaluation split</data><data key="home">P3.1</data><data key="subject">Evaluation design &amp; experiments</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.selection-bias"><data key="label">Model-selection optimism</data><data key="home">P3.1</data><data key="subject">Evaluation design &amp; experiments</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.metrics"><data key="label">Evaluation metrics</data><data key="home">P3.2</data><data key="subject">Metrics, calibration &amp; uncertainty</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.calibration"><data key="label">Probability calibration</data><data key="home">P3.2</data><data key="subject">Metrics, calibration &amp; uncertainty</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.statistical-uncertainty"><data key="label">Statistical uncertainty</data><data key="home">P3.2</data><data key="subject">Metrics, calibration &amp; uncertainty</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.benchmark"><data key="label">Benchmark protocol</data><data key="home">Q1.2</data><data key="subject">System benchmarking</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.online-experiment"><data key="label">Online experimentation</data><data key="home">P3.1</data><data key="subject">Evaluation design &amp; experiments</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.sliced-evaluation"><data key="label">Sliced evaluation</data><data key="home">P3.3</data><data key="subject">Sliced &amp; robustness evaluation</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.selective-prediction"><data key="label">Selective prediction</data><data key="home">P3.2</data><data key="subject">Metrics, calibration &amp; uncertainty</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.artifact-version"><data key="label">Artifact versioning</data><data key="home">P5.1</data><data key="subject">Versioning, rollout &amp; rollback</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.monitoring"><data key="label">Production monitoring</data><data key="home">P5.2</data><data key="subject">Monitoring &amp; observability</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.rollout"><data key="label">Staged rollout</data><data key="home">P5.1</data><data key="subject">Versioning, rollout &amp; rollback</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.rollback"><data key="label">Rollback</data><data key="home">P5.1</data><data key="subject">Versioning, rollout &amp; rollback</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.concept-drift"><data key="label">Concept drift</data><data key="home">P5.3</data><data key="subject">Drift, feedback loops &amp; retraining</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.delayed-outcomes"><data key="label">Delayed outcomes</data><data key="home">P5.3</data><data key="subject">Drift, feedback loops &amp; retraining</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.incident-response"><data key="label">Incident response</data><data key="home">P5.4</data><data key="subject">Incident response</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.observability"><data key="label">System observability</data><data key="home">P5.2</data><data key="subject">Monitoring &amp; observability</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.threat-model"><data key="label">Threat modeling</data><data key="home">Q3.1</data><data key="subject">Threat models &amp; adversarial attacks</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.poisoning"><data key="label">Data poisoning</data><data key="home">Q3.1</data><data key="subject">Threat models &amp; adversarial attacks</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.evasion"><data key="label">Adversarial evasion</data><data key="home">Q3.1</data><data key="subject">Threat models &amp; adversarial attacks</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.privacy"><data key="label">Privacy requirements</data><data key="home">Q3.3</data><data key="subject">Privacy leakage &amp; differential privacy</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.differential-privacy"><data key="label">Differential privacy</data><data key="home">Q3.3</data><data key="subject">Privacy leakage &amp; differential privacy</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.fairness"><data key="label">Fairness criteria</data><data key="home">Q5.1</data><data key="subject">Fairness &amp; bias</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.authorization"><data key="label">Authorization</data><data key="home">Q3.4</data><data key="subject">Access control &amp; isolation</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.isolation"><data key="label">Execution isolation</data><data key="home">Q3.4</data><data key="subject">Access control &amp; isolation</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.human-oversight"><data key="label">Human oversight</data><data key="home">Q5.3</data><data key="subject">Human oversight &amp; contestability</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.energy"><data key="label">Operating energy</data><data key="home">Q6.1</data><data key="subject">Energy &amp; carbon accounting</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.carbon"><data key="label">Lifecycle carbon</data><data key="home">Q6.1</data><data key="subject">Energy &amp; carbon accounting</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.unit-cost"><data key="label">Cost per useful outcome</data><data key="home">Q6.3</data><data key="subject">Cost, TCO &amp; unit economics</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.capacity-planning"><data key="label">Capacity planning</data><data key="home">S4.5</data><data key="subject">Capacity planning &amp; multi-tenancy</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.trajectory"><data key="label">Agent trajectory</data><data key="home">T1.3</data><data key="subject">Agent harness &amp; control loop</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.planning"><data key="label">Agent planning</data><data key="home">T1.3</data><data key="subject">Agent harness &amp; control loop</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.sliding-window-attention"><data key="label">Sparse and sliding-window attention</data><data key="home">F2.4</data><data key="subject">Long-context &amp; efficient sequence models</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.retrieval"><data key="label">Retrieval</data><data key="home">P4.8</data><data key="subject">Retrieval &amp; vector search</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.ann"><data key="label">Approximate nearest-neighbor search</data><data key="home">P4.8</data><data key="subject">Retrieval &amp; vector search</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.hallucination"><data key="label">Hallucination</data><data key="home">P3.4</data><data key="subject">Evaluating generative &amp; agentic systems</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.tool-contract"><data key="label">Tool contract</data><data key="home">T1.2</data><data key="subject">Tool use &amp; action interfaces</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.failure-model"><data key="label">Failure model</data><data key="home">Q2.1</data><data key="subject">Failure models, retries &amp; degradation</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.idempotency"><data key="label">Idempotency</data><data key="home">Q2.1</data><data key="subject">Failure models, retries &amp; degradation</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.prompt-injection"><data key="label">Prompt injection</data><data key="home">Q3.1</data><data key="subject">Threat models &amp; adversarial attacks</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.agent-evaluation"><data key="label">Trajectory evaluation</data><data key="home">P3.4</data><data key="subject">Evaluating generative &amp; agentic systems</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.rlhf"><data key="label">RL from human feedback</data><data key="home">P2.6</data><data key="subject">Preference &amp; RL post-training</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.dynamics"><data key="label">Physical dynamics</data><data key="home">T2.3</data><data key="subject">Motion planning &amp; control</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.sensing"><data key="label">Sensor calibration</data><data key="home">T2.1</data><data key="subject">Sensing, perception &amp; fusion</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.state-estimation"><data key="label">State estimation</data><data key="home">T2.2</data><data key="subject">State estimation, localization &amp; mapping</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.state-observability"><data key="label">State observability</data><data key="home">T2.2</data><data key="subject">State estimation, localization &amp; mapping</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.observation-age"><data key="label">Observation age</data><data key="home">T2.4</data><data key="subject">Real-time &amp; mixed-criticality computing</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.feedback-delay"><data key="label">Feedback delay</data><data key="home">T2.4</data><data key="subject">Real-time &amp; mixed-criticality computing</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.wcet"><data key="label">Worst-case execution time</data><data key="home">T2.4</data><data key="subject">Real-time &amp; mixed-criticality computing</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.feedback-control"><data key="label">Feedback control</data><data key="home">T2.3</data><data key="subject">Motion planning &amp; control</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.trajectory-feasibility"><data key="label">Trajectory feasibility</data><data key="home">T2.3</data><data key="subject">Motion planning &amp; control</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.contact-compliance"><data key="label">Contact and compliance</data><data key="home">T2.3</data><data key="subject">Motion planning &amp; control</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.sim-to-real"><data key="label">Simulation-to-real transfer</data><data key="home">T2.5</data><data key="subject">Robot learning &amp; sim-to-real</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.runtime-assurance"><data key="label">Runtime assurance</data><data key="home">Q4.2</data><data key="subject">Runtime assurance &amp; safety filters</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.stopping-envelope"><data key="label">Stopping envelope</data><data key="home">Q4.2</data><data key="subject">Runtime assurance &amp; safety filters</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.operating-domain"><data key="label">Operational design domain</data><data key="home">Q4.1</data><data key="subject">Hazard analysis &amp; operating domains</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.safety-case"><data key="label">Safety case</data><data key="home">Q4.4</data><data key="subject">Safety cases, standards &amp; certification</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.grammar"><data key="label">Structured output constraint</data><data key="home">P4.6</data><data key="subject">Decoding, sampling &amp; structured output</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.labels"><data key="label">Label quality</data><data key="home">P1.1</data><data key="subject">Data collection &amp; labeling</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.data-contract"><data key="label">Data contract</data><data key="home">P1.5</data><data key="subject">Data contracts, versioning &amp; lineage</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.feedback-loop"><data key="label">Deployment feedback loop</data><data key="home">P5.3</data><data key="subject">Drift, feedback loops &amp; retraining</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.decision-policy"><data key="label">Decision policy</data><data key="home">F1.3</data><data key="subject">Objectives, proxies &amp; decision policies</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.robustness-evaluation"><data key="label">Robustness evaluation</data><data key="home">P3.3</data><data key="subject">Sliced &amp; robustness evaluation</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.supervised-learning"><data key="label">Supervised learning</data><data key="home">P2.1</data><data key="subject">Learning paradigms</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.self-supervised-learning"><data key="label">Self-supervised learning</data><data key="home">P2.1</data><data key="subject">Learning paradigms</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.unsupervised-learning"><data key="label">Unsupervised learning</data><data key="home">P2.1</data><data key="subject">Learning paradigms</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.reinforcement-learning"><data key="label">Reinforcement learning</data><data key="home">P2.1</data><data key="subject">Learning paradigms</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.imitation-learning"><data key="label">Imitation learning</data><data key="home">P2.1</data><data key="subject">Learning paradigms</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.model-artifact"><data key="label">Model artifact</data><data key="home">F2.5</data><data key="subject">Model artifacts &amp; formats</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.compensation"><data key="label">Compensating action</data><data key="home">Q2.1</data><data key="subject">Failure models, retries &amp; degradation</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.backpressure"><data key="label">Backpressure</data><data key="home">P4.4</data><data key="subject">Batching, admission &amp; autoscaling</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.privacy-leakage"><data key="label">Privacy leakage</data><data key="home">Q3.3</data><data key="subject">Privacy leakage &amp; differential privacy</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.utilization"><data key="label">Resource utilization</data><data key="home">Q1.1</data><data key="subject">Profiling &amp; utilization</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.irreversible-effects"><data key="label">Irreversible effects</data><data key="home">Q2.1</data><data key="subject">Failure models, retries &amp; degradation</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.dataset-storage-layout"><data key="label">Dataset storage layout</data><data key="home">P1.4</data><data key="subject">Data pipelines &amp; storage formats</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.data-ingestion"><data key="label">Data ingestion</data><data key="home">P1.4</data><data key="subject">Data pipelines &amp; storage formats</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.schema-evolution"><data key="label">Schema evolution</data><data key="home">P1.4</data><data key="subject">Data pipelines &amp; storage formats</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.test-oracle"><data key="label">Test oracle</data><data key="home">P3.5</data><data key="subject">ML testing &amp; debugging</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.integration-testing"><data key="label">Integration testing</data><data key="home">P3.5</data><data key="subject">ML testing &amp; debugging</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.failure-injection"><data key="label">Failure injection</data><data key="home">Q2.4</data><data key="subject">Fault injection &amp; resilience testing</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.dependency-environment"><data key="label">Dependency environment</data><data key="home">P5.5</data><data key="subject">ML pipelines &amp; reproducibility</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.workflow-orchestration"><data key="label">Workflow orchestration</data><data key="home">P5.5</data><data key="subject">ML pipelines &amp; reproducibility</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.experiment-reproducibility"><data key="label">Experiment reproducibility</data><data key="home">P5.5</data><data key="subject">ML pipelines &amp; reproducibility</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.compute-throughput"><data key="label">Compute throughput</data><data key="home">S1.1</data><data key="subject">Accelerator architecture</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.memory-bandwidth"><data key="label">Memory bandwidth</data><data key="home">S1.2</data><data key="subject">Memory hierarchy &amp; bandwidth</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.host-device-interconnect"><data key="label">Host-device interconnect</data><data key="home">S1.3</data><data key="subject">Host-device &amp; scale-up interconnect</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.power-delivery"><data key="label">Power delivery and integrity</data><data key="home">S1.4</data><data key="subject">Chip power &amp; thermal limits</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.thermal-dynamics"><data key="label">Thermal behavior and throttling</data><data key="home">S1.4</data><data key="subject">Chip power &amp; thermal limits</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.sli"><data key="label">Service-level indicator</data><data key="home">F1.1</data><data key="subject">Requirements, SLOs &amp; baselines</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.error-budget"><data key="label">Error budget</data><data key="home">F1.1</data><data key="subject">Requirements, SLOs &amp; baselines</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.latency-budget"><data key="label">Latency budget</data><data key="home">F1.1</data><data key="subject">Requirements, SLOs &amp; baselines</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.flop-accounting"><data key="label">Operation and byte accounting</data><data key="home">F1.2</data><data key="subject">Workload characterization</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.memory-footprint"><data key="label">Memory footprint</data><data key="home">F1.2</data><data key="subject">Workload characterization</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.workload-trace"><data key="label">Workload trace</data><data key="home">F1.2</data><data key="subject">Workload characterization</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.cost-sensitive-decision"><data key="label">Cost-sensitive decision</data><data key="home">F1.3</data><data key="subject">Objectives, proxies &amp; decision policies</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.pareto-frontier"><data key="label">Pareto frontier</data><data key="home">F1.3</data><data key="subject">Objectives, proxies &amp; decision policies</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.transformer"><data key="label">Transformer</data><data key="home">F2.1</data><data key="subject">Model families</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.recommendation-model"><data key="label">Deep recommendation model</data><data key="home">F2.1</data><data key="subject">Model families</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.diffusion-model"><data key="label">Diffusion model</data><data key="home">F2.1</data><data key="subject">Model families</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.convolution"><data key="label">Convolution</data><data key="home">F2.2</data><data key="subject">Architecture building blocks</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.recurrence"><data key="label">Recurrent computation</data><data key="home">F2.2</data><data key="subject">Architecture building blocks</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.normalization-layer"><data key="label">Normalization layers</data><data key="home">F2.2</data><data key="subject">Architecture building blocks</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.mixture-of-experts"><data key="label">Mixture of experts</data><data key="home">F2.3</data><data key="subject">Sparse &amp; conditional computation</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.expert-routing"><data key="label">Expert routing</data><data key="home">F2.3</data><data key="subject">Sparse &amp; conditional computation</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.expert-capacity"><data key="label">Expert capacity</data><data key="home">F2.3</data><data key="subject">Sparse &amp; conditional computation</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.load-balancing-loss"><data key="label">Load-balancing loss</data><data key="home">F2.3</data><data key="subject">Sparse &amp; conditional computation</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.active-parameters"><data key="label">Active parameters</data><data key="home">F2.3</data><data key="subject">Sparse &amp; conditional computation</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.early-exit"><data key="label">Early exit</data><data key="home">F2.3</data><data key="subject">Sparse &amp; conditional computation</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.linear-attention"><data key="label">Linear attention</data><data key="home">F2.4</data><data key="subject">Long-context &amp; efficient sequence models</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.state-space-model"><data key="label">State-space sequence model</data><data key="home">F2.4</data><data key="subject">Long-context &amp; efficient sequence models</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.grouped-query-attention"><data key="label">Grouped-query attention</data><data key="home">F2.4</data><data key="subject">Long-context &amp; efficient sequence models</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.context-extension"><data key="label">Context-length extension</data><data key="home">F2.4</data><data key="subject">Long-context &amp; efficient sequence models</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.context"><data key="label">Context window</data><data key="home">F2.4</data><data key="subject">Long-context &amp; efficient sequence models</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.weight-serialization"><data key="label">Weight serialization format</data><data key="home">F2.5</data><data key="subject">Model artifacts &amp; formats</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.model-exchange-format"><data key="label">Model exchange format</data><data key="home">F2.5</data><data key="subject">Model artifacts &amp; formats</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.model-export"><data key="label">Model export</data><data key="home">F2.5</data><data key="subject">Model artifacts &amp; formats</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.model-signature"><data key="label">Model signature</data><data key="home">F2.5</data><data key="subject">Model artifacts &amp; formats</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.ridge-point"><data key="label">Ridge point</data><data key="home">F3.1</data><data key="subject">Roofline, performance models &amp; simulation</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.bound-regime"><data key="label">Compute-bound vs. memory-bound</data><data key="home">F3.1</data><data key="subject">Roofline, performance models &amp; simulation</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.data-movement-energy"><data key="label">Data-movement energy</data><data key="home">F3.1</data><data key="subject">Roofline, performance models &amp; simulation</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.amdahls-law"><data key="label">Amdahl's law</data><data key="home">F3.2</data><data key="subject">Amdahl's law &amp; scaling efficiency</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.strong-scaling"><data key="label">Strong scaling</data><data key="home">F3.2</data><data key="subject">Amdahl's law &amp; scaling efficiency</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.weak-scaling"><data key="label">Weak scaling</data><data key="home">F3.2</data><data key="subject">Amdahl's law &amp; scaling efficiency</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.parallel-efficiency"><data key="label">Parallel scaling efficiency</data><data key="home">F3.2</data><data key="subject">Amdahl's law &amp; scaling efficiency</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.littles-law"><data key="label">Little's law</data><data key="home">F3.3</data><data key="subject">Queueing &amp; capacity models</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.latency-throughput-curve"><data key="label">Latency-throughput curve</data><data key="home">F3.3</data><data key="subject">Queueing &amp; capacity models</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.arrival-burstiness"><data key="label">Arrival burstiness</data><data key="home">F3.3</data><data key="subject">Queueing &amp; capacity models</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.compute-optimal-allocation"><data key="label">Compute-optimal allocation</data><data key="home">F3.4</data><data key="subject">Scaling laws &amp; compute-optimal allocation</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.training-compute-estimate"><data key="label">Training compute estimate</data><data key="home">F3.4</data><data key="subject">Scaling laws &amp; compute-optimal allocation</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.systolic-array"><data key="label">Systolic array</data><data key="home">S1.1</data><data key="subject">Accelerator architecture</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.matrix-unit"><data key="label">Matrix engine</data><data key="home">S1.1</data><data key="subject">Accelerator architecture</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.simt"><data key="label">SIMT execution</data><data key="home">S1.1</data><data key="subject">Accelerator architecture</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.dataflow"><data key="label">Accelerator dataflow</data><data key="home">S1.1</data><data key="subject">Accelerator architecture</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.domain-specific-architecture"><data key="label">Domain-specific architecture</data><data key="home">S1.1</data><data key="subject">Accelerator architecture</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.hbm"><data key="label">High-bandwidth memory</data><data key="home">S1.2</data><data key="subject">Memory hierarchy &amp; bandwidth</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.on-chip-sram"><data key="label">On-chip SRAM and scratchpads</data><data key="home">S1.2</data><data key="subject">Memory hierarchy &amp; bandwidth</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.memory-wall"><data key="label">Memory wall</data><data key="home">S1.2</data><data key="subject">Memory hierarchy &amp; bandwidth</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.scale-up-interconnect"><data key="label">Scale-up interconnect</data><data key="home">S1.3</data><data key="subject">Host-device &amp; scale-up interconnect</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.coherent-interconnect"><data key="label">Cache-coherent interconnect</data><data key="home">S1.3</data><data key="subject">Host-device &amp; scale-up interconnect</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.peer-to-peer-transfer"><data key="label">Peer-to-peer device transfer</data><data key="home">S1.3</data><data key="subject">Host-device &amp; scale-up interconnect</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.tdp"><data key="label">Thermal design power</data><data key="home">S1.4</data><data key="subject">Chip power &amp; thermal limits</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.dvfs"><data key="label">Dynamic voltage and frequency scaling</data><data key="home">S1.4</data><data key="subject">Chip power &amp; thermal limits</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.dark-silicon"><data key="label">Dark silicon</data><data key="home">S1.4</data><data key="subject">Chip power &amp; thermal limits</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.power-capping"><data key="label">Power capping</data><data key="home">S1.4</data><data key="subject">Chip power &amp; thermal limits</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.microcontroller"><data key="label">Microcontroller-class device</data><data key="home">S1.5</data><data key="subject">Edge &amp; embedded hardware</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.heterogeneous-soc"><data key="label">Heterogeneous mobile SoC</data><data key="home">S1.5</data><data key="subject">Edge &amp; embedded hardware</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.edge-npu"><data key="label">On-device neural accelerator</data><data key="home">S1.5</data><data key="subject">Edge &amp; embedded hardware</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.energy-efficiency"><data key="label">Energy efficiency</data><data key="home">Q6.1</data><data key="subject">Energy &amp; carbon accounting</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.on-device-memory-budget"><data key="label">On-device memory budget</data><data key="home">S1.5</data><data key="subject">Edge &amp; embedded hardware</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.tensor"><data key="label">Tensor</data><data key="home">S2.1</data><data key="subject">ML frameworks &amp; programming models</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.computation-graph"><data key="label">Computation graph</data><data key="home">S2.1</data><data key="subject">ML frameworks &amp; programming models</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.eager-execution"><data key="label">Eager vs. graph execution</data><data key="home">S2.1</data><data key="subject">ML frameworks &amp; programming models</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.tracing-jit"><data key="label">Graph tracing</data><data key="home">S2.1</data><data key="subject">ML frameworks &amp; programming models</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.io-aware-attention"><data key="label">IO-aware attention kernel</data><data key="home">S2.2</data><data key="subject">Tensor operators &amp; memory layout</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.convolution-lowering"><data key="label">Convolution lowering</data><data key="home">S2.2</data><data key="subject">Tensor operators &amp; memory layout</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.kernel-library"><data key="label">Vendor kernel library</data><data key="home">S2.2</data><data key="subject">Tensor operators &amp; memory layout</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.intermediate-representation"><data key="label">ML compiler IR</data><data key="home">S2.4</data><data key="subject">ML compilers &amp; kernel optimization</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.autotuning"><data key="label">Kernel autotuning</data><data key="home">S2.4</data><data key="subject">ML compilers &amp; kernel optimization</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.kernel-dsl"><data key="label">Kernel DSL</data><data key="home">S2.4</data><data key="subject">ML compilers &amp; kernel optimization</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.memory-planning"><data key="label">Static memory planning</data><data key="home">S2.4</data><data key="subject">ML compilers &amp; kernel optimization</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.device-streams"><data key="label">Device streams</data><data key="home">S2.5</data><data key="subject">Runtime execution &amp; dispatch</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.caching-allocator"><data key="label">Caching memory allocator</data><data key="home">S2.5</data><data key="subject">Runtime execution &amp; dispatch</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.graph-replay"><data key="label">Captured graph replay</data><data key="home">S2.5</data><data key="subject">Runtime execution &amp; dispatch</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.loss-scaling"><data key="label">Loss scaling</data><data key="home">S2.7</data><data key="subject">Numerical formats &amp; precision</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.block-scaled-format"><data key="label">Block-scaled number formats</data><data key="home">S2.7</data><data key="subject">Numerical formats &amp; precision</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.accumulation-precision"><data key="label">Accumulation precision</data><data key="home">S2.7</data><data key="subject">Numerical formats &amp; precision</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.expert-parallel"><data key="label">Expert parallelism</data><data key="home">S3.1</data><data key="subject">Parallelism strategies</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.sequence-parallel"><data key="label">Sequence and context parallelism</data><data key="home">S3.1</data><data key="subject">Parallelism strategies</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.hybrid-parallel"><data key="label">Hybrid parallelism</data><data key="home">S3.1</data><data key="subject">Parallelism strategies</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.pipeline-bubble"><data key="label">Pipeline bubble</data><data key="home">S3.1</data><data key="subject">Parallelism strategies</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.ring-allreduce"><data key="label">Ring all-reduce</data><data key="home">S3.3</data><data key="subject">Collective communication</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.tree-allreduce"><data key="label">Tree and hierarchical all-reduce</data><data key="home">S3.3</data><data key="subject">Collective communication</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.all-to-all"><data key="label">All-to-all exchange</data><data key="home">S3.3</data><data key="subject">Collective communication</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.alpha-beta-model"><data key="label">Alpha-beta communication model</data><data key="home">S3.3</data><data key="subject">Collective communication</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.gradient-compression"><data key="label">Gradient compression</data><data key="home">S3.3</data><data key="subject">Collective communication</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.lease"><data key="label">Lease</data><data key="home">S3.4</data><data key="subject">Coordination &amp; consensus</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.leader-election"><data key="label">Leader election</data><data key="home">S3.4</data><data key="subject">Coordination &amp; consensus</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.bounded-staleness"><data key="label">Bounded staleness</data><data key="home">S3.4</data><data key="subject">Coordination &amp; consensus</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.federated-averaging"><data key="label">Federated averaging</data><data key="home">S3.5</data><data key="subject">Federated &amp; decentralized learning</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.non-iid-data"><data key="label">Statistical heterogeneity</data><data key="home">S3.5</data><data key="subject">Federated &amp; decentralized learning</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.client-sampling"><data key="label">Client selection</data><data key="home">S3.5</data><data key="subject">Federated &amp; decentralized learning</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.federation-setting"><data key="label">Cross-device vs. cross-silo federation</data><data key="home">S3.5</data><data key="subject">Federated &amp; decentralized learning</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.pue"><data key="label">Power usage effectiveness</data><data key="home">S4.1</data><data key="subject">Datacenter power, cooling &amp; facilities</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.liquid-cooling"><data key="label">Liquid cooling</data><data key="home">S4.1</data><data key="subject">Datacenter power, cooling &amp; facilities</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.rack-power-density"><data key="label">Rack power density</data><data key="home">S4.1</data><data key="subject">Datacenter power, cooling &amp; facilities</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.power-oversubscription"><data key="label">Power oversubscription</data><data key="home">S4.1</data><data key="subject">Datacenter power, cooling &amp; facilities</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.warehouse-scale-computer"><data key="label">Warehouse-scale computer</data><data key="home">S4.1</data><data key="subject">Datacenter power, cooling &amp; facilities</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.rdma"><data key="label">Remote direct memory access</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.lossless-fabric"><data key="label">Lossless network fabric</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.congestion-control"><data key="label">Datacenter congestion control</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.fat-tree"><data key="label">Fat-tree (Clos) topology</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.rail-optimized"><data key="label">Rail-optimized topology</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.bisection-bandwidth"><data key="label">Bisection bandwidth</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.in-network-reduction"><data key="label">In-network reduction</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.parallel-file-system"><data key="label">Parallel file system</data><data key="home">S4.3</data><data key="subject">Storage &amp; data delivery</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.object-storage"><data key="label">Object storage</data><data key="home">S4.3</data><data key="subject">Storage &amp; data delivery</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.input-pipeline"><data key="label">Training input pipeline</data><data key="home">S2.6</data><data key="subject">Data loading &amp; input pipelines</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.checkpoint-io"><data key="label">Checkpoint I/O</data><data key="home">S4.3</data><data key="subject">Storage &amp; data delivery</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.storage-tiering"><data key="label">Storage tiering and caching</data><data key="home">S4.3</data><data key="subject">Storage &amp; data delivery</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.gang-scheduling"><data key="label">Gang scheduling</data><data key="home">S4.4</data><data key="subject">Cluster scheduling &amp; orchestration</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.job-preemption"><data key="label">Job preemption</data><data key="home">S4.4</data><data key="subject">Cluster scheduling &amp; orchestration</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.dominant-resource-fairness"><data key="label">Dominant resource fairness</data><data key="home">S4.4</data><data key="subject">Cluster scheduling &amp; orchestration</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.elastic-training"><data key="label">Elastic training</data><data key="home">S4.4</data><data key="subject">Cluster scheduling &amp; orchestration</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.topology-aware-placement"><data key="label">Topology-aware placement</data><data key="home">S4.4</data><data key="subject">Cluster scheduling &amp; orchestration</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.bin-packing"><data key="label">Bin packing</data><data key="home">S4.4</data><data key="subject">Cluster scheduling &amp; orchestration</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.multi-tenancy"><data key="label">Multi-tenancy</data><data key="home">S4.5</data><data key="subject">Capacity planning &amp; multi-tenancy</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.resource-quota"><data key="label">Resource quota</data><data key="home">S4.5</data><data key="subject">Capacity planning &amp; multi-tenancy</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.gpu-partitioning"><data key="label">Accelerator sharing and partitioning</data><data key="home">S4.5</data><data key="subject">Capacity planning &amp; multi-tenancy</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.spot-capacity"><data key="label">Spot and preemptible capacity</data><data key="home">S4.5</data><data key="subject">Capacity planning &amp; multi-tenancy</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.performance-interference"><data key="label">Performance interference</data><data key="home">S4.5</data><data key="subject">Capacity planning &amp; multi-tenancy</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.weak-supervision"><data key="label">Weak supervision</data><data key="home">P1.1</data><data key="subject">Data collection &amp; labeling</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.active-learning"><data key="label">Active learning</data><data key="home">P1.1</data><data key="subject">Data collection &amp; labeling</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.annotator-agreement"><data key="label">Inter-annotator agreement</data><data key="home">P1.1</data><data key="subject">Data collection &amp; labeling</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.quality-filtering"><data key="label">Quality filtering</data><data key="home">P1.2</data><data key="subject">Data selection &amp; curation</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.data-mixture"><data key="label">Data mixture</data><data key="home">P1.2</data><data key="subject">Data selection &amp; curation</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.synthetic-data"><data key="label">Synthetic data</data><data key="home">P1.2</data><data key="subject">Data selection &amp; curation</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.data-augmentation"><data key="label">Data augmentation</data><data key="home">P1.2</data><data key="subject">Data selection &amp; curation</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.data-validation"><data key="label">Data validation</data><data key="home">P1.3</data><data key="subject">Data validation &amp; feature engineering</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.feature-store"><data key="label">Feature store</data><data key="home">P1.3</data><data key="subject">Data validation &amp; feature engineering</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.stream-processing"><data key="label">Stream processing</data><data key="home">P1.4</data><data key="subject">Data pipelines &amp; storage formats</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.feature-backfill"><data key="label">Feature backfill</data><data key="home">P1.4</data><data key="subject">Data pipelines &amp; storage formats</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.data-versioning"><data key="label">Dataset versioning</data><data key="home">P1.5</data><data key="subject">Data contracts, versioning &amp; lineage</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.data-dependency"><data key="label">Data dependency debt</data><data key="home">P1.5</data><data key="subject">Data contracts, versioning &amp; lineage</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.feature-freshness"><data key="label">Feature freshness</data><data key="home">P1.6</data><data key="subject">Leakage &amp; training-serving skew</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.learning-rate-schedule"><data key="label">Learning-rate schedule</data><data key="home">P2.2</data><data key="subject">Optimization &amp; training dynamics</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.critical-batch-size"><data key="label">Critical batch size</data><data key="home">P2.2</data><data key="subject">Optimization &amp; training dynamics</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.training-instability"><data key="label">Training instability</data><data key="home">P2.2</data><data key="subject">Optimization &amp; training dynamics</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.gradient-accumulation"><data key="label">Gradient accumulation</data><data key="home">P2.3</data><data key="subject">Training memory &amp; state</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.memory-offloading"><data key="label">Training-state offloading</data><data key="home">P2.3</data><data key="subject">Training memory &amp; state</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.experiment-tracking"><data key="label">Experiment tracking</data><data key="home">P2.4</data><data key="subject">Hyperparameter search &amp; experiment management</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.hyperparameter-transfer"><data key="label">Hyperparameter transfer</data><data key="home">P2.4</data><data key="subject">Hyperparameter search &amp; experiment management</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.supervised-fine-tuning"><data key="label">Supervised fine-tuning</data><data key="home">P2.5</data><data key="subject">Adaptation: fine-tuning, prompting &amp; transfer</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.lora"><data key="label">Low-rank adaptation</data><data key="home">P2.5</data><data key="subject">Adaptation: fine-tuning, prompting &amp; transfer</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.reward-model"><data key="label">Reward model</data><data key="home">P2.6</data><data key="subject">Preference &amp; RL post-training</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.preference-optimization"><data key="label">Direct preference optimization</data><data key="home">P2.6</data><data key="subject">Preference &amp; RL post-training</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.rlvr"><data key="label">RL with verifiable rewards</data><data key="home">P2.6</data><data key="subject">Preference &amp; RL post-training</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.rl-rollout"><data key="label">RL rollout generation</data><data key="home">P2.6</data><data key="subject">Preference &amp; RL post-training</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.weight-sync"><data key="label">Policy weight synchronization</data><data key="home">P2.6</data><data key="subject">Preference &amp; RL post-training</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.policy-staleness"><data key="label">Policy staleness</data><data key="home">P2.6</data><data key="subject">Preference &amp; RL post-training</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.credit-assignment"><data key="label">Credit assignment</data><data key="home">P2.6</data><data key="subject">Preference &amp; RL post-training</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.online-learning"><data key="label">Online learning</data><data key="home">P2.7</data><data key="subject">Continual &amp; online learning</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.incremental-training"><data key="label">Incremental training</data><data key="home">P2.7</data><data key="subject">Continual &amp; online learning</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.catastrophic-forgetting"><data key="label">Catastrophic forgetting</data><data key="home">P2.7</data><data key="subject">Continual &amp; online learning</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.experience-replay"><data key="label">Experience replay</data><data key="home">P2.7</data><data key="subject">Continual &amp; online learning</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.on-device-training"><data key="label">On-device training</data><data key="home">P2.7</data><data key="subject">Continual &amp; online learning</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.cross-validation"><data key="label">Cross-validation</data><data key="home">P3.1</data><data key="subject">Evaluation design &amp; experiments</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.sequential-testing"><data key="label">Sequential testing</data><data key="home">P3.1</data><data key="subject">Evaluation design &amp; experiments</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.experiment-interference"><data key="label">Experiment interference</data><data key="home">P3.1</data><data key="subject">Evaluation design &amp; experiments</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.conformal-prediction"><data key="label">Conformal prediction</data><data key="home">P3.2</data><data key="subject">Metrics, calibration &amp; uncertainty</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.slice-discovery"><data key="label">Slice discovery</data><data key="home">P3.3</data><data key="subject">Sliced &amp; robustness evaluation</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.llm-judge"><data key="label">Model-based grading</data><data key="home">P3.4</data><data key="subject">Evaluating generative &amp; agentic systems</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.pass-at-k"><data key="label">pass@k</data><data key="home">P3.4</data><data key="subject">Evaluating generative &amp; agentic systems</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.pairwise-preference-eval"><data key="label">Pairwise preference evaluation</data><data key="home">P3.4</data><data key="subject">Evaluating generative &amp; agentic systems</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.human-evaluation"><data key="label">Human evaluation</data><data key="home">P3.4</data><data key="subject">Evaluating generative &amp; agentic systems</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.benchmark-contamination"><data key="label">Benchmark contamination</data><data key="home">P3.4</data><data key="subject">Evaluating generative &amp; agentic systems</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.time-to-train"><data key="label">Time to train</data><data key="home">Q1.2</data><data key="subject">System benchmarking</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.inference-load-scenario"><data key="label">Inference load scenario</data><data key="home">Q1.2</data><data key="subject">System benchmarking</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.metamorphic-testing"><data key="label">Metamorphic testing</data><data key="home">P3.5</data><data key="subject">ML testing &amp; debugging</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.behavioral-testing"><data key="label">Behavioral testing</data><data key="home">P3.5</data><data key="subject">ML testing &amp; debugging</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.production-readiness"><data key="label">Production-readiness assessment</data><data key="home">P3.5</data><data key="subject">ML testing &amp; debugging</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.online-inference"><data key="label">Online inference</data><data key="home">P4.1</data><data key="subject">Serving architectures</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.batch-inference"><data key="label">Batch inference</data><data key="home">P4.1</data><data key="subject">Serving architectures</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.model-server"><data key="label">Model server</data><data key="home">P4.1</data><data key="subject">Serving architectures</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.multi-model-serving"><data key="label">Multi-model serving</data><data key="home">P4.1</data><data key="subject">Serving architectures</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.compound-ai-system"><data key="label">Compound AI system</data><data key="home">P4.2</data><data key="subject">Compound AI systems &amp; model routing</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.lm-program-optimization"><data key="label">LM program optimization</data><data key="home">P4.2</data><data key="subject">Compound AI systems &amp; model routing</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.ttft"><data key="label">Time to first token</data><data key="home">P4.3</data><data key="subject">Latency, throughput &amp; goodput</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.tpot"><data key="label">Time per output token</data><data key="home">P4.3</data><data key="subject">Latency, throughput &amp; goodput</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.hedged-requests"><data key="label">Hedged requests</data><data key="home">P4.3</data><data key="subject">Latency, throughput &amp; goodput</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.continuous-batching"><data key="label">Continuous batching</data><data key="home">P4.4</data><data key="subject">Batching, admission &amp; autoscaling</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.load-balancing"><data key="label">Request load balancing</data><data key="home">P4.4</data><data key="subject">Batching, admission &amp; autoscaling</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.cold-start"><data key="label">Model cold start</data><data key="home">P4.4</data><data key="subject">Batching, admission &amp; autoscaling</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.chunked-prefill"><data key="label">Chunked prefill</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.pd-disaggregation"><data key="label">Prefill-decode disaggregation</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.sampling-controls"><data key="label">Decoding and sampling controls</data><data key="home">P4.6</data><data key="subject">Decoding, sampling &amp; structured output</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.constrained-decoding"><data key="label">Constrained decoding</data><data key="home">P4.6</data><data key="subject">Decoding, sampling &amp; structured output</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.output-validation"><data key="label">Output validation</data><data key="home">P4.6</data><data key="subject">Decoding, sampling &amp; structured output</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.reasoning-budget"><data key="label">Reasoning budget</data><data key="home">P4.7</data><data key="subject">Test-time compute</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.best-of-n"><data key="label">Best-of-n sampling</data><data key="home">P4.7</data><data key="subject">Test-time compute</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.self-consistency"><data key="label">Self-consistency voting</data><data key="home">P4.7</data><data key="subject">Test-time compute</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.verifier"><data key="label">Verifier</data><data key="home">P4.7</data><data key="subject">Test-time compute</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.process-reward-model"><data key="label">Process reward model</data><data key="home">P4.7</data><data key="subject">Test-time compute</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.inference-time-search"><data key="label">Inference-time search</data><data key="home">P4.7</data><data key="subject">Test-time compute</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.test-time-scaling"><data key="label">Test-time scaling</data><data key="home">P4.7</data><data key="subject">Test-time compute</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.rag"><data key="label">Retrieval-augmented generation</data><data key="home">P4.8</data><data key="subject">Retrieval &amp; vector search</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.dense-retrieval"><data key="label">Dense retrieval</data><data key="home">P4.8</data><data key="subject">Retrieval &amp; vector search</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.lexical-retrieval"><data key="label">Lexical retrieval</data><data key="home">P4.8</data><data key="subject">Retrieval &amp; vector search</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.reranking"><data key="label">Reranking</data><data key="home">P4.8</data><data key="subject">Retrieval &amp; vector search</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.model-conversion"><data key="label">Model conversion</data><data key="home">P4.9</data><data key="subject">On-device &amp; edge deployment</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.on-device-runtime"><data key="label">On-device inference runtime</data><data key="home">P4.9</data><data key="subject">On-device &amp; edge deployment</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.ota-model-update"><data key="label">Over-the-air model update</data><data key="home">P4.9</data><data key="subject">On-device &amp; edge deployment</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.device-cloud-partitioning"><data key="label">Device-cloud partitioning</data><data key="home">P4.9</data><data key="subject">On-device &amp; edge deployment</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.device-heterogeneity"><data key="label">Device heterogeneity</data><data key="home">P4.9</data><data key="subject">On-device &amp; edge deployment</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.model-registry"><data key="label">Model registry</data><data key="home">P5.1</data><data key="subject">Versioning, rollout &amp; rollback</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.shadow-deployment"><data key="label">Shadow deployment</data><data key="home">P5.1</data><data key="subject">Versioning, rollout &amp; rollback</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.ml-ci-cd"><data key="label">CI/CD for ML</data><data key="home">P5.1</data><data key="subject">Versioning, rollout &amp; rollback</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.release-gate"><data key="label">Release gate</data><data key="home">P5.1</data><data key="subject">Versioning, rollout &amp; rollback</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.drift-detection"><data key="label">Drift detection</data><data key="home">P5.2</data><data key="subject">Monitoring &amp; observability</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.inference-logging"><data key="label">Prediction logging</data><data key="home">P5.2</data><data key="subject">Monitoring &amp; observability</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.alerting"><data key="label">Alerting</data><data key="home">P5.2</data><data key="subject">Monitoring &amp; observability</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.retraining"><data key="label">Retraining</data><data key="home">P5.3</data><data key="subject">Drift, feedback loops &amp; retraining</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.continuous-training"><data key="label">Continuous training</data><data key="home">P5.3</data><data key="subject">Drift, feedback loops &amp; retraining</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.postmortem"><data key="label">Blameless postmortem</data><data key="home">P5.4</data><data key="subject">Incident response</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.failure-attribution"><data key="label">ML failure attribution</data><data key="home">P5.4</data><data key="subject">Incident response</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.configuration-management"><data key="label">ML configuration management</data><data key="home">P5.5</data><data key="subject">ML pipelines &amp; reproducibility</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.infrastructure-as-code"><data key="label">Infrastructure as code</data><data key="home">P5.5</data><data key="subject">ML pipelines &amp; reproducibility</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.ml-platform"><data key="label">ML platform</data><data key="home">P5.6</data><data key="subject">ML platforms, teams &amp; technical debt</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.technical-debt"><data key="label">ML technical debt</data><data key="home">P5.6</data><data key="subject">ML platforms, teams &amp; technical debt</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.entanglement"><data key="label">Entanglement</data><data key="home">P5.6</data><data key="subject">ML platforms, teams &amp; technical debt</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.undeclared-consumers"><data key="label">Undeclared consumers</data><data key="home">P5.6</data><data key="subject">ML platforms, teams &amp; technical debt</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.mlops-maturity"><data key="label">MLOps maturity</data><data key="home">P5.6</data><data key="subject">ML platforms, teams &amp; technical debt</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.ml-roles"><data key="label">ML team roles</data><data key="home">P5.6</data><data key="subject">ML platforms, teams &amp; technical debt</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.model-deprecation"><data key="label">Model deprecation</data><data key="home">P5.7</data><data key="subject">Model retirement</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.artifact-archival"><data key="label">Artifact archival</data><data key="home">P5.7</data><data key="subject">Model retirement</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.data-retention"><data key="label">Data retention</data><data key="home">P5.7</data><data key="subject">Model retirement</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.model-flops-utilization"><data key="label">Model FLOPs utilization</data><data key="home">Q1.1</data><data key="subject">Profiling &amp; utilization</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.bottleneck-analysis"><data key="label">Bottleneck analysis</data><data key="home">Q1.1</data><data key="subject">Profiling &amp; utilization</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.training-goodput"><data key="label">Training goodput</data><data key="home">Q1.1</data><data key="subject">Profiling &amp; utilization</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.pruning"><data key="label">Pruning</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.structured-pruning"><data key="label">Structured pruning</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.low-rank-factorization"><data key="label">Low-rank factorization</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.quantization-aware-training"><data key="label">Quantization-aware training</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.neural-architecture-search"><data key="label">Neural architecture search</data><data key="home">Q1.4</data><data key="subject">Hardware-aware model design</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.hardware-aware-nas"><data key="label">Hardware-aware NAS</data><data key="home">Q1.4</data><data key="subject">Hardware-aware model design</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.depthwise-separable-convolution"><data key="label">Depthwise separable convolution</data><data key="home">F2.2</data><data key="subject">Architecture building blocks</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.efficiency-frontier"><data key="label">Accuracy-efficiency frontier</data><data key="home">Q1.4</data><data key="subject">Hardware-aware model design</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.model-hardware-co-design"><data key="label">Model-hardware co-design</data><data key="home">Q1.4</data><data key="subject">Hardware-aware model design</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.retry-backoff"><data key="label">Retry with backoff</data><data key="home">Q2.1</data><data key="subject">Failure models, retries &amp; degradation</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.circuit-breaker"><data key="label">Circuit breaker</data><data key="home">Q2.1</data><data key="subject">Failure models, retries &amp; degradation</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.replication-failover"><data key="label">Replication and failover</data><data key="home">Q2.1</data><data key="subject">Failure models, retries &amp; degradation</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.graceful-degradation"><data key="label">Graceful degradation</data><data key="home">Q2.1</data><data key="subject">Failure models, retries &amp; degradation</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.checkpoint-interval"><data key="label">Optimal checkpoint interval</data><data key="home">Q2.2</data><data key="subject">Checkpointing &amp; elastic recovery</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.async-checkpointing"><data key="label">Asynchronous checkpointing</data><data key="home">Q2.2</data><data key="subject">Checkpointing &amp; elastic recovery</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.silent-data-corruption"><data key="label">Silent data corruption</data><data key="home">Q2.3</data><data key="subject">Hardware faults &amp; silent data corruption</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.mtbf"><data key="label">Mean time between failures</data><data key="home">Q2.3</data><data key="subject">Hardware faults &amp; silent data corruption</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.availability"><data key="label">Availability</data><data key="home">Q2.3</data><data key="subject">Hardware faults &amp; silent data corruption</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.gray-failure"><data key="label">Gray failure</data><data key="home">Q2.3</data><data key="subject">Hardware faults &amp; silent data corruption</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.failure-domain"><data key="label">Failure domain</data><data key="home">Q2.3</data><data key="subject">Hardware faults &amp; silent data corruption</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.abft"><data key="label">Algorithm-based fault tolerance</data><data key="home">Q2.3</data><data key="subject">Hardware faults &amp; silent data corruption</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.chaos-engineering"><data key="label">Chaos engineering</data><data key="home">Q2.4</data><data key="subject">Fault injection &amp; resilience testing</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.game-day"><data key="label">Game day</data><data key="home">Q2.4</data><data key="subject">Fault injection &amp; resilience testing</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.hardware-fault-injection"><data key="label">Hardware fault injection</data><data key="home">Q2.4</data><data key="subject">Fault injection &amp; resilience testing</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.blast-radius"><data key="label">Blast radius</data><data key="home">Q2.4</data><data key="subject">Fault injection &amp; resilience testing</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.backdoor"><data key="label">Backdoor attack</data><data key="home">Q3.1</data><data key="subject">Threat models &amp; adversarial attacks</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.jailbreak"><data key="label">Jailbreak</data><data key="home">Q3.1</data><data key="subject">Threat models &amp; adversarial attacks</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.adversarial-training"><data key="label">Adversarial training</data><data key="home">Q3.1</data><data key="subject">Threat models &amp; adversarial attacks</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.model-extraction"><data key="label">Model extraction</data><data key="home">Q3.2</data><data key="subject">Model &amp; supply-chain security</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.model-watermarking"><data key="label">Model watermarking</data><data key="home">Q3.2</data><data key="subject">Model &amp; supply-chain security</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.artifact-signing"><data key="label">Model artifact signing</data><data key="home">Q3.2</data><data key="subject">Model &amp; supply-chain security</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.unsafe-deserialization"><data key="label">Unsafe model deserialization</data><data key="home">Q3.2</data><data key="subject">Model &amp; supply-chain security</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.supply-chain-compromise"><data key="label">ML supply-chain compromise</data><data key="home">Q3.2</data><data key="subject">Model &amp; supply-chain security</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.membership-inference"><data key="label">Membership inference</data><data key="home">Q3.3</data><data key="subject">Privacy leakage &amp; differential privacy</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.model-inversion"><data key="label">Model inversion</data><data key="home">Q3.3</data><data key="subject">Privacy leakage &amp; differential privacy</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.dp-sgd"><data key="label">DP-SGD</data><data key="home">Q3.3</data><data key="subject">Privacy leakage &amp; differential privacy</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.machine-unlearning"><data key="label">Machine unlearning</data><data key="home">Q3.3</data><data key="subject">Privacy leakage &amp; differential privacy</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.secure-aggregation"><data key="label">Secure aggregation</data><data key="home">Q3.3</data><data key="subject">Privacy leakage &amp; differential privacy</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.least-privilege"><data key="label">Least privilege</data><data key="home">Q3.4</data><data key="subject">Access control &amp; isolation</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.confidential-computing"><data key="label">Confidential computing</data><data key="home">Q3.4</data><data key="subject">Access control &amp; isolation</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.remote-attestation"><data key="label">Remote attestation</data><data key="home">Q3.4</data><data key="subject">Access control &amp; isolation</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.side-channel"><data key="label">Side-channel attack</data><data key="home">Q3.4</data><data key="subject">Access control &amp; isolation</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.carbon-intensity"><data key="label">Grid carbon intensity</data><data key="home">Q6.1</data><data key="subject">Energy &amp; carbon accounting</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.operational-carbon"><data key="label">Operational carbon</data><data key="home">Q6.1</data><data key="subject">Energy &amp; carbon accounting</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.emission-scopes"><data key="label">Emission scopes</data><data key="home">Q6.1</data><data key="subject">Energy &amp; carbon accounting</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.carbon-aware-scheduling"><data key="label">Carbon-aware scheduling</data><data key="home">Q6.1</data><data key="subject">Energy &amp; carbon accounting</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.energy-per-inference"><data key="label">Energy per inference</data><data key="home">Q6.1</data><data key="subject">Energy &amp; carbon accounting</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.embodied-carbon"><data key="label">Embodied carbon</data><data key="home">Q6.2</data><data key="subject">Embodied carbon &amp; lifecycle impact</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.lifecycle-assessment"><data key="label">Life cycle assessment</data><data key="home">Q6.2</data><data key="subject">Embodied carbon &amp; lifecycle impact</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.water-footprint"><data key="label">Water footprint</data><data key="home">Q6.2</data><data key="subject">Embodied carbon &amp; lifecycle impact</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.hardware-lifetime"><data key="label">Hardware service lifetime</data><data key="home">Q6.2</data><data key="subject">Embodied carbon &amp; lifecycle impact</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.e-waste"><data key="label">Electronic waste</data><data key="home">Q6.2</data><data key="subject">Embodied carbon &amp; lifecycle impact</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.tco"><data key="label">Total cost of ownership</data><data key="home">Q6.3</data><data key="subject">Cost, TCO &amp; unit economics</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.cost-per-token"><data key="label">Cost per token</data><data key="home">Q6.3</data><data key="subject">Cost, TCO &amp; unit economics</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.cost-attribution"><data key="label">Cost attribution</data><data key="home">Q6.3</data><data key="subject">Cost, TCO &amp; unit economics</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.hazard-analysis"><data key="label">Hazard analysis</data><data key="home">Q4.1</data><data key="subject">Hazard analysis &amp; operating domains</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.stpa"><data key="label">System-theoretic process analysis</data><data key="home">Q4.1</data><data key="subject">Hazard analysis &amp; operating domains</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.fmea"><data key="label">Failure modes and effects analysis</data><data key="home">Q4.1</data><data key="subject">Hazard analysis &amp; operating domains</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.functional-insufficiency"><data key="label">Functional insufficiency</data><data key="home">Q4.1</data><data key="subject">Hazard analysis &amp; operating domains</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.safety-filter"><data key="label">Safety filter</data><data key="home">Q4.2</data><data key="subject">Runtime assurance &amp; safety filters</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.control-barrier-function"><data key="label">Control barrier function</data><data key="home">Q4.2</data><data key="subject">Runtime assurance &amp; safety filters</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.simplex-architecture"><data key="label">Simplex architecture</data><data key="home">Q4.2</data><data key="subject">Runtime assurance &amp; safety filters</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.minimal-risk-condition"><data key="label">Minimal-risk condition</data><data key="home">Q4.2</data><data key="subject">Runtime assurance &amp; safety filters</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.guardrails"><data key="label">Guardrails</data><data key="home">Q4.2</data><data key="subject">Runtime assurance &amp; safety filters</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.scenario-based-testing"><data key="label">Scenario-based testing</data><data key="home">Q4.3</data><data key="subject">Safety verification &amp; validation</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.falsification"><data key="label">Simulation-based falsification</data><data key="home">Q4.3</data><data key="subject">Safety verification &amp; validation</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.formal-verification"><data key="label">Formal verification</data><data key="home">Q4.3</data><data key="subject">Safety verification &amp; validation</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.neural-network-verification"><data key="label">Neural network verification</data><data key="home">Q4.3</data><data key="subject">Safety verification &amp; validation</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.rare-event-validation"><data key="label">Rare-event safety validation</data><data key="home">Q4.3</data><data key="subject">Safety verification &amp; validation</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.xil-testing"><data key="label">X-in-the-loop testing</data><data key="home">Q4.3</data><data key="subject">Safety verification &amp; validation</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.goal-structuring-notation"><data key="label">Goal Structuring Notation</data><data key="home">Q4.4</data><data key="subject">Safety cases, standards &amp; certification</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.functional-safety"><data key="label">Functional safety</data><data key="home">Q4.4</data><data key="subject">Safety cases, standards &amp; certification</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.safety-integrity-level"><data key="label">Safety integrity level</data><data key="home">Q4.4</data><data key="subject">Safety cases, standards &amp; certification</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.safety-performance-indicator"><data key="label">Safety performance indicator</data><data key="home">Q4.4</data><data key="subject">Safety cases, standards &amp; certification</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.group-fairness-metric"><data key="label">Group fairness metrics</data><data key="home">Q5.1</data><data key="subject">Fairness &amp; bias</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.individual-fairness"><data key="label">Individual fairness</data><data key="home">Q5.1</data><data key="subject">Fairness &amp; bias</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.fairness-incompatibility"><data key="label">Fairness criteria incompatibility</data><data key="home">Q5.1</data><data key="subject">Fairness &amp; bias</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.bias-mitigation"><data key="label">Bias mitigation</data><data key="home">Q5.1</data><data key="subject">Fairness &amp; bias</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.feature-attribution"><data key="label">Feature attribution</data><data key="home">Q5.2</data><data key="subject">Explainability &amp; documentation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.counterfactual-explanation"><data key="label">Counterfactual explanation</data><data key="home">Q5.2</data><data key="subject">Explainability &amp; documentation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.interpretable-model"><data key="label">Inherently interpretable model</data><data key="home">Q5.2</data><data key="subject">Explainability &amp; documentation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.model-card"><data key="label">Model card</data><data key="home">Q5.2</data><data key="subject">Explainability &amp; documentation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.datasheet"><data key="label">Datasheet for datasets</data><data key="home">Q5.2</data><data key="subject">Explainability &amp; documentation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.contestability"><data key="label">Contestability and recourse</data><data key="home">Q5.3</data><data key="subject">Human oversight &amp; contestability</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.automation-bias"><data key="label">Automation bias</data><data key="home">Q5.3</data><data key="subject">Human oversight &amp; contestability</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.authority-handover"><data key="label">Authority handover</data><data key="home">Q5.3</data><data key="subject">Human oversight &amp; contestability</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.ai-risk-management"><data key="label">AI risk management</data><data key="home">Q5.4</data><data key="subject">AI governance, audit &amp; regulation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.impact-assessment"><data key="label">Algorithmic impact assessment</data><data key="home">Q5.4</data><data key="subject">AI governance, audit &amp; regulation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.algorithmic-audit"><data key="label">Algorithmic audit</data><data key="home">Q5.4</data><data key="subject">AI governance, audit &amp; regulation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.risk-tiered-regulation"><data key="label">Risk-tiered AI regulation</data><data key="home">Q5.4</data><data key="subject">AI governance, audit &amp; regulation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.frontier-safety-framework"><data key="label">Frontier safety framework</data><data key="home">Q5.4</data><data key="subject">AI governance, audit &amp; regulation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.context-compaction"><data key="label">Context compaction</data><data key="home">T1.1</data><data key="subject">Context engineering &amp; agent memory</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.context-degradation"><data key="label">Long-context degradation</data><data key="home">F2.4</data><data key="subject">Long-context &amp; efficient sequence models</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.agent-memory"><data key="label">Long-term agent memory</data><data key="home">T1.1</data><data key="subject">Context engineering &amp; agent memory</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.function-calling"><data key="label">Function calling</data><data key="home">T1.2</data><data key="subject">Tool use &amp; action interfaces</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.model-context-protocol"><data key="label">Tool discovery protocol</data><data key="home">T1.2</data><data key="subject">Tool use &amp; action interfaces</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.computer-use"><data key="label">Computer use</data><data key="home">T1.2</data><data key="subject">Tool use &amp; action interfaces</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.agent-harness"><data key="label">Agent harness</data><data key="home">T1.3</data><data key="subject">Agent harness &amp; control loop</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.agent-budget"><data key="label">Agent execution budget</data><data key="home">T1.3</data><data key="subject">Agent harness &amp; control loop</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.approval-gate"><data key="label">Action approval gate</data><data key="home">T1.3</data><data key="subject">Agent harness &amp; control loop</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.durable-execution"><data key="label">Durable execution</data><data key="home">T1.4</data><data key="subject">Durable execution &amp; agent state</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.deterministic-replay"><data key="label">Record and replay</data><data key="home">T1.4</data><data key="subject">Durable execution &amp; agent state</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.suspend-resume"><data key="label">Suspend and resume</data><data key="home">T1.4</data><data key="subject">Durable execution &amp; agent state</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.multi-agent-orchestration"><data key="label">Multi-agent orchestration</data><data key="home">T1.5</data><data key="subject">Multi-agent orchestration</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.shared-agent-state"><data key="label">Shared agent state</data><data key="home">T1.5</data><data key="subject">Multi-agent orchestration</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.coordination-failure"><data key="label">Multi-agent coordination failure</data><data key="home">T1.5</data><data key="subject">Multi-agent orchestration</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.correlated-agent-errors"><data key="label">Correlated agent errors</data><data key="home">T1.5</data><data key="subject">Multi-agent orchestration</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.robot-perception"><data key="label">Robot perception</data><data key="home">T2.1</data><data key="subject">Sensing, perception &amp; fusion</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.sensor-fusion"><data key="label">Sensor fusion</data><data key="home">T2.1</data><data key="subject">Sensing, perception &amp; fusion</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.time-synchronization"><data key="label">Sensor time synchronization</data><data key="home">T2.1</data><data key="subject">Sensing, perception &amp; fusion</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.recursive-filtering"><data key="label">Recursive state filtering</data><data key="home">T2.2</data><data key="subject">State estimation, localization &amp; mapping</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.slam"><data key="label">Simultaneous localization and mapping</data><data key="home">T2.2</data><data key="subject">State estimation, localization &amp; mapping</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.world-model"><data key="label">Learned world model</data><data key="home">T2.2</data><data key="subject">State estimation, localization &amp; mapping</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.motion-planning"><data key="label">Motion planning</data><data key="home">T2.3</data><data key="subject">Motion planning &amp; control</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.model-predictive-control"><data key="label">Model predictive control</data><data key="home">T2.3</data><data key="subject">Motion planning &amp; control</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.real-time-scheduling"><data key="label">Real-time scheduling</data><data key="home">T2.4</data><data key="subject">Real-time &amp; mixed-criticality computing</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.mixed-criticality"><data key="label">Mixed-criticality partitioning</data><data key="home">T2.4</data><data key="subject">Real-time &amp; mixed-criticality computing</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.vla-model"><data key="label">Vision-language-action model</data><data key="home">T2.5</data><data key="subject">Robot learning &amp; sim-to-real</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.teleoperation-data"><data key="label">Teleoperation data</data><data key="home">T2.5</data><data key="subject">Robot learning &amp; sim-to-real</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.action-chunking"><data key="label">Action chunking</data><data key="home">T2.5</data><data key="subject">Robot learning &amp; sim-to-real</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.domain-randomization"><data key="label">Domain randomization</data><data key="home">T2.5</data><data key="subject">Robot learning &amp; sim-to-real</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.thread-hierarchy"><data key="label">Thread hierarchy</data><data key="home">S2.3</data><data key="subject">Kernel &amp; GPU programming model</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.memory-coalescing"><data key="label">Memory coalescing</data><data key="home">S2.3</data><data key="subject">Kernel &amp; GPU programming model</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.occupancy"><data key="label">Occupancy and latency hiding</data><data key="home">S2.3</data><data key="subject">Kernel &amp; GPU programming model</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.async-data-movement"><data key="label">Asynchronous data movement</data><data key="home">S2.3</data><data key="subject">Kernel &amp; GPU programming model</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.matrix-engine-programming"><data key="label">Matrix-engine programming</data><data key="home">S2.3</data><data key="subject">Kernel &amp; GPU programming model</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.embedding-table-sharding"><data key="label">Embedding-table sharding</data><data key="home">S3.1</data><data key="subject">Parallelism strategies</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.embedding-cache"><data key="label">Embedding cache and tiering</data><data key="home">S4.3</data><data key="subject">Storage &amp; data delivery</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.parameter-server"><data key="label">Parameter server</data><data key="home">S3.1</data><data key="subject">Parallelism strategies</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.ranking-funnel"><data key="label">Multi-stage retrieval and ranking</data><data key="home">P4.1</data><data key="subject">Serving architectures</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.multimodal-model"><data key="label">Multimodal model</data><data key="home">F2.1</data><data key="subject">Model families</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.modality-encoder"><data key="label">Modality encoder</data><data key="home">F2.2</data><data key="subject">Architecture building blocks</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.encoder-disaggregation"><data key="label">Multimodal encoder disaggregation</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.auto-parallelization"><data key="label">Automatic parallelization</data><data key="home">S3.2</data><data key="subject">Parallelization planning &amp; placement</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.sharding-propagation"><data key="label">Sharding annotation and propagation</data><data key="home">S3.2</data><data key="subject">Parallelization planning &amp; placement</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.device-mesh"><data key="label">Device mesh</data><data key="home">S3.2</data><data key="subject">Parallelization planning &amp; placement</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.function-transformations"><data key="label">Composable function transformations</data><data key="home">S2.1</data><data key="subject">ML frameworks &amp; programming models</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.task-actor-runtime"><data key="label">Distributed task and actor runtime</data><data key="home">S2.1</data><data key="subject">ML frameworks &amp; programming models</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.single-vs-multi-controller"><data key="label">Single- vs. multi-controller execution</data><data key="home">S2.1</data><data key="subject">ML frameworks &amp; programming models</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.analytical-performance-model"><data key="label">Analytical performance model</data><data key="home">F3.1</data><data key="subject">Roofline, performance models &amp; simulation</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.performance-simulation"><data key="label">Performance simulation</data><data key="home">F3.1</data><data key="subject">Roofline, performance models &amp; simulation</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.model-fidelity"><data key="label">Simulator fidelity</data><data key="home">F3.1</data><data key="subject">Roofline, performance models &amp; simulation</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.post-training-quantization"><data key="label">Post-training quantization</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.weight-only-quantization"><data key="label">Weight-only quantization</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.activation-outliers"><data key="label">Activation outliers</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.kv-cache-quantization"><data key="label">KV-cache quantization</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.nm-sparsity"><data key="label">N:M structured sparsity</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.kv-cache-offload"><data key="label">KV-cache offloading and tiering</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.kv-cache-transfer"><data key="label">KV-cache transfer</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.model-routing"><data key="label">Model routing</data><data key="home">P4.2</data><data key="subject">Compound AI systems &amp; model routing</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.model-gateway"><data key="label">Model gateway</data><data key="home">P4.2</data><data key="subject">Compound AI systems &amp; model routing</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.multi-adapter-serving"><data key="label">Multi-adapter serving</data><data key="home">P4.1</data><data key="subject">Serving architectures</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.kv-cache-eviction"><data key="label">KV-cache eviction</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.cpu-gpu-hybrid-inference"><data key="label">CPU-GPU hybrid inference</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.graph-vector-index"><data key="label">Graph-based vector index</data><data key="home">P4.8</data><data key="subject">Retrieval &amp; vector search</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.quantized-vector-index"><data key="label">Partitioned and quantized vector index</data><data key="home">P4.8</data><data key="subject">Retrieval &amp; vector search</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.filtered-vector-search"><data key="label">Filtered vector search</data><data key="home">P4.8</data><data key="subject">Retrieval &amp; vector search</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.index-freshness"><data key="label">Vector index freshness</data><data key="home">P4.8</data><data key="subject">Retrieval &amp; vector search</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.numerical-nondeterminism"><data key="label">Numerical nondeterminism</data><data key="home">S2.7</data><data key="subject">Numerical formats &amp; precision</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.batch-invariance"><data key="label">Batch invariance</data><data key="home">S2.7</data><data key="subject">Numerical formats &amp; precision</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.checkpoint-resharding"><data key="label">Checkpoint resharding</data><data key="home">Q2.2</data><data key="subject">Checkpointing &amp; elastic recovery</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.batch-data-processing"><data key="label">Distributed batch data processing</data><data key="home">P1.4</data><data key="subject">Data pipelines &amp; storage formats</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.distributed-tracing"><data key="label">Distributed tracing</data><data key="home">P5.2</data><data key="subject">Monitoring &amp; observability</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.llm-call-tracing"><data key="label">Model and agent call tracing</data><data key="home">P5.2</data><data key="subject">Monitoring &amp; observability</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.evaluation-harness"><data key="label">Evaluation harness</data><data key="home">P3.1</data><data key="subject">Evaluation design &amp; experiments</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.energy-measurement"><data key="label">Energy measurement methodology</data><data key="home">Q6.1</data><data key="subject">Energy &amp; carbon accounting</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.idle-dynamic-power"><data key="label">Idle vs. dynamic power</data><data key="home">Q6.1</data><data key="subject">Energy &amp; carbon accounting</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.he-inference"><data key="label">Homomorphic-encryption inference</data><data key="home">Q3.3</data><data key="subject">Privacy leakage &amp; differential privacy</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.secure-computation-inference"><data key="label">Secure multi-party computation inference</data><data key="home">Q3.3</data><data key="subject">Privacy leakage &amp; differential privacy</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.red-teaming"><data key="label">Red teaming</data><data key="home">Q3.1</data><data key="subject">Threat models &amp; adversarial attacks</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.dangerous-capability-eval"><data key="label">Dangerous-capability evaluation</data><data key="home">P3.4</data><data key="subject">Evaluating generative &amp; agentic systems</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.compute-in-memory"><data key="label">Compute-in-memory</data><data key="home">S1.1</data><data key="subject">Accelerator architecture</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.emerging-nvm"><data key="label">Emerging non-volatile memory</data><data key="home">S1.2</data><data key="subject">Memory hierarchy &amp; bandwidth</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.embedded-dsl"><data key="label">Embedded ML DSL</data><data key="home">S2.1</data><data key="subject">ML frameworks &amp; programming models</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.differentiable-programming"><data key="label">Differentiable programming</data><data key="home">S2.1</data><data key="subject">ML frameworks &amp; programming models</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.persistent-kernel"><data key="label">Persistent kernel</data><data key="home">S2.4</data><data key="subject">ML compilers &amp; kernel optimization</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.graph-superoptimization"><data key="label">Tensor graph superoptimization</data><data key="home">S2.4</data><data key="subject">ML compilers &amp; kernel optimization</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.llm-training-framework"><data key="label">Large-model training framework</data><data key="home">S2.1</data><data key="subject">ML frameworks &amp; programming models</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.cloud-service-model"><data key="label">Cloud service models</data><data key="home">S4.5</data><data key="subject">Capacity planning &amp; multi-tenancy</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.lakehouse"><data key="label">Data warehouse and lakehouse</data><data key="home">P1.4</data><data key="subject">Data pipelines &amp; storage formats</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.training-power-swings"><data key="label">Synchronous training power swings</data><data key="home">S4.1</data><data key="subject">Datacenter power, cooling &amp; facilities</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.facility-energy-storage"><data key="label">UPS and battery energy storage</data><data key="home">S4.1</data><data key="subject">Datacenter power, cooling &amp; facilities</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.grid-interconnection"><data key="label">Grid interconnection</data><data key="home">S4.1</data><data key="subject">Datacenter power, cooling &amp; facilities</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.on-site-generation"><data key="label">On-site power generation</data><data key="home">S4.1</data><data key="subject">Datacenter power, cooling &amp; facilities</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.data-cleaning"><data key="label">Data cleaning</data><data key="home">P1.3</data><data key="subject">Data validation &amp; feature engineering</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.class-imbalance"><data key="label">Class imbalance</data><data key="home">P1.1</data><data key="subject">Data collection &amp; labeling</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.rebalancing"><data key="label">Class rebalancing</data><data key="home">P1.1</data><data key="subject">Data collection &amp; labeling</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.feature-hashing"><data key="label">Feature hashing</data><data key="home">P1.3</data><data key="subject">Data validation &amp; feature engineering</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.feature-cross"><data key="label">Feature cross</data><data key="home">P1.3</data><data key="subject">Data validation &amp; feature engineering</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.data-governance"><data key="label">Data governance</data><data key="home">P1.5</data><data key="subject">Data contracts, versioning &amp; lineage</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.data-consent"><data key="label">Consent and purpose limitation</data><data key="home">P1.5</data><data key="subject">Data contracts, versioning &amp; lineage</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.exploratory-data-analysis"><data key="label">Exploratory data analysis</data><data key="home">P1.3</data><data key="subject">Data validation &amp; feature engineering</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.model-visualization"><data key="label">Model and prediction visualization</data><data key="home">P3.5</data><data key="subject">ML testing &amp; debugging</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.model-selection"><data key="label">Model selection</data><data key="home">P2.4</data><data key="subject">Hyperparameter search &amp; experiment management</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.pretraining"><data key="label">Pretraining</data><data key="home">P2.1</data><data key="subject">Learning paradigms</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.causal-lm"><data key="label">Causal language modeling</data><data key="home">P2.1</data><data key="subject">Learning paradigms</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.gan"><data key="label">Generative adversarial network</data><data key="home">F2.1</data><data key="subject">Model families</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.mode-collapse"><data key="label">Mode collapse</data><data key="home">P2.2</data><data key="subject">Optimization &amp; training dynamics</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.perplexity"><data key="label">Perplexity</data><data key="home">P3.4</data><data key="subject">Evaluating generative &amp; agentic systems</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.reference-match-scoring"><data key="label">Reference-match scoring</data><data key="home">P3.4</data><data key="subject">Evaluating generative &amp; agentic systems</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.error-analysis"><data key="label">Error analysis</data><data key="home">P3.5</data><data key="subject">ML testing &amp; debugging</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.training-diagnostics"><data key="label">Training diagnostics</data><data key="home">P3.5</data><data key="subject">ML testing &amp; debugging</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.keyed-predictions"><data key="label">Request correlation keys</data><data key="home">P4.1</data><data key="subject">Serving architectures</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.stateless-serving-function"><data key="label">Stateless model serving</data><data key="home">P4.1</data><data key="subject">Serving architectures</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.semantic-cache"><data key="label">Semantic cache</data><data key="home">P4.2</data><data key="subject">Compound AI systems &amp; model routing</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.model-cascade"><data key="label">Model cascade</data><data key="home">P4.2</data><data key="subject">Compound AI systems &amp; model routing</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.glue-code"><data key="label">Glue code</data><data key="home">P5.6</data><data key="subject">ML platforms, teams &amp; technical debt</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.pipeline-jungle"><data key="label">Pipeline jungle</data><data key="home">P5.6</data><data key="subject">ML platforms, teams &amp; technical debt</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.build-vs-buy"><data key="label">Build-versus-buy decision</data><data key="home">P5.6</data><data key="subject">ML platforms, teams &amp; technical debt</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.user-feedback"><data key="label">User feedback collection</data><data key="home">P5.3</data><data key="subject">Drift, feedback loops &amp; retraining</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.human-ai-interaction"><data key="label">Human-AI interaction design</data><data key="home">Q5.3</data><data key="subject">Human oversight &amp; contestability</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.demand-response"><data key="label">Datacenter demand response</data><data key="home">S4.1</data><data key="subject">Datacenter power, cooling &amp; facilities</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.prompt-engineering"><data key="label">Prompt engineering</data><data key="home">P2.5</data><data key="subject">Adaptation: fine-tuning, prompting &amp; transfer</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.loss-masking"><data key="label">Loss masking and token normalization</data><data key="home">P2.5</data><data key="subject">Adaptation: fine-tuning, prompting &amp; transfer</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.serverless-inference"><data key="label">Serverless inference</data><data key="home">P4.1</data><data key="subject">Serving architectures</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.streaming-asr"><data key="label">Streaming speech recognition</data><data key="home">P4.1</data><data key="subject">Serving architectures</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.non-prefix-kv-reuse"><data key="label">Non-prefix KV reuse</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.dynamic-sparse-attention"><data key="label">Dynamic sparse attention</data><data key="home">F2.4</data><data key="subject">Long-context &amp; efficient sequence models</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.token-streaming"><data key="label">Token streaming</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.heterogeneous-accelerator-execution"><data key="label">Heterogeneous-accelerator training and serving</data><data key="home">S3.2</data><data key="subject">Parallelization planning &amp; placement</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.graph-neural-network"><data key="label">Graph neural network</data><data key="home">F2.1</data><data key="subject">Model families</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.input-prefetching"><data key="label">Input prefetching</data><data key="home">S2.6</data><data key="subject">Data loading &amp; input pipelines</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.dynamic-resharding"><data key="label">Dynamic re-parallelization</data><data key="home">S3.2</data><data key="subject">Parallelization planning &amp; placement</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.activation-sparsity"><data key="label">Contextual activation sparsity</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.denoising-step-reduction"><data key="label">Denoising-step reduction</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.ml-aware-scheduling"><data key="label">ML-aware cluster scheduling</data><data key="home">S4.4</data><data key="subject">Cluster scheduling &amp; orchestration</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.adaptive-routing"><data key="label">Adaptive routing</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.incast"><data key="label">Incast congestion</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.context-selection"><data key="label">Context selection</data><data key="home">T1.1</data><data key="subject">Context engineering &amp; agent memory</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.context-staleness"><data key="label">Context staleness</data><data key="home">T1.1</data><data key="subject">Context engineering &amp; agent memory</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.multi-hop-retrieval"><data key="label">Iterative multi-hop retrieval</data><data key="home">P4.8</data><data key="subject">Retrieval &amp; vector search</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.capability-based-security"><data key="label">Capability-based authorization</data><data key="home">Q3.4</data><data key="subject">Access control &amp; isolation</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.ephemeral-sandbox"><data key="label">Ephemeral sandbox</data><data key="home">Q3.4</data><data key="subject">Access control &amp; isolation</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.egress-control"><data key="label">Network egress control</data><data key="home">Q3.4</data><data key="subject">Access control &amp; isolation</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.information-flow-control"><data key="label">Information-flow control</data><data key="home">Q3.4</data><data key="subject">Access control &amp; isolation</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.compounding-error"><data key="label">Compounding error in sequential decisions</data><data key="home">P2.1</data><data key="subject">Learning paradigms</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.interactive-imitation"><data key="label">Interactive imitation learning</data><data key="home">P2.1</data><data key="subject">Learning paradigms</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.in-context-learning"><data key="label">In-context learning</data><data key="home">P2.5</data><data key="subject">Adaptation: fine-tuning, prompting &amp; transfer</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.reward-hacking"><data key="label">Reward hacking</data><data key="home">P2.6</data><data key="subject">Preference &amp; RL post-training</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.actuator-limits"><data key="label">Actuator limits</data><data key="home">T2.3</data><data key="subject">Motion planning &amp; control</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.watchdog-timer"><data key="label">Watchdog timer</data><data key="home">T2.4</data><data key="subject">Real-time &amp; mixed-criticality computing</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.closed-loop-evaluation"><data key="label">Closed-loop policy evaluation</data><data key="home">P3.1</data><data key="subject">Evaluation design &amp; experiments</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.event-data-recorder"><data key="label">Event data recorder</data><data key="home">Q4.4</data><data key="subject">Safety cases, standards &amp; certification</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.decision-accountability"><data key="label">Decision accountability record</data><data key="home">Q5.4</data><data key="subject">AI governance, audit &amp; regulation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.agent-interruption"><data key="label">Agent interruption and cancellation</data><data key="home">T1.3</data><data key="subject">Agent harness &amp; control loop</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.agent-loop-detection"><data key="label">Agent loop detection</data><data key="home">T1.3</data><data key="subject">Agent harness &amp; control loop</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.task-and-motion-planning"><data key="label">Task and motion planning</data><data key="home">T2.3</data><data key="subject">Motion planning &amp; control</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.multi-object-tracking"><data key="label">Multi-object tracking</data><data key="home">T2.2</data><data key="subject">State estimation, localization &amp; mapping</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.change-impact-analysis"><data key="label">Safety change-impact analysis</data><data key="home">Q4.4</data><data key="subject">Safety cases, standards &amp; certification</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.sparse-tensor-kernels"><data key="label">Sparse tensor kernels</data><data key="home">S2.2</data><data key="subject">Tensor operators &amp; memory layout</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.local-sgd"><data key="label">Local SGD</data><data key="home">S3.1</data><data key="subject">Parallelism strategies</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.expert-placement"><data key="label">Expert replication and placement</data><data key="home">S3.2</data><data key="subject">Parallelization planning &amp; placement</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.memory-efficient-optimizer"><data key="label">Memory-efficient optimizer</data><data key="home">P2.3</data><data key="subject">Training memory &amp; state</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.execution-trace"><data key="label">Operator execution trace</data><data key="home">F3.1</data><data key="subject">Roofline, performance models &amp; simulation</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.offline-rl"><data key="label">Offline reinforcement learning</data><data key="home">P2.1</data><data key="subject">Learning paradigms</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.byzantine-robust-aggregation"><data key="label">Byzantine-robust aggregation</data><data key="home">Q3.1</data><data key="subject">Threat models &amp; adversarial attacks</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.cluster-manager"><data key="label">Cluster manager</data><data key="home">S4.4</data><data key="subject">Cluster scheduling &amp; orchestration</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.rebound-effect"><data key="label">Rebound effect</data><data key="home">Q6.1</data><data key="subject">Energy &amp; carbon accounting</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.data-cascade"><data key="label">Data cascade</data><data key="home">P1.3</data><data key="subject">Data validation &amp; feature engineering</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.data-valuation"><data key="label">Data valuation</data><data key="home">P1.2</data><data key="subject">Data selection &amp; curation</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.diffusion-policy"><data key="label">Diffusion or flow-matching policy</data><data key="home">T2.5</data><data key="subject">Robot learning &amp; sim-to-real</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.sensor-spoofing"><data key="label">Sensor spoofing</data><data key="home">Q3.1</data><data key="subject">Threat models &amp; adversarial attacks</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.paired-comparison"><data key="label">Paired comparison and noninferiority testing</data><data key="home">P3.1</data><data key="subject">Evaluation design &amp; experiments</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.cpu-execution-architecture"><data key="label">CPU execution architecture</data><data key="home">S1.1</data><data key="subject">Accelerator architecture</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.cpu-threading-numa"><data key="label">CPU threading and NUMA placement</data><data key="home">S2.5</data><data key="subject">Runtime execution &amp; dispatch</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.dynamic-shapes"><data key="label">Dynamic shapes and shape specialization</data><data key="home">S2.4</data><data key="subject">ML compilers &amp; kernel optimization</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.rule-based-graph-rewriting"><data key="label">Rule-based graph rewriting</data><data key="home">S2.4</data><data key="subject">ML compilers &amp; kernel optimization</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.sparse-ragged-tensors"><data key="label">Sparse and ragged tensor representation</data><data key="home">S2.2</data><data key="subject">Tensor operators &amp; memory layout</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.execution-providers"><data key="label">Execution providers and operator fallback</data><data key="home">S2.5</data><data key="subject">Runtime execution &amp; dispatch</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.large-language-model"><data key="label">Large language model</data><data key="home">F2.1</data><data key="subject">Model families</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.inference-compute-estimate"><data key="label">Inference compute and memory estimate</data><data key="home">F1.2</data><data key="subject">Workload characterization</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.sync-async-training"><data key="label">Synchronous vs. asynchronous training</data><data key="home">S3.1</data><data key="subject">Parallelism strategies</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.neighbor-sampling"><data key="label">Neighbor sampling</data><data key="home">S2.6</data><data key="subject">Data loading &amp; input pipelines</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.event-time-windowing"><data key="label">Event-time windowing and watermarks</data><data key="home">P1.4</data><data key="subject">Data pipelines &amp; storage formats</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.diffusion-feature-caching"><data key="label">Cross-step feature caching</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.voice-pipeline"><data key="label">Voice interaction pipeline</data><data key="home">P4.1</data><data key="subject">Serving architectures</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.llm-request-scheduling"><data key="label">LLM request scheduling and preemption</data><data key="home">P4.4</data><data key="subject">Batching, admission &amp; autoscaling</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.containerization"><data key="label">Containerization</data><data key="home">P5.5</data><data key="subject">ML pipelines &amp; reproducibility</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.distributed-hang-diagnosis"><data key="label">Distributed job hang diagnosis</data><data key="home">Q2.3</data><data key="subject">Hardware faults &amp; silent data corruption</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.benchmark-representativeness"><data key="label">Benchmark representativeness</data><data key="home">Q1.2</data><data key="subject">System benchmarking</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.data-model-licensing"><data key="label">Data and model licensing</data><data key="home">P1.5</data><data key="subject">Data contracts, versioning &amp; lineage</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.content-provenance"><data key="label">Content provenance</data><data key="home">Q5.4</data><data key="subject">AI governance, audit &amp; regulation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.fleet-data-engine"><data key="label">Fleet data engine</data><data key="home">P5.3</data><data key="subject">Drift, feedback loops &amp; retraining</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.robotics-middleware"><data key="label">Robotics middleware and dataflow</data><data key="home">T2.4</data><data key="subject">Real-time &amp; mixed-criticality computing</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.parallel-simulation"><data key="label">Parallel physics simulation</data><data key="home">T2.5</data><data key="subject">Robot learning &amp; sim-to-real</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.agent-credentials"><data key="label">Agent credentials and delegated authority</data><data key="home">Q3.4</data><data key="subject">Access control &amp; isolation</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.gnn-graph-partitioning"><data key="label">Graph partitioning for GNN training</data><data key="home">S3.1</data><data key="subject">Parallelism strategies</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.host-data-loader"><data key="label">Host-side data loading</data><data key="home">S2.6</data><data key="subject">Data loading &amp; input pipelines</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.streaming-inference"><data key="label">Streaming inference</data><data key="home">P4.1</data><data key="subject">Serving architectures</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.inference-api"><data key="label">Inference API and payload serialization</data><data key="home">P4.1</data><data key="subject">Serving architectures</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.request-throughput"><data key="label">Request throughput</data><data key="home">P4.3</data><data key="subject">Latency, throughput &amp; goodput</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.latency-percentiles"><data key="label">Latency percentiles</data><data key="home">P4.3</data><data key="subject">Latency, throughput &amp; goodput</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.cache-aware-routing"><data key="label">Cache-aware request routing</data><data key="home">P4.4</data><data key="subject">Batching, admission &amp; autoscaling</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.process-group-rendezvous"><data key="label">Distributed job launch and process groups</data><data key="home">S3.3</data><data key="subject">Collective communication</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.agentic-workload"><data key="label">Agentic workload</data><data key="home">T1.3</data><data key="subject">Agent harness &amp; control loop</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.performance-regression-testing"><data key="label">Performance regression testing</data><data key="home">Q1.2</data><data key="subject">System benchmarking</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.measurement-variability"><data key="label">Performance measurement variability</data><data key="home">Q1.2</data><data key="subject">System benchmarking</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.training-data-extraction"><data key="label">Training data extraction</data><data key="home">Q3.3</data><data key="subject">Privacy leakage &amp; differential privacy</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.gradient-clipping"><data key="label">Gradient clipping</data><data key="home">P2.2</data><data key="subject">Optimization &amp; training dynamics</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.weight-initialization"><data key="label">Weight initialization</data><data key="home">P2.2</data><data key="subject">Optimization &amp; training dynamics</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.delivery-semantics"><data key="label">Processing delivery semantics</data><data key="home">P1.4</data><data key="subject">Data pipelines &amp; storage formats</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.online-feature-consistency"><data key="label">Online and offline feature consistency</data><data key="home">P1.6</data><data key="subject">Leakage &amp; training-serving skew</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.ood-detection"><data key="label">Out-of-distribution detection</data><data key="home">P3.2</data><data key="subject">Metrics, calibration &amp; uncertainty</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.model-feature-compatibility"><data key="label">Model and feature compatibility</data><data key="home">P5.1</data><data key="subject">Versioning, rollout &amp; rollback</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.secrets-management"><data key="label">Workload identity and secrets management</data><data key="home">Q3.4</data><data key="subject">Access control &amp; isolation</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.deletion-propagation"><data key="label">Data deletion propagation</data><data key="home">P5.7</data><data key="subject">Model retirement</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.memory-fragmentation"><data key="label">Runtime memory fragmentation</data><data key="home">S2.5</data><data key="subject">Runtime execution &amp; dispatch</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.perception-latency-budget"><data key="label">Perception latency budget</data><data key="home">T2.1</data><data key="subject">Sensing, perception &amp; fusion</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.onboard-compute-partitioning"><data key="label">Onboard compute partitioning</data><data key="home">T2.4</data><data key="subject">Real-time &amp; mixed-criticality computing</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.health-checks"><data key="label">Health checks and readiness probes</data><data key="home">Q2.1</data><data key="subject">Failure models, retries &amp; degradation</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.python-gil"><data key="label">Python GIL and host-language concurrency</data><data key="home">S2.1</data><data key="subject">ML frameworks &amp; programming models</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.flash-endurance"><data key="label">Flash write endurance</data><data key="home">Q2.3</data><data key="subject">Hardware faults &amp; silent data corruption</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.intermittent-computing"><data key="label">Energy-harvesting intermittent computing</data><data key="home">S1.5</data><data key="subject">Edge &amp; embedded hardware</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.mmap-weights"><data key="label">Memory-mapped model weights</data><data key="home">S2.5</data><data key="subject">Runtime execution &amp; dispatch</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.os-memory-pressure"><data key="label">OS memory pressure and paging</data><data key="home">S2.5</data><data key="subject">Runtime execution &amp; dispatch</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.managed-runtime-interop"><data key="label">Managed-runtime interop and garbage collection</data><data key="home">S2.5</data><data key="subject">Runtime execution &amp; dispatch</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.zero-copy-dma"><data key="label">Zero-copy sensor input via DMA</data><data key="home">S2.6</data><data key="subject">Data loading &amp; input pipelines</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.sensor-interference"><data key="label">Active sensor interference</data><data key="home">T2.1</data><data key="subject">Sensing, perception &amp; fusion</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.network-propagation-delay"><data key="label">Network propagation delay</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.cap-tradeoff"><data key="label">Consistency-availability trade-off</data><data key="home">S3.4</data><data key="subject">Coordination &amp; consensus</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.gossip-averaging"><data key="label">Decentralized gossip averaging</data><data key="home">S3.5</data><data key="subject">Federated &amp; decentralized learning</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.interrupt-latency"><data key="label">Interrupt latency</data><data key="home">T2.4</data><data key="subject">Real-time &amp; mixed-criticality computing</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.transformer-variants"><data key="label">Encoder-only, decoder-only, and encoder-decoder Transformers</data><data key="home">F2.1</data><data key="subject">Model families</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.data-transfer-cost"><data key="label">Data transfer cost</data><data key="home">Q6.3</data><data key="subject">Cost, TCO &amp; unit economics</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.duty-cycling"><data key="label">Duty cycling and sleep states</data><data key="home">S1.4</data><data key="subject">Chip power &amp; thermal limits</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.priority-inversion"><data key="label">Priority inversion</data><data key="home">T2.4</data><data key="subject">Real-time &amp; mixed-criticality computing</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.randomized-smoothing"><data key="label">Certified robustness by randomized smoothing</data><data key="home">Q3.1</data><data key="subject">Threat models &amp; adversarial attacks</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.sensor-interconnect"><data key="label">Sensor interconnect bandwidth</data><data key="home">S1.5</data><data key="subject">Edge &amp; embedded hardware</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.finite-buffer"><data key="label">Finite buffers and overflow</data><data key="home">F3.3</data><data key="subject">Queueing &amp; capacity models</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.ui-thread-inference"><data key="label">Asynchronous on-device inference</data><data key="home">P4.9</data><data key="subject">On-device &amp; edge deployment</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.multi-head-latent-attention"><data key="label">Multi-head latent attention</data><data key="home">F2.4</data><data key="subject">Long-context &amp; efficient sequence models</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.pii-deidentification"><data key="label">PII detection and de-identification</data><data key="home">Q3.3</data><data key="subject">Privacy leakage &amp; differential privacy</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.system-identification"><data key="label">System identification</data><data key="home">T2.3</data><data key="subject">Motion planning &amp; control</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.off-policy-evaluation"><data key="label">Off-policy evaluation</data><data key="home">P3.1</data><data key="subject">Evaluation design &amp; experiments</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.pipeline-schedule"><data key="label">Pipeline schedule</data><data key="home">S3.1</data><data key="subject">Parallelism strategies</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.sequence-packing"><data key="label">Sequence packing</data><data key="home">S2.6</data><data key="subject">Data loading &amp; input pipelines</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.document-chunking"><data key="label">Document chunking</data><data key="home">P4.8</data><data key="subject">Retrieval &amp; vector search</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.resource-exhaustion-attack"><data key="label">Resource-exhaustion attack</data><data key="home">Q3.1</data><data key="subject">Threat models &amp; adversarial attacks</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.generated-content-watermarking"><data key="label">Generated-content watermarking</data><data key="home">Q5.4</data><data key="subject">AI governance, audit &amp; regulation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.model-merging"><data key="label">Model merging</data><data key="home">P2.5</data><data key="subject">Adaptation: fine-tuning, prompting &amp; transfer</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.optical-circuit-switching"><data key="label">Optical circuit switching</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.co-packaged-optics"><data key="label">Co-packaged optics</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.advanced-accelerator-packaging"><data key="label">Advanced accelerator packaging</data><data key="home">S1.1</data><data key="subject">Accelerator architecture</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.motion-forecasting"><data key="label">Motion forecasting</data><data key="home">T2.2</data><data key="subject">State estimation, localization &amp; mapping</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.representational-bias-evaluation"><data key="label">Representational bias evaluation</data><data key="home">Q5.1</data><data key="subject">Fairness &amp; bias</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.group-relative-policy-optimization"><data key="label">Group relative policy optimization</data><data key="home">P2.6</data><data key="subject">Preference &amp; RL post-training</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.inter-token-latency"><data key="label">Inter-token latency</data><data key="home">P4.3</data><data key="subject">Latency, throughput &amp; goodput</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.hybrid-retrieval"><data key="label">Hybrid retrieval</data><data key="home">P4.8</data><data key="subject">Retrieval &amp; vector search</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.fpga-acceleration"><data key="label">FPGA-based ML acceleration</data><data key="home">S1.1</data><data key="subject">Accelerator architecture</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.device-initiated-communication"><data key="label">Device-initiated communication</data><data key="home">S3.3</data><data key="subject">Collective communication</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.model-collapse"><data key="label">Model collapse</data><data key="home">P1.2</data><data key="subject">Data selection &amp; curation</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.action-tokenization"><data key="label">Action tokenization</data><data key="home">T2.5</data><data key="subject">Robot learning &amp; sim-to-real</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.wafer-scale-acceleration"><data key="label">Wafer-scale acceleration</data><data key="home">S1.1</data><data key="subject">Accelerator architecture</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.embedding-migration"><data key="label">Embedding model migration</data><data key="home">P4.8</data><data key="subject">Retrieval &amp; vector search</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.register-pressure"><data key="label">Register pressure</data><data key="home">S2.3</data><data key="subject">Kernel &amp; GPU programming model</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.software-pipelining"><data key="label">Software pipelining</data><data key="home">S2.4</data><data key="subject">ML compilers &amp; kernel optimization</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.ecc-memory"><data key="label">Error-correcting code memory</data><data key="home">Q2.3</data><data key="subject">Hardware faults &amp; silent data corruption</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.integer-only-inference"><data key="label">Integer-only inference</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.execute-in-place"><data key="label">Execute-in-place weights</data><data key="home">S1.5</data><data key="subject">Edge &amp; embedded hardware</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.confused-deputy"><data key="label">Confused deputy</data><data key="home">Q3.4</data><data key="subject">Access control &amp; isolation</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.judge-bias"><data key="label">Model-grader bias</data><data key="home">P3.4</data><data key="subject">Evaluating generative &amp; agentic systems</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.over-refusal"><data key="label">Over-refusal</data><data key="home">Q4.2</data><data key="subject">Runtime assurance &amp; safety filters</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.coordinate-frames"><data key="label">Coordinate frames and transforms</data><data key="home">T2.1</data><data key="subject">Sensing, perception &amp; fusion</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.sensor-degradation"><data key="label">Sensor degradation</data><data key="home">T2.1</data><data key="subject">Sensing, perception &amp; fusion</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.data-curriculum"><data key="label">Data curriculum and annealing</data><data key="home">P1.2</data><data key="subject">Data selection &amp; curation</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.streaming-dataset-format"><data key="label">Sharded streaming dataset format</data><data key="home">P1.4</data><data key="subject">Data pipelines &amp; storage formats</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.collective-algorithm-selection"><data key="label">Collective algorithm selection</data><data key="home">S3.3</data><data key="subject">Collective communication</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.always-on-cascade"><data key="label">Always-on sensing cascade</data><data key="home">S1.5</data><data key="subject">Edge &amp; embedded hardware</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.fault-tree-analysis"><data key="label">Fault tree analysis</data><data key="home">Q4.1</data><data key="subject">Hazard analysis &amp; operating domains</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.metastable-failure"><data key="label">Metastable failure</data><data key="home">Q2.1</data><data key="subject">Failure models, retries &amp; degradation</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.fan-out-tail-amplification"><data key="label">Fan-out tail amplification</data><data key="home">P4.3</data><data key="subject">Latency, throughput &amp; goodput</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.proxy-discrimination"><data key="label">Proxy discrimination</data><data key="home">Q5.1</data><data key="subject">Fairness &amp; bias</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.cross-embodiment-training"><data key="label">Cross-embodiment training</data><data key="home">T2.5</data><data key="subject">Robot learning &amp; sim-to-real</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.dual-rate-hierarchical-policy"><data key="label">Dual-rate hierarchical policy</data><data key="home">T2.5</data><data key="subject">Robot learning &amp; sim-to-real</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.robot-kinematics"><data key="label">Robot kinematics</data><data key="home">T2.3</data><data key="subject">Motion planning &amp; control</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.quantization-granularity"><data key="label">Quantization granularity</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.agent-training-environment"><data key="label">Agent training environment</data><data key="home">P2.6</data><data key="subject">Preference &amp; RL post-training</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.model-directed-control-flow"><data key="label">Model-directed control flow</data><data key="home">T1.3</data><data key="subject">Agent harness &amp; control loop</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.misuse-monitoring"><data key="label">Misuse monitoring</data><data key="home">P5.2</data><data key="subject">Monitoring &amp; observability</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.masked-diffusion-decoding"><data key="label">Masked diffusion decoding</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.residual-connection"><data key="label">Residual connection</data><data key="home">F2.2</data><data key="subject">Architecture building blocks</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.multi-task-learning"><data key="label">Multi-task learning</data><data key="home">P2.1</data><data key="subject">Learning paradigms</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.recovery-objectives"><data key="label">Recovery time and point objectives</data><data key="home">F1.1</data><data key="subject">Requirements, SLOs &amp; baselines</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">yes</data></node>
    <node id="mlsys.incremental-checkpointing"><data key="label">Incremental checkpointing</data><data key="home">Q2.2</data><data key="subject">Checkpointing &amp; elastic recovery</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.multiple-comparisons"><data key="label">Multiple comparisons correction</data><data key="home">P3.1</data><data key="subject">Evaluation design &amp; experiments</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.model-assisted-labeling"><data key="label">Model-assisted labeling</data><data key="home">P1.1</data><data key="subject">Data collection &amp; labeling</data><data key="area">Data engineering</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.forward-error-correction"><data key="label">Forward error correction</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.erasure-coding"><data key="label">Erasure coding</data><data key="home">S4.3</data><data key="subject">Storage &amp; data delivery</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.bandwidth-delay-product"><data key="label">Bandwidth-delay product</data><data key="home">F3.3</data><data key="subject">Queueing &amp; capacity models</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">yes</data></node>
    <node id="mlsys.backfill-scheduling"><data key="label">Backfill scheduling</data><data key="home">S4.4</data><data key="subject">Cluster scheduling &amp; orchestration</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.traffic-classes"><data key="label">Network traffic classes and QoS</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.telemetry-sampling"><data key="label">Telemetry sampling and cardinality control</data><data key="home">P5.2</data><data key="subject">Monitoring &amp; observability</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.dma-cache-maintenance"><data key="label">DMA cache maintenance</data><data key="home">S1.5</data><data key="subject">Edge &amp; embedded hardware</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.expert-offloading"><data key="label">Expert offloading</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.variable-length-parallelism"><data key="label">Variable-length parallelism planning</data><data key="home">S3.2</data><data key="subject">Parallelization planning &amp; placement</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.fine-grained-accelerator-sharing"><data key="label">Fine-grained accelerator sharing</data><data key="home">S4.5</data><data key="subject">Capacity planning &amp; multi-tenancy</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.intra-device-overlap"><data key="label">Intra-device overlap of bottlenecks</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.graph-pipeline-parallelism"><data key="label">Graph pipeline parallelism</data><data key="home">S3.1</data><data key="subject">Parallelism strategies</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.rag-pipeline-scheduling"><data key="label">RAG pipeline scheduling</data><data key="home">P4.8</data><data key="subject">Retrieval &amp; vector search</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.cross-stack-profiling"><data key="label">Cross-stack profiling</data><data key="home">Q1.1</data><data key="subject">Profiling &amp; utilization</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.model-swapping"><data key="label">Model swapping and residency</data><data key="home">P4.1</data><data key="subject">Serving architectures</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.kv-memory-allocation"><data key="label">KV-cache memory allocation</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.feed-forward-block"><data key="label">Feed-forward block</data><data key="home">F2.2</data><data key="subject">Architecture building blocks</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.service-level-agreement"><data key="label">Service-level agreement</data><data key="home">F1.1</data><data key="subject">Requirements, SLOs &amp; baselines</data><data key="area">Workloads &amp; requirements</data><data key="group">Foundations</data><data key="background">yes</data></node>
    <node id="mlsys.head-of-line-blocking"><data key="label">Head-of-line blocking</data><data key="home">F3.3</data><data key="subject">Queueing &amp; capacity models</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">yes</data></node>
    <node id="mlsys.open-closed-loop-load"><data key="label">Open-loop vs. closed-loop load</data><data key="home">F3.3</data><data key="subject">Queueing &amp; capacity models</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">yes</data></node>
    <node id="mlsys.all-reduce"><data key="label">All-reduce</data><data key="home">S3.3</data><data key="subject">Collective communication</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.reduce-scatter-all-gather"><data key="label">Reduce-scatter and all-gather</data><data key="home">S3.3</data><data key="subject">Collective communication</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.torus-topology"><data key="label">Torus topology</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.network-oversubscription"><data key="label">Network oversubscription</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.host-memory"><data key="label">Host memory tier</data><data key="home">S1.2</data><data key="subject">Memory hierarchy &amp; bandwidth</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.schedule-separation"><data key="label">Algorithm-schedule separation</data><data key="home">S2.4</data><data key="subject">ML compilers &amp; kernel optimization</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.kernel-synchronization"><data key="label">Kernel synchronization and atomics</data><data key="home">S2.3</data><data key="subject">Kernel &amp; GPU programming model</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.link-reach"><data key="label">Link reach limit (copper versus optics)</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.storage-access-pattern"><data key="label">Sequential versus random storage access</data><data key="home">S4.3</data><data key="subject">Storage &amp; data delivery</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.dataset-shuffling"><data key="label">Dataset shuffling</data><data key="home">S2.6</data><data key="subject">Data loading &amp; input pipelines</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.overfitting"><data key="label">Overfitting</data><data key="home">P2.2</data><data key="subject">Optimization &amp; training dynamics</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.predictive-uncertainty"><data key="label">Predictive uncertainty estimation</data><data key="home">P3.2</data><data key="subject">Metrics, calibration &amp; uncertainty</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.statistical-power"><data key="label">Statistical power</data><data key="home">P3.1</data><data key="subject">Evaluation design &amp; experiments</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.retrieval-metrics"><data key="label">Retrieval quality metrics</data><data key="home">P3.2</data><data key="subject">Metrics, calibration &amp; uncertainty</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.rejection-sampling-fine-tuning"><data key="label">Rejection-sampling fine-tuning</data><data key="home">P2.6</data><data key="subject">Preference &amp; RL post-training</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.early-stopping"><data key="label">Early stopping</data><data key="home">P2.2</data><data key="subject">Optimization &amp; training dynamics</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.group-dro"><data key="label">Group distributionally robust optimization</data><data key="home">P2.2</data><data key="subject">Optimization &amp; training dynamics</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.chat-template"><data key="label">Chat template</data><data key="home">F2.5</data><data key="subject">Model artifacts &amp; formats</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.generation-stopping"><data key="label">Stop conditions and output-length limits</data><data key="home">P4.6</data><data key="subject">Decoding, sampling &amp; structured output</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.runbook"><data key="label">Runbook</data><data key="home">P5.4</data><data key="subject">Incident response</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.rl-training-colocation"><data key="label">Colocated versus disaggregated RL post-training</data><data key="home">P2.6</data><data key="subject">Preference &amp; RL post-training</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.sequential-revision"><data key="label">Sequential revision</data><data key="home">P4.7</data><data key="subject">Test-time compute</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.semi-supervised-learning"><data key="label">Semi-supervised learning</data><data key="home">P2.1</data><data key="subject">Learning paradigms</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.contrastive-learning"><data key="label">Contrastive learning</data><data key="home">P2.1</data><data key="subject">Learning paradigms</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.training-memory-estimate"><data key="label">Training memory estimate</data><data key="home">P2.3</data><data key="subject">Training memory &amp; state</data><data key="area">Training &amp; adaptation</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.privacy-budget"><data key="label">Privacy budget and accounting</data><data key="home">Q3.3</data><data key="subject">Privacy leakage &amp; differential privacy</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.bias-sources"><data key="label">Sources of bias in the pipeline</data><data key="home">Q5.1</data><data key="subject">Fairness &amp; bias</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.carbon-accounting-method"><data key="label">Location-based vs. market-based carbon accounting</data><data key="home">Q6.1</data><data key="subject">Energy &amp; carbon accounting</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.request-timeout"><data key="label">Timeouts and deadline propagation</data><data key="home">Q2.1</data><data key="subject">Failure models, retries &amp; degradation</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.data-protection-regulation"><data key="label">Data protection regulation</data><data key="home">Q5.4</data><data key="subject">AI governance, audit &amp; regulation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.weight-exfiltration"><data key="label">Model weight theft</data><data key="home">Q3.2</data><data key="subject">Model &amp; supply-chain security</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.ai-bill-of-materials"><data key="label">AI bill of materials</data><data key="home">Q3.2</data><data key="subject">Model &amp; supply-chain security</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.ai-incident-reporting"><data key="label">AI incident reporting</data><data key="home">Q5.4</data><data key="subject">AI governance, audit &amp; regulation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.mechanistic-interpretability"><data key="label">Mechanistic interpretability</data><data key="home">Q5.2</data><data key="subject">Explainability &amp; documentation</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.safety-certification"><data key="label">Safety certification</data><data key="home">Q4.4</data><data key="subject">Safety cases, standards &amp; certification</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.tolerable-risk"><data key="label">Risk acceptance criteria</data><data key="home">Q4.1</data><data key="subject">Hazard analysis &amp; operating domains</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.fleet-hardware-screening"><data key="label">Fleet hardware screening tests</data><data key="home">Q2.3</data><data key="subject">Hardware faults &amp; silent data corruption</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.hardware-performance-counters"><data key="label">Hardware performance counters</data><data key="home">Q1.1</data><data key="subject">Profiling &amp; utilization</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.trajectory-log"><data key="label">Trajectory log</data><data key="home">T1.4</data><data key="subject">Durable execution &amp; agent state</data><data key="area">Agentic systems</data><data key="group">System types</data><data key="background">no</data></node>
    <node id="mlsys.odometry"><data key="label">Odometry and dead reckoning</data><data key="home">T2.2</data><data key="subject">State estimation, localization &amp; mapping</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.capture-epoch"><data key="label">Capture timing and rolling shutter</data><data key="home">T2.1</data><data key="subject">Sensing, perception &amp; fusion</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.timing-jitter"><data key="label">Timing jitter</data><data key="home">T2.4</data><data key="subject">Real-time &amp; mixed-criticality computing</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.deterministic-field-network"><data key="label">Real-time fieldbus</data><data key="home">T2.4</data><data key="subject">Real-time &amp; mixed-criticality computing</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.loop-stability-margin"><data key="label">Loop stability margin</data><data key="home">T2.3</data><data key="subject">Motion planning &amp; control</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.impedance-force-control"><data key="label">Impedance and force control</data><data key="home">T2.3</data><data key="subject">Motion planning &amp; control</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.in-doubt-action"><data key="label">In-doubt action</data><data key="home">Q2.1</data><data key="subject">Failure models, retries &amp; degradation</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.model-bandwidth-utilization"><data key="label">Model bandwidth utilization</data><data key="home">Q1.1</data><data key="subject">Profiling &amp; utilization</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.hot-spare-capacity"><data key="label">Hot-spare capacity</data><data key="home">Q2.2</data><data key="subject">Checkpointing &amp; elastic recovery</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.geo-distributed-training"><data key="label">Geo-distributed training</data><data key="home">S3.2</data><data key="subject">Parallelization planning &amp; placement</data><data key="area">Parallelism &amp; distributed execution</data><data key="group">Stack</data><data key="background">no</data></node>
    <node id="mlsys.quarantined-model-pattern"><data key="label">Quarantined-model pattern</data><data key="home">Q3.4</data><data key="subject">Access control &amp; isolation</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.sycophancy-evaluation"><data key="label">Sycophancy evaluation</data><data key="home">P3.4</data><data key="subject">Evaluating generative &amp; agentic systems</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.communication-intensity"><data key="label">Communication-to-computation ratio</data><data key="home">F3.1</data><data key="subject">Roofline, performance models &amp; simulation</data><data key="area">Quantitative system models</data><data key="group">Foundations</data><data key="background">no</data></node>
    <node id="mlsys.technology-scaling"><data key="label">Technology scaling</data><data key="home">S1.4</data><data key="subject">Chip power &amp; thermal limits</data><data key="area">Hardware &amp; accelerators</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.compression-composition"><data key="label">Compression technique composition</data><data key="home">Q1.3</data><data key="subject">Model compression</data><data key="area">Performance, efficiency &amp; benchmarking</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.fidelity-adaptive-serving"><data key="label">Fidelity-adaptive serving</data><data key="home">P4.4</data><data key="subject">Batching, admission &amp; autoscaling</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.compound-workflow-pipelining"><data key="label">Compound workflow pipelining</data><data key="home">P4.2</data><data key="subject">Compound AI systems &amp; model routing</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.reachability-analysis"><data key="label">Reachability analysis</data><data key="home">Q4.2</data><data key="subject">Runtime assurance &amp; safety filters</data><data key="area">Safety &amp; assurance</data><data key="group">Qualities</data><data key="background">yes</data></node>
    <node id="mlsys.fairness-monitoring"><data key="label">Fairness monitoring</data><data key="home">Q5.1</data><data key="subject">Fairness &amp; bias</data><data key="area">Responsible AI</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.link-signal-integrity"><data key="label">Link signal degradation and flaps</data><data key="home">S4.2</data><data key="subject">Network fabrics</data><data key="area">Datacenter infrastructure &amp; fleet</data><data key="group">Stack</data><data key="background">yes</data></node>
    <node id="mlsys.activation-function"><data key="label">Activation function</data><data key="home">F2.2</data><data key="subject">Architecture building blocks</data><data key="area">Models &amp; architectures</data><data key="group">Foundations</data><data key="background">yes</data></node>
    <node id="mlsys.attention-ffn-disaggregation"><data key="label">Attention-FFN disaggregation</data><data key="home">P4.5</data><data key="subject">LLM &amp; generative inference</data><data key="area">Deployment &amp; serving</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.label-shift-estimation"><data key="label">Label-shift estimation and prior correction</data><data key="home">P5.3</data><data key="subject">Drift, feedback loops &amp; retraining</data><data key="area">MLOps &amp; operations</data><data key="group">Lifecycle</data><data key="background">no</data></node>
    <node id="mlsys.map-representation"><data key="label">Map representation</data><data key="home">T2.2</data><data key="subject">State estimation, localization &amp; mapping</data><data key="area">Embodied &amp; physical systems</data><data key="group">System types</data><data key="background">yes</data></node>
    <node id="mlsys.compute-cost-estimate"><data key="label">Compute cost estimate</data><data key="home">Q6.3</data><data key="subject">Cost, TCO &amp; unit economics</data><data key="area">Sustainability &amp; cost</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.precision-recall"><data key="label">Precision, recall, and ROC analysis</data><data key="home">P3.2</data><data key="subject">Metrics, calibration &amp; uncertainty</data><data key="area">Model evaluation &amp; testing</data><data key="group">Lifecycle</data><data key="background">yes</data></node>
    <node id="mlsys.instruction-hierarchy"><data key="label">Instruction privilege levels</data><data key="home">Q3.1</data><data key="subject">Threat models &amp; adversarial attacks</data><data key="area">Security &amp; privacy</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.restart-free-recovery"><data key="label">Restart-free failure recovery</data><data key="home">Q2.2</data><data key="subject">Checkpointing &amp; elastic recovery</data><data key="area">Reliability &amp; fault tolerance</data><data key="group">Qualities</data><data key="background">no</data></node>
    <node id="mlsys.shared-memory-bank-conflict"><data key="label">Shared-memory bank conflict</data><data key="home">S2.3</data><data key="subject">Kernel &amp; GPU programming model</data><data key="area">Frameworks, compilers &amp; runtimes</data><data key="group">Stack</data><data key="background">no</data></node>
    <edge id="e0" source="mlsys.requirements" target="mlsys.metrics"><data key="relation">determines</data><data key="statement">sets acceptance thresholds for</data><data key="conditions">The operational outcome, evaluation population, and threshold must be declared.</data></edge>
    <edge id="e1" source="mlsys.requirements" target="mlsys.slo"><data key="relation">determines</data><data key="statement">sets targets for</data><data key="conditions">Service targets are part of the stated deployment requirements.</data></edge>
    <edge id="e2" source="mlsys.baseline" target="mlsys.benchmark"><data key="relation">part-of</data><data key="statement">is the reference point within</data><data key="conditions">The baseline must be measured using the same protocol.</data></edge>
    <edge id="e3" source="mlsys.proxy-objective" target="mlsys.requirements"><data key="relation">measures</data><data key="statement">stands in for, and can diverge from,</data><data key="conditions">Improving a measurable proxy need not improve the intended outcome.</data></edge>
    <edge id="e4" source="mlsys.workload" target="mlsys.capacity-planning"><data key="relation">determines</data><data key="statement">determines resource demand for</data><data key="conditions">Sizing must include input and request distributions, not just a representative average.</data></edge>
    <edge id="e5" source="mlsys.placement" target="mlsys.tail-latency"><data key="relation">determines</data><data key="statement">changes attainable</data><data key="conditions">Communication paths, locality, and available service resources depend on placement.</data></edge>
    <edge id="e6" source="mlsys.data-quality" target="mlsys.generalization"><data key="relation">limits</data><data key="statement">bounds achievable</data><data key="conditions">The effect depends on task, coverage, errors, and the learning procedure.</data></edge>
    <edge id="e7" source="mlsys.labels" target="mlsys.loss"><data key="relation">determines</data><data key="statement">determines the reliability of the supervision in</data><data key="conditions">For supervised learning; label errors change the optimization signal.</data></edge>
    <edge id="e8" source="mlsys.missing-data" target="mlsys.features"><data key="relation">determines</data><data key="statement">forces imputation and indicator decisions in</data><data key="conditions">Treatment must preserve the meaning and availability of inputs.</data></edge>
    <edge id="e9" source="mlsys.features" target="mlsys.point-in-time"><data key="relation">requires</data><data key="statement">must preserve</data><data key="conditions">For predictions whose inputs become available over time.</data></edge>
    <edge id="e10" source="mlsys.leakage" target="mlsys.metrics"><data key="relation">determines</data><data key="statement">can invalidate</data><data key="conditions">When evaluation uses information unavailable at the intended prediction boundary.</data></edge>
    <edge id="e11" source="mlsys.point-in-time" target="mlsys.leakage"><data key="relation">mitigates</data><data key="statement">prevents</data><data key="conditions">Only when source availability and temporal joins are modeled correctly.</data></edge>
    <edge id="e12" source="mlsys.artifact-version" target="mlsys.lineage"><data key="relation">enables</data><data key="statement">records the dependencies behind</data><data key="conditions">Provenance must identify versions and transformations sufficient for reconstruction.</data></edge>
    <edge id="e13" source="mlsys.train-serve-skew" target="mlsys.generalization"><data key="relation">reduces</data><data key="statement">can degrade deployed</data><data key="conditions">A deployed pipeline may compute different inputs from those used in development.</data></edge>
    <edge id="e14" source="mlsys.deduplication" target="mlsys.data-selection"><data key="relation">part-of</data><data key="statement">is a curation stage of</data><data key="conditions">Removing duplicates changes sample weights and must preserve required coverage.</data></edge>
    <edge id="e15" source="mlsys.data-selection" target="mlsys.generalization"><data key="relation">determines</data><data key="statement">shapes the data supporting</data><data key="conditions">Selection can reduce cost while changing coverage and distribution.</data></edge>
    <edge id="e16" source="mlsys.tokenization" target="mlsys.attention"><data key="relation">determines</data><data key="statement">sets the sequence length processed by</data><data key="conditions">For a fixed text, changing vocabulary and segmentation can change sequence length.</data></edge>
    <edge id="e17" source="mlsys.tokenization" target="mlsys.embeddings"><data key="relation">determines</data><data key="statement">defines the lookup identities of</data><data key="conditions">Embedding rows must correspond to the model's tokenizer and vocabulary.</data></edge>
    <edge id="e18" source="mlsys.distribution-shift" target="mlsys.calibration"><data key="relation">reduces</data><data key="statement">can degrade</data><data key="conditions">Calibration measured on one distribution need not hold after a shift.</data></edge>
    <edge id="e19" source="mlsys.retraining" target="mlsys.distribution-shift"><data key="relation">mitigates</data><data key="statement">mitigates, when triggered by,</data><data key="conditions">A response requires diagnosis and evidence; not every detected shift warrants retraining.</data></edge>
    <edge id="e20" source="mlsys.linear-model" target="mlsys.features"><data key="relation">uses</data><data key="statement">operates on</data><data key="conditions">A linear score can use engineered or learned input features.</data></edge>
    <edge id="e21" source="mlsys.nearest-neighbor" target="mlsys.ann"><data key="relation">uses</data><data key="statement">can use</data><data key="conditions">Approximation trades exact recovery for search cost in compatible applications.</data></edge>
    <edge id="e22" source="mlsys.neural-network" target="mlsys.autodiff"><data key="relation">uses</data><data key="statement">is trained using</data><data key="conditions">For gradient-based learning with supported differentiable objectives and derivative rules.</data></edge>
    <edge id="e23" source="mlsys.inductive-bias" target="mlsys.generalization"><data key="relation">determines</data><data key="statement">changes data needed for</data><data key="conditions">Architecture and task alignment affect which patterns can be learned efficiently.</data></edge>
    <edge id="e24" source="mlsys.embeddings" target="mlsys.memory-capacity"><data key="relation">requires</data><data key="statement">must be resident within</data><data key="conditions">Residency depends on table dimensions, format, and placement or sharding.</data></edge>
    <edge id="e25" source="mlsys.attention" target="mlsys.position-encoding"><data key="relation">uses</data><data key="statement">gains sequence-order sensitivity from</data><data key="conditions">Attention without another position-sensitive mechanism is permutation equivariant.</data></edge>
    <edge id="e26" source="mlsys.attention" target="mlsys.kv-cache"><data key="relation">uses</data><data key="statement">reuses history through</data><data key="conditions">For compatible autoregressive attention architectures.</data></edge>
    <edge id="e27" source="mlsys.optimizer" target="mlsys.loss"><data key="relation">requires</data><data key="statement">requires an objective from</data><data key="conditions">Optimizing the training objective alone does not certify task success.</data></edge>
    <edge id="e28" source="mlsys.autodiff" target="mlsys.optimizer"><data key="relation">enables</data><data key="statement">produces the gradients consumed by</data><data key="conditions">Optimizer state and update rules are separate from differentiation.</data></edge>
    <edge id="e29" source="mlsys.regularization" target="mlsys.generalization"><data key="relation">determines</data><data key="statement">shapes</data><data key="conditions">Effects depend on the data, model, objective, and optimization regime.</data></edge>
    <edge id="e30" source="mlsys.batch-size" target="mlsys.optimizer"><data key="relation">determines</data><data key="statement">sets gradient noise and step count for</data><data key="conditions">Changing the batch can alter gradient noise and statistical efficiency.</data></edge>
    <edge id="e31" source="mlsys.memory-capacity" target="mlsys.batch-size"><data key="relation">limits</data><data key="statement">limits the per-device</data><data key="conditions">Activation and workspace demand depend on execution and accumulation choices.</data></edge>
    <edge id="e32" source="mlsys.optimizer" target="mlsys.training-state"><data key="relation">increases</data><data key="statement">adds optimizer variables to</data><data key="conditions">Different update rules retain different auxiliary state.</data></edge>
    <edge id="e33" source="mlsys.memory-capacity" target="mlsys.training-state"><data key="relation">limits</data><data key="statement">limits the per-device</data><data key="conditions">Count resident parameters, gradients, optimizer state, and other retained data separately.</data></edge>
    <edge id="e34" source="mlsys.hyperparameter-search" target="mlsys.selection-bias"><data key="relation">causes</data><data key="statement">can induce</data><data key="conditions">Selecting among noisy validation scores can produce an optimistic winner.</data></edge>
    <edge id="e35" source="mlsys.peft" target="mlsys.transfer-learning"><data key="relation">implements</data><data key="statement">implements</data><data key="conditions">Parameter-efficient adaptation is one option, not all transfer learning.</data></edge>
    <edge id="e36" source="mlsys.peft" target="mlsys.training-state"><data key="relation">reduces</data><data key="statement">shrinks trainable and optimizer state in</data><data key="conditions">The method may select existing parameters or introduce new parameterizations; frozen parameters and activations can still remain resident.</data></edge>
    <edge id="e37" source="mlsys.tensor-layout" target="mlsys.matrix-multiply"><data key="relation">determines</data><data key="statement">sets the data-movement cost of</data><data key="conditions">Views and physical copies have different costs; kernels support particular layouts.</data></edge>
    <edge id="e38" source="mlsys.precision" target="mlsys.training-state"><data key="relation">determines</data><data key="statement">sets storage width within</data><data key="conditions">Different state components can use different formats.</data></edge>
    <edge id="e39" source="mlsys.precision" target="mlsys.numerical-stability"><data key="relation">determines</data><data key="statement">affects</data><data key="conditions">Range, rounding, accumulation, and intermediate representation all matter.</data></edge>
    <edge id="e40" source="mlsys.mixed-precision" target="mlsys.numerical-stability"><data key="relation">requires</data><data key="statement">requires managing</data><data key="conditions">Loss scaling or wider accumulation is useful only for the relevant numerical regime.</data></edge>
    <edge id="e41" source="mlsys.quantization" target="mlsys.precision"><data key="relation">reduces</data><data key="statement">lowers the numerical precision of</data><data key="conditions">The encoding, scale, and rounding rule determine the approximation.</data></edge>
    <edge id="e42" source="mlsys.quantization" target="mlsys.metrics"><data key="relation">requires</data><data key="statement">requires re-evaluation of</data><data key="conditions">Quality and calibration must be evaluated for the resulting deployed system.</data></edge>
    <edge id="e43" source="mlsys.distillation" target="mlsys.neural-network"><data key="relation">produces</data><data key="statement">produces a smaller student</data><data key="conditions">The student architecture and task evidence determine the actual trade-off.</data></edge>
    <edge id="e44" source="mlsys.compilation" target="mlsys.fusion"><data key="relation">enables</data><data key="statement">can apply</data><data key="conditions">Only when semantics and execution dependencies permit combination.</data></edge>
    <edge id="e45" source="mlsys.fusion" target="mlsys.dispatch"><data key="relation">reduces</data><data key="statement">can reduce</data><data key="conditions">Fewer launches can reduce host work, depending on the original execution boundary.</data></edge>
    <edge id="e46" source="mlsys.memory-bandwidth" target="mlsys.roofline"><data key="relation">determines</data><data key="statement">sets the sloped ceiling of</data><data key="conditions">The bandwidth must correspond to the memory boundary used for arithmetic intensity.</data></edge>
    <edge id="e47" source="mlsys.compute-throughput" target="mlsys.roofline"><data key="relation">determines</data><data key="statement">sets the flat ceiling of</data><data key="conditions">The ceiling must match the precision and operation mix of the workload.</data></edge>
    <edge id="e48" source="mlsys.arithmetic-intensity" target="mlsys.roofline"><data key="relation">determines</data><data key="statement">selects the active bound in</data><data key="conditions">The compute and bandwidth ceilings describe the declared operating model.</data></edge>
    <edge id="e49" source="mlsys.tiling" target="mlsys.locality"><data key="relation">increases</data><data key="statement">improves</data><data key="conditions">Tile size, storage capacity, and execution support constrain useful reuse.</data></edge>
    <edge id="e50" source="mlsys.locality" target="mlsys.arithmetic-intensity"><data key="relation">increases</data><data key="statement">can increase</data><data key="conditions">When reuse reduces transfers across the measured memory boundary.</data></edge>
    <edge id="e51" source="mlsys.profiling" target="mlsys.utilization"><data key="relation">measures</data><data key="statement">estimates realized</data><data key="conditions">Instrumentation and measurement boundaries affect interpretation.</data></edge>
    <edge id="e52" source="mlsys.data-parallel" target="mlsys.collectives"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">Synchronous replicas commonly aggregate gradients; other learning semantics differ.</data></edge>
    <edge id="e53" source="mlsys.tensor-parallel" target="mlsys.collectives"><data key="relation">requires</data><data key="statement">requires per-layer</data><data key="conditions">Partitioned operations require data exchange according to their decomposition.</data></edge>
    <edge id="e54" source="mlsys.stragglers" target="mlsys.pipeline-parallel"><data key="relation">limits</data><data key="statement">stall</data><data key="conditions">Dependencies and pipeline bubbles expose unequal stage or worker times.</data></edge>
    <edge id="e55" source="mlsys.state-sharding" target="mlsys.training-state"><data key="relation">reduces</data><data key="statement">reduces per-worker copies of</data><data key="conditions">Replication, communication, and reconstruction depend on the sharding stage.</data></edge>
    <edge id="e56" source="mlsys.communication-overlap" target="mlsys.collectives"><data key="relation">reduces</data><data key="statement">hides some exposed cost of</data><data key="conditions">Only independent work overlaps; contention or dependencies can expose residual communication.</data></edge>
    <edge id="e57" source="mlsys.network-topology" target="mlsys.collectives"><data key="relation">limits</data><data key="statement">constrains achievable rates of</data><data key="conditions">Available paths and contention determine achievable exchange rates.</data></edge>
    <edge id="e58" source="mlsys.training-state" target="mlsys.checkpoint"><data key="relation">part-of</data><data key="statement">is persisted, in selected form, in</data><data key="conditions">Resumption semantics determine which state must be saved.</data></edge>
    <edge id="e59" source="mlsys.checkpoint" target="mlsys.consistent-cut"><data key="relation">requires</data><data key="statement">requires, for distributed jobs, a</data><data key="conditions">The saved worker states and dependencies must form a recoverable state.</data></edge>
    <edge id="e60" source="mlsys.consensus" target="mlsys.fencing"><data key="relation">enables</data><data key="statement">maintains the epoch authority used by</data><data key="conditions">Resource-enforced epochs remain necessary; a consensus log alone does not fence effects.</data></edge>
    <edge id="e61" source="mlsys.federated-learning" target="mlsys.privacy"><data key="relation">requires</data><data key="statement">must address</data><data key="conditions">Keeping raw records local alone does not establish privacy of updates or outputs.</data></edge>
    <edge id="e62" source="mlsys.service-capacity" target="mlsys.arrival-rate"><data key="relation">limits</data><data key="statement">bounds the sustainable</data><data key="conditions">The request mix and service-time distribution determine demand.</data></edge>
    <edge id="e63" source="mlsys.utilization" target="mlsys.queueing"><data key="relation">increases</data><data key="statement">increases, near saturation,</data><data key="conditions">With fixed service conditions, waits typically rise near saturation; this is not a universal scalar model.</data></edge>
    <edge id="e64" source="mlsys.queueing" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">contributes to</data><data key="conditions">Service, batching, network, and other delays also contribute.</data></edge>
    <edge id="e65" source="mlsys.batching" target="mlsys.service-capacity"><data key="relation">increases</data><data key="statement">can increase</data><data key="conditions">Workload, memory, and kernel efficiency bound the gain.</data></edge>
    <edge id="e66" source="mlsys.batching" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">can increase</data><data key="conditions">Waiting to form a batch can add delay; the net effect depends on queueing and service changes.</data></edge>
    <edge id="e67" source="mlsys.admission" target="mlsys.service-capacity"><data key="relation">requires</data><data key="statement">admits work against a known</data><data key="conditions">Limits must be expressed in resources relevant to the workload.</data></edge>
    <edge id="e68" source="mlsys.autoscaling" target="mlsys.service-capacity"><data key="relation">determines</data><data key="statement">adjusts provisioned</data><data key="conditions">Provisioning delay, state transfer, and warm-up affect when capacity becomes useful.</data></edge>
    <edge id="e69" source="mlsys.memory-capacity" target="mlsys.kv-cache"><data key="relation">limits</data><data key="statement">limits the resident</data><data key="conditions">Size depends on architecture, sequence length, format, and concurrency.</data></edge>
    <edge id="e70" source="mlsys.paged-kv" target="mlsys.kv-cache"><data key="relation">implements</data><data key="statement">stores, in fixed-size blocks mapped by a block table, the</data><data key="conditions">When a block table maps each request's positions to retained key-value blocks that attention can retrieve.</data></edge>
    <edge id="e71" source="mlsys.prefix-cache" target="mlsys.kv-cache"><data key="relation">uses</data><data key="statement">reuses compatible</data><data key="conditions">Token prefix, model state, position conventions, and access boundaries must match.</data></edge>
    <edge id="e72" source="mlsys.memory-bandwidth" target="mlsys.prefill-decode"><data key="relation">limits</data><data key="statement">bounds the decode phase of</data><data key="conditions">The dominant resource depends on architecture, batch, context length, and implementation.</data></edge>
    <edge id="e73" source="mlsys.speculative-decoding" target="mlsys.service-capacity"><data key="relation">increases</data><data key="statement">can raise effective decode throughput of</data><data key="conditions">Acceptance rate, proposer cost, verification, and workload determine the net gain.</data></edge>
    <edge id="e74" source="mlsys.slo" target="mlsys.slo-goodput"><data key="relation">determines</data><data key="statement">defines the counting rule for</data><data key="conditions">The counting rule must specify latency, quality, failures, and the workload population.</data></edge>
    <edge id="e75" source="mlsys.evaluation-split" target="mlsys.generalization"><data key="relation">measures</data><data key="statement">supports unbiased estimates of</data><data key="conditions">The partition and sampling unit must match the intended deployment question.</data></edge>
    <edge id="e76" source="mlsys.selection-bias" target="mlsys.metrics"><data key="relation">increases</data><data key="statement">inflates reported</data><data key="conditions">Independent final evaluation is needed after selection on noisy scores.</data></edge>
    <edge id="e77" source="mlsys.calibration" target="mlsys.selective-prediction"><data key="relation">enables</data><data key="statement">supports</data><data key="conditions">Abstention thresholds still require risk and coverage evaluation under the deployment distribution.</data></edge>
    <edge id="e78" source="mlsys.statistical-uncertainty" target="mlsys.metrics"><data key="relation">limits</data><data key="statement">bounds the precision of conclusions from</data><data key="conditions">Dependence, sample selection, and repeated comparison matter.</data></edge>
    <edge id="e79" source="mlsys.benchmark" target="mlsys.tail-latency"><data key="relation">measures</data><data key="statement">specifies how to measure</data><data key="conditions">Measurement needs a declared load model, warm-up, boundary, and quantile method.</data></edge>
    <edge id="e80" source="mlsys.online-experiment" target="mlsys.metrics"><data key="relation">measures</data><data key="statement">estimates causal effects on</data><data key="conditions">Causal interpretation depends on assignment, interference, observation, and stopping assumptions.</data></edge>
    <edge id="e81" source="mlsys.sliced-evaluation" target="mlsys.fairness"><data key="relation">measures</data><data key="statement">tests specified</data><data key="conditions">An aggregate score cannot establish performance for every subgroup.</data></edge>
    <edge id="e82" source="mlsys.rollout" target="mlsys.artifact-version"><data key="relation">requires</data><data key="statement">requires pinned</data><data key="conditions">Evidence and compatibility must refer to the exact candidate being deployed.</data></edge>
    <edge id="e83" source="mlsys.monitoring" target="mlsys.distribution-shift"><data key="relation">detects</data><data key="statement">observes signs of</data><data key="conditions">Signals require diagnosis and do not establish harmfulness by themselves.</data></edge>
    <edge id="e84" source="mlsys.rollout" target="mlsys.rollback"><data key="relation">uses</data><data key="statement">can use</data><data key="conditions">A rollout can use rollback when acceptance criteria fail; state compatibility and external effects may limit recovery.</data></edge>
    <edge id="e85" source="mlsys.feedback-loop" target="mlsys.data-quality"><data key="relation">reduces</data><data key="statement">can degrade</data><data key="conditions">Deployed decisions can alter which labels and examples are subsequently observed.</data></edge>
    <edge id="e86" source="mlsys.observability" target="mlsys.incident-response"><data key="relation">enables</data><data key="statement">supports</data><data key="conditions">Useful diagnosis requires recorded context and trustworthy instrumentation.</data></edge>
    <edge id="e87" source="mlsys.threat-model" target="mlsys.poisoning"><data key="relation">determines</data><data key="statement">scopes the attack surfaces considered for</data><data key="conditions">The adversary's ability to modify training inputs or signals must be specified.</data></edge>
    <edge id="e88" source="mlsys.threat-model" target="mlsys.evasion"><data key="relation">determines</data><data key="statement">scopes the attack surfaces considered for</data><data key="conditions">The adversary's knowledge, perturbations, and target behavior must be specified.</data></edge>
    <edge id="e89" source="mlsys.differential-privacy" target="mlsys.privacy"><data key="relation">implements</data><data key="statement">provides a formal guarantee for</data><data key="conditions">The guarantee bounds output-distribution change under a declared neighboring relation and accounting parameters; it does not establish every privacy requirement.</data></edge>
    <edge id="e90" source="mlsys.human-oversight" target="mlsys.observability"><data key="relation">requires</data><data key="statement">requires actionable</data><data key="conditions">Recorded signals must be interpretable and available in time to support intervention.</data></edge>
    <edge id="e91" source="mlsys.energy" target="mlsys.carbon"><data key="relation">increases</data><data key="statement">contributes operational emissions to</data><data key="conditions">Conversion depends on operational accounting boundaries and energy-source emissions; embodied emissions are separate.</data></edge>
    <edge id="e92" source="mlsys.unit-cost" target="mlsys.metrics"><data key="relation">requires</data><data key="statement">requires an acceptance criterion from</data><data key="conditions">Counting attempted work as successful outcomes understates the unit cost.</data></edge>
    <edge id="e93" source="mlsys.capacity-planning" target="mlsys.slo"><data key="relation">requires</data><data key="statement">is sized against</data><data key="conditions">Provisioning decisions must account for demand variation and resource constraints.</data></edge>
    <edge id="e94" source="mlsys.context" target="mlsys.trajectory"><data key="relation">limits</data><data key="statement">bounds the history carried across an</data><data key="conditions">Only selected observations and records fit in a model invocation.</data></edge>
    <edge id="e95" source="mlsys.planning" target="mlsys.trajectory"><data key="relation">determines</data><data key="statement">revises the actions within</data><data key="conditions">Execution observations and changing constraints can invalidate a prospective plan.</data></edge>
    <edge id="e96" source="mlsys.context" target="mlsys.retrieval"><data key="relation">limits</data><data key="statement">bounds the passage volume injected by</data><data key="conditions">Relevance, authorization, provenance, and token budget constrain what may be supplied.</data></edge>
    <edge id="e97" source="mlsys.retrieval" target="mlsys.ann"><data key="relation">uses</data><data key="statement">can use</data><data key="conditions">Approximation and index freshness affect retrieval quality and cost.</data></edge>
    <edge id="e98" source="mlsys.trajectory" target="mlsys.compensation"><data key="relation">uses</data><data key="statement">can use, to remedy earlier steps,</data><data key="conditions">A remedy may not restore the original state or undo all consequences.</data></edge>
    <edge id="e99" source="mlsys.authorization" target="mlsys.prompt-injection"><data key="relation">mitigates</data><data key="statement">blocks unauthorized actions triggered by</data><data key="conditions">Untrusted content must not silently acquire authority through model interpretation.</data></edge>
    <edge id="e100" source="mlsys.agent-evaluation" target="mlsys.trajectory"><data key="relation">measures</data><data key="statement">measures accepted outcomes of</data><data key="conditions">Evaluate external effects and constraint compliance, not only final text.</data></edge>
    <edge id="e101" source="mlsys.proxy-objective" target="mlsys.reward-hacking"><data key="relation">causes</data><data key="statement">can invite</data><data key="conditions">A reward is not itself evidence that the intended task was performed.</data></edge>
    <edge id="e102" source="mlsys.dynamics" target="mlsys.trajectory-feasibility"><data key="relation">limits</data><data key="statement">constrains</data><data key="conditions">Physical states, inputs, disturbances, and constraints determine admissible motion.</data></edge>
    <edge id="e103" source="mlsys.sensing" target="mlsys.state-estimation"><data key="relation">enables</data><data key="statement">supplies the measurement model and frame alignment for</data><data key="conditions">When the estimator's measurement models and frame and time alignment are established by sensor calibration.</data></edge>
    <edge id="e104" source="mlsys.state-observability" target="mlsys.state-estimation"><data key="relation">limits</data><data key="statement">limits</data><data key="conditions">A low reported covariance does not by itself establish that the state is distinguishable.</data></edge>
    <edge id="e105" source="mlsys.observation-age" target="mlsys.state-estimation"><data key="relation">determines</data><data key="statement">inflates the uncertainty of</data><data key="conditions">State can evolve between capture and use; propagation depends on the plant and disturbances.</data></edge>
    <edge id="e106" source="mlsys.feedback-delay" target="mlsys.feedback-control"><data key="relation">limits</data><data key="statement">limits the stability margin of</data><data key="conditions">Delay can reduce stability margins; the effect depends on sampling and dynamics.</data></edge>
    <edge id="e107" source="mlsys.wcet" target="mlsys.feedback-delay"><data key="relation">limits</data><data key="statement">contributes to bounding</data><data key="conditions">Execution-time bounds alone do not include all queueing, scheduling, sensing, and transport delays.</data></edge>
    <edge id="e108" source="mlsys.contact-compliance" target="mlsys.dynamics"><data key="relation">determines</data><data key="statement">changes</data><data key="conditions">Contact modes, stiffness, damping, and impact alter physical response.</data></edge>
    <edge id="e109" source="mlsys.sim-to-real" target="mlsys.dynamics"><data key="relation">requires</data><data key="statement">requires assessing simulator mismatch in</data><data key="conditions">Simulation evidence must be evaluated against the actual deployment conditions.</data></edge>
    <edge id="e110" source="mlsys.runtime-assurance" target="mlsys.trajectory-feasibility"><data key="relation">uses</data><data key="statement">checks proposed actions against</data><data key="conditions">When the monitor's feasibility model, timing, and implementation assumptions hold; the guarantee is only as good as that model.</data></edge>
    <edge id="e111" source="mlsys.feedback-delay" target="mlsys.stopping-envelope"><data key="relation">reduces</data><data key="statement">shrinks</data><data key="conditions">Delay adds motion before braking; braking authority and uncertainty also matter.</data></edge>
    <edge id="e112" source="mlsys.operating-domain" target="mlsys.safety-case"><data key="relation">limits</data><data key="statement">bounds the claims in</data><data key="conditions">Evidence must match the intended operating conditions and configuration.</data></edge>
    <edge id="e113" source="mlsys.safety-case" target="mlsys.runtime-assurance"><data key="relation">uses</data><data key="statement">argues over the premises and fallbacks of</data><data key="conditions">When runtime monitoring and fallback are part of the safety argument rather than an unargued numerical filter.</data></edge>
    <edge id="e114" source="mlsys.isolation" target="mlsys.authorization"><data key="relation">implements</data><data key="statement">enforces the access boundaries of</data><data key="conditions">Isolation can restrict resource access, but it does not choose the authorization policy or prove external-effect correctness.</data></edge>
    <edge id="e115" source="mlsys.data-acquisition" target="mlsys.evaluation-split"><data key="relation">determines</data><data key="statement">determines the observed population for</data><data key="conditions">Selection and missing outcomes can change the population to which an estimate applies.</data></edge>
    <edge id="e116" source="mlsys.data-contract" target="mlsys.data-quality"><data key="relation">determines</data><data key="statement">specifies the validity criteria for</data><data key="conditions">A schema check alone cannot establish semantic correctness or task fitness.</data></edge>
    <edge id="e117" source="mlsys.delayed-outcomes" target="mlsys.monitoring"><data key="relation">limits</data><data key="statement">limits timely conclusions from</data><data key="conditions">Outcome maturation and selective observation require explicit evaluation windows.</data></edge>
    <edge id="e118" source="mlsys.decision-policy" target="mlsys.calibration"><data key="relation">uses</data><data key="statement">uses outputs assessed by</data><data key="conditions">A probability threshold needs task costs and deployment-distribution evidence as well as calibration.</data></edge>
    <edge id="e119" source="mlsys.supervised-learning" target="mlsys.labels"><data key="relation">requires</data><data key="statement">uses targets assessed by</data><data key="conditions">The target semantics and observation process must match the intended task.</data></edge>
    <edge id="e120" source="mlsys.self-supervised-learning" target="mlsys.loss"><data key="relation">determines</data><data key="statement">constructs targets for its own</data><data key="conditions">Targets are derived from the data under a specified objective and corruption or prediction scheme.</data></edge>
    <edge id="e121" source="mlsys.unsupervised-learning" target="mlsys.features"><data key="relation">uses</data><data key="statement">takes its inputs from</data><data key="conditions">When an unsupervised pipeline explicitly constructs or transforms its input features before fitting the learner.</data></edge>
    <edge id="e122" source="mlsys.reinforcement-learning" target="mlsys.proxy-objective"><data key="relation">uses</data><data key="statement">optimizes behavior against a reward acting as</data><data key="conditions">The reward and interaction model may differ from the desired real-world outcome.</data></edge>
    <edge id="e123" source="mlsys.imitation-learning" target="mlsys.distribution-shift"><data key="relation">causes</data><data key="statement">induces compounding state-distribution shift</data><data key="conditions">Policy actions change the states visited relative to demonstration data.</data></edge>
    <edge id="e124" source="mlsys.model-artifact" target="mlsys.memory-capacity"><data key="relation">requires</data><data key="statement">must be resident within</data><data key="conditions">Residency can include parameters, tree structure, support vectors, or stored examples, depending on the model.</data></edge>
    <edge id="e125" source="mlsys.linear-model" target="mlsys.model-artifact"><data key="relation">determines</data><data key="statement">determines the contents of</data><data key="conditions">Feature transforms and output rules are part of the execution contract.</data></edge>
    <edge id="e126" source="mlsys.tree-ensemble" target="mlsys.model-artifact"><data key="relation">determines</data><data key="statement">determines the contents of</data><data key="conditions">Tree structures, thresholds, leaf values, and aggregation rules require storage and compatible execution.</data></edge>
    <edge id="e127" source="mlsys.kernel-method" target="mlsys.model-artifact"><data key="relation">determines</data><data key="statement">determines the size of</data><data key="conditions">Support vectors or an explicit approximation affect the stored state and evaluation cost.</data></edge>
    <edge id="e128" source="mlsys.nearest-neighbor" target="mlsys.model-artifact"><data key="relation">determines</data><data key="statement">determines the contents of</data><data key="conditions">Stored vectors, metadata, and optional indexes contribute capacity and search cost.</data></edge>
    <edge id="e129" source="mlsys.failure-model" target="mlsys.consensus"><data key="relation">limits</data><data key="statement">bounds the guarantees of</data><data key="conditions">Fault classes, membership, quorum availability, and timing assumptions bound the agreement claim.</data></edge>
    <edge id="e130" source="mlsys.failure-model" target="mlsys.checkpoint"><data key="relation">determines</data><data key="statement">determines the recovery requirements for</data><data key="conditions">Recovery semantics must cover the faults and state dependencies actually assumed.</data></edge>
    <edge id="e131" source="mlsys.backpressure" target="mlsys.arrival-rate"><data key="relation">limits</data><data key="statement">limits offered</data><data key="conditions">The signal must reach producers in time and avoid shifting overload into unbounded buffers.</data></edge>
    <edge id="e132" source="mlsys.privacy" target="mlsys.privacy-leakage"><data key="relation">limits</data><data key="statement">bounds acceptable</data><data key="conditions">Risk depends on the information, recipient, purpose, consent, and declared protections.</data></edge>
    <edge id="e133" source="mlsys.roofline" target="mlsys.execution-time"><data key="relation">limits</data><data key="statement">implies a lower bound on</data><data key="conditions">For fixed arithmetic work, a throughput ceiling implies a lower execution-time bound. Additional overheads can lengthen actual runtime.</data></edge>
    <edge id="e134" source="mlsys.execution-time" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">contributes to</data><data key="conditions">Execution contributes to each request latency; component quantiles cannot generally be added to obtain an end-to-end quantile.</data></edge>
    <edge id="e135" source="mlsys.memory-capacity" target="mlsys.batching"><data key="relation">limits</data><data key="statement">limits feasible</data><data key="conditions">Model state, request state, intermediates, and allocator overhead must fit for the selected execution strategy.</data></edge>
    <edge id="e136" source="mlsys.metrics" target="mlsys.generalization"><data key="relation">measures</data><data key="statement">measure</data><data key="conditions">The metric, sampling protocol, and target distribution determine what the estimate means.</data></edge>
    <edge id="e137" source="mlsys.metrics" target="mlsys.rollout"><data key="relation">determines</data><data key="statement">gate advancement during</data><data key="conditions">Release criteria and populations must be specified before interpreting candidate results.</data></edge>
    <edge id="e138" source="mlsys.monitoring" target="mlsys.metrics"><data key="relation">measures</data><data key="statement">tracks deployed</data><data key="conditions">Observed task metrics can be delayed, biased, or unavailable; system health alone does not establish task quality.</data></edge>
    <edge id="e139" source="mlsys.data-parallel" target="mlsys.training-state"><data key="relation">increases</data><data key="statement">replicates, multiplying the total footprint of,</data><data key="conditions">Conventional replicated data parallelism keeps model and update state at each worker; ZeRO and hybrid strategies shard selected components.</data></edge>
    <edge id="e140" source="mlsys.tensor-parallel" target="mlsys.matrix-multiply"><data key="relation">uses</data><data key="statement">partitions</data><data key="conditions">For tensor decompositions whose operand and reduction partitions require compatible communication and layout.</data></edge>
    <edge id="e141" source="mlsys.profiling" target="mlsys.execution-time"><data key="relation">measures</data><data key="statement">measures observed</data><data key="conditions">Measurement boundaries, instrumentation, and workload determine the observation; a sample is not a universal time bound.</data></edge>
    <edge id="e142" source="mlsys.fairness" target="mlsys.decision-policy"><data key="relation">limits</data><data key="statement">constrains acceptable</data><data key="conditions">The protected populations, outcome criterion, operating conditions, and trade-offs must be stated; one criterion does not establish all fairness goals.</data></edge>
    <edge id="e143" source="mlsys.threat-model" target="mlsys.robustness-evaluation"><data key="relation">determines</data><data key="statement">selects attack cases for</data><data key="conditions">Tests exercise a declared adversary and interface; passing selected attacks does not establish universal robustness.</data></edge>
    <edge id="e144" source="mlsys.failure-model" target="mlsys.incident-response"><data key="relation">limits</data><data key="statement">bounds planned recovery in</data><data key="conditions">A design's recovery guarantees are limited to its declared faults and assumptions; operations may also encounter unmodeled incidents.</data></edge>
    <edge id="e145" source="mlsys.feedback-control" target="mlsys.state-estimation"><data key="relation">uses</data><data key="statement">uses estimated state from</data><data key="conditions">For controllers using estimated state, uncertainty and observation timing matter; other output-feedback designs need not reconstruct full state.</data></edge>
    <edge id="e146" source="mlsys.dynamics" target="mlsys.feedback-control"><data key="relation">determines</data><data key="statement">governs the plant response to</data><data key="conditions">The closed-loop response depends on the plant, disturbances, constraints, sensing, and controller implementation.</data></edge>
    <edge id="e147" source="mlsys.runtime-assurance" target="mlsys.state-estimation"><data key="relation">uses</data><data key="statement">relies on qualified</data><data key="conditions">State-dependent checks need valid observation timing and error bounds; the guarantee remains conditional on those premises.</data></edge>
    <edge id="e148" source="mlsys.operating-domain" target="mlsys.robustness-evaluation"><data key="relation">determines</data><data key="statement">scopes the relevant conditions for</data><data key="conditions">The intended domain identifies relevant stresses and coupled corners, but finite selected tests do not exhaust continuous operating conditions.</data></edge>
    <edge id="e149" source="mlsys.service-capacity" target="mlsys.slo-goodput"><data key="relation">limits</data><data key="statement">bounds sustainable</data><data key="conditions">Only for matching work units, counting boundary, workload, operating state, and horizon. A measured throughput is not a universal capacity ceiling.</data></edge>
    <edge id="e150" source="mlsys.energy" target="mlsys.unit-cost"><data key="relation">increases</data><data key="statement">adds monetary cost to</data><data key="conditions">Convert energy through the applicable tariff or cost model; do not add it again when already included in cloud or facility charges.</data></edge>
    <edge id="e151" source="mlsys.irreversible-effects" target="mlsys.rollback"><data key="relation">limits</data><data key="statement">can prevent full reversal by</data><data key="conditions">Restoring software or configuration cannot necessarily undo physical, informational, financial, or human consequences already caused.</data></edge>
    <edge id="e152" source="mlsys.irreversible-effects" target="mlsys.compensation"><data key="relation">limits</data><data key="statement">can remain after</data><data key="conditions">A remedy may address an obligation or consequence without restoring the original world state.</data></edge>
    <edge id="e153" source="mlsys.runtime-assurance" target="mlsys.irreversible-effects"><data key="relation">mitigates</data><data key="statement">can gate prospective</data><data key="conditions">Only when the mechanism mediates the relevant pre-actuation path with sufficient timing and authority. Detection can occur after an effect, and fallback can itself be irreversible.</data></edge>
    <edge id="e154" source="mlsys.privacy-leakage" target="mlsys.irreversible-effects"><data key="relation">causes</data><data key="statement">can create</data><data key="conditions">Disclosed information may be copied or retained outside the system's control, so subsequent deletion cannot guarantee full retraction.</data></edge>
    <edge id="e155" source="mlsys.human-oversight" target="mlsys.authorization"><data key="relation">limits</data><data key="statement">can constrain</data><data key="conditions">People need usable evidence, sufficient time, and effective authority; a nominal approval step alone does not establish meaningful control.</data></edge>
    <edge id="e156" source="mlsys.neural-network" target="mlsys.model-artifact"><data key="relation">determines</data><data key="statement">determines the contents of</data><data key="conditions">Execution requires compatible parameters, operators, and configuration. Training state can include additional data not needed for inference.</data></edge>
    <edge id="e157" source="mlsys.metrics" target="mlsys.hallucination"><data key="relation">measures</data><data key="statement">can assess support for</data><data key="conditions">For tasks requiring factual or source-grounded assertions, evaluate support in addition to fluency or schema validity; not every task has the same truth criterion.</data></edge>
    <edge id="e158" source="mlsys.dataset-storage-layout" target="mlsys.data-ingestion"><data key="relation">determines</data><data key="statement">sets the I/O required by</data><data key="conditions">Effects depend on access pattern, projection/filtering, encoding, storage medium, and caching; a layout does not guarantee higher throughput.</data></edge>
    <edge id="e159" source="mlsys.schema-evolution" target="mlsys.data-contract"><data key="relation">requires</data><data key="statement">requires compatibility rules in</data><data key="conditions">Contracts must identify producers/consumers, field meaning, allowed changes, defaults, and migration expectations; format-supported changes need not preserve application semantics.</data></edge>
    <edge id="e160" source="mlsys.data-ingestion" target="mlsys.backpressure"><data key="relation">uses</data><data key="statement">applies, under overload,</data><data key="conditions">When record arrival exceeds sustainable processing capacity and the source permits slowing producers; sources that cannot be slowed need buffering or shedding instead.</data></edge>
    <edge id="e161" source="mlsys.point-in-time" target="mlsys.data-ingestion"><data key="relation">requires</data><data key="statement">requires event-time-preserving</data><data key="conditions">When downstream features or evaluation depend on event-time correctness, ingestion/availability timestamps and late-data policies must be retained; arrival order alone is insufficient.</data></edge>
    <edge id="e162" source="mlsys.integration-testing" target="mlsys.test-oracle"><data key="relation">requires</data><data key="statement">requires expectations from a</data><data key="conditions">The oracle may be partial, probabilistic, or human-assisted and only covers declared properties and tested cases.</data></edge>
    <edge id="e163" source="mlsys.integration-testing" target="mlsys.train-serve-skew"><data key="relation">detects</data><data key="statement">can expose</data><data key="conditions">Tests compare relevant preprocessing and model interfaces across representative paths; untested distributions or deployment differences can remain.</data></edge>
    <edge id="e164" source="mlsys.integration-testing" target="mlsys.dependency-environment"><data key="relation">measures</data><data key="statement">tests compatibility within</data><data key="conditions">Test environments must represent the target packages, binaries, resources, and configuration; passing one environment does not validate all others.</data></edge>
    <edge id="e165" source="mlsys.failure-model" target="mlsys.failure-injection"><data key="relation">determines</data><data key="statement">selects candidate scenarios for</data><data key="conditions">Injected faults instantiate selected assumptions; realistic timing, combinations, observation criteria, and containment must be declared.</data></edge>
    <edge id="e166" source="mlsys.failure-injection" target="mlsys.incident-response"><data key="relation">measures</data><data key="statement">exercises</data><data key="conditions">A controlled scenario can test detection and response paths; success does not demonstrate preparedness for every incident.</data></edge>
    <edge id="e167" source="mlsys.failure-injection" target="mlsys.test-oracle"><data key="relation">requires</data><data key="statement">requires observable acceptance criteria from</data><data key="conditions">Criteria may evaluate latency, error rates, recovery behavior, or invariants; injecting a fault without assessing outcomes is not sufficient evidence.</data></edge>
    <edge id="e168" source="mlsys.experiment-reproducibility" target="mlsys.dependency-environment"><data key="relation">requires</data><data key="statement">requires a pinned</data><data key="conditions">Package identity alone is insufficient: hardware, data, seeds, nondeterministic operations, external services, and acceptance criteria may also matter.</data></edge>
    <edge id="e169" source="mlsys.artifact-version" target="mlsys.experiment-reproducibility"><data key="relation">enables</data><data key="statement">identifies the exact inputs for</data><data key="conditions">Reproduction requires resolvable versions and the execution procedure/environment; version labels alone do not reproduce results.</data></edge>
    <edge id="e170" source="mlsys.workflow-orchestration" target="mlsys.lineage"><data key="relation">produces</data><data key="statement">can record execution evidence as</data><data key="conditions">Only when actual input/output artifacts, parameters, steps, and execution identities are captured; orchestration alone does not establish complete provenance.</data></edge>
    <edge id="e171" source="mlsys.workflow-orchestration" target="mlsys.idempotency"><data key="relation">requires</data><data key="statement">requires retry-safe steps through</data><data key="conditions">When steps can be retried after ambiguous completion, repeated external effects need explicit handling; idempotency is one option rather than a universal orchestration guarantee.</data></edge>
    <edge id="e172" source="mlsys.benchmark" target="mlsys.experiment-reproducibility"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">The benchmark protocol must state tolerances, repetitions, environment, and workload; reproducibility does not establish external validity.</data></edge>
    <edge id="e173" source="mlsys.memory-hierarchy" target="mlsys.locality"><data key="relation">enables</data><data key="statement">provides storage levels for</data><data key="conditions">The algorithm, placement, and implementation determine which levels actually serve an access; effective rates depend on contention and access pattern.</data></edge>
    <edge id="e174" source="mlsys.host-device-interconnect" target="mlsys.execution-time"><data key="relation">increases</data><data key="statement">can add transfer delay to</data><data key="conditions">When the measured execution boundary includes traffic crossing the host-device path, transport, topology, contention, reuse, and overlap determine its contribution; fully hidden transfers need not increase end-to-end time.</data></edge>
    <edge id="e175" source="mlsys.accelerator-execution-architecture" target="mlsys.matrix-multiply"><data key="relation">determines</data><data key="statement">constrains supported mappings of</data><data key="conditions">Operations, data types, shapes, and implementation must match the execution resources; peak throughput is not achieved throughput.</data></edge>
    <edge id="e176" source="mlsys.power-delivery" target="mlsys.compute-throughput"><data key="relation">limits</data><data key="statement">constrains feasible operating points for</data><data key="conditions">Supply limits, voltage integrity, and platform power management can constrain sustained execution; power is distinct from energy.</data></edge>
    <edge id="e177" source="mlsys.thermal-dynamics" target="mlsys.execution-time"><data key="relation">increases</data><data key="statement">can increase</data><data key="conditions">When thermal controls reduce frequency or service rate or suspend operation, a cold unloaded timing measurement need not characterize sustained or shared operation.</data></edge>
    <edge id="e178" source="mlsys.thermal-dynamics" target="mlsys.energy"><data key="relation">increases</data><data key="statement">adds cooling overhead to</data><data key="conditions">The system boundary and cooling overhead must be stated; carbon conclusions additionally require energy mix and lifecycle assumptions.</data></edge>
    <edge id="e179" source="mlsys.sli" target="mlsys.slo"><data key="relation">part-of</data><data key="statement">is the measured quantity in</data><data key="conditions">The indicator's population, window, and aggregation must match the objective's.</data></edge>
    <edge id="e180" source="mlsys.slo" target="mlsys.error-budget"><data key="relation">determines</data><data key="statement">sets the size of</data><data key="conditions">The objective is stated as a fraction over a defined window.</data></edge>
    <edge id="e181" source="mlsys.error-budget" target="mlsys.rollout"><data key="relation">determines</data><data key="statement">paces</data><data key="conditions">Teams agree to slow or halt changes when the remaining budget is exhausted.</data></edge>
    <edge id="e182" source="mlsys.latency-budget" target="mlsys.tail-latency"><data key="relation">limits</data><data key="statement">allocates permitted</data><data key="conditions">Stage latencies compose along a request path whose end-to-end target is fixed.</data></edge>
    <edge id="e183" source="mlsys.flop-accounting" target="mlsys.arithmetic-intensity"><data key="relation">measures</data><data key="statement">supplies the operation and byte counts for</data><data key="conditions">Operation and byte counts are taken at the same memory boundary.</data></edge>
    <edge id="e184" source="mlsys.memory-capacity" target="mlsys.memory-footprint"><data key="relation">limits</data><data key="statement">caps</data><data key="conditions">All resident state is counted at its peak, including runtime buffers.</data></edge>
    <edge id="e185" source="mlsys.capacity-planning" target="mlsys.workload-trace"><data key="relation">uses</data><data key="statement">grounds demand estimates in</data><data key="conditions">The trace is representative of the arrival, size, and mix distribution being provisioned for.</data></edge>
    <edge id="e186" source="mlsys.flop-accounting" target="mlsys.workload"><data key="relation">measures</data><data key="statement">estimates the operations and bytes of</data><data key="conditions">Model shapes and input sizes are known.</data></edge>
    <edge id="e187" source="mlsys.cost-sensitive-decision" target="mlsys.decision-policy"><data key="relation">determines</data><data key="statement">sets thresholds in</data><data key="conditions">Error costs and class priors can be stated for the deployment context.</data></edge>
    <edge id="e188" source="mlsys.pareto-frontier" target="mlsys.requirements"><data key="relation">limits</data><data key="statement">bounds the non-dominated trade-offs available to</data><data key="conditions">Two or more objectives are measured on the same workload and cannot all be optimized at once.</data></edge>
    <edge id="e189" source="mlsys.transformer" target="mlsys.attention"><data key="relation">uses</data><data key="statement">is built from</data><data key="conditions">The architecture uses attention layers interleaved with feed-forward blocks.</data></edge>
    <edge id="e190" source="mlsys.recommendation-model" target="mlsys.embeddings"><data key="relation">uses</data><data key="statement">is dominated by lookups in</data><data key="conditions">Categorical features are encoded through large embedding tables.</data></edge>
    <edge id="e191" source="mlsys.diffusion-model" target="mlsys.execution-time"><data key="relation">increases</data><data key="statement">multiplies by sampling step count</data><data key="conditions">Generation runs the denoising network once per sampling step.</data></edge>
    <edge id="e192" source="mlsys.convolution" target="mlsys.arithmetic-intensity"><data key="relation">increases</data><data key="statement">typically raises</data><data key="conditions">Filters are reused across many spatial positions within one kernel.</data></edge>
    <edge id="e193" source="mlsys.recurrence" target="mlsys.serial-fraction"><data key="relation">increases</data><data key="statement">adds sequential dependence to</data><data key="conditions">Each step depends on the previous hidden state, preventing parallelism across time steps.</data></edge>
    <edge id="e194" source="mlsys.normalization-layer" target="mlsys.numerical-stability"><data key="relation">increases</data><data key="statement">improves</data><data key="conditions">Activation statistics would otherwise drift with depth or batch composition.</data></edge>
    <edge id="e195" source="mlsys.mixture-of-experts" target="mlsys.active-parameters"><data key="relation">reduces</data><data key="statement">reduces relative to total parameters</data><data key="conditions">Each token is routed to only a small subset of experts.</data></edge>
    <edge id="e196" source="mlsys.mixture-of-experts" target="mlsys.memory-capacity"><data key="relation">requires</data><data key="statement">still requires storing all experts within</data><data key="conditions">Every expert must be resident somewhere in the system even if inactive for a token.</data></edge>
    <edge id="e197" source="mlsys.expert-routing" target="mlsys.all-to-all"><data key="relation">determines</data><data key="statement">determines token traffic in</data><data key="conditions">Experts are placed on different devices from the tokens routed to them.</data></edge>
    <edge id="e198" source="mlsys.expert-capacity" target="mlsys.expert-routing"><data key="relation">limits</data><data key="statement">bounds assignments made by</data><data key="conditions">A fixed per-expert buffer is allocated per batch.</data></edge>
    <edge id="e199" source="mlsys.load-balancing-loss" target="mlsys.expert-routing"><data key="relation">determines</data><data key="statement">regularizes toward balance</data><data key="conditions">The auxiliary loss weight is large enough to counter router collapse without dominating the task loss.</data></edge>
    <edge id="e200" source="mlsys.active-parameters" target="mlsys.flop-accounting"><data key="relation">determines</data><data key="statement">determines per-token compute in</data><data key="conditions">Compute is counted for the experts actually activated rather than all stored parameters.</data></edge>
    <edge id="e201" source="mlsys.early-exit" target="mlsys.execution-time"><data key="relation">reduces</data><data key="statement">reduces average, and makes input-dependent,</data><data key="conditions">Exit criteria differ across inputs, so latency varies with input difficulty.</data></edge>
    <edge id="e202" source="mlsys.context" target="mlsys.kv-cache"><data key="relation">increases</data><data key="statement">scales the size of</data><data key="conditions">Autoregressive decoding retains keys and values for every prior position.</data></edge>
    <edge id="e203" source="mlsys.sliding-window-attention" target="mlsys.context"><data key="relation">enables</data><data key="statement">makes longer contexts more affordable by reducing attention cost over</data><data key="conditions">The attention pattern reduces attended query-key pairs relative to dense attention; linear cost requires bounded attended positions per query, and quality on long-range tasks may change.</data></edge>
    <edge id="e204" source="mlsys.linear-attention" target="mlsys.kv-cache"><data key="relation">reduces</data><data key="statement">replaces with a fixed-size state</data><data key="conditions">The attention kernel is approximated by a feature map that permits a recurrent formulation.</data></edge>
    <edge id="e205" source="mlsys.state-space-model" target="mlsys.recurrence"><data key="relation">uses</data><data key="statement">updates its state through</data><data key="conditions">When the state update runs step by step at inference.</data></edge>
    <edge id="e206" source="mlsys.grouped-query-attention" target="mlsys.kv-cache"><data key="relation">reduces</data><data key="statement">reduces the size of</data><data key="conditions">Fewer key-value heads are stored than query heads.</data></edge>
    <edge id="e207" source="mlsys.context-extension" target="mlsys.position-encoding"><data key="relation">uses</data><data key="statement">rescales or interpolates</data><data key="conditions">The model uses a position encoding, such as rotary embeddings, that can be rescaled or interpolated.</data></edge>
    <edge id="e208" source="mlsys.weight-serialization" target="mlsys.model-artifact"><data key="relation">part-of</data><data key="statement">persists the parameters of</data><data key="conditions">The artifact's weights are persisted for later loading.</data></edge>
    <edge id="e209" source="mlsys.model-exchange-format" target="mlsys.compilation"><data key="relation">enables</data><data key="statement">provides input to</data><data key="conditions">The target runtime or compiler supports the exchanged operator set.</data></edge>
    <edge id="e210" source="mlsys.model-export" target="mlsys.model-exchange-format"><data key="relation">produces</data><data key="statement">can emit</data><data key="conditions">The program's operators and control flow are expressible in the format.</data></edge>
    <edge id="e211" source="mlsys.integration-testing" target="mlsys.model-signature"><data key="relation">measures</data><data key="statement">checks callers against</data><data key="conditions">Callers and the artifact agree on input and output names, types, and shapes.</data></edge>
    <edge id="e212" source="mlsys.ridge-point" target="mlsys.bound-regime"><data key="relation">determines</data><data key="statement">separates</data><data key="conditions">Throughput and bandwidth ceilings are measured for the same device and memory level.</data></edge>
    <edge id="e213" source="mlsys.prefill-decode" target="mlsys.bound-regime"><data key="relation">determines</data><data key="statement">classifies prefill as compute-bound and decode as memory-bound in</data><data key="conditions">Prefill processes many tokens per weight read while decode processes few.</data></edge>
    <edge id="e214" source="mlsys.data-movement-energy" target="mlsys.energy"><data key="relation">increases</data><data key="statement">often dominates</data><data key="conditions">Operands are fetched from off-chip memory rather than reused locally.</data></edge>
    <edge id="e215" source="mlsys.locality" target="mlsys.data-movement-energy"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">Reused data is served from nearer, lower-energy storage levels.</data></edge>
    <edge id="e216" source="mlsys.amdahls-law" target="mlsys.serial-fraction"><data key="relation">uses</data><data key="statement">parameterizes</data><data key="conditions">The unaccelerated fraction is measured on the same workload as the speedup.</data></edge>
    <edge id="e217" source="mlsys.amdahls-law" target="mlsys.strong-scaling"><data key="relation">limits</data><data key="statement">bounds speedup under</data><data key="conditions">Problem size is fixed while resources grow.</data></edge>
    <edge id="e218" source="mlsys.stragglers" target="mlsys.parallel-efficiency"><data key="relation">reduces</data><data key="statement">reduce</data><data key="conditions">Workers synchronize so the slowest determines step time.</data></edge>
    <edge id="e219" source="mlsys.collectives" target="mlsys.parallel-efficiency"><data key="relation">reduces</data><data key="statement">can reduce</data><data key="conditions">Communication time is exposed rather than overlapped with computation.</data></edge>
    <edge id="e220" source="mlsys.littles-law" target="mlsys.arrival-rate"><data key="relation">uses</data><data key="statement">relates system occupancy to</data><data key="conditions">The system is stable and averages are taken over a long window.</data></edge>
    <edge id="e221" source="mlsys.latency-throughput-curve" target="mlsys.slo-goodput"><data key="relation">determines</data><data key="statement">locates the maximum load meeting</data><data key="conditions">Latency is measured at the percentile the objective specifies.</data></edge>
    <edge id="e222" source="mlsys.arrival-burstiness" target="mlsys.queueing"><data key="relation">increases</data><data key="statement">increases</data><data key="conditions">Mean utilization is held fixed while inter-arrival variability grows.</data></edge>
    <edge id="e223" source="mlsys.compute-optimal-allocation" target="mlsys.scaling-laws"><data key="relation">requires</data><data key="statement">is derived from</data><data key="conditions">The fitted law is used within the range of model and data sizes it was fit on.</data></edge>
    <edge id="e224" source="mlsys.compute-optimal-allocation" target="mlsys.training-compute-estimate"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">Dense models are trained where the six-operations-per-parameter-per-token approximation holds.</data></edge>
    <edge id="e225" source="mlsys.compute-optimal-allocation" target="mlsys.unit-cost"><data key="relation">trades-off</data><data key="statement">can trade off against lifecycle</data><data key="conditions">Large inference volume can favor smaller models trained beyond the compute-optimal point.</data></edge>
    <edge id="e226" source="mlsys.training-compute-estimate" target="mlsys.flop-accounting"><data key="relation">specializes</data><data key="statement">is a special case of</data><data key="conditions">The model is a dense transformer and attention cost is small relative to parameter compute.</data></edge>
    <edge id="e227" source="mlsys.systolic-array" target="mlsys.matrix-multiply"><data key="relation">implements</data><data key="statement">executes</data><data key="conditions">Operand shapes are tiled to the array dimensions.</data></edge>
    <edge id="e228" source="mlsys.matrix-unit" target="mlsys.precision"><data key="relation">requires</data><data key="statement">reaches peak throughput only at supported</data><data key="conditions">Operations use input and accumulation formats the unit implements.</data></edge>
    <edge id="e229" source="mlsys.simt" target="mlsys.compute-throughput"><data key="relation">determines</data><data key="statement">sets the achieved fraction of, through lane masking under divergence,</data><data key="conditions">When threads in a warp take different control-flow paths, so masked lanes idle while each path executes in turn.</data></edge>
    <edge id="e230" source="mlsys.dataflow" target="mlsys.data-movement-energy"><data key="relation">determines</data><data key="statement">determines</data><data key="conditions">The accelerator's local storage cannot hold all operands at once.</data></edge>
    <edge id="e231" source="mlsys.domain-specific-architecture" target="mlsys.compute-throughput"><data key="relation">increases</data><data key="statement">raises, on its target operations,</data><data key="conditions">The target operations dominate the workload the hardware runs.</data></edge>
    <edge id="e232" source="mlsys.hbm" target="mlsys.memory-bandwidth"><data key="relation">increases</data><data key="statement">provides high</data><data key="conditions">Data resides in device memory rather than host memory.</data></edge>
    <edge id="e233" source="mlsys.on-chip-sram" target="mlsys.tiling"><data key="relation">limits</data><data key="statement">bounds tile size for</data><data key="conditions">Tiles must fit in on-chip storage for reuse to occur.</data></edge>
    <edge id="e234" source="mlsys.memory-wall" target="mlsys.bound-regime"><data key="relation">determines</data><data key="statement">shifts workloads toward the memory-bound side of</data><data key="conditions">Peak arithmetic throughput grows faster than memory bandwidth across hardware generations.</data></edge>
    <edge id="e235" source="mlsys.scale-up-interconnect" target="mlsys.tensor-parallel"><data key="relation">limits</data><data key="statement">bounds the efficient group size of</data><data key="conditions">Tensor-parallel collectives occur every layer and need the highest-bandwidth links.</data></edge>
    <edge id="e236" source="mlsys.coherent-interconnect" target="mlsys.memory-capacity"><data key="relation">increases</data><data key="statement">can extend</data><data key="conditions">Pooled or attached memory is acceptable at its higher latency.</data></edge>
    <edge id="e237" source="mlsys.peer-to-peer-transfer" target="mlsys.host-device-interconnect"><data key="relation">uses</data><data key="statement">bypasses host staging on</data><data key="conditions">Devices, drivers, and topology support direct transfers.</data></edge>
    <edge id="e238" source="mlsys.tdp" target="mlsys.thermal-dynamics"><data key="relation">limits</data><data key="statement">sets the design envelope for</data><data key="conditions">Sustained workloads, rather than brief bursts, determine heat removal needs.</data></edge>
    <edge id="e239" source="mlsys.dvfs" target="mlsys.energy"><data key="relation">reduces</data><data key="statement">can reduce, at some cost in speed,</data><data key="conditions">Workload phases tolerate lower clocks, such as memory-bound phases.</data></edge>
    <edge id="e240" source="mlsys.dark-silicon" target="mlsys.domain-specific-architecture"><data key="relation">enables</data><data key="statement">motivates</data><data key="conditions">Power, not transistor count, limits how much of a chip can be active.</data></edge>
    <edge id="e241" source="mlsys.power-capping" target="mlsys.compute-throughput"><data key="relation">reduces</data><data key="statement">can lower</data><data key="conditions">The cap binds below the power the workload would otherwise draw.</data></edge>
    <edge id="e242" source="mlsys.microcontroller" target="mlsys.on-device-memory-budget"><data key="relation">determines</data><data key="statement">imposes</data><data key="conditions">Weights and activations must fit in on-chip flash and SRAM.</data></edge>
    <edge id="e243" source="mlsys.edge-npu" target="mlsys.precision"><data key="relation">requires</data><data key="statement">requires supported low</data><data key="conditions">The accelerator implements only specific integer or reduced-precision formats.</data></edge>
    <edge id="e244" source="mlsys.heterogeneous-soc" target="mlsys.placement"><data key="relation">requires</data><data key="statement">requires operator-level</data><data key="conditions">Different blocks support different operators, precisions, and power states.</data></edge>
    <edge id="e245" source="mlsys.energy-per-inference" target="mlsys.energy"><data key="relation">specializes</data><data key="statement">is a per-input case of</data><data key="conditions">The boundary is one inference on one device, including memory and idle overhead.</data></edge>
    <edge id="e246" source="mlsys.tensor-layout" target="mlsys.tensor"><data key="relation">part-of</data><data key="statement">is metadata carried by</data><data key="conditions">The framework records strides or format metadata with each tensor.</data></edge>
    <edge id="e247" source="mlsys.autodiff" target="mlsys.computation-graph"><data key="relation">uses</data><data key="statement">traverses</data><data key="conditions">Derivatives are composed in reverse over recorded operations.</data></edge>
    <edge id="e248" source="mlsys.eager-execution" target="mlsys.dispatch"><data key="relation">determines</data><data key="statement">incurs per-operation</data><data key="conditions">Each operation is launched separately from the host program.</data></edge>
    <edge id="e249" source="mlsys.tracing-jit" target="mlsys.compilation"><data key="relation">enables</data><data key="statement">enables</data><data key="conditions">A compiler accepts the traced intermediate graph and its assumptions about inputs and control flow hold.</data></edge>
    <edge id="e250" source="mlsys.io-aware-attention" target="mlsys.on-chip-sram"><data key="relation">requires</data><data key="statement">depends on the capacity of</data><data key="conditions">Tile sizes are chosen to fit on-chip memory.</data></edge>
    <edge id="e251" source="mlsys.convolution-lowering" target="mlsys.matrix-multiply"><data key="relation">uses</data><data key="statement">maps convolution onto</data><data key="conditions">The im2col-style transformation is used, at the cost of duplicated input data.</data></edge>
    <edge id="e252" source="mlsys.convolution-lowering" target="mlsys.convolution"><data key="relation">implements</data><data key="statement">implements</data><data key="conditions">A lowering algorithm is chosen per layer shape.</data></edge>
    <edge id="e253" source="mlsys.kernel-library" target="mlsys.fusion"><data key="relation">reduces</data><data key="statement">can limit opportunities for</data><data key="conditions">Library calls are opaque to the compiler and cannot be fused with neighbors.</data></edge>
    <edge id="e254" source="mlsys.intermediate-representation" target="mlsys.fusion"><data key="relation">enables</data><data key="statement">enables</data><data key="conditions">The IR exposes producer-consumer structure across operators.</data></edge>
    <edge id="e255" source="mlsys.autotuning" target="mlsys.tiling"><data key="relation">determines</data><data key="statement">selects parameters for</data><data key="conditions">The schedule space is large and performance is hard to predict analytically.</data></edge>
    <edge id="e256" source="mlsys.kernel-dsl" target="mlsys.tiling"><data key="relation">uses</data><data key="statement">is written in terms of</data><data key="conditions">Kernels are written in terms of blocks that the compiler maps to threads and memory.</data></edge>
    <edge id="e257" source="mlsys.memory-planning" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">reduces peak</data><data key="conditions">Tensor lifetimes are known at compile time.</data></edge>
    <edge id="e258" source="mlsys.device-streams" target="mlsys.communication-overlap"><data key="relation">enables</data><data key="statement">enables</data><data key="conditions">Communication and computation are issued on independent streams with correct event dependencies.</data></edge>
    <edge id="e259" source="mlsys.graph-replay" target="mlsys.dispatch"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">The launch sequence and tensor addresses are static across iterations.</data></edge>
    <edge id="e260" source="mlsys.loss-scaling" target="mlsys.mixed-precision"><data key="relation">part-of</data><data key="statement">is a component of</data><data key="conditions">Gradients would otherwise underflow in the reduced-precision format.</data></edge>
    <edge id="e261" source="mlsys.block-scaled-format" target="mlsys.precision"><data key="relation">determines</data><data key="statement">extends the representable range, at fixed element bits, of</data><data key="conditions">When values within each block have similar magnitude so one shared scale serves them all.</data></edge>
    <edge id="e262" source="mlsys.accumulation-precision" target="mlsys.numerical-stability"><data key="relation">determines</data><data key="statement">affects</data><data key="conditions">Long reductions accumulate rounding error in low precision.</data></edge>
    <edge id="e263" source="mlsys.expert-parallel" target="mlsys.all-to-all"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">Tokens are dispatched to and gathered from experts on other devices.</data></edge>
    <edge id="e264" source="mlsys.expert-parallel" target="mlsys.mixture-of-experts"><data key="relation">enables</data><data key="statement">distributes the experts of</data><data key="conditions">Experts do not fit, or run too slowly, on one device.</data></edge>
    <edge id="e265" source="mlsys.sequence-parallel" target="mlsys.context"><data key="relation">increases</data><data key="statement">extends the feasible</data><data key="conditions">Activation or attention memory for one sequence exceeds one device.</data></edge>
    <edge id="e266" source="mlsys.network-topology" target="mlsys.hybrid-parallel"><data key="relation">determines</data><data key="statement">shapes the group mapping of</data><data key="conditions">Link bandwidth differs between levels of the hardware hierarchy.</data></edge>
    <edge id="e267" source="mlsys.pipeline-parallel" target="mlsys.pipeline-bubble"><data key="relation">produces</data><data key="statement">incurs</data><data key="conditions">Microbatches per step are few relative to pipeline stages.</data></edge>
    <edge id="e268" source="mlsys.ring-allreduce" target="mlsys.collectives"><data key="relation">implements</data><data key="statement">is an algorithm for</data><data key="conditions">Participants can be arranged in a ring with comparable link bandwidth.</data></edge>
    <edge id="e269" source="mlsys.alpha-beta-model" target="mlsys.ring-allreduce"><data key="relation">measures</data><data key="statement">predicts the cost of</data><data key="conditions">Link latency and bandwidth are roughly uniform and contention is ignored.</data></edge>
    <edge id="e270" source="mlsys.tree-allreduce" target="mlsys.ring-allreduce"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Messages are small or participants many, so latency terms dominate.</data></edge>
    <edge id="e271" source="mlsys.bisection-bandwidth" target="mlsys.all-to-all"><data key="relation">limits</data><data key="statement">bounds throughput of</data><data key="conditions">Traffic crosses the network bisection rather than staying within local groups.</data></edge>
    <edge id="e272" source="mlsys.data-parallel" target="mlsys.gradient-compression"><data key="relation">uses</data><data key="statement">cuts gradient-synchronization volume with</data><data key="conditions">Convergence is preserved, for example through error feedback, at the chosen compression ratio.</data></edge>
    <edge id="e273" source="mlsys.lease" target="mlsys.fencing"><data key="relation">requires</data><data key="statement">needs epoch fencing to be safe, as in</data><data key="conditions">Clocks are bounded in drift so expired holders can be rejected safely.</data></edge>
    <edge id="e274" source="mlsys.leader-election" target="mlsys.consensus"><data key="relation">uses</data><data key="statement">commonly relies on</data><data key="conditions">Replicas must agree on a single leader under partial failure.</data></edge>
    <edge id="e275" source="mlsys.bounded-staleness" target="mlsys.stragglers"><data key="relation">mitigates</data><data key="statement">reduces waiting on</data><data key="conditions">Convergence tolerates updates computed on stale parameters within the bound.</data></edge>
    <edge id="e276" source="mlsys.federated-averaging" target="mlsys.federated-learning"><data key="relation">implements</data><data key="statement">is a baseline algorithm for</data><data key="conditions">Clients can run local optimization steps between communication rounds.</data></edge>
    <edge id="e277" source="mlsys.non-iid-data" target="mlsys.federated-averaging"><data key="relation">limits</data><data key="statement">slows convergence of</data><data key="conditions">Client data distributions differ and clients take many local steps.</data></edge>
    <edge id="e278" source="mlsys.client-sampling" target="mlsys.non-iid-data"><data key="relation">determines</data><data key="statement">sets which clients' distributions enter each round, shaping the effective</data><data key="conditions">When participation correlates with client characteristics such as connectivity, device class, or time zone.</data></edge>
    <edge id="e279" source="mlsys.federation-setting" target="mlsys.client-sampling"><data key="relation">determines</data><data key="statement">determines constraints on</data><data key="conditions">Device availability and reliability differ between cross-device and cross-silo settings.</data></edge>
    <edge id="e280" source="mlsys.pue" target="mlsys.energy"><data key="relation">determines</data><data key="statement">scales IT energy to facility energy in</data><data key="conditions">The accounting boundary includes facility overheads.</data></edge>
    <edge id="e281" source="mlsys.liquid-cooling" target="mlsys.rack-power-density"><data key="relation">increases</data><data key="statement">raises the feasible</data><data key="conditions">When air cooling cannot remove the heat generated at the target density.</data></edge>
    <edge id="e282" source="mlsys.rack-power-density" target="mlsys.scale-up-interconnect"><data key="relation">limits</data><data key="statement">constrains the physical extent of</data><data key="conditions">Short copper links require accelerators to be packed into few racks.</data></edge>
    <edge id="e283" source="mlsys.power-oversubscription" target="mlsys.power-capping"><data key="relation">requires</data><data key="statement">relies on</data><data key="conditions">Simultaneous peaks across equipment are rare but must be bounded when they occur.</data></edge>
    <edge id="e284" source="mlsys.rdma" target="mlsys.collectives"><data key="relation">reduces</data><data key="statement">lowers per-message overhead of</data><data key="conditions">Transfers bypass host network stacks and remote CPUs.</data></edge>
    <edge id="e285" source="mlsys.lossless-fabric" target="mlsys.rdma"><data key="relation">enables</data><data key="statement">provides drop-free transport for</data><data key="conditions">The RDMA transport performs poorly under packet loss, as with RoCE.</data></edge>
    <edge id="e286" source="mlsys.congestion-control" target="mlsys.stragglers"><data key="relation">mitigates</data><data key="statement">can reduce network-induced</data><data key="conditions">Synchronized collective traffic or incast creates switch queue buildup.</data></edge>
    <edge id="e287" source="mlsys.fat-tree" target="mlsys.bisection-bandwidth"><data key="relation">increases</data><data key="statement">can provide full</data><data key="conditions">Switch tiers are not oversubscribed.</data></edge>
    <edge id="e288" source="mlsys.rail-optimized" target="mlsys.hybrid-parallel"><data key="relation">determines</data><data key="statement">shapes the group-to-rail placement of</data><data key="conditions">When parallel groups are placed so their peers share a rail, keeping most of their collective traffic within one leaf switch.</data></edge>
    <edge id="e289" source="mlsys.in-network-reduction" target="mlsys.tree-allreduce"><data key="relation">implements</data><data key="statement">offloads reduction steps of</data><data key="conditions">Switches support aggregation for the data types and operations used.</data></edge>
    <edge id="e290" source="mlsys.bisection-bandwidth" target="mlsys.network-topology"><data key="relation">measures</data><data key="statement">summarizes the capacity of</data><data key="conditions">Traffic is uniform enough that the worst-case cut is relevant.</data></edge>
    <edge id="e291" source="mlsys.parallel-file-system" target="mlsys.input-pipeline"><data key="relation">enables</data><data key="statement">supplies aggregate read bandwidth for</data><data key="conditions">Many workers read training data concurrently from shared storage.</data></edge>
    <edge id="e292" source="mlsys.object-storage" target="mlsys.storage-tiering"><data key="relation">part-of</data><data key="statement">commonly forms the capacity tier in</data><data key="conditions">Hot data is cached closer to compute.</data></edge>
    <edge id="e293" source="mlsys.input-pipeline" target="mlsys.storage-tiering"><data key="relation">uses</data><data key="statement">reads through the nearer tiers of</data><data key="conditions">Working sets fit in nearer tiers or are prefetched.</data></edge>
    <edge id="e294" source="mlsys.checkpoint-io" target="mlsys.checkpoint"><data key="relation">determines</data><data key="statement">sets the cost of taking</data><data key="conditions">Training state is large relative to available storage bandwidth.</data></edge>
    <edge id="e295" source="mlsys.gang-scheduling" target="mlsys.utilization"><data key="relation">reduces</data><data key="statement">can reduce cluster</data><data key="conditions">Resources sit idle while waiting for a full allocation, unless backfilled.</data></edge>
    <edge id="e296" source="mlsys.job-preemption" target="mlsys.checkpoint"><data key="relation">requires</data><data key="statement">depends on</data><data key="conditions">Preempted work is resumed rather than restarted from scratch.</data></edge>
    <edge id="e297" source="mlsys.dominant-resource-fairness" target="mlsys.multi-tenancy"><data key="relation">implements</data><data key="statement">allocates shares among tenants in</data><data key="conditions">Jobs demand several resource types in different proportions.</data></edge>
    <edge id="e298" source="mlsys.elastic-training" target="mlsys.job-preemption"><data key="relation">mitigates</data><data key="statement">reduces lost work from</data><data key="conditions">The job can reshard state and continue with fewer workers.</data></edge>
    <edge id="e299" source="mlsys.topology-aware-placement" target="mlsys.collectives"><data key="relation">reduces</data><data key="statement">reduces the cost of</data><data key="conditions">Communicating workers are placed on shared fast links or switches.</data></edge>
    <edge id="e300" source="mlsys.topology-aware-placement" target="mlsys.placement"><data key="relation">specializes</data><data key="statement">refines</data><data key="conditions">Placement decisions are made at node and device granularity.</data></edge>
    <edge id="e301" source="mlsys.bin-packing" target="mlsys.topology-aware-placement"><data key="relation">trades-off</data><data key="statement">trades off against</data><data key="conditions">Dense packing fragments the contiguous allocations that locality requires.</data></edge>
    <edge id="e302" source="mlsys.multi-tenancy" target="mlsys.isolation"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">Tenants must not observe or disrupt one another's work.</data></edge>
    <edge id="e303" source="mlsys.resource-quota" target="mlsys.capacity-planning"><data key="relation">part-of</data><data key="statement">partitions shared capacity within</data><data key="conditions">Shared capacity is divided among tenants with stated limits.</data></edge>
    <edge id="e304" source="mlsys.gpu-partitioning" target="mlsys.utilization"><data key="relation">increases</data><data key="statement">can raise</data><data key="conditions">Individual workloads cannot saturate a full accelerator.</data></edge>
    <edge id="e305" source="mlsys.performance-interference" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">can inflate</data><data key="conditions">Co-located workloads contend for unpartitioned shared resources.</data></edge>
    <edge id="e306" source="mlsys.spot-capacity" target="mlsys.job-preemption"><data key="relation">causes</data><data key="statement">exposes workloads to</data><data key="conditions">The provider reclaims capacity on short notice.</data></edge>
    <edge id="e307" source="mlsys.spot-capacity" target="mlsys.unit-cost"><data key="relation">reduces</data><data key="statement">can lower</data><data key="conditions">Interruption overhead is smaller than the price discount.</data></edge>
    <edge id="e308" source="mlsys.weak-supervision" target="mlsys.labels"><data key="relation">determines</data><data key="statement">produces higher-volume, noisier</data><data key="conditions">Holds when labeling sources are noisy and their errors must be modeled or denoised before training.</data></edge>
    <edge id="e309" source="mlsys.active-learning" target="mlsys.data-acquisition"><data key="relation">determines</data><data key="statement">biases sampling in</data><data key="conditions">The selected examples depend on the current model, so the labeled set is not a random sample of the deployment population.</data></edge>
    <edge id="e310" source="mlsys.annotator-agreement" target="mlsys.labels"><data key="relation">measures</data><data key="statement">measures reliability of</data><data key="conditions">Holds when multiple independent annotations of the same items are collected.</data></edge>
    <edge id="e311" source="mlsys.quality-filtering" target="mlsys.data-selection"><data key="relation">implements</data><data key="statement">implements</data><data key="conditions">The quality score must correlate with downstream value; filtering on a narrow proxy can remove useful diversity.</data></edge>
    <edge id="e312" source="mlsys.data-mixture" target="mlsys.generalization"><data key="relation">determines</data><data key="statement">shifts across domains</data><data key="conditions">Holds under a fixed training budget, where raising one domain's share reduces exposure to others.</data></edge>
    <edge id="e313" source="mlsys.synthetic-data" target="mlsys.distribution-shift"><data key="relation">causes</data><data key="statement">can introduce</data><data key="conditions">Holds when the generator's output distribution differs from the deployment distribution or repeats the generator's errors.</data></edge>
    <edge id="e314" source="mlsys.data-augmentation" target="mlsys.generalization"><data key="relation">increases</data><data key="statement">can improve</data><data key="conditions">The transformations must preserve labels and reflect invariances present at deployment.</data></edge>
    <edge id="e315" source="mlsys.data-validation" target="mlsys.data-contract"><data key="relation">implements</data><data key="statement">enforces</data><data key="conditions">The contract's schema and validity rules must be machine-checkable.</data></edge>
    <edge id="e316" source="mlsys.feature-store" target="mlsys.train-serve-skew"><data key="relation">mitigates</data><data key="statement">reduces</data><data key="conditions">Holds when training and serving read features from the same definitions; it does not prevent skew from logic outside the store.</data></edge>
    <edge id="e317" source="mlsys.feature-store" target="mlsys.point-in-time"><data key="relation">enables</data><data key="statement">supports point-in-time joins for</data><data key="conditions">Requires timestamped feature values and as-of joins when building training sets.</data></edge>
    <edge id="e318" source="mlsys.stream-processing" target="mlsys.feature-freshness"><data key="relation">limits</data><data key="statement">bounds achievable</data><data key="conditions">Processing latency and windowing determine how recent a served feature value can be.</data></edge>
    <edge id="e319" source="mlsys.feature-backfill" target="mlsys.point-in-time"><data key="relation">requires</data><data key="statement">must preserve</data><data key="conditions">Backfilled values must be computed only from data available at each historical timestamp.</data></edge>
    <edge id="e320" source="mlsys.experiment-reproducibility" target="mlsys.data-versioning"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">Holds whenever training or evaluation data can change after a run.</data></edge>
    <edge id="e321" source="mlsys.data-dependency" target="mlsys.entanglement"><data key="relation">increases</data><data key="statement">amplifies</data><data key="conditions">Holds when unstable or unused inputs remain in a model whose behavior depends jointly on all inputs.</data></edge>
    <edge id="e322" source="mlsys.feature-freshness" target="mlsys.train-serve-skew"><data key="relation">causes</data><data key="statement">stale values can cause</data><data key="conditions">Holds when serving-time feature age differs from the age assumed when training examples were built.</data></edge>
    <edge id="e323" source="mlsys.learning-rate-schedule" target="mlsys.training-instability"><data key="relation">mitigates</data><data key="statement">mitigates</data><data key="conditions">Warmup and decay reduce early and late divergence for many optimizers but do not remove instabilities from data or numerics.</data></edge>
    <edge id="e324" source="mlsys.critical-batch-size" target="mlsys.data-parallel"><data key="relation">limits</data><data key="statement">limits useful scaling of</data><data key="conditions">Holds when adding replicas increases the global batch beyond the critical batch size.</data></edge>
    <edge id="e325" source="mlsys.checkpoint" target="mlsys.training-instability"><data key="relation">mitigates</data><data key="statement">enables restarts that recover from</data><data key="conditions">Holds when loss spikes are handled by rolling back to an earlier checkpoint and changing data order or hyperparameters.</data></edge>
    <edge id="e326" source="mlsys.gradient-accumulation" target="mlsys.batch-size"><data key="relation">enables</data><data key="statement">enables large effective batch sizes within limited memory for</data><data key="conditions">Holds for losses that sum over examples; per-batch statistics such as batch normalization still see micro-batches.</data></edge>
    <edge id="e327" source="mlsys.memory-offloading" target="mlsys.training-state"><data key="relation">reduces</data><data key="statement">reduces the accelerator-resident footprint of</data><data key="conditions">Benefit depends on host-device bandwidth and how well transfers overlap with compute.</data></edge>
    <edge id="e328" source="mlsys.experiment-tracking" target="mlsys.experiment-reproducibility"><data key="relation">enables</data><data key="statement">records evidence for</data><data key="conditions">Tracking must capture code, data, configuration, and environment versions, not only metrics.</data></edge>
    <edge id="e329" source="mlsys.hyperparameter-transfer" target="mlsys.experiment-budget"><data key="relation">reduces</data><data key="statement">reduces large-scale spend of</data><data key="conditions">Holds only under a parameterization in which optimal hyperparameters remain stable as width or depth grows.</data></edge>
    <edge id="e330" source="mlsys.lora" target="mlsys.peft"><data key="relation">specializes</data><data key="statement">is an instance of</data><data key="conditions">Always; LoRA restricts updates to low-rank added matrices.</data></edge>
    <edge id="e331" source="mlsys.supervised-fine-tuning" target="mlsys.catastrophic-forgetting"><data key="relation">causes</data><data key="statement">can cause</data><data key="conditions">Holds when fine-tuning data are narrow relative to pretraining and no replay or regularization is used.</data></edge>
    <edge id="e332" source="mlsys.reward-model" target="mlsys.rlhf"><data key="relation">part-of</data><data key="statement">supplies the training signal in</data><data key="conditions">Holds for RLHF pipelines that learn a reward model from human comparisons.</data></edge>
    <edge id="e333" source="mlsys.rlhf" target="mlsys.reward-hacking"><data key="relation">causes</data><data key="statement">is exposed to</data><data key="conditions">Holds when the policy optimizes a learned reward beyond the region where it tracks human preference; a reference-model penalty reduces but does not remove it.</data></edge>
    <edge id="e334" source="mlsys.rlvr" target="mlsys.verifier"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">Rewards are only as reliable as the programmatic checker; exploitable checkers produce reward hacking.</data></edge>
    <edge id="e335" source="mlsys.weight-sync" target="mlsys.policy-staleness"><data key="relation">determines</data><data key="statement">frequency determines</data><data key="conditions">Holds when rollout workers continue generating between synchronizations.</data></edge>
    <edge id="e336" source="mlsys.policy-staleness" target="mlsys.training-instability"><data key="relation">causes</data><data key="statement">can induce</data><data key="conditions">Holds when the update rule assumes on-policy data and lag is not corrected by importance weighting or clipping.</data></edge>
    <edge id="e337" source="mlsys.online-learning" target="mlsys.feedback-loop"><data key="relation">determines</data><data key="statement">shortens the cycle of</data><data key="conditions">Holds when the model's own predictions influence the data it next learns from.</data></edge>
    <edge id="e338" source="mlsys.incremental-training" target="mlsys.retraining"><data key="relation">implements</data><data key="statement">is one way to carry out</data><data key="conditions">When warm-started training produces the replacement for a deployed model.</data></edge>
    <edge id="e339" source="mlsys.experience-replay" target="mlsys.catastrophic-forgetting"><data key="relation">mitigates</data><data key="statement">mitigates</data><data key="conditions">Effectiveness depends on buffer size and how representative stored examples are of earlier tasks.</data></edge>
    <edge id="e340" source="mlsys.memory-capacity" target="mlsys.on-device-training"><data key="relation">limits</data><data key="statement">constrains</data><data key="conditions">Holds on devices whose memory cannot hold full activations and optimizer state, forcing sparse or partial updates.</data></edge>
    <edge id="e341" source="mlsys.cross-validation" target="mlsys.statistical-uncertainty"><data key="relation">reduces</data><data key="statement">reduces variance of estimates under</data><data key="conditions">Holds for i.i.d. data; temporal or grouped data need splits that respect dependence.</data></edge>
    <edge id="e342" source="mlsys.sequential-testing" target="mlsys.online-experiment"><data key="relation">enables</data><data key="statement">enables valid early stopping of</data><data key="conditions">Holds when the analysis uses a sequential procedure; repeated peeking at fixed-horizon tests inflates false positives.</data></edge>
    <edge id="e343" source="mlsys.experiment-interference" target="mlsys.online-experiment"><data key="relation">limits</data><data key="statement">can bias estimates from</data><data key="conditions">Holds when units share resources, markets, or networks, so treatment of one unit affects others.</data></edge>
    <edge id="e344" source="mlsys.conformal-prediction" target="mlsys.selective-prediction"><data key="relation">enables</data><data key="statement">provides coverage-calibrated sets for</data><data key="conditions">Prediction sets inform an abstention rule; ordinary marginal coverage under exchangeability does not automatically guarantee coverage under distribution shift or conditional accuracy among accepted predictions.</data></edge>
    <edge id="e345" source="mlsys.slice-discovery" target="mlsys.sliced-evaluation"><data key="relation">enables</data><data key="statement">proposes slices for</data><data key="conditions">Discovered slices require human review for coherence and multiple-comparison effects.</data></edge>
    <edge id="e346" source="mlsys.llm-judge" target="mlsys.human-evaluation"><data key="relation">requires</data><data key="statement">must be calibrated against</data><data key="conditions">Holds whenever model-graded scores are used as evidence; judges show position, length, and self-preference biases.</data></edge>
    <edge id="e347" source="mlsys.pass-at-k" target="mlsys.best-of-n"><data key="relation">limits</data><data key="statement">upper-bounds accuracy of</data><data key="conditions">Best-of-n reaches pass@n only with a perfect selector; real verifiers lose part of the gap.</data></edge>
    <edge id="e348" source="mlsys.statistical-uncertainty" target="mlsys.pairwise-preference-eval"><data key="relation">limits</data><data key="statement">bounds the ranking resolution of</data><data key="conditions">Holds because rankings from finite pairwise votes carry sampling error that can reorder close models.</data></edge>
    <edge id="e349" source="mlsys.benchmark-contamination" target="mlsys.leakage"><data key="relation">specializes</data><data key="statement">is a form of</data><data key="conditions">Holds when evaluation items or near-duplicates appear in training corpora; detection needs overlap checks against training data.</data></edge>
    <edge id="e350" source="mlsys.deduplication" target="mlsys.benchmark-contamination"><data key="relation">mitigates</data><data key="statement">reduces</data><data key="conditions">Holds when deduplication is run against evaluation sets, not only within the training corpus.</data></edge>
    <edge id="e351" source="mlsys.time-to-train" target="mlsys.benchmark"><data key="relation">part-of</data><data key="statement">is the headline metric of a training</data><data key="conditions">Holds for training benchmarks that fix model, dataset, and quality target under run rules.</data></edge>
    <edge id="e352" source="mlsys.inference-load-scenario" target="mlsys.tail-latency"><data key="relation">limits</data><data key="statement">sets the latency-percentile constraint on</data><data key="conditions">Holds for server-style scenarios that report throughput only at a stated latency percentile.</data></edge>
    <edge id="e353" source="mlsys.metamorphic-testing" target="mlsys.test-oracle"><data key="relation">implements</data><data key="statement">substitutes output relations for a missing</data><data key="conditions">Holds when a valid metamorphic relation between inputs and outputs is known.</data></edge>
    <edge id="e354" source="mlsys.production-readiness" target="mlsys.release-gate"><data key="relation">determines</data><data key="statement">supplies criteria for</data><data key="conditions">Holds when rubric items are converted into automated or reviewed checks.</data></edge>
    <edge id="e355" source="mlsys.tail-latency" target="mlsys.online-inference"><data key="relation">measures</data><data key="statement">is the judging metric of</data><data key="conditions">Holds for user-facing request paths with latency targets.</data></edge>
    <edge id="e356" source="mlsys.model-server" target="mlsys.batching"><data key="relation">uses</data><data key="statement">hosts</data><data key="conditions">Holds for servers that queue concurrent requests to batch them on shared accelerators.</data></edge>
    <edge id="e357" source="mlsys.multi-model-serving" target="mlsys.cold-start"><data key="relation">increases</data><data key="statement">increases exposure to load-time</data><data key="conditions">Holds when more models than fit in memory share resources, so infrequently used models must be loaded on demand.</data></edge>
    <edge id="e358" source="mlsys.model-cascade" target="mlsys.unit-cost"><data key="relation">reduces</data><data key="statement">can reduce</data><data key="conditions">Holds when most requests are resolved by cheap models and the escalation criterion is reliable.</data></edge>
    <edge id="e359" source="mlsys.model-cascade" target="mlsys.selective-prediction"><data key="relation">requires</data><data key="statement">relies on</data><data key="conditions">Each stage must abstain and defer when confidence is low; poorly calibrated scores misroute requests.</data></edge>
    <edge id="e360" source="mlsys.slo" target="mlsys.latency-budget"><data key="relation">determines</data><data key="statement">sets the total allocated by</data><data key="conditions">Holds when the end-to-end SLO is decomposed into per-stage targets that sum within it.</data></edge>
    <edge id="e361" source="mlsys.prefill-decode" target="mlsys.ttft"><data key="relation">determines</data><data key="statement">prefill phase dominates</data><data key="conditions">Holds when queueing delay is small relative to prompt processing time.</data></edge>
    <edge id="e362" source="mlsys.memory-bandwidth" target="mlsys.tpot"><data key="relation">limits</data><data key="statement">bounds</data><data key="conditions">Holds in decode at small batch, where each step reads weights and KV cache with low arithmetic intensity.</data></edge>
    <edge id="e363" source="mlsys.hedged-requests" target="mlsys.tail-latency"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">Holds when slow responses come from replica-specific variability and the extra load from duplicates is small.</data></edge>
    <edge id="e364" source="mlsys.continuous-batching" target="mlsys.batching"><data key="relation">specializes</data><data key="statement">specializes</data><data key="conditions">Applies to iterative generation, where requests finish at different steps.</data></edge>
    <edge id="e365" source="mlsys.continuous-batching" target="mlsys.slo-goodput"><data key="relation">increases</data><data key="statement">increases</data><data key="conditions">Holds when KV memory admits enough concurrent sequences; interference between prefill and decode can raise latency.</data></edge>
    <edge id="e366" source="mlsys.load-balancing" target="mlsys.prefix-cache"><data key="relation">determines</data><data key="statement">determines hit rate of</data><data key="conditions">Holds when cached prefixes are replica-local, so cache-aware routing raises reuse but can unbalance load.</data></edge>
    <edge id="e367" source="mlsys.cold-start" target="mlsys.autoscaling"><data key="relation">limits</data><data key="statement">bounds the reaction time of</data><data key="conditions">When new replicas must load large weights before serving, so scaling must anticipate demand rather than follow it.</data></edge>
    <edge id="e368" source="mlsys.chunked-prefill" target="mlsys.tpot"><data key="relation">reduces</data><data key="statement">reduces decode stalls in</data><data key="conditions">Holds when long prefills would otherwise stall decode iterations of co-batched requests; it can raise TTFT for the long prompt.</data></edge>
    <edge id="e369" source="mlsys.pd-disaggregation" target="mlsys.prefill-decode"><data key="relation">determines</data><data key="statement">provisions separate resources for each phase of</data><data key="conditions">Pays off when interference between phases costs more than transferring KV state between pools.</data></edge>
    <edge id="e370" source="mlsys.pd-disaggregation" target="mlsys.slo-goodput"><data key="relation">increases</data><data key="statement">can increase</data><data key="conditions">Holds when TTFT and TPOT targets would otherwise force over-provisioning of a colocated deployment.</data></edge>
    <edge id="e371" source="mlsys.constrained-decoding" target="mlsys.grammar"><data key="relation">implements</data><data key="statement">enforces</data><data key="conditions">The constraint representation is supported, enforcement is compatible with the tokenizer, and generation completes successfully.</data></edge>
    <edge id="e372" source="mlsys.output-validation" target="mlsys.constrained-decoding"><data key="relation">alternative-to</data><data key="statement">is a post-generation alternative for structural checks to</data><data key="conditions">For the same expressible structural constraint, checking after generation can substitute for enforcing it during generation; other checks may still follow constrained decoding.</data></edge>
    <edge id="e373" source="mlsys.self-consistency" target="mlsys.sampling-controls"><data key="relation">requires</data><data key="statement">requires sampling diversity from</data><data key="conditions">For the sampled-reasoning-path procedure, diversity comes from stochastic decoding; repeated deterministic greedy generation with the same model and prompt produces the same path.</data></edge>
    <edge id="e374" source="mlsys.reasoning-budget" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">larger budgets increase</data><data key="conditions">Holds because generated reasoning length varies widely across requests and adds decode steps.</data></edge>
    <edge id="e375" source="mlsys.verifier" target="mlsys.best-of-n"><data key="relation">limits</data><data key="statement">precision bounds the gains of</data><data key="conditions">Holds as n grows, since selection pressure increasingly exploits verifier errors.</data></edge>
    <edge id="e376" source="mlsys.process-reward-model" target="mlsys.verifier"><data key="relation">specializes</data><data key="statement">is a step-level form of</data><data key="conditions">Requires step-level labels or estimates of step correctness.</data></edge>
    <edge id="e377" source="mlsys.inference-time-search" target="mlsys.process-reward-model"><data key="relation">uses</data><data key="statement">uses for pruning</data><data key="conditions">Holds for searches that score partial solutions before completion.</data></edge>
    <edge id="e378" source="mlsys.test-time-scaling" target="mlsys.scaling-laws"><data key="relation">specializes</data><data key="statement">extends to inference compute</data><data key="conditions">Holds within task families where extra samples or reasoning steps improve accuracy; gains saturate and vary by difficulty.</data></edge>
    <edge id="e379" source="mlsys.test-time-scaling" target="mlsys.unit-cost"><data key="relation">determines</data><data key="statement">sets the quality gained per unit of</data><data key="conditions">Holds whenever additional per-query compute is billed or consumes shared serving capacity.</data></edge>
    <edge id="e380" source="mlsys.rag" target="mlsys.hallucination"><data key="relation">mitigates</data><data key="statement">can reduce</data><data key="conditions">Holds when retrieved passages are relevant and the model grounds its claims in them; irrelevant retrievals can mislead.</data></edge>
    <edge id="e381" source="mlsys.rag" target="mlsys.retrieval"><data key="relation">requires</data><data key="statement">depends on</data><data key="conditions">Generation quality is bounded by retrieval recall for the facts the answer needs.</data></edge>
    <edge id="e382" source="mlsys.dense-retrieval" target="mlsys.ann"><data key="relation">uses</data><data key="statement">uses at scale</data><data key="conditions">Holds when the collection is too large for exact similarity search within latency limits.</data></edge>
    <edge id="e383" source="mlsys.lexical-retrieval" target="mlsys.dense-retrieval"><data key="relation">alternative-to</data><data key="statement">is a complementary alternative to</data><data key="conditions">Lexical matching handles rare terms and exact identifiers that embeddings may miss; hybrid systems combine both scores.</data></edge>
    <edge id="e384" source="mlsys.reranking" target="mlsys.retrieval"><data key="relation">part-of</data><data key="statement">is the precision stage of</data><data key="conditions">Holds when first-stage recall is adequate and reranker cost fits the latency budget.</data></edge>
    <edge id="e385" source="mlsys.model-conversion" target="mlsys.quantization"><data key="relation">uses</data><data key="statement">often applies</data><data key="conditions">Holds for integer-only targets; converted models must be re-evaluated because numerics change.</data></edge>
    <edge id="e386" source="mlsys.memory-capacity" target="mlsys.on-device-runtime"><data key="relation">limits</data><data key="statement">constrains</data><data key="conditions">Holds on microcontrollers and mobile devices where weights, activations, and runtime must fit in limited RAM and flash.</data></edge>
    <edge id="e387" source="mlsys.ota-model-update" target="mlsys.rollout"><data key="relation">uses</data><data key="statement">applies staged exposure from</data><data key="conditions">Holds for device fleets where updates are staged by cohort and devices may be offline.</data></edge>
    <edge id="e388" source="mlsys.device-cloud-partitioning" target="mlsys.placement"><data key="relation">specializes</data><data key="statement">is a form of</data><data key="conditions">Holds when part of the computation can run on either side of a network link.</data></edge>
    <edge id="e389" source="mlsys.device-heterogeneity" target="mlsys.model-conversion"><data key="relation">increases</data><data key="statement">multiplies targets and effort for</data><data key="conditions">Holds when devices differ in supported operators, precision, or accelerators.</data></edge>
    <edge id="e390" source="mlsys.model-registry" target="mlsys.artifact-version"><data key="relation">implements</data><data key="statement">stores and governs</data><data key="conditions">Holds when every deployable model is registered with its lineage and stage.</data></edge>
    <edge id="e391" source="mlsys.shadow-deployment" target="mlsys.rollout"><data key="relation">part-of</data><data key="statement">is the zero-exposure stage before</data><data key="conditions">Holds when candidate outputs can be compared without user exposure; shadowing cannot measure effects of users reacting to the new model.</data></edge>
    <edge id="e392" source="mlsys.ml-ci-cd" target="mlsys.release-gate"><data key="relation">implements</data><data key="statement">automates</data><data key="conditions">Holds when gate criteria are machine-checkable; some require human review.</data></edge>
    <edge id="e393" source="mlsys.release-gate" target="mlsys.rollout"><data key="relation">determines</data><data key="statement">controls advancement of</data><data key="conditions">Holds when each rollout stage has predeclared pass criteria.</data></edge>
    <edge id="e394" source="mlsys.drift-detection" target="mlsys.distribution-shift"><data key="relation">detects</data><data key="statement">detects</data><data key="conditions">Holds for shifts visible in monitored statistics; detected drift need not degrade quality, and some harmful shifts are not detected.</data></edge>
    <edge id="e395" source="mlsys.inference-logging" target="mlsys.privacy-leakage"><data key="relation">causes</data><data key="statement">can increase exposure to</data><data key="conditions">Holds when logs retain personal inputs or outputs without redaction, access control, or retention limits.</data></edge>
    <edge id="e396" source="mlsys.alerting" target="mlsys.incident-response"><data key="relation">part-of</data><data key="statement">initiates</data><data key="conditions">Holds when alerts are actionable; excessive alerting degrades response through fatigue.</data></edge>
    <edge id="e397" source="mlsys.retraining" target="mlsys.concept-drift"><data key="relation">mitigates</data><data key="statement">mitigates, given fresh labels,</data><data key="conditions">Holds because input monitoring alone cannot reveal changed input-target relations; updated outcomes are needed.</data></edge>
    <edge id="e398" source="mlsys.continuous-training" target="mlsys.retraining"><data key="relation">implements</data><data key="statement">automates</data><data key="conditions">Holds when data validation and release gates are automated so retrained models can be promoted without manual steps.</data></edge>
    <edge id="e399" source="mlsys.postmortem" target="mlsys.incident-response"><data key="relation">part-of</data><data key="statement">closes the loop on</data><data key="conditions">Holds when corrective actions are tracked to completion.</data></edge>
    <edge id="e400" source="mlsys.failure-attribution" target="mlsys.observability"><data key="relation">requires</data><data key="statement">depends on</data><data key="conditions">Distinguishing data, model, and infrastructure causes requires versioned, correlated signals from each layer.</data></edge>
    <edge id="e401" source="mlsys.configuration-management" target="mlsys.technical-debt"><data key="relation">reduces</data><data key="statement">reduces configuration</data><data key="conditions">Holds when configuration is reviewed, tested, and versioned like code.</data></edge>
    <edge id="e402" source="mlsys.infrastructure-as-code" target="mlsys.dependency-environment"><data key="relation">determines</data><data key="statement">declares and reproduces</data><data key="conditions">Holds when declarations pin versions and are applied without manual drift.</data></edge>
    <edge id="e403" source="mlsys.ml-platform" target="mlsys.technical-debt"><data key="relation">reduces</data><data key="statement">can amortize</data><data key="conditions">Holds when many teams adopt shared components; a poorly maintained platform becomes debt itself.</data></edge>
    <edge id="e404" source="mlsys.undeclared-consumers" target="mlsys.feedback-loop"><data key="relation">causes</data><data key="statement">can create hidden</data><data key="conditions">Holds when unknown consumers act on model outputs in ways that change future training data.</data></edge>
    <edge id="e405" source="mlsys.entanglement" target="mlsys.technical-debt"><data key="relation">increases</data><data key="statement">is a source of</data><data key="conditions">Holds for models where inputs interact, so isolated changes have non-local effects.</data></edge>
    <edge id="e406" source="mlsys.continuous-training" target="mlsys.mlops-maturity"><data key="relation">part-of</data><data key="statement">is a defining capability of higher levels of</data><data key="conditions">Holds for maturity models that define levels by degree of pipeline automation.</data></edge>
    <edge id="e407" source="mlsys.ml-roles" target="mlsys.ml-platform"><data key="relation">determines</data><data key="statement">assigns ownership of</data><data key="conditions">Holds in organizations large enough to separate platform engineering from model development.</data></edge>
    <edge id="e408" source="mlsys.undeclared-consumers" target="mlsys.model-deprecation"><data key="relation">limits</data><data key="statement">can block or break</data><data key="conditions">Holds when consumers cannot be identified and migrated before the model is removed.</data></edge>
    <edge id="e409" source="mlsys.artifact-archival" target="mlsys.experiment-reproducibility"><data key="relation">enables</data><data key="statement">preserves</data><data key="conditions">Holds when archives include data references, environments, and configuration as well as weights.</data></edge>
    <edge id="e410" source="mlsys.data-retention" target="mlsys.privacy"><data key="relation">implements</data><data key="statement">implements requirements of</data><data key="conditions">Holds when retention limits apply to raw data, logs, and derived artifacts such as features and models.</data></edge>
    <edge id="e411" source="mlsys.data-retention" target="mlsys.artifact-archival"><data key="relation">trades-off</data><data key="statement">trades off against</data><data key="conditions">Holds when audit or reproduction needs conflict with deletion obligations.</data></edge>
    <edge id="e412" source="mlsys.model-flops-utilization" target="mlsys.utilization"><data key="relation">specializes</data><data key="statement">specializes</data><data key="conditions">Holds when utilization is defined as model-required FLOPs per second over aggregate peak FLOP rate, excluding recomputed work.</data></edge>
    <edge id="e413" source="mlsys.roofline" target="mlsys.model-flops-utilization"><data key="relation">limits</data><data key="statement">bounds attainable</data><data key="conditions">For a given kernel mix, attainable MFU cannot exceed the roofline bound implied by each kernel's arithmetic intensity.</data></edge>
    <edge id="e414" source="mlsys.profiling" target="mlsys.bottleneck-analysis"><data key="relation">enables</data><data key="statement">supplies evidence for</data><data key="conditions">When the profile covers the same workload, configuration, and execution boundary as the bottleneck claim.</data></edge>
    <edge id="e415" source="mlsys.bottleneck-analysis" target="mlsys.roofline"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">When the candidate bottleneck is a kernel's compute or memory-bandwidth bound rather than I/O, scheduling, or communication.</data></edge>
    <edge id="e416" source="mlsys.pruning" target="mlsys.sparsity"><data key="relation">produces</data><data key="statement">produces</data><data key="conditions">When pruning removes individual weights, leaving an irregular zero pattern whose speedup depends on sparse-execution support.</data></edge>
    <edge id="e417" source="mlsys.structured-pruning" target="mlsys.pruning"><data key="relation">specializes</data><data key="statement">specializes</data><data key="conditions">When the pruned unit is a whole channel, filter, head, or layer rather than an individual weight.</data></edge>
    <edge id="e418" source="mlsys.low-rank-factorization" target="mlsys.matrix-multiply"><data key="relation">reduces</data><data key="statement">reduces the cost of</data><data key="conditions">When weight matrices are well approximated at a rank much smaller than their dimensions and the smaller products still run efficiently.</data></edge>
    <edge id="e419" source="mlsys.quantization-aware-training" target="mlsys.quantization"><data key="relation">uses</data><data key="statement">simulates during training</data><data key="conditions">When training models the rounding of the format the model will deploy in.</data></edge>
    <edge id="e420" source="mlsys.neural-architecture-search" target="mlsys.hyperparameter-search"><data key="relation">specializes</data><data key="statement">is a structured form of</data><data key="conditions">When architectural choices are treated as a structured search space evaluated under an experiment budget.</data></edge>
    <edge id="e421" source="mlsys.hardware-aware-nas" target="mlsys.neural-architecture-search"><data key="relation">specializes</data><data key="statement">specializes</data><data key="conditions">When the search objective includes a cost measured or predicted on the target platform.</data></edge>
    <edge id="e422" source="mlsys.hardware-aware-nas" target="mlsys.execution-time"><data key="relation">reduces</data><data key="statement">optimizes measured</data><data key="conditions">When latency on the target device is measured or predicted directly, since FLOP counts can rank architectures differently from real latency.</data></edge>
    <edge id="e423" source="mlsys.depthwise-separable-convolution" target="mlsys.arithmetic-intensity"><data key="relation">reduces</data><data key="statement">lowers</data><data key="conditions">Fewer operations per output come with less data reuse, so memory-bound depthwise layers may not speed up in proportion to the FLOP reduction.</data></edge>
    <edge id="e424" source="mlsys.efficiency-frontier" target="mlsys.metrics"><data key="relation">requires</data><data key="statement">is defined only for stated</data><data key="conditions">A frontier is defined only for a stated quality metric, cost measure, and target platform.</data></edge>
    <edge id="e425" source="mlsys.model-hardware-co-design" target="mlsys.efficiency-frontier"><data key="relation">determines</data><data key="statement">can shift outward</data><data key="conditions">When model structure and hardware or kernels are designed together rather than one being fixed while the other is tuned.</data></edge>
    <edge id="e426" source="mlsys.model-hardware-co-design" target="mlsys.accelerator-execution-architecture"><data key="relation">determines</data><data key="statement">jointly specifies</data><data key="conditions">When the accelerator's dataflow, precision support, or memory hierarchy is a design variable alongside the model.</data></edge>
    <edge id="e427" source="mlsys.retry-backoff" target="mlsys.idempotency"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">Retrying an operation with external effects is safe only when the operation is idempotent or deduplicated.</data></edge>
    <edge id="e428" source="mlsys.circuit-breaker" target="mlsys.retry-backoff"><data key="relation">limits</data><data key="statement">bounds</data><data key="conditions">When the breaker's error threshold trips before retries saturate the failing dependency.</data></edge>
    <edge id="e429" source="mlsys.replication-failover" target="mlsys.availability"><data key="relation">increases</data><data key="statement">raises</data><data key="conditions">When replica failures are independent and failover completes faster than the outage it masks.</data></edge>
    <edge id="e430" source="mlsys.failure-domain" target="mlsys.replication-failover"><data key="relation">limits</data><data key="statement">limits the protection of</data><data key="conditions">When replicas share a failure domain, a single cause can take out all of them together.</data></edge>
    <edge id="e431" source="mlsys.mtbf" target="mlsys.checkpoint-interval"><data key="relation">determines</data><data key="statement">determines</data><data key="conditions">Under approximately exponential failure times, where the optimal interval scales with the square root of checkpoint cost times MTBF.</data></edge>
    <edge id="e432" source="mlsys.mtbf" target="mlsys.availability"><data key="relation">increases</data><data key="statement">raises</data><data key="conditions">For a repairable component in steady state, availability is approximately MTBF divided by MTBF plus mean time to repair.</data></edge>
    <edge id="e433" source="mlsys.checkpoint-interval" target="mlsys.training-goodput"><data key="relation">determines</data><data key="statement">maximizes, when well chosen,</data><data key="conditions">Under a stated MTBF and checkpoint write cost, the interval trades checkpoint overhead against expected lost work.</data></edge>
    <edge id="e434" source="mlsys.async-checkpointing" target="mlsys.checkpoint-interval"><data key="relation">reduces</data><data key="statement">shortens</data><data key="conditions">When the blocking snapshot to host memory costs much less than the durable write, lowering the effective checkpoint cost.</data></edge>
    <edge id="e435" source="mlsys.elastic-training" target="mlsys.checkpoint"><data key="relation">uses</data><data key="statement">resumes from</data><data key="conditions">When the job restarts on a changed worker set and state must be resharded from the latest consistent checkpoint.</data></edge>
    <edge id="e436" source="mlsys.elastic-training" target="mlsys.training-goodput"><data key="relation">increases</data><data key="statement">can raise</data><data key="conditions">When replacing failed nodes takes longer than continuing at reduced width and the optimizer tolerates the batch-size change.</data></edge>
    <edge id="e437" source="mlsys.abft" target="mlsys.silent-data-corruption"><data key="relation">detects</data><data key="statement">detects</data><data key="conditions">For linear-algebra operations whose input checksums predict output checksums, within the floating-point tolerance used for comparison.</data></edge>
    <edge id="e438" source="mlsys.gray-failure" target="mlsys.stragglers"><data key="relation">causes</data><data key="statement">can manifest as</data><data key="conditions">In synchronous distributed jobs, where one degraded but live node slows every step.</data></edge>
    <edge id="e439" source="mlsys.chaos-engineering" target="mlsys.failure-injection"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">When injected faults are framed as experiments against a stated steady-state hypothesis.</data></edge>
    <edge id="e440" source="mlsys.blast-radius" target="mlsys.chaos-engineering"><data key="relation">limits</data><data key="statement">bounds</data><data key="conditions">When experiments run against production traffic and must limit the users and components they can affect.</data></edge>
    <edge id="e441" source="mlsys.failure-domain" target="mlsys.blast-radius"><data key="relation">limits</data><data key="statement">bounds</data><data key="conditions">When isolation between failure domains holds, so a fault does not propagate across shared dependencies.</data></edge>
    <edge id="e442" source="mlsys.game-day" target="mlsys.incident-response"><data key="relation">measures</data><data key="statement">rehearses</data><data key="conditions">When the exercise uses the same detection, paging, and runbook paths as real incidents.</data></edge>
    <edge id="e443" source="mlsys.hardware-fault-injection" target="mlsys.silent-data-corruption"><data key="relation">measures</data><data key="statement">estimates model sensitivity to</data><data key="conditions">When the injected fault model, location, and rate approximate the hardware's actual failure modes.</data></edge>
    <edge id="e444" source="mlsys.backdoor" target="mlsys.poisoning"><data key="relation">uses</data><data key="statement">is commonly implanted through</data><data key="conditions">When the trigger enters through manipulated training data rather than direct weight modification.</data></edge>
    <edge id="e445" source="mlsys.supply-chain-compromise" target="mlsys.backdoor"><data key="relation">causes</data><data key="statement">can implant a</data><data key="conditions">When pretrained weights or fine-tuning data come from parties outside the defender's trust boundary.</data></edge>
    <edge id="e446" source="mlsys.jailbreak" target="mlsys.evasion"><data key="relation">specializes</data><data key="statement">specializes</data><data key="conditions">When the adversarial input is a user prompt aimed at bypassing safety training rather than at a task prediction; it differs from prompt injection, where untrusted third-party content crosses an authority boundary.</data></edge>
    <edge id="e447" source="mlsys.adversarial-training" target="mlsys.evasion"><data key="relation">mitigates</data><data key="statement">reduces success of</data><data key="conditions">Only within the perturbation set and threat model used to generate training adversaries.</data></edge>
    <edge id="e448" source="mlsys.adversarial-training" target="mlsys.generalization"><data key="relation">trades-off</data><data key="statement">trades off against clean</data><data key="conditions">Robust training typically costs clean accuracy and multiplies training compute by the cost of generating adversaries.</data></edge>
    <edge id="e449" source="mlsys.model-extraction" target="mlsys.model-artifact"><data key="relation">produces</data><data key="statement">produces a functional copy of</data><data key="conditions">When the attacker has sufficient query access and output detail, such as confidence scores, relative to model complexity.</data></edge>
    <edge id="e450" source="mlsys.model-extraction" target="mlsys.evasion"><data key="relation">enables</data><data key="statement">enables transfer attacks for</data><data key="conditions">When adversarial inputs crafted against the extracted surrogate transfer to the deployed model.</data></edge>
    <edge id="e451" source="mlsys.model-watermarking" target="mlsys.model-extraction"><data key="relation">detects</data><data key="statement">provides ownership evidence against</data><data key="conditions">When the watermark survives the adversary's fine-tuning, pruning, or distillation of the copied model.</data></edge>
    <edge id="e452" source="mlsys.artifact-signing" target="mlsys.model-artifact"><data key="relation">measures</data><data key="statement">verifies integrity of</data><data key="conditions">When consumers check signatures against trusted identities before loading and the signing key is not compromised.</data></edge>
    <edge id="e453" source="mlsys.artifact-signing" target="mlsys.lineage"><data key="relation">uses</data><data key="statement">binds provenance from</data><data key="conditions">When the signature covers provenance metadata such as training data and build inputs, not only the weight bytes.</data></edge>
    <edge id="e454" source="mlsys.unsafe-deserialization" target="mlsys.supply-chain-compromise"><data key="relation">enables</data><data key="statement">enables</data><data key="conditions">When model files in executable serialization formats are loaded from untrusted sources without a data-only format such as safetensors.</data></edge>
    <edge id="e455" source="mlsys.dependency-environment" target="mlsys.supply-chain-compromise"><data key="relation">causes</data><data key="statement">can introduce, when unpinned or unverified,</data><data key="conditions">When dependencies are resolved from mutable or unverified sources at build or load time.</data></edge>
    <edge id="e456" source="mlsys.membership-inference" target="mlsys.privacy-leakage"><data key="relation">measures</data><data key="statement">measures</data><data key="conditions">When attack advantage over a baseline is used as an empirical estimate of record-level leakage.</data></edge>
    <edge id="e457" source="mlsys.differential-privacy" target="mlsys.membership-inference"><data key="relation">limits</data><data key="statement">bounds the advantage of</data><data key="conditions">At the unit defined by the neighboring-dataset relation; the bound weakens as epsilon and delta grow.</data></edge>
    <edge id="e458" source="mlsys.model-inversion" target="mlsys.privacy-leakage"><data key="relation">causes</data><data key="statement">causes</data><data key="conditions">When outputs, confidence scores, or shared gradients carry enough information about sensitive attributes or inputs.</data></edge>
    <edge id="e459" source="mlsys.dp-sgd" target="mlsys.differential-privacy"><data key="relation">implements</data><data key="statement">implements</data><data key="conditions">When clipping norm, noise multiplier, sampling rate, and step count are tracked by a privacy accountant.</data></edge>
    <edge id="e460" source="mlsys.machine-unlearning" target="mlsys.retraining"><data key="relation">alternative-to</data><data key="statement">is a cheaper, approximate alternative to full</data><data key="conditions">Exact unlearning equals retraining without the removed records; approximate methods trade the strength of the guarantee for lower cost.</data></edge>
    <edge id="e461" source="mlsys.machine-unlearning" target="mlsys.lineage"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">To locate every model, shard, and derived artifact that was trained on the records to be removed.</data></edge>
    <edge id="e462" source="mlsys.federated-learning" target="mlsys.secure-aggregation"><data key="relation">uses</data><data key="statement">can use, to hide individual client updates,</data><data key="conditions">When enough clients participate per round that the aggregate does not reveal any single client's update.</data></edge>
    <edge id="e463" source="mlsys.secure-aggregation" target="mlsys.poisoning"><data key="relation">increases</data><data key="statement">hinders detection of, increasing exposure to</data><data key="conditions">Because the server sees only aggregated updates, it cannot inspect individual client updates for anomalies.</data></edge>
    <edge id="e464" source="mlsys.least-privilege" target="mlsys.authorization"><data key="relation">limits</data><data key="statement">constrains grants made by</data><data key="conditions">When permissions are scoped to the task and expire or are revoked when the task ends.</data></edge>
    <edge id="e465" source="mlsys.least-privilege" target="mlsys.prompt-injection"><data key="relation">mitigates</data><data key="statement">limits the consequences of</data><data key="conditions">When a model-driven component processes untrusted content and can act only through narrowly scoped credentials and tools.</data></edge>
    <edge id="e466" source="mlsys.confidential-computing" target="mlsys.isolation"><data key="relation">specializes</data><data key="statement">is a hardware-attested form of</data><data key="conditions">When the trusted execution environment's hardware and firmware are trusted and the host operator is not.</data></edge>
    <edge id="e467" source="mlsys.remote-attestation" target="mlsys.confidential-computing"><data key="relation">enables</data><data key="statement">establishes trust in</data><data key="conditions">When the verifier checks attestation evidence against reference values before releasing keys, data, or model weights.</data></edge>
    <edge id="e468" source="mlsys.side-channel" target="mlsys.isolation"><data key="relation">limits</data><data key="statement">can bypass</data><data key="conditions">When tenants share accelerators, caches, memory, or interconnect whose timing or contention is observable across the boundary.</data></edge>
    <edge id="e469" source="mlsys.operational-carbon" target="mlsys.carbon"><data key="relation">part-of</data><data key="statement">is a component of</data><data key="conditions">Lifecycle carbon sums operational and embodied components under one declared accounting boundary.</data></edge>
    <edge id="e470" source="mlsys.embodied-carbon" target="mlsys.carbon"><data key="relation">part-of</data><data key="statement">is a component of</data><data key="conditions">Lifecycle carbon sums operational and embodied components under one declared accounting boundary.</data></edge>
    <edge id="e471" source="mlsys.carbon-intensity" target="mlsys.operational-carbon"><data key="relation">increases</data><data key="statement">scales</data><data key="conditions">Operational carbon is energy consumed times the carbon intensity of supply at the time and place of consumption.</data></edge>
    <edge id="e472" source="mlsys.carbon-aware-scheduling" target="mlsys.carbon-intensity"><data key="relation">uses</data><data key="statement">exploits variation in</data><data key="conditions">When workloads are deferrable or relocatable and intensity varies materially across hours or regions.</data></edge>
    <edge id="e473" source="mlsys.carbon-aware-scheduling" target="mlsys.slo"><data key="relation">trades-off</data><data key="statement">trades off against</data><data key="conditions">When shifting work in time or place delays completion or adds latency beyond a stated objective.</data></edge>
    <edge id="e474" source="mlsys.energy-efficiency" target="mlsys.energy"><data key="relation">reduces</data><data key="statement">lowers, for a fixed amount of work,</data><data key="conditions">When useful work and energy are measured over the same system boundary and workload.</data></edge>
    <edge id="e475" source="mlsys.emission-scopes" target="mlsys.embodied-carbon"><data key="relation">determines</data><data key="statement">classifies as value-chain (Scope 3)</data><data key="conditions">For an operator buying hardware, manufacturing emissions fall in Scope 3 while purchased electricity falls in Scope 2.</data></edge>
    <edge id="e476" source="mlsys.lifecycle-assessment" target="mlsys.embodied-carbon"><data key="relation">measures</data><data key="statement">estimates</data><data key="conditions">When the assessment's goal, scope, and functional unit are stated and manufacturer data are available or proxied.</data></edge>
    <edge id="e477" source="mlsys.energy" target="mlsys.water-footprint"><data key="relation">increases</data><data key="statement">increases</data><data key="conditions">Through on-site evaporative cooling and off-site water used in electricity generation, both of which scale with energy use.</data></edge>
    <edge id="e478" source="mlsys.water-footprint" target="mlsys.carbon-aware-scheduling"><data key="relation">trades-off</data><data key="statement">can conflict with</data><data key="conditions">When low-carbon hours or regions coincide with high cooling water demand, such as hot sunny afternoons.</data></edge>
    <edge id="e479" source="mlsys.hardware-lifetime" target="mlsys.embodied-carbon"><data key="relation">reduces</data><data key="statement">amortizes, lowering per-unit-work</data><data key="conditions">When embodied emissions are attributed per year or per unit of work over the asset's service life.</data></edge>
    <edge id="e480" source="mlsys.hardware-lifetime" target="mlsys.energy-efficiency"><data key="relation">trades-off</data><data key="statement">trades off against</data><data key="conditions">Keeping older hardware saves embodied emissions and capital but forgoes newer generations' work per joule.</data></edge>
    <edge id="e481" source="mlsys.hardware-lifetime" target="mlsys.e-waste"><data key="relation">reduces</data><data key="statement">lowers the annual rate of</data><data key="conditions">For a fleet of fixed size, shorter refresh cycles retire more equipment per year.</data></edge>
    <edge id="e482" source="mlsys.tco" target="mlsys.unit-cost"><data key="relation">part-of</data><data key="statement">supplies the numerator of</data><data key="conditions">When the TCO window and the count of accepted outcomes cover the same period and system boundary.</data></edge>
    <edge id="e483" source="mlsys.hardware-lifetime" target="mlsys.tco"><data key="relation">determines</data><data key="statement">sets the amortization period in</data><data key="conditions">Capital cost enters TCO through amortization over the assumed service life.</data></edge>
    <edge id="e484" source="mlsys.cost-per-token" target="mlsys.unit-cost"><data key="relation">measures</data><data key="statement">approximates</data><data key="conditions">Only when tokens per accepted outcome are stable; longer reasoning, retries, or context resends make cheap tokens an expensive outcome.</data></edge>
    <edge id="e485" source="mlsys.batching" target="mlsys.cost-per-token"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">When larger or continuous batches raise tokens per accelerator-second without violating latency objectives.</data></edge>
    <edge id="e486" source="mlsys.model-routing" target="mlsys.calibration"><data key="relation">requires</data><data key="statement">depends on</data><data key="conditions">When routers or cascade gates escalate on predicted quality or confidence, which must be calibrated to the request distribution.</data></edge>
    <edge id="e487" source="mlsys.cost-attribution" target="mlsys.unit-cost"><data key="relation">enables</data><data key="statement">enables</data><data key="conditions">When shared spend is allocated to the workloads that produce the counted outcomes by a declared allocation rule.</data></edge>
    <edge id="e488" source="mlsys.safety-case" target="mlsys.hazard-analysis"><data key="relation">requires</data><data key="statement">argues only over hazards from</data><data key="conditions">A safety case is complete only relative to the hazards identified for its stated operating domain.</data></edge>
    <edge id="e489" source="mlsys.stpa" target="mlsys.hazard-analysis"><data key="relation">specializes</data><data key="statement">is a method of</data><data key="conditions">STPA addresses hazards from unsafe interactions and control flaws that component-failure methods can miss.</data></edge>
    <edge id="e490" source="mlsys.fmea" target="mlsys.hazard-analysis"><data key="relation">specializes</data><data key="statement">is a method of</data><data key="conditions">FMEA is bottom-up over component failures and does not by itself capture hazards without a failed component.</data></edge>
    <edge id="e491" source="mlsys.control-barrier-function" target="mlsys.safety-filter"><data key="relation">enables</data><data key="statement">provides the certificate for</data><data key="conditions">Guarantees depend on an accurate dynamics model, bounded disturbance, and a feasible filtering problem at each tick.</data></edge>
    <edge id="e492" source="mlsys.safety-filter" target="mlsys.runtime-assurance"><data key="relation">implements</data><data key="statement">implements</data><data key="conditions">The filter must run independently of, and with authority over, the component it constrains.</data></edge>
    <edge id="e493" source="mlsys.simplex-architecture" target="mlsys.runtime-assurance"><data key="relation">implements</data><data key="statement">implements</data><data key="conditions">Switching must occur while the verified controller can still recover the state.</data></edge>
    <edge id="e494" source="mlsys.simplex-architecture" target="mlsys.minimal-risk-condition"><data key="relation">uses</data><data key="statement">falls back toward</data><data key="conditions">Holds when the safety controller's goal is to reach a defined minimal-risk state rather than continue the mission.</data></edge>
    <edge id="e495" source="mlsys.stopping-envelope" target="mlsys.minimal-risk-condition"><data key="relation">limits</data><data key="statement">bounds reachability of</data><data key="conditions">A stop-type fallback is feasible only while the state remains inside its stopping envelope.</data></edge>
    <edge id="e496" source="mlsys.guardrails" target="mlsys.prompt-injection"><data key="relation">detects</data><data key="statement">partially detects</data><data key="conditions">Classifier guardrails are probabilistic and can be evaded, so they do not replace authority boundaries.</data></edge>
    <edge id="e497" source="mlsys.guardrails" target="mlsys.runtime-assurance"><data key="relation">specializes</data><data key="statement">is a content-level form of</data><data key="conditions">Applies when the safe set is a content or action policy rather than a physical state region.</data></edge>
    <edge id="e498" source="mlsys.falsification" target="mlsys.scenario-based-testing"><data key="relation">uses</data><data key="statement">searches the parameter space of</data><data key="conditions">Found counterexamples are only as realistic as the scenario model and simulator.</data></edge>
    <edge id="e499" source="mlsys.safety-case" target="mlsys.rare-event-validation"><data key="relation">uses</data><data key="statement">draws statistical evidence from</data><data key="conditions">Bounds hold for the sampled operating distribution and configuration, not for unmodeled conditions.</data></edge>
    <edge id="e500" source="mlsys.neural-network-verification" target="mlsys.formal-verification"><data key="relation">specializes</data><data key="statement">specializes</data><data key="conditions">Exact methods scale poorly with network size; bound-propagation methods trade completeness for scale.</data></edge>
    <edge id="e501" source="mlsys.neural-network-verification" target="mlsys.evasion"><data key="relation">measures</data><data key="statement">certifies absence, within a bounded region, of</data><data key="conditions">Holds only for the specified perturbation set, typically a norm ball around given inputs.</data></edge>
    <edge id="e502" source="mlsys.xil-testing" target="mlsys.sim-to-real"><data key="relation">measures</data><data key="statement">progressively tests</data><data key="conditions">Each rung adds real software, timing, or hardware but still relies on simulated or recorded environments.</data></edge>
    <edge id="e503" source="mlsys.formal-verification" target="mlsys.control-barrier-function"><data key="relation">measures</data><data key="statement">can certify</data><data key="conditions">Certification covers the barrier condition under the modeled dynamics, not the fidelity of the model.</data></edge>
    <edge id="e504" source="mlsys.goal-structuring-notation" target="mlsys.safety-case"><data key="relation">implements</data><data key="statement">expresses</data><data key="conditions">Notation makes the argument structure reviewable; it does not make the argument sound.</data></edge>
    <edge id="e505" source="mlsys.safety-performance-indicator" target="mlsys.safety-case"><data key="relation">measures</data><data key="statement">monitors validity of</data><data key="conditions">Each indicator must trace to a specific claim and have a threshold that triggers review.</data></edge>
    <edge id="e506" source="mlsys.safety-performance-indicator" target="mlsys.monitoring"><data key="relation">requires</data><data key="statement">is collected through</data><data key="conditions">Holds when field telemetry captures the events the indicator counts.</data></edge>
    <edge id="e507" source="mlsys.hazard-analysis" target="mlsys.safety-integrity-level"><data key="relation">determines</data><data key="statement">assigns</data><data key="conditions">Integrity levels derive from severity, exposure, and controllability of analyzed hazards.</data></edge>
    <edge id="e508" source="mlsys.group-fairness-metric" target="mlsys.fairness"><data key="relation">measures</data><data key="statement">measures</data><data key="conditions">A metric measures one criterion on a chosen population and grouping; other criteria remain unmeasured.</data></edge>
    <edge id="e509" source="mlsys.fairness-incompatibility" target="mlsys.group-fairness-metric"><data key="relation">limits</data><data key="statement">forces a choice among</data><data key="conditions">Holds when base rates differ across groups and the predictor is imperfect.</data></edge>
    <edge id="e510" source="mlsys.individual-fairness" target="mlsys.group-fairness-metric"><data key="relation">trades-off</data><data key="statement">can conflict with</data><data key="conditions">Holds when similarity under the task metric does not align with group membership.</data></edge>
    <edge id="e511" source="mlsys.bias-mitigation" target="mlsys.metrics"><data key="relation">trades-off</data><data key="statement">trades off against aggregate</data><data key="conditions">Reducing a disparity often lowers aggregate accuracy or shifts error to other groups or metrics.</data></edge>
    <edge id="e512" source="mlsys.feature-attribution" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">adds to</data><data key="conditions">Holds when explanations are computed on the request path; perturbation-based methods need many extra model evaluations.</data></edge>
    <edge id="e513" source="mlsys.counterfactual-explanation" target="mlsys.contestability"><data key="relation">enables</data><data key="statement">supports</data><data key="conditions">Useful for recourse only when the suggested changes are feasible and actionable for the person.</data></edge>
    <edge id="e514" source="mlsys.interpretable-model" target="mlsys.feature-attribution"><data key="relation">alternative-to</data><data key="statement">removes the need for post-hoc</data><data key="conditions">Holds in high-stakes settings where an interpretable model reaches comparable accuracy.</data></edge>
    <edge id="e515" source="mlsys.model-card" target="mlsys.sliced-evaluation"><data key="relation">uses</data><data key="statement">reports results of</data><data key="conditions">A model card is informative only for the conditions and groups actually evaluated.</data></edge>
    <edge id="e516" source="mlsys.datasheet" target="mlsys.lineage"><data key="relation">uses</data><data key="statement">summarizes, in human-readable form, provenance from</data><data key="conditions">A datasheet summarizes provenance; machine-checkable lineage is still needed for reproducibility.</data></edge>
    <edge id="e517" source="mlsys.automation-bias" target="mlsys.human-oversight"><data key="relation">reduces</data><data key="statement">undermines</data><data key="conditions">Holds when automation is usually right, error cues are weak, and reviewers face time pressure.</data></edge>
    <edge id="e518" source="mlsys.feedback-delay" target="mlsys.authority-handover"><data key="relation">limits</data><data key="statement">bounds, through human reaction time,</data><data key="conditions">Takeover is safe only if human reaction and re-orientation time fits within the remaining safety margin.</data></edge>
    <edge id="e519" source="mlsys.contestability" target="mlsys.human-oversight"><data key="relation">part-of</data><data key="statement">extends to affected people</data><data key="conditions">Requires a channel, decision records, and authority to reverse outcomes.</data></edge>
    <edge id="e520" source="mlsys.impact-assessment" target="mlsys.ai-risk-management"><data key="relation">part-of</data><data key="statement">is part of</data><data key="conditions">Mapping risks to affected parties precedes measuring and managing them.</data></edge>
    <edge id="e521" source="mlsys.algorithmic-audit" target="mlsys.model-card"><data key="relation">uses</data><data key="statement">draws evidence from</data><data key="conditions">Audits also need access to data, code, and logs; documentation alone is insufficient evidence.</data></edge>
    <edge id="e522" source="mlsys.risk-tiered-regulation" target="mlsys.human-oversight"><data key="relation">requires</data><data key="statement">mandates for high-risk uses</data><data key="conditions">Applies to systems classified high-risk under the governing regulation.</data></edge>
    <edge id="e523" source="mlsys.risk-tiered-regulation" target="mlsys.algorithmic-audit"><data key="relation">requires</data><data key="statement">requires conformity assessment by</data><data key="conditions">Applies to high-risk categories; obligations differ by role (provider, deployer).</data></edge>
    <edge id="e524" source="mlsys.frontier-safety-framework" target="mlsys.ai-risk-management"><data key="relation">implements</data><data key="statement">is a developer's instrument for</data><data key="conditions">When a developer's published capability thresholds and commitments govern its model releases.</data></edge>
    <edge id="e525" source="mlsys.context-compaction" target="mlsys.prefix-cache"><data key="relation">trades-off</data><data key="statement">trades saved tokens against the prefix reuse lost in</data><data key="conditions">When rewriting earlier context invalidates the cached prefix, so compaction pays off only when the saved execution work over the remaining session exceeds the summarization and prefix-recompute cost.</data></edge>
    <edge id="e526" source="mlsys.context-degradation" target="mlsys.context"><data key="relation">limits</data><data key="statement">limits useful size of</data><data key="conditions">Holds even when the context fits the nominal window; strength varies by model and task.</data></edge>
    <edge id="e527" source="mlsys.agent-memory" target="mlsys.retrieval"><data key="relation">uses</data><data key="statement">is read through</data><data key="conditions">Memory recall quality is bounded by the retrieval contract and index freshness.</data></edge>
    <edge id="e528" source="mlsys.function-calling" target="mlsys.tool-contract"><data key="relation">requires</data><data key="statement">is validated against</data><data key="conditions">The harness must validate calls against the contract; schema conformance does not imply authority.</data></edge>
    <edge id="e529" source="mlsys.model-context-protocol" target="mlsys.function-calling"><data key="relation">enables</data><data key="statement">standardizes tool discovery for</data><data key="conditions">Discovering a tool through a protocol does not grant authority to use it.</data></edge>
    <edge id="e530" source="mlsys.computer-use" target="mlsys.irreversible-effects"><data key="relation">increases</data><data key="statement">raises exposure to</data><data key="conditions">GUI actions often lack typed preconditions, idempotency keys, or undo, unlike designed tool APIs.</data></edge>
    <edge id="e531" source="mlsys.computer-use" target="mlsys.prompt-injection"><data key="relation">increases</data><data key="statement">widens the surface for</data><data key="conditions">Holds when on-screen content from untrusted sources is read as part of the agent's context.</data></edge>
    <edge id="e532" source="mlsys.agent-harness" target="mlsys.trajectory"><data key="relation">produces</data><data key="statement">produces and records</data><data key="conditions">The harness, not the model, owns continuation and the authoritative trajectory record.</data></edge>
    <edge id="e533" source="mlsys.agent-budget" target="mlsys.unit-cost"><data key="relation">determines</data><data key="statement">caps per-trajectory</data><data key="conditions">Budgets cap spend per trajectory; cost per accepted task also depends on success rate.</data></edge>
    <edge id="e534" source="mlsys.approval-gate" target="mlsys.human-oversight"><data key="relation">implements</data><data key="statement">implements</data><data key="conditions">Effective only if approvals bind to the exact action and reviewers can judge it; see automation bias.</data></edge>
    <edge id="e535" source="mlsys.approval-gate" target="mlsys.irreversible-effects"><data key="relation">mitigates</data><data key="statement">guards against</data><data key="conditions">Holds when the gate is placed before dispatch of actions classified irreversible.</data></edge>
    <edge id="e536" source="mlsys.durable-execution" target="mlsys.idempotency"><data key="relation">requires</data><data key="statement">relies on</data><data key="conditions">Resuming after a crash between dispatch and record can re-issue a step, which is safe only for idempotent or deduplicated effects.</data></edge>
    <edge id="e537" source="mlsys.deterministic-replay" target="mlsys.durable-execution"><data key="relation">uses</data><data key="statement">reuses the log of</data><data key="conditions">Replay is exact only if every nondeterministic input, including model samples and tool results, was recorded.</data></edge>
    <edge id="e538" source="mlsys.suspend-resume" target="mlsys.approval-gate"><data key="relation">enables</data><data key="statement">enables long waits for</data><data key="conditions">Resumption must revalidate state and authority that may have changed during the wait.</data></edge>
    <edge id="e539" source="mlsys.suspend-resume" target="mlsys.fencing"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">Holds when a resumed worker could race a stale one that still believes it owns the trajectory.</data></edge>
    <edge id="e540" source="mlsys.multi-agent-orchestration" target="mlsys.coordination-failure"><data key="relation">causes</data><data key="statement">can introduce</data><data key="conditions">Each delegation and handoff adds a point where specification or context can be lost.</data></edge>
    <edge id="e541" source="mlsys.multi-agent-orchestration" target="mlsys.baseline"><data key="relation">uses</data><data key="statement">is justified by comparison against a single-agent</data><data key="conditions">When the orchestration's added cost is evaluated against a single agent at matched total compute or token budget.</data></edge>
    <edge id="e542" source="mlsys.shared-agent-state" target="mlsys.fencing"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">Holds when leases can expire while a slow agent still attempts writes.</data></edge>
    <edge id="e543" source="mlsys.correlated-agent-errors" target="mlsys.multi-agent-orchestration"><data key="relation">limits</data><data key="statement">limits the benefit of</data><data key="conditions">Holds when agents share a base model, prompts, or retrieved evidence.</data></edge>
    <edge id="e544" source="mlsys.sensor-fusion" target="mlsys.time-synchronization"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">Timestamp error translates to spatial error proportional to relative motion.</data></edge>
    <edge id="e545" source="mlsys.sensor-fusion" target="mlsys.sensing"><data key="relation">requires</data><data key="statement">requires extrinsic calibration from</data><data key="conditions">Fused estimates inherit calibration errors between sensor frames.</data></edge>
    <edge id="e546" source="mlsys.robot-perception" target="mlsys.observation-age"><data key="relation">increases</data><data key="statement">adds inference latency to</data><data key="conditions">Inference time adds directly to the age of the state used by planning and control.</data></edge>
    <edge id="e547" source="mlsys.recursive-filtering" target="mlsys.state-estimation"><data key="relation">implements</data><data key="statement">implements</data><data key="conditions">Kalman-family filters assume approximately Gaussian, well-modeled noise; violations make reported covariance overconfident.</data></edge>
    <edge id="e548" source="mlsys.slam" target="mlsys.state-estimation"><data key="relation">specializes</data><data key="statement">specializes</data><data key="conditions">Drift accumulates without loop closure or external references.</data></edge>
    <edge id="e549" source="mlsys.model-predictive-control" target="mlsys.world-model"><data key="relation">uses</data><data key="statement">can use as its prediction model a</data><data key="conditions">Plans exploit model errors, so performance depends on accuracy in the regions the optimizer visits.</data></edge>
    <edge id="e550" source="mlsys.motion-planning" target="mlsys.trajectory-feasibility"><data key="relation">requires</data><data key="statement">must satisfy</data><data key="conditions">Geometric planners need a later step to enforce dynamic and actuation limits.</data></edge>
    <edge id="e551" source="mlsys.model-predictive-control" target="mlsys.wcet"><data key="relation">requires</data><data key="statement">requires a solver WCET within its control period, i.e. a</data><data key="conditions">Holds when each optimization must finish within the control period; warm starts and horizon length trade quality for time.</data></edge>
    <edge id="e552" source="mlsys.model-predictive-control" target="mlsys.feedback-control"><data key="relation">specializes</data><data key="statement">is a form of</data><data key="conditions">Re-solving from each new state estimate closes the loop.</data></edge>
    <edge id="e553" source="mlsys.real-time-scheduling" target="mlsys.wcet"><data key="relation">requires</data><data key="statement">takes as input</data><data key="conditions">Schedulability results are valid only if WCET bounds hold on the deployed platform.</data></edge>
    <edge id="e554" source="mlsys.mixed-criticality" target="mlsys.runtime-assurance"><data key="relation">enables</data><data key="statement">protects the timing of</data><data key="conditions">Holds when the safety monitor shares hardware with learned components that can overrun or contend for memory.</data></edge>
    <edge id="e555" source="mlsys.mixed-criticality" target="mlsys.isolation"><data key="relation">requires</data><data key="statement">requires temporal and spatial</data><data key="conditions">Shared caches, memory controllers, and buses can break isolation that address-space separation provides.</data></edge>
    <edge id="e556" source="mlsys.vla-model" target="mlsys.observation-age"><data key="relation">increases</data><data key="statement">increases</data><data key="conditions">Holds when billion-parameter inference on robot compute runs slower than the control loop.</data></edge>
    <edge id="e557" source="mlsys.vla-model" target="mlsys.action-chunking"><data key="relation">uses</data><data key="statement">uses, to decouple control rate from inference rate,</data><data key="conditions">Chunks executed open-loop delay reaction to new observations until the next inference.</data></edge>
    <edge id="e558" source="mlsys.teleoperation-data" target="mlsys.imitation-learning"><data key="relation">enables</data><data key="statement">supplies demonstrations for</data><data key="conditions">Policy quality is bounded by demonstration coverage, consistency, and action-label timing.</data></edge>
    <edge id="e559" source="mlsys.domain-randomization" target="mlsys.sim-to-real"><data key="relation">enables</data><data key="statement">improves</data><data key="conditions">Holds when the randomized ranges cover the real parameters without making the task unlearnable.</data></edge>
    <edge id="e560" source="mlsys.thread-hierarchy" target="mlsys.simt"><data key="relation">uses</data><data key="statement">is executed through</data><data key="conditions">Warps of a thread block are scheduled together on one streaming multiprocessor.</data></edge>
    <edge id="e561" source="mlsys.memory-coalescing" target="mlsys.memory-bandwidth"><data key="relation">determines</data><data key="statement">helps determine achieved</data><data key="conditions">For global-memory accesses by a warp, coalescing reduces wasted transactions; achieved bandwidth also depends on the workload and hardware.</data></edge>
    <edge id="e562" source="mlsys.async-data-movement" target="mlsys.communication-overlap"><data key="relation">implements</data><data key="statement">applies within a device the idea of</data><data key="conditions">Loads into on-chip memory proceed while matrix units compute on the previous tile.</data></edge>
    <edge id="e563" source="mlsys.matrix-engine-programming" target="mlsys.compute-throughput"><data key="relation">enables</data><data key="statement">is required to reach peak</data><data key="conditions">Peak matrix throughput is available only to instructions with supported shapes, layouts, and precisions.</data></edge>
    <edge id="e564" source="mlsys.thread-hierarchy" target="mlsys.tiling"><data key="relation">implements</data><data key="statement">maps output tiles onto thread blocks in</data><data key="conditions">Each thread block typically computes one output tile staged through shared memory.</data></edge>
    <edge id="e565" source="mlsys.embedding-table-sharding" target="mlsys.recommendation-model"><data key="relation">enables</data><data key="statement">makes trainable</data><data key="conditions">Embedding tables exceed one device's memory and must be partitioned across devices.</data></edge>
    <edge id="e566" source="mlsys.embedding-table-sharding" target="mlsys.collectives"><data key="relation">requires</data><data key="statement">requires all-to-all</data><data key="conditions">Lookups for a batch touch rows held on other devices, so activations are exchanged.</data></edge>
    <edge id="e567" source="mlsys.parameter-server" target="mlsys.bounded-staleness"><data key="relation">uses</data><data key="statement">commonly operates under</data><data key="conditions">Workers may read parameters that lag the latest updates by a bounded number of steps.</data></edge>
    <edge id="e568" source="mlsys.latency-budget" target="mlsys.ranking-funnel"><data key="relation">limits</data><data key="statement">bounds the per-stage cost of</data><data key="conditions">Each stage receives a share of the end-to-end budget and a candidate count it can afford to score.</data></edge>
    <edge id="e569" source="mlsys.ranking-funnel" target="mlsys.ann"><data key="relation">uses</data><data key="statement">uses for candidate generation</data><data key="conditions">The first stage retrieves candidates by approximate similarity before learned ranking.</data></edge>
    <edge id="e570" source="mlsys.multimodal-model" target="mlsys.modality-encoder"><data key="relation">uses</data><data key="statement">is composed with</data><data key="conditions">Non-text inputs are encoded into tokens the shared backbone attends over.</data></edge>
    <edge id="e571" source="mlsys.encoder-disaggregation" target="mlsys.tail-latency"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">Large media inputs would otherwise block token generation for requests sharing the batch.</data></edge>
    <edge id="e572" source="mlsys.auto-parallelization" target="mlsys.hybrid-parallel"><data key="relation">produces</data><data key="statement">derives</data><data key="conditions">The compiler's cost model must reflect the target device mesh's compute and link bandwidths for the chosen plan to be competitive.</data></edge>
    <edge id="e573" source="mlsys.sharding-propagation" target="mlsys.auto-parallelization"><data key="relation">implements</data><data key="statement">implements</data><data key="conditions">Holds when users supply seed annotations and the compiler propagates layouts through operators with known sharding rules.</data></edge>
    <edge id="e574" source="mlsys.sharding-propagation" target="mlsys.collectives"><data key="relation">produces</data><data key="statement">inserts</data><data key="conditions">Collectives are inserted wherever an operator's input layouts differ from what its sharded implementation requires.</data></edge>
    <edge id="e575" source="mlsys.sharding-propagation" target="mlsys.device-mesh"><data key="relation">requires</data><data key="statement">is defined over the axes of</data><data key="conditions">Tensor dimensions are sharded over named mesh axes, so mesh shape bounds which layouts are expressible.</data></edge>
    <edge id="e576" source="mlsys.function-transformations" target="mlsys.autodiff"><data key="relation">implements</data><data key="statement">exposes as a transform</data><data key="conditions">Holds when programs are pure functions so differentiation composes with vectorization and compilation.</data></edge>
    <edge id="e577" source="mlsys.function-transformations" target="mlsys.tracing-jit"><data key="relation">requires</data><data key="statement">relies on</data><data key="conditions">For transformations implemented over a traced intermediate representation, such as JAX transformations; this is not a requirement for every transformation implementation.</data></edge>
    <edge id="e578" source="mlsys.task-actor-runtime" target="mlsys.rl-rollout"><data key="relation">enables</data><data key="statement">orchestrates</data><data key="conditions">Applies when rollout workers, trainers, and reward models run as separate stateful actors exchanging data through the runtime.</data></edge>
    <edge id="e579" source="mlsys.single-vs-multi-controller" target="mlsys.task-actor-runtime"><data key="relation">determines</data><data key="statement">is a design axis of</data><data key="conditions">A single controller simplifies heterogeneous pipelines but must keep per-step dispatch off the critical path to scale.</data></edge>
    <edge id="e580" source="mlsys.analytical-performance-model" target="mlsys.roofline"><data key="relation">uses</data><data key="statement">composes</data><data key="conditions">Per-operator roofline bounds are summed or overlapped with communication and queueing terms under stated overlap assumptions.</data></edge>
    <edge id="e581" source="mlsys.analytical-performance-model" target="mlsys.alpha-beta-model"><data key="relation">uses</data><data key="statement">composes</data><data key="conditions">Communication terms use per-collective latency and bandwidth parameters measured or specified for the target fabric.</data></edge>
    <edge id="e582" source="mlsys.model-fidelity" target="mlsys.analytical-performance-model"><data key="relation">measures</data><data key="statement">bounds trust in</data><data key="conditions">Predictions are credible only within the configurations where validation error against measurement has been reported.</data></edge>
    <edge id="e583" source="mlsys.performance-simulation" target="mlsys.analytical-performance-model"><data key="relation">alternative-to</data><data key="statement">trades speed for detail against</data><data key="conditions">Simulation captures contention and scheduling effects closed forms omit, at much higher evaluation cost per configuration.</data></edge>
    <edge id="e584" source="mlsys.post-training-quantization" target="mlsys.quantization"><data key="relation">specializes</data><data key="statement">applies</data><data key="conditions">Holds when the calibration set is representative of deployment inputs; otherwise chosen ranges misfit and accuracy drops.</data></edge>
    <edge id="e585" source="mlsys.weight-only-quantization" target="mlsys.post-training-quantization"><data key="relation">uses</data><data key="statement">is commonly produced by</data><data key="conditions">For GPTQ- and AWQ-class methods applied after training.</data></edge>
    <edge id="e586" source="mlsys.activation-outliers" target="mlsys.quantization"><data key="relation">limits</data><data key="statement">can degrade the accuracy of</data><data key="conditions">Applies to per-tensor activation quantization of large transformers; per-channel handling or scale migration mitigates it.</data></edge>
    <edge id="e587" source="mlsys.kv-cache-quantization" target="mlsys.kv-cache"><data key="relation">reduces</data><data key="statement">shrinks</data><data key="conditions">Capacity gains translate into throughput only when serving is KV-memory-bound and attention kernels read the quantized format directly.</data></edge>
    <edge id="e588" source="mlsys.nm-sparsity" target="mlsys.matrix-unit"><data key="relation">requires</data><data key="statement">requires support in</data><data key="conditions">Speedup materializes only on matrix engines with sparse-operand instructions for the specific N:M ratio.</data></edge>
    <edge id="e589" source="mlsys.nm-sparsity" target="mlsys.sparsity"><data key="relation">specializes</data><data key="statement">specializes</data><data key="conditions">Constrains sparsity to a fixed per-group pattern so hardware can index nonzeros with small metadata.</data></edge>
    <edge id="e590" source="mlsys.kv-cache-offload" target="mlsys.prefix-cache"><data key="relation">enables</data><data key="statement">increases the capacity and hit rate of</data><data key="conditions">Pays off when reload time from host or SSD is shorter than recomputing the prefix's prefill.</data></edge>
    <edge id="e591" source="mlsys.pd-disaggregation" target="mlsys.kv-cache-transfer"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">Disaggregation is profitable only when KV transfer between pools is faster than the decode-latency gain it buys.</data></edge>
    <edge id="e592" source="mlsys.compound-ai-system" target="mlsys.model-routing"><data key="relation">uses</data><data key="statement">composes</data><data key="conditions">Holds when the program chooses among models per step, so routing decisions are optimized against end-to-end quality and cost.</data></edge>
    <edge id="e593" source="mlsys.rag" target="mlsys.compound-ai-system"><data key="relation">part-of</data><data key="statement">is a common stage of</data><data key="conditions">When retrieval and generation run as separately served and tuned components.</data></edge>
    <edge id="e594" source="mlsys.lm-program-optimization" target="mlsys.compound-ai-system"><data key="relation">determines</data><data key="statement">tunes the prompts and weights of</data><data key="conditions">Requires a declared program structure and an end-to-end metric evaluable on a training set of inputs.</data></edge>
    <edge id="e595" source="mlsys.multi-adapter-serving" target="mlsys.lora"><data key="relation">uses</data><data key="statement">serves many instances of</data><data key="conditions">Holds when adapters share one frozen base model so base weights are loaded once and only low-rank factors differ per request.</data></edge>
    <edge id="e596" source="mlsys.multi-adapter-serving" target="mlsys.multi-model-serving"><data key="relation">specializes</data><data key="statement">specializes</data><data key="conditions">Applies when hosted variants differ only by adapters, letting requests for different variants share one batch.</data></edge>
    <edge id="e597" source="mlsys.graph-vector-index" target="mlsys.ann"><data key="relation">implements</data><data key="statement">implements</data><data key="conditions">Best recall-latency trade-off when the full graph and vectors fit in memory.</data></edge>
    <edge id="e598" source="mlsys.quantized-vector-index" target="mlsys.ann"><data key="relation">implements</data><data key="statement">implements</data><data key="conditions">Preferred when memory per vector is the binding constraint, accepting lower recall or a reranking pass on exact vectors.</data></edge>
    <edge id="e599" source="mlsys.quantized-vector-index" target="mlsys.graph-vector-index"><data key="relation">alternative-to</data><data key="statement">trades memory against recall versus</data><data key="conditions">Compared at equal query latency on the same corpus and recall target.</data></edge>
    <edge id="e600" source="mlsys.filtered-vector-search" target="mlsys.ann"><data key="relation">uses</data><data key="statement">commonly runs on</data><data key="conditions">When the filter leaves too many candidates for exact search.</data></edge>
    <edge id="e601" source="mlsys.graph-vector-index" target="mlsys.index-freshness"><data key="relation">limits</data><data key="statement">update and delete cost bounds attainable</data><data key="conditions">Deletes and in-place updates degrade graph connectivity unless repaired or periodically rebuilt.</data></edge>
    <edge id="e602" source="mlsys.numerical-nondeterminism" target="mlsys.experiment-reproducibility"><data key="relation">reduces</data><data key="statement">limits</data><data key="conditions">Bitwise reproducibility requires fixing kernels, reduction order, parallel layout, and hardware, not only random seeds.</data></edge>
    <edge id="e603" source="mlsys.accumulation-precision" target="mlsys.numerical-nondeterminism"><data key="relation">determines</data><data key="statement">sets the magnitude of</data><data key="conditions">Order-dependent rounding differences grow as accumulation precision falls and reduction length grows.</data></edge>
    <edge id="e604" source="mlsys.batch-invariance" target="mlsys.numerical-nondeterminism"><data key="relation">mitigates</data><data key="statement">removes the batch-composition source of</data><data key="conditions">Achieved by fixing reduction strategies independent of batch size, typically at some kernel throughput cost.</data></edge>
    <edge id="e605" source="mlsys.batch-invariance" target="mlsys.rl-rollout"><data key="relation">enables</data><data key="statement">aligns inference numerics with training for</data><data key="conditions">Matters when rollout log-probabilities from the serving engine are reused in on-policy training objectives.</data></edge>
    <edge id="e606" source="mlsys.elastic-training" target="mlsys.checkpoint-resharding"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">Holds whenever a restart changes world size or parallel layout relative to the saved checkpoint.</data></edge>
    <edge id="e607" source="mlsys.checkpoint-resharding" target="mlsys.state-sharding"><data key="relation">uses</data><data key="statement">remaps between layouts of</data><data key="conditions">Requires checkpoints that record each shard's global tensor coordinates rather than rank-local layouts.</data></edge>
    <edge id="e608" source="mlsys.batch-data-processing" target="mlsys.deduplication"><data key="relation">enables</data><data key="statement">executes at corpus scale</data><data key="conditions">Applies when the corpus exceeds one machine, so near-duplicate detection is partitioned and shuffled across workers.</data></edge>
    <edge id="e609" source="mlsys.batch-data-processing" target="mlsys.feature-backfill"><data key="relation">enables</data><data key="statement">executes</data><data key="conditions">Backfills over long histories run as bounded batch jobs whose logic must match the serving feature definition.</data></edge>
    <edge id="e610" source="mlsys.distributed-tracing" target="mlsys.observability"><data key="relation">part-of</data><data key="statement">provides request-level evidence within</data><data key="conditions">Requires trace context to be propagated across every service and asynchronous hop the request traverses.</data></edge>
    <edge id="e611" source="mlsys.llm-call-tracing" target="mlsys.distributed-tracing"><data key="relation">specializes</data><data key="statement">specializes</data><data key="conditions">Adds model-specific span attributes such as token counts, model version, and cost under a shared semantic convention.</data></edge>
    <edge id="e612" source="mlsys.llm-call-tracing" target="mlsys.agent-harness"><data key="relation">measures</data><data key="statement">instruments</data><data key="conditions">Each loop iteration, model call, and tool call is emitted as a child span of the task's root span.</data></edge>
    <edge id="e613" source="mlsys.evaluation-harness" target="mlsys.benchmark"><data key="relation">implements</data><data key="statement">implements</data><data key="conditions">Comparability holds only when prompt templates, decoding settings, and scorer versions are pinned with the results.</data></edge>
    <edge id="e614" source="mlsys.evaluation-harness" target="mlsys.experiment-tracking"><data key="relation">uses</data><data key="statement">records results into</data><data key="conditions">Holds when each run logs checkpoint, suite version, and configuration alongside scores.</data></edge>
    <edge id="e615" source="mlsys.energy-measurement" target="mlsys.energy"><data key="relation">measures</data><data key="statement">determines the reported value of</data><data key="conditions">Reported energy is comparable only across measurements with the same boundary, sensor class, and sampling rate.</data></edge>
    <edge id="e616" source="mlsys.idle-dynamic-power" target="mlsys.energy-measurement"><data key="relation">determines</data><data key="statement">sets attribution rules for</data><data key="conditions">Matters when hardware is shared or partly idle, so idle power must be charged by an explicit allocation rule.</data></edge>
    <edge id="e617" source="mlsys.he-inference" target="mlsys.confidential-computing"><data key="relation">alternative-to</data><data key="statement">trades compute overhead for hardware trust versus</data><data key="conditions">Homomorphic encryption avoids trusting server hardware but costs orders of magnitude more compute than enclave execution.</data></edge>
    <edge id="e618" source="mlsys.secure-computation-inference" target="mlsys.he-inference"><data key="relation">alternative-to</data><data key="statement">trades communication for computation versus</data><data key="conditions">Hybrid protocols use homomorphic encryption for linear layers and secret sharing or garbled circuits for nonlinear ones.</data></edge>
    <edge id="e619" source="mlsys.secure-computation-inference" target="mlsys.privacy-leakage"><data key="relation">mitigates</data><data key="statement">prevents input disclosure in</data><data key="conditions">Protects inputs during computation but not leakage from the revealed outputs themselves.</data></edge>
    <edge id="e620" source="mlsys.red-teaming" target="mlsys.jailbreak"><data key="relation">detects</data><data key="statement">discovers</data><data key="conditions">Coverage depends on attacker diversity and budget, so finding no failures does not establish their absence.</data></edge>
    <edge id="e621" source="mlsys.red-teaming" target="mlsys.threat-model"><data key="relation">requires</data><data key="statement">must be scoped by</data><data key="conditions">The adversary capabilities, interfaces, and harms probed must be declared for findings to be interpretable.</data></edge>
    <edge id="e622" source="mlsys.dangerous-capability-eval" target="mlsys.frontier-safety-framework"><data key="relation">part-of</data><data key="statement">supplies the threshold tests that trigger safeguards in</data><data key="conditions">Holds when the framework ties stated capability thresholds to required mitigations before further training or deployment.</data></edge>
    <edge id="e623" source="mlsys.dangerous-capability-eval" target="mlsys.red-teaming"><data key="relation">uses</data><data key="statement">uses elicitation from</data><data key="conditions">Capability estimates are lower bounds unless elicitation, including expert red teaming, is strong.</data></edge>
    <edge id="e624" source="mlsys.efficiency-frontier" target="mlsys.pareto-frontier"><data key="relation">specializes</data><data key="statement">specializes</data><data key="conditions">The objectives are model quality and a stated cost measure on a stated platform.</data></edge>
    <edge id="e625" source="mlsys.energy-per-inference" target="mlsys.energy-efficiency"><data key="relation">measures</data><data key="statement">is the per-input reciprocal of</data><data key="conditions">Both are measured within the same declared system boundary.</data></edge>
    <edge id="e626" source="mlsys.requirements" target="mlsys.placement"><data key="relation">determines</data><data key="statement">determine feasible</data><data key="conditions">Latency, privacy, connectivity, and power requirements rule out some device, edge, or datacenter placements.</data></edge>
    <edge id="e627" source="mlsys.release-gate" target="mlsys.baseline"><data key="relation">requires</data><data key="statement">compares candidates against</data><data key="conditions">A candidate advances only if it beats or matches the incumbent baseline on the gated metrics under the same protocol.</data></edge>
    <edge id="e628" source="mlsys.baseline" target="mlsys.online-experiment"><data key="relation">part-of</data><data key="statement">serves as the control arm of</data><data key="conditions">The incumbent system or model is served to the control group during the experiment.</data></edge>
    <edge id="e629" source="mlsys.benchmark" target="mlsys.workload"><data key="relation">requires</data><data key="statement">is only meaningful for a stated</data><data key="conditions">Benchmark results transfer only to deployments whose input, request, and model distributions match the benchmark workload.</data></edge>
    <edge id="e630" source="mlsys.workload" target="mlsys.workload-trace"><data key="relation">uses</data><data key="statement">is characterized empirically using</data><data key="conditions">The trace window covers the arrival, size, and mix variation that matters for the decision being evaluated.</data></edge>
    <edge id="e631" source="mlsys.reward-model" target="mlsys.reward-hacking"><data key="relation">causes</data><data key="statement">can invite</data><data key="conditions">Policies optimized hard against a learned reward model can exploit its errors, scoring higher while true quality falls.</data></edge>
    <edge id="e632" source="mlsys.monitoring" target="mlsys.sli"><data key="relation">produces</data><data key="statement">computes</data><data key="conditions">Monitoring records the events and counts over the population and window the indicator definition specifies.</data></edge>
    <edge id="e633" source="mlsys.sli" target="mlsys.tail-latency"><data key="relation">measures</data><data key="statement">commonly measures, as a percentile,</data><data key="conditions">Latency indicators are computed as a high percentile over a stated request population and window.</data></edge>
    <edge id="e634" source="mlsys.sli" target="mlsys.availability"><data key="relation">measures</data><data key="statement">commonly measures</data><data key="conditions">Availability indicators count successful requests or uptime over a defined population and window.</data></edge>
    <edge id="e635" source="mlsys.error-budget" target="mlsys.release-gate"><data key="relation">determines</data><data key="statement">can freeze releases through</data><data key="conditions">Teams agree that an exhausted budget blocks or slows promotion of new versions.</data></edge>
    <edge id="e636" source="mlsys.error-budget" target="mlsys.alerting"><data key="relation">determines</data><data key="statement">sets burn-rate thresholds for</data><data key="conditions">Alerts fire when the budget is being consumed faster than the window allows.</data></edge>
    <edge id="e637" source="mlsys.latency-budget" target="mlsys.reasoning-budget"><data key="relation">limits</data><data key="statement">caps the intermediate tokens allowed by</data><data key="conditions">Interactive requests must answer within a fixed end-to-end latency target, so extra reasoning tokens consume the same budget.</data></edge>
    <edge id="e638" source="mlsys.activation-recompute" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">reduces the peak</data><data key="conditions">Retained activations dominate training memory and spare compute is available to recompute them.</data></edge>
    <edge id="e639" source="mlsys.kv-cache" target="mlsys.memory-footprint"><data key="relation">increases</data><data key="statement">adds per-request state to</data><data key="conditions">Autoregressive serving retains keys and values for every in-flight token; the term grows with batch size and context length.</data></edge>
    <edge id="e640" source="mlsys.workload-trace" target="mlsys.arrival-burstiness"><data key="relation">measures</data><data key="statement">reveals the</data><data key="conditions">Inter-arrival times are recorded at fine enough resolution to show bursts rather than only averages.</data></edge>
    <edge id="e641" source="mlsys.performance-simulation" target="mlsys.workload-trace"><data key="relation">uses</data><data key="statement">replays</data><data key="conditions">Trace-driven simulation is used to compare scheduling, capacity, or serving policies on realistic demand.</data></edge>
    <edge id="e642" source="mlsys.cost-sensitive-decision" target="mlsys.calibration"><data key="relation">requires</data><data key="statement">requires calibrated probabilities from</data><data key="conditions">Expected-cost thresholds are computed from predicted probabilities, which must match observed frequencies on the deployment distribution.</data></edge>
    <edge id="e643" source="mlsys.cost-sensitive-decision" target="mlsys.selective-prediction"><data key="relation">determines</data><data key="statement">sets the abstention threshold in</data><data key="conditions">Deferring to a human or fallback has a known cost that can be compared with the expected cost of each error type.</data></edge>
    <edge id="e644" source="mlsys.tokenization" target="mlsys.context"><data key="relation">determines</data><data key="statement">sets how much text fits in</data><data key="conditions">For a fixed window, a tokenizer that produces more tokens per word admits less source text.</data></edge>
    <edge id="e645" source="mlsys.linear-model" target="mlsys.tree-ensemble"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both are standard choices for tabular supervised prediction; trees capture interactions linear scores need engineered features for.</data></edge>
    <edge id="e646" source="mlsys.tree-ensemble" target="mlsys.features"><data key="relation">uses</data><data key="statement">splits on</data><data key="conditions">Trees operate on tabular features without requiring scaling; feature engineering still determines what interactions are available.</data></edge>
    <edge id="e647" source="mlsys.kernel-method" target="mlsys.memory-footprint"><data key="relation">increases</data><data key="statement">has a quadratic training</data><data key="conditions">Exact training forms or stores an n-by-n kernel matrix, so memory grows with the square of the training set size unless approximated.</data></edge>
    <edge id="e648" source="mlsys.kernel-method" target="mlsys.inductive-bias"><data key="relation">determines</data><data key="statement">encodes its inductive bias through the choice of kernel in</data><data key="conditions">The kernel function fixes which similarity structure the model can exploit.</data></edge>
    <edge id="e649" source="mlsys.nearest-neighbor" target="mlsys.embeddings"><data key="relation">uses</data><data key="statement">searches over</data><data key="conditions">Neighbors are found by distance in a learned or engineered vector space whose quality determines result quality.</data></edge>
    <edge id="e650" source="mlsys.neural-network" target="mlsys.matrix-multiply"><data key="relation">uses</data><data key="statement">spends most compute in</data><data key="conditions">Dense and attention layers dominate; small or irregular layers can be bound by other operations.</data></edge>
    <edge id="e651" source="mlsys.convolution" target="mlsys.inductive-bias"><data key="relation">implements</data><data key="statement">encodes translation equivariance and locality as an</data><data key="conditions">Weights are shared across positions, so the model assumes local patterns recur across the input.</data></edge>
    <edge id="e652" source="mlsys.position-encoding" target="mlsys.context"><data key="relation">limits</data><data key="statement">bounds the usable length of</data><data key="conditions">Without extension, sequences longer than the positions seen in training degrade quality.</data></edge>
    <edge id="e653" source="mlsys.transformer" target="mlsys.normalization-layer"><data key="relation">uses</data><data key="statement">stabilizes residual blocks with</data><data key="conditions">Each block applies layer or RMS normalization around attention and feed-forward sublayers.</data></edge>
    <edge id="e654" source="mlsys.transformer" target="mlsys.position-encoding"><data key="relation">uses</data><data key="statement">injects order with</data><data key="conditions">Attention alone is permutation equivariant, so the architecture adds absolute, relative, or rotary positions.</data></edge>
    <edge id="e655" source="mlsys.transformer" target="mlsys.neural-network"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">The architecture is a differentiable composition trained by gradient descent.</data></edge>
    <edge id="e656" source="mlsys.ranking-funnel" target="mlsys.recommendation-model"><data key="relation">uses</data><data key="statement">runs in its ranking stages a</data><data key="conditions">Candidate generation narrows the set before costly deep ranking models score it within the latency budget.</data></edge>
    <edge id="e657" source="mlsys.depthwise-separable-convolution" target="mlsys.convolution"><data key="relation">specializes</data><data key="statement">is a factorized kind of</data><data key="conditions">A standard convolution is split into depthwise and pointwise steps.</data></edge>
    <edge id="e658" source="mlsys.depthwise-separable-convolution" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">cuts parameter storage in</data><data key="conditions">Parameter memory is a significant share of the deployed footprint, as on mobile and embedded targets.</data></edge>
    <edge id="e659" source="mlsys.recurrence" target="mlsys.attention"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both mix information across sequence positions; recurrence keeps fixed state but serializes time, attention parallelizes but grows cost with length.</data></edge>
    <edge id="e660" source="mlsys.normalization-layer" target="mlsys.training-instability"><data key="relation">mitigates</data><data key="statement">mitigates</data><data key="conditions">Deep networks whose activation scales would otherwise drift with depth or batch composition.</data></edge>
    <edge id="e661" source="mlsys.expert-routing" target="mlsys.mixture-of-experts"><data key="relation">part-of</data><data key="statement">is the gating component of</data><data key="conditions">The layer routes each token to a small subset of experts.</data></edge>
    <edge id="e662" source="mlsys.expert-capacity" target="mlsys.mixture-of-experts"><data key="relation">part-of</data><data key="statement">is a buffer-size parameter of</data><data key="conditions">Experts process fixed-size per-batch buffers so computation shapes stay static.</data></edge>
    <edge id="e663" source="mlsys.expert-capacity" target="mlsys.all-to-all"><data key="relation">increases</data><data key="statement">increases padded token volume in</data><data key="conditions">A higher capacity factor allocates larger per-expert buffers that are exchanged whether or not they are full.</data></edge>
    <edge id="e664" source="mlsys.load-balancing-loss" target="mlsys.stragglers"><data key="relation">mitigates</data><data key="statement">reduces hot-expert imbalance behind</data><data key="conditions">Under expert parallelism, an overloaded expert's device finishes last and holds back the step.</data></edge>
    <edge id="e665" source="mlsys.load-balancing-loss" target="mlsys.mixture-of-experts"><data key="relation">part-of</data><data key="statement">is an auxiliary objective in training of</data><data key="conditions">Routing is learned and can otherwise collapse onto a few experts.</data></edge>
    <edge id="e666" source="mlsys.active-parameters" target="mlsys.training-compute-estimate"><data key="relation">determines</data><data key="statement">sets the parameter count used in</data><data key="conditions">For conditionally computed models, the six-operations-per-parameter-per-token estimate uses active rather than total parameters.</data></edge>
    <edge id="e667" source="mlsys.early-exit" target="mlsys.calibration"><data key="relation">requires</data><data key="statement">relies on confidence quality assessed by</data><data key="conditions">Exit decisions threshold an intermediate confidence; overconfident exits return wrong answers early.</data></edge>
    <edge id="e668" source="mlsys.early-exit" target="mlsys.energy-per-inference"><data key="relation">reduces</data><data key="statement">reduces average</data><data key="conditions">Many inputs are easy enough to exit at an early classifier and the exit overhead is small.</data></edge>
    <edge id="e669" source="mlsys.sliding-window-attention" target="mlsys.attention"><data key="relation">specializes</data><data key="statement">is a restricted kind of</data><data key="conditions">Each position attends only within a window or fixed sparse pattern.</data></edge>
    <edge id="e670" source="mlsys.sliding-window-attention" target="mlsys.kv-cache"><data key="relation">reduces</data><data key="statement">caps the size of</data><data key="conditions">During decoding only the most recent window of keys and values must be retained.</data></edge>
    <edge id="e671" source="mlsys.linear-attention" target="mlsys.attention"><data key="relation">specializes</data><data key="statement">is a kernelized variant of</data><data key="conditions">Softmax similarity is replaced by a feature-map inner product, changing model quality.</data></edge>
    <edge id="e672" source="mlsys.linear-attention" target="mlsys.sliding-window-attention"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both reduce attention cost growth for long sequences, trading different quality losses.</data></edge>
    <edge id="e673" source="mlsys.state-space-model" target="mlsys.attention"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both serve as the sequence-mixing layer; state-space layers trade exact long-range lookup for linear cost and fixed state.</data></edge>
    <edge id="e674" source="mlsys.state-space-model" target="mlsys.kv-cache"><data key="relation">reduces</data><data key="statement">eliminates the growing</data><data key="conditions">Inference carries a constant-size state per layer instead of keys and values for every prior token.</data></edge>
    <edge id="e675" source="mlsys.grouped-query-attention" target="mlsys.attention"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Multiple query heads share each key-value head.</data></edge>
    <edge id="e676" source="mlsys.grouped-query-attention" target="mlsys.tpot"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">Decode is bound by reading the KV cache, so fewer key-value heads cut bytes read per token.</data></edge>
    <edge id="e677" source="mlsys.context-extension" target="mlsys.context"><data key="relation">increases</data><data key="statement">extends the usable length of</data><data key="conditions">The model is fine-tuned briefly on longer sequences after rescaling positions; quality at the new length must be checked.</data></edge>
    <edge id="e678" source="mlsys.weight-serialization" target="mlsys.unsafe-deserialization"><data key="relation">determines</data><data key="statement">determines exposure to</data><data key="conditions">Executable formats such as pickle run code on load; data-only formats such as safetensors do not.</data></edge>
    <edge id="e679" source="mlsys.weight-serialization" target="mlsys.cold-start"><data key="relation">determines</data><data key="statement">sets weight-loading time in</data><data key="conditions">Memory-mappable, zero-copy formats load faster than formats requiring full deserialization.</data></edge>
    <edge id="e680" source="mlsys.model-conversion" target="mlsys.model-exchange-format"><data key="relation">uses</data><data key="statement">commonly passes through a</data><data key="conditions">Training and target runtimes differ and both support the exchange format's operator set.</data></edge>
    <edge id="e681" source="mlsys.model-export" target="mlsys.model-artifact"><data key="relation">produces</data><data key="statement">produces a deployable</data><data key="conditions">The artifact represents supported operators, parameters, and input constraints for its target runtime.</data></edge>
    <edge id="e682" source="mlsys.model-export" target="mlsys.tracing-jit"><data key="relation">uses</data><data key="statement">can obtain its graph through</data><data key="conditions">In export workflows that obtain a graph by tracing, such as JAX export; tracing and lowering may precede execution on another machine.</data></edge>
    <edge id="e683" source="mlsys.model-signature" target="mlsys.model-artifact"><data key="relation">part-of</data><data key="statement">is the interface declared in</data><data key="conditions">The artifact records input and output names, types, and shapes.</data></edge>
    <edge id="e684" source="mlsys.model-server" target="mlsys.model-signature"><data key="relation">requires</data><data key="statement">validates requests against</data><data key="conditions">The server decodes and checks requests using the artifact's declared inputs and outputs.</data></edge>
    <edge id="e685" source="mlsys.vla-model" target="mlsys.multimodal-model"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">The model consumes images and language and emits actions through a shared backbone.</data></edge>
    <edge id="e686" source="mlsys.multimodal-model" target="mlsys.transformer"><data key="relation">uses</data><data key="statement">commonly uses as its shared backbone a</data><data key="conditions">Encoded modality tokens are processed together with text tokens by a transformer.</data></edge>
    <edge id="e687" source="mlsys.encoder-disaggregation" target="mlsys.modality-encoder"><data key="relation">uses</data><data key="statement">schedules separately the</data><data key="conditions">Image or audio encoding is heavy enough to stall token generation if co-scheduled.</data></edge>
    <edge id="e688" source="mlsys.context-compaction" target="mlsys.context-degradation"><data key="relation">mitigates</data><data key="statement">mitigates</data><data key="conditions">Older material is summarized so relevant information stays short and near the end of the window.</data></edge>
    <edge id="e689" source="mlsys.reranking" target="mlsys.context-degradation"><data key="relation">mitigates</data><data key="statement">mitigates position effects behind</data><data key="conditions">Reranked evidence is placed where models use it best, near the start or end of the context.</data></edge>
    <edge id="e690" source="mlsys.autodiff" target="mlsys.memory-footprint"><data key="relation">increases</data><data key="statement">retains forward activations, increasing</data><data key="conditions">Reverse-mode differentiation stores intermediates from the forward pass for use in the backward pass.</data></edge>
    <edge id="e691" source="mlsys.tensor-layout" target="mlsys.memory-coalescing"><data key="relation">determines</data><data key="statement">determines whether accesses achieve</data><data key="conditions">Strides decide whether adjacent threads touch adjacent addresses.</data></edge>
    <edge id="e692" source="mlsys.mixed-precision" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">reduces activation and gradient bytes in</data><data key="conditions">Activations and gradients are stored in 16-bit formats while a master copy of weights stays in higher precision.</data></edge>
    <edge id="e693" source="mlsys.mixed-precision" target="mlsys.matrix-unit"><data key="relation">uses</data><data key="statement">gains throughput from</data><data key="conditions">The matrix engine supports the reduced input formats with wider accumulation.</data></edge>
    <edge id="e694" source="mlsys.computation-graph" target="mlsys.tensor"><data key="relation">uses</data><data key="statement">passes between operations a</data><data key="conditions">Edges carry tensors whose shapes and types the graph records.</data></edge>
    <edge id="e695" source="mlsys.tensor" target="mlsys.precision"><data key="relation">uses</data><data key="statement">carries an element type drawn from</data><data key="conditions">Each tensor records a numerical format that kernels must support.</data></edge>
    <edge id="e696" source="mlsys.compilation" target="mlsys.computation-graph"><data key="relation">uses</data><data key="statement">takes as input a</data><data key="conditions">The compiler needs a captured graph rather than one operation at a time.</data></edge>
    <edge id="e697" source="mlsys.eager-execution" target="mlsys.fusion"><data key="relation">determines</data><data key="statement">forecloses cross-operation</data><data key="conditions">Each operation is launched as the host issues it, so no compiler sees neighboring operations.</data></edge>
    <edge id="e698" source="mlsys.io-aware-attention" target="mlsys.attention"><data key="relation">implements</data><data key="statement">exactly computes</data><data key="conditions">The result matches standard softmax attention up to floating-point reordering.</data></edge>
    <edge id="e699" source="mlsys.io-aware-attention" target="mlsys.tiling"><data key="relation">uses</data><data key="statement">is built on</data><data key="conditions">Query, key, and value blocks are staged through on-chip memory with an online softmax.</data></edge>
    <edge id="e700" source="mlsys.convolution-lowering" target="mlsys.memory-footprint"><data key="relation">increases</data><data key="statement">can increase, through duplicated patches,</data><data key="conditions">im2col-style lowering copies overlapping input patches into a larger matrix.</data></edge>
    <edge id="e701" source="mlsys.kernel-library" target="mlsys.matrix-multiply"><data key="relation">implements</data><data key="statement">provides tuned</data><data key="conditions">Vendor libraries supply GEMM and convolution kernels selected per shape and precision.</data></edge>
    <edge id="e702" source="mlsys.kernel-library" target="mlsys.kernel-dsl"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both supply operator kernels; libraries cover common shapes, DSLs let engineers write fused or novel kernels.</data></edge>
    <edge id="e703" source="mlsys.compilation" target="mlsys.intermediate-representation"><data key="relation">uses</data><data key="statement">lowers through</data><data key="conditions">Graph, tensor, and loop-level representations carry the program between passes.</data></edge>
    <edge id="e704" source="mlsys.sharding-propagation" target="mlsys.intermediate-representation"><data key="relation">uses</data><data key="statement">propagates layouts through</data><data key="conditions">Sharding annotations are attached to operations in the compiler IR.</data></edge>
    <edge id="e705" source="mlsys.autotuning" target="mlsys.profiling"><data key="relation">uses</data><data key="statement">measures candidates with</data><data key="conditions">Candidate schedules are compiled and timed on the target, or a cost model is trained from such measurements.</data></edge>
    <edge id="e706" source="mlsys.autotuning" target="mlsys.compilation"><data key="relation">part-of</data><data key="statement">is a search stage within</data><data key="conditions">The compiler exposes a schedule space whose performance is hard to predict analytically.</data></edge>
    <edge id="e707" source="mlsys.kernel-dsl" target="mlsys.on-chip-sram"><data key="relation">uses</data><data key="statement">lets the compiler manage</data><data key="conditions">Programs are written over blocks while the compiler allocates shared memory and registers.</data></edge>
    <edge id="e708" source="mlsys.kernel-dsl" target="mlsys.fusion"><data key="relation">enables</data><data key="statement">enables custom</data><data key="conditions">Engineers can write a single kernel that combines operations no library provides fused.</data></edge>
    <edge id="e709" source="mlsys.memory-planning" target="mlsys.compilation"><data key="relation">part-of</data><data key="statement">is a pass within</data><data key="conditions">Static shapes let the compiler compute tensor lifetimes ahead of execution.</data></edge>
    <edge id="e710" source="mlsys.memory-planning" target="mlsys.caching-allocator"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both manage device buffers; static planning needs known lifetimes, caching allocation handles dynamic shapes.</data></edge>
    <edge id="e711" source="mlsys.device-streams" target="mlsys.dispatch"><data key="relation">reduces</data><data key="statement">hides, through asynchronous enqueue, exposed</data><data key="conditions">The host can run ahead of the device, so launch work overlaps device execution until queues drain.</data></edge>
    <edge id="e712" source="mlsys.graph-replay" target="mlsys.device-streams"><data key="relation">uses</data><data key="statement">is captured from and replayed on</data><data key="conditions">Work enqueued on a stream is recorded as a graph and replayed as one launch.</data></edge>
    <edge id="e713" source="mlsys.caching-allocator" target="mlsys.dispatch"><data key="relation">reduces</data><data key="statement">avoids synchronizing allocation calls in</data><data key="conditions">Freed blocks are reused instead of calling the device allocator, which can synchronize the host.</data></edge>
    <edge id="e714" source="mlsys.graph-replay" target="mlsys.tpot"><data key="relation">reduces</data><data key="statement">reduces per-step launch overhead in</data><data key="conditions">Decode steps launch many small kernels with static shapes, so host overhead is a large share of step time.</data></edge>
    <edge id="e715" source="mlsys.loss-scaling" target="mlsys.numerical-stability"><data key="relation">increases</data><data key="statement">keeps small gradients representable, improving</data><data key="conditions">Reduced-precision gradient formats would otherwise underflow; overflow is detected and the step skipped.</data></edge>
    <edge id="e716" source="mlsys.block-scaled-format" target="mlsys.activation-outliers"><data key="relation">mitigates</data><data key="statement">limits the range damage from</data><data key="conditions">A shared scale per small block confines an outlier's effect to its own block.</data></edge>
    <edge id="e717" source="mlsys.quantization" target="mlsys.block-scaled-format"><data key="relation">uses</data><data key="statement">can encode values in</data><data key="conditions">Hardware or kernels support the block-scaled element and scale formats.</data></edge>
    <edge id="e718" source="mlsys.matrix-unit" target="mlsys.accumulation-precision"><data key="relation">determines</data><data key="statement">fixes the available</data><data key="conditions">The matrix engine implements specific accumulation formats for each input format.</data></edge>
    <edge id="e719" source="mlsys.function-transformations" target="mlsys.compilation"><data key="relation">uses</data><data key="statement">exposes as a transform</data><data key="conditions">Pure array functions are traced and handed to an XLA-style compiler.</data></edge>
    <edge id="e720" source="mlsys.single-vs-multi-controller" target="mlsys.dispatch"><data key="relation">determines</data><data key="statement">sets where per-step dispatch cost falls in</data><data key="conditions">One controller issuing work to many devices must keep dispatch asynchronous and off the critical path.</data></edge>
    <edge id="e721" source="mlsys.thread-hierarchy" target="mlsys.on-chip-sram"><data key="relation">uses</data><data key="statement">shares within a thread block</data><data key="conditions">Threads of a block cooperate through shared memory sized per block.</data></edge>
    <edge id="e722" source="mlsys.thread-hierarchy" target="mlsys.memory-coalescing"><data key="relation">determines</data><data key="statement">determines, through thread-to-address mapping,</data><data key="conditions">Adjacent threads of a warp should access adjacent addresses.</data></edge>
    <edge id="e723" source="mlsys.on-chip-sram" target="mlsys.occupancy"><data key="relation">limits</data><data key="statement">bounds</data><data key="conditions">Shared memory and registers per block limit how many warps can be resident.</data></edge>
    <edge id="e724" source="mlsys.thread-hierarchy" target="mlsys.occupancy"><data key="relation">determines</data><data key="statement">sets, through block size and per-thread resources,</data><data key="conditions">Block shape and register or shared-memory use determine resident warps per multiprocessor.</data></edge>
    <edge id="e725" source="mlsys.async-data-movement" target="mlsys.on-chip-sram"><data key="relation">uses</data><data key="statement">stages operands into</data><data key="conditions">Bulk copies land in shared memory while compute proceeds on the previous buffer.</data></edge>
    <edge id="e726" source="mlsys.async-data-movement" target="mlsys.utilization"><data key="relation">increases</data><data key="statement">raises matrix-engine</data><data key="conditions">The kernel would otherwise stall its matrix units waiting on loads.</data></edge>
    <edge id="e727" source="mlsys.matrix-engine-programming" target="mlsys.matrix-unit"><data key="relation">uses</data><data key="statement">issues instructions to</data><data key="conditions">Fragments are loaded in the shapes and layouts the unit accepts.</data></edge>
    <edge id="e728" source="mlsys.matrix-engine-programming" target="mlsys.tensor-layout"><data key="relation">requires</data><data key="statement">requires specific operand</data><data key="conditions">Matrix instructions accept only particular fragment layouts, so data may need rearrangement.</data></edge>
    <edge id="e729" source="mlsys.batch-invariance" target="mlsys.experiment-reproducibility"><data key="relation">enables</data><data key="statement">enables bitwise-reproducible serving within</data><data key="conditions">Kernels use fixed reduction strategies independent of batch size and co-batched requests.</data></edge>
    <edge id="e730" source="mlsys.systolic-array" target="mlsys.accelerator-execution-architecture"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Processing elements pass operands to neighbors under a fixed schedule.</data></edge>
    <edge id="e731" source="mlsys.simt" target="mlsys.accelerator-execution-architecture"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Thread groups issue the same instruction and divergent paths serialize.</data></edge>
    <edge id="e732" source="mlsys.matrix-unit" target="mlsys.accelerator-execution-architecture"><data key="relation">part-of</data><data key="statement">is a functional unit within</data><data key="conditions">The accelerator pairs matrix engines with vector or scalar units.</data></edge>
    <edge id="e733" source="mlsys.hbm" target="mlsys.memory-hierarchy"><data key="relation">part-of</data><data key="statement">is the device-memory level of</data><data key="conditions">The accelerator uses stacked DRAM as off-chip device memory.</data></edge>
    <edge id="e734" source="mlsys.on-chip-sram" target="mlsys.memory-hierarchy"><data key="relation">part-of</data><data key="statement">is the fastest managed level of</data><data key="conditions">The platform exposes caches, shared memory, or scratchpads near compute.</data></edge>
    <edge id="e735" source="mlsys.host-device-interconnect" target="mlsys.memory-offloading"><data key="relation">limits</data><data key="statement">bounds the throughput of</data><data key="conditions">Offloaded optimizer state, parameters, or activations cross the host link every step.</data></edge>
    <edge id="e736" source="mlsys.host-device-interconnect" target="mlsys.kv-cache-offload"><data key="relation">limits</data><data key="statement">bounds reload rate in</data><data key="conditions">Offloaded KV blocks return to device memory over the host link on reuse.</data></edge>
    <edge id="e737" source="mlsys.power-delivery" target="mlsys.rack-power-density"><data key="relation">limits</data><data key="statement">bounds</data><data key="conditions">Facility and rack feeds, conversion stages, and breakers limit sustained draw per rack.</data></edge>
    <edge id="e738" source="mlsys.power-delivery" target="mlsys.silent-data-corruption"><data key="relation">causes</data><data key="statement">can cause, through insufficient voltage margin,</data><data key="conditions">Droop or marginal supply under heavy load leaves circuits below the voltage they need for correct timing.</data></edge>
    <edge id="e739" source="mlsys.systolic-array" target="mlsys.data-movement-energy"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">Operands are reused across processing elements instead of being refetched from register files or memory.</data></edge>
    <edge id="e740" source="mlsys.dataflow" target="mlsys.locality"><data key="relation">determines</data><data key="statement">determines</data><data key="conditions">Local storage cannot hold every operand, so the schedule chooses which data is reused in place.</data></edge>
    <edge id="e741" source="mlsys.systolic-array" target="mlsys.dataflow"><data key="relation">uses</data><data key="statement">operates under a chosen</data><data key="conditions">The array keeps one operand stationary, such as weights, while others stream.</data></edge>
    <edge id="e742" source="mlsys.domain-specific-architecture" target="mlsys.energy-efficiency"><data key="relation">increases</data><data key="statement">raises</data><data key="conditions">Target operations dominate the workload and are supported by the specialized hardware.</data></edge>
    <edge id="e743" source="mlsys.hbm" target="mlsys.memory-capacity"><data key="relation">determines</data><data key="statement">sets device</data><data key="conditions">Stack count and stack height fix the capacity attached to each accelerator.</data></edge>
    <edge id="e744" source="mlsys.hbm" target="mlsys.memory-wall"><data key="relation">mitigates</data><data key="statement">narrows, without closing,</data><data key="conditions">Stacking and wide interfaces raise bandwidth, though compute still grows faster across generations.</data></edge>
    <edge id="e745" source="mlsys.memory-wall" target="mlsys.model-flops-utilization"><data key="relation">reduces</data><data key="statement">depresses</data><data key="conditions">Memory-bound phases such as decode cannot feed the arithmetic units at peak rate.</data></edge>
    <edge id="e746" source="mlsys.scale-up-interconnect" target="mlsys.network-topology"><data key="relation">part-of</data><data key="statement">forms the fastest tier of</data><data key="conditions">The cluster topology is hierarchical, with a node or rack domain joined by a slower scale-out fabric.</data></edge>
    <edge id="e747" source="mlsys.coherent-interconnect" target="mlsys.host-device-interconnect"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">The link adds hardware coherence and load-store memory semantics over a host-device physical layer.</data></edge>
    <edge id="e748" source="mlsys.coherent-interconnect" target="mlsys.kv-cache-offload"><data key="relation">enables</data><data key="statement">can provide a pooled tier for</data><data key="conditions">Attached or pooled memory is cheaper than device memory and its higher latency can be overlapped with compute.</data></edge>
    <edge id="e749" source="mlsys.kv-cache-transfer" target="mlsys.peer-to-peer-transfer"><data key="relation">uses</data><data key="statement">moves state with</data><data key="conditions">Direct device or NIC transfers avoid staging KV blocks through host memory.</data></edge>
    <edge id="e750" source="mlsys.rdma" target="mlsys.peer-to-peer-transfer"><data key="relation">enables</data><data key="statement">can read and write device memory through</data><data key="conditions">The NIC and driver support direct access to accelerator memory.</data></edge>
    <edge id="e751" source="mlsys.tdp" target="mlsys.rack-power-density"><data key="relation">determines</data><data key="statement">sets, with accelerators per rack,</data><data key="conditions">Racks are provisioned for the sustained power of the chips they hold.</data></edge>
    <edge id="e752" source="mlsys.tdp" target="mlsys.dark-silicon"><data key="relation">determines</data><data key="statement">sets the fraction of</data><data key="conditions">Transistor counts grow while the power envelope does not.</data></edge>
    <edge id="e753" source="mlsys.power-capping" target="mlsys.dvfs"><data key="relation">uses</data><data key="statement">enforces caps through</data><data key="conditions">The device lowers clocks and voltage when measured power exceeds the cap.</data></edge>
    <edge id="e754" source="mlsys.thermal-dynamics" target="mlsys.dvfs"><data key="relation">uses</data><data key="statement">throttles through</data><data key="conditions">Thermal controls lower frequency and voltage when temperature limits are approached.</data></edge>
    <edge id="e755" source="mlsys.microcontroller" target="mlsys.on-device-runtime"><data key="relation">uses</data><data key="statement">runs models through a lightweight</data><data key="conditions">No operating system or virtual memory is available, so the runtime is statically linked and memory-planned.</data></edge>
    <edge id="e756" source="mlsys.edge-npu" target="mlsys.heterogeneous-soc"><data key="relation">part-of</data><data key="statement">is one block of</data><data key="conditions">The SoC exposes the NPU alongside CPU, GPU, and DSP under shared memory and power.</data></edge>
    <edge id="e757" source="mlsys.on-device-runtime" target="mlsys.heterogeneous-soc"><data key="relation">uses</data><data key="statement">delegates operators across</data><data key="conditions">The runtime partitions supported operators onto the NPU, GPU, or DSP and falls back to CPU.</data></edge>
    <edge id="e758" source="mlsys.edge-npu" target="mlsys.energy-per-inference"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">The model's operators and precisions are supported, so inference avoids CPU fallback.</data></edge>
    <edge id="e759" source="mlsys.hardware-aware-nas" target="mlsys.on-device-memory-budget"><data key="relation">uses</data><data key="statement">searches within</data><data key="conditions">The search treats flash and SRAM limits as hard constraints on candidate models.</data></edge>
    <edge id="e760" source="mlsys.on-device-memory-budget" target="mlsys.on-device-training"><data key="relation">limits</data><data key="statement">bounds</data><data key="conditions">Training must fit weights, activations, and update state in on-chip memory.</data></edge>
    <edge id="e761" source="mlsys.recommendation-model" target="mlsys.embedding-cache"><data key="relation">uses</data><data key="statement">serves hot rows from an</data><data key="conditions">Lookups are skewed so a small set of rows receives most accesses.</data></edge>
    <edge id="e762" source="mlsys.embedding-cache" target="mlsys.storage-tiering"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Rows are placed across accelerator memory, host memory, and SSD by access frequency.</data></edge>
    <edge id="e763" source="mlsys.pipeline-parallel" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">divides per-device parameter</data><data key="conditions">Each stage holds only its layers' parameters and their state.</data></edge>
    <edge id="e764" source="mlsys.pipeline-parallel" target="mlsys.hybrid-parallel"><data key="relation">part-of</data><data key="statement">is one dimension of</data><data key="conditions">Pipeline stages are combined with data and tensor parallelism across nodes.</data></edge>
    <edge id="e765" source="mlsys.state-sharding" target="mlsys.collectives"><data key="relation">uses</data><data key="statement">gathers and scatters state through</data><data key="conditions">Sharded parameters are all-gathered before use and gradients reduce-scattered after.</data></edge>
    <edge id="e766" source="mlsys.state-sharding" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">divides per-worker</data><data key="conditions">Parameters, gradients, or optimizer state are partitioned instead of replicated.</data></edge>
    <edge id="e767" source="mlsys.fat-tree" target="mlsys.network-topology"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">The fabric is built from tiers of commodity switches.</data></edge>
    <edge id="e768" source="mlsys.rail-optimized" target="mlsys.network-topology"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Same-index accelerators across nodes share a leaf switch.</data></edge>
    <edge id="e769" source="mlsys.expert-parallel" target="mlsys.hybrid-parallel"><data key="relation">part-of</data><data key="statement">is one dimension of</data><data key="conditions">MoE layers place experts across devices alongside data and tensor parallelism.</data></edge>
    <edge id="e770" source="mlsys.sequence-parallel" target="mlsys.hybrid-parallel"><data key="relation">part-of</data><data key="statement">is one dimension of</data><data key="conditions">Long-sequence training adds a sequence axis to the parallel mapping.</data></edge>
    <edge id="e771" source="mlsys.sequence-parallel" target="mlsys.collectives"><data key="relation">uses</data><data key="statement">exchanges keys and values through</data><data key="conditions">Blocks of keys and values circulate among devices while attention is computed.</data></edge>
    <edge id="e772" source="mlsys.gradient-accumulation" target="mlsys.pipeline-bubble"><data key="relation">reduces</data><data key="statement">shrinks, through more microbatches,</data><data key="conditions">More microbatches per optimizer step fill the pipeline relative to the number of stages.</data></edge>
    <edge id="e773" source="mlsys.pipeline-bubble" target="mlsys.model-flops-utilization"><data key="relation">reduces</data><data key="statement">lowers</data><data key="conditions">Devices idle during fill and drain while their peak FLOPs still count in the denominator.</data></edge>
    <edge id="e774" source="mlsys.tree-allreduce" target="mlsys.collectives"><data key="relation">implements</data><data key="statement">is an algorithm for</data><data key="conditions">Participants are arranged in trees or hierarchical groups.</data></edge>
    <edge id="e775" source="mlsys.all-to-all" target="mlsys.collectives"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Every participant sends distinct data to every other.</data></edge>
    <edge id="e776" source="mlsys.alpha-beta-model" target="mlsys.tree-allreduce"><data key="relation">measures</data><data key="statement">predicts the cost of</data><data key="conditions">Link latency and bandwidth are roughly uniform and contention is ignored.</data></edge>
    <edge id="e777" source="mlsys.gradient-compression" target="mlsys.time-to-train"><data key="relation">reduces</data><data key="statement">can reduce</data><data key="conditions">Training is communication-bound and compression preserves convergence at the chosen ratio.</data></edge>
    <edge id="e778" source="mlsys.gradient-compression" target="mlsys.sparsity"><data key="relation">uses</data><data key="statement">can transmit only top-magnitude gradients, using</data><data key="conditions">Residuals are accumulated locally so dropped values are sent later.</data></edge>
    <edge id="e779" source="mlsys.leader-election" target="mlsys.lease"><data key="relation">uses</data><data key="statement">holds leadership through a</data><data key="conditions">The leader renews a time-bounded grant so a failed leader's authority lapses.</data></edge>
    <edge id="e780" source="mlsys.lease" target="mlsys.replication-failover"><data key="relation">enables</data><data key="statement">enables timed</data><data key="conditions">A standby can take over once the failed holder's lease has expired.</data></edge>
    <edge id="e781" source="mlsys.leader-election" target="mlsys.fencing"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">A deposed leader may still act; resources must reject its stale epoch.</data></edge>
    <edge id="e782" source="mlsys.federated-averaging" target="mlsys.secure-aggregation"><data key="relation">uses</data><data key="statement">can combine updates through</data><data key="conditions">The server must not see individual client updates.</data></edge>
    <edge id="e783" source="mlsys.client-sampling" target="mlsys.federated-averaging"><data key="relation">part-of</data><data key="statement">is the per-round selection step of</data><data key="conditions">Each round samples a subset of available clients.</data></edge>
    <edge id="e784" source="mlsys.federation-setting" target="mlsys.device-heterogeneity"><data key="relation">determines</data><data key="statement">determines exposure to</data><data key="conditions">Cross-device federations span varied hardware and runtimes; cross-silo ones are few and uniform.</data></edge>
    <edge id="e785" source="mlsys.federation-setting" target="mlsys.failure-model"><data key="relation">determines</data><data key="statement">determines the</data><data key="conditions">Cross-device clients drop out routinely, while cross-silo participants are expected to stay available.</data></edge>
    <edge id="e786" source="mlsys.embedding-table-sharding" target="mlsys.hybrid-parallel"><data key="relation">part-of</data><data key="statement">is the model-parallel part of</data><data key="conditions">Dense layers are data-parallel while embedding tables are partitioned.</data></edge>
    <edge id="e787" source="mlsys.parameter-server" target="mlsys.ring-allreduce"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both aggregate gradients for data-parallel training; servers suit sparse or asynchronous updates, all-reduce suits dense synchronous ones.</data></edge>
    <edge id="e788" source="mlsys.recommendation-model" target="mlsys.parameter-server"><data key="relation">uses</data><data key="statement">commonly trains sparse tables through a</data><data key="conditions">Updates touch only the rows looked up in each batch.</data></edge>
    <edge id="e789" source="mlsys.auto-parallelization" target="mlsys.analytical-performance-model"><data key="relation">uses</data><data key="statement">ranks plans with</data><data key="conditions">The search evaluates candidate partitionings with a cost model of compute and communication.</data></edge>
    <edge id="e790" source="mlsys.network-topology" target="mlsys.device-mesh"><data key="relation">determines</data><data key="statement">determines the axis alignment of</data><data key="conditions">The busiest parallel axis is mapped onto the fastest links.</data></edge>
    <edge id="e791" source="mlsys.hybrid-parallel" target="mlsys.device-mesh"><data key="relation">uses</data><data key="statement">assigns parallel dimensions to the axes of</data><data key="conditions">Each parallelism dimension corresponds to a named mesh axis.</data></edge>
    <edge id="e792" source="mlsys.pue" target="mlsys.warehouse-scale-computer"><data key="relation">measures</data><data key="statement">measures facility overhead of</data><data key="conditions">IT and total facility energy are metered over the same period.</data></edge>
    <edge id="e793" source="mlsys.liquid-cooling" target="mlsys.pue"><data key="relation">reduces</data><data key="statement">can reduce</data><data key="conditions">Cooling energy is a large share of facility overhead and liquid loops need less fan and chiller work.</data></edge>
    <edge id="e794" source="mlsys.liquid-cooling" target="mlsys.thermal-dynamics"><data key="relation">mitigates</data><data key="statement">mitigates throttling in</data><data key="conditions">Air cooling cannot hold chips below their thermal limits at the target power.</data></edge>
    <edge id="e795" source="mlsys.power-oversubscription" target="mlsys.tco"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">More servers share provisioned power capacity because their peaks rarely coincide.</data></edge>
    <edge id="e796" source="mlsys.warehouse-scale-computer" target="mlsys.power-oversubscription"><data key="relation">uses</data><data key="statement">provisions power through</data><data key="conditions">Fleet-wide power measurements show aggregate peaks below summed nameplate.</data></edge>
    <edge id="e797" source="mlsys.warehouse-scale-computer" target="mlsys.tco"><data key="relation">uses</data><data key="statement">is designed against the cost model of</data><data key="conditions">When facility, hardware, and software choices are evaluated as one cost model over the fleet's lifetime.</data></edge>
    <edge id="e798" source="mlsys.lossless-fabric" target="mlsys.congestion-control"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">Priority flow control alone spreads congestion and pauses; end-to-end rate control keeps queues short.</data></edge>
    <edge id="e799" source="mlsys.lossless-fabric" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">can inflate</data><data key="conditions">Pause frames cause head-of-line blocking that delays unrelated flows under congestion.</data></edge>
    <edge id="e800" source="mlsys.congestion-control" target="mlsys.performance-interference"><data key="relation">mitigates</data><data key="statement">mitigates network</data><data key="conditions">Jobs share switch queues on a common fabric.</data></edge>
    <edge id="e801" source="mlsys.rail-optimized" target="mlsys.scale-up-interconnect"><data key="relation">uses</data><data key="statement">relies for cross-rail traffic on</data><data key="conditions">Traffic between different rails is forwarded through the node's scale-up domain.</data></edge>
    <edge id="e802" source="mlsys.in-network-reduction" target="mlsys.collectives"><data key="relation">reduces</data><data key="statement">reduces link traffic and latency of</data><data key="conditions">Switches support aggregation for the data types and reduction operations used.</data></edge>
    <edge id="e803" source="mlsys.in-network-reduction" target="mlsys.ring-allreduce"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both perform all-reduce; switch aggregation shortens paths while rings need only end-host support.</data></edge>
    <edge id="e804" source="mlsys.parallel-file-system" target="mlsys.object-storage"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both serve shared training data and checkpoints; file systems offer lower latency, object stores cheaper scalable capacity.</data></edge>
    <edge id="e805" source="mlsys.checkpoint-io" target="mlsys.parallel-file-system"><data key="relation">uses</data><data key="statement">commonly writes to a</data><data key="conditions">Sharded checkpoints are written concurrently by many ranks.</data></edge>
    <edge id="e806" source="mlsys.object-storage" target="mlsys.dataset-storage-layout"><data key="relation">determines</data><data key="statement">favors large sequential shards in</data><data key="conditions">Per-request latency is high, so many small reads are slow.</data></edge>
    <edge id="e807" source="mlsys.async-checkpointing" target="mlsys.checkpoint-io"><data key="relation">reduces</data><data key="statement">hides the training stall from</data><data key="conditions">A fast snapshot to host memory lets persistence proceed in the background.</data></edge>
    <edge id="e808" source="mlsys.checkpoint-io" target="mlsys.checkpoint-interval"><data key="relation">determines</data><data key="statement">sets the write-cost input to</data><data key="conditions">The optimal interval scales with the square root of checkpoint cost times MTBF.</data></edge>
    <edge id="e809" source="mlsys.data-parallel" target="mlsys.gang-scheduling"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">Synchronous replicas cannot start or step until every worker holds its allocation.</data></edge>
    <edge id="e810" source="mlsys.gang-scheduling" target="mlsys.queueing"><data key="relation">increases</data><data key="statement">can increase job</data><data key="conditions">Large jobs wait until enough resources are free at once.</data></edge>
    <edge id="e811" source="mlsys.bin-packing" target="mlsys.utilization"><data key="relation">increases</data><data key="statement">raises</data><data key="conditions">Jobs can share nodes without violating resource or isolation constraints.</data></edge>
    <edge id="e812" source="mlsys.bin-packing" target="mlsys.performance-interference"><data key="relation">increases</data><data key="statement">can increase</data><data key="conditions">Dense co-location puts jobs on shared caches, memory bandwidth, and links.</data></edge>
    <edge id="e813" source="mlsys.multi-tenancy" target="mlsys.gpu-partitioning"><data key="relation">uses</data><data key="statement">can share devices through</data><data key="conditions">Tenant workloads are too small to saturate whole accelerators.</data></edge>
    <edge id="e814" source="mlsys.resource-quota" target="mlsys.multi-tenancy"><data key="relation">part-of</data><data key="statement">is a policy within</data><data key="conditions">Tenants share a cluster under stated limits and guarantees.</data></edge>
    <edge id="e815" source="mlsys.resource-quota" target="mlsys.dominant-resource-fairness"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both divide shared capacity among tenants; quotas are static limits, DRF adapts shares to demand.</data></edge>
    <edge id="e816" source="mlsys.gpu-partitioning" target="mlsys.performance-interference"><data key="relation">mitigates</data><data key="statement">mitigates, with hardware partitions,</data><data key="conditions">Partitions give each workload dedicated memory and compute slices; time-slicing does not.</data></edge>
    <edge id="e817" source="mlsys.elastic-training" target="mlsys.spot-capacity"><data key="relation">enables</data><data key="statement">makes usable</data><data key="conditions">Training continues while preempted workers leave and replacements join.</data></edge>
    <edge id="e818" source="mlsys.ridge-point" target="mlsys.roofline"><data key="relation">part-of</data><data key="statement">is the corner of</data><data key="conditions">Both ceilings refer to the same device and memory level.</data></edge>
    <edge id="e819" source="mlsys.memory-wall" target="mlsys.ridge-point"><data key="relation">increases</data><data key="statement">moves to higher intensity the</data><data key="conditions">Peak compute grows faster than bandwidth across hardware generations.</data></edge>
    <edge id="e820" source="mlsys.parallel-efficiency" target="mlsys.strong-scaling"><data key="relation">measures</data><data key="statement">measures</data><data key="conditions">Problem size is fixed while resources grow.</data></edge>
    <edge id="e821" source="mlsys.parallel-efficiency" target="mlsys.weak-scaling"><data key="relation">measures</data><data key="statement">measures</data><data key="conditions">Work per resource is fixed while resources and problem size grow.</data></edge>
    <edge id="e822" source="mlsys.weak-scaling" target="mlsys.strong-scaling"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both describe how to use added resources; one grows the problem, the other fixes it.</data></edge>
    <edge id="e823" source="mlsys.critical-batch-size" target="mlsys.weak-scaling"><data key="relation">limits</data><data key="statement">bounds useful data-parallel</data><data key="conditions">Growing the global batch with worker count stops reducing optimization steps beyond the critical batch size.</data></edge>
    <edge id="e824" source="mlsys.capacity-planning" target="mlsys.littles-law"><data key="relation">uses</data><data key="statement">sizes concurrency with</data><data key="conditions">Arrival rate and time in system are measured for a stable operating point.</data></edge>
    <edge id="e825" source="mlsys.batching" target="mlsys.latency-throughput-curve"><data key="relation">determines</data><data key="statement">moves the operating point along</data><data key="conditions">Larger batches raise throughput while adding batch-formation and execution delay.</data></edge>
    <edge id="e826" source="mlsys.queueing" target="mlsys.latency-throughput-curve"><data key="relation">determines</data><data key="statement">bends upward the</data><data key="conditions">Utilization approaches service capacity, so waiting time grows sharply.</data></edge>
    <edge id="e827" source="mlsys.arrival-burstiness" target="mlsys.capacity-planning"><data key="relation">determines</data><data key="statement">raises headroom required by</data><data key="conditions">Capacity is provisioned for bursts at the target latency percentile, not mean load.</data></edge>
    <edge id="e828" source="mlsys.model-fidelity" target="mlsys.performance-simulation"><data key="relation">measures</data><data key="statement">bounds trust in</data><data key="conditions">Simulator predictions are validated against measurement on reference workloads.</data></edge>
    <edge id="e829" source="mlsys.model-fidelity" target="mlsys.profiling"><data key="relation">requires</data><data key="statement">requires measurements from</data><data key="conditions">Validation compares predictions with profiled or benchmarked execution.</data></edge>
    <edge id="e830" source="mlsys.amdahls-law" target="mlsys.parallel-efficiency"><data key="relation">limits</data><data key="statement">bounds</data><data key="conditions">The unparallelized fraction is fixed while workers are added to a fixed-size problem.</data></edge>
    <edge id="e831" source="mlsys.dataset-storage-layout" target="mlsys.input-pipeline"><data key="relation">determines</data><data key="statement">sets the read and decode cost of</data><data key="conditions">Record grouping, compression, and columnar layout decide how many bytes each batch must fetch and decode.</data></edge>
    <edge id="e832" source="mlsys.dark-silicon" target="mlsys.compute-throughput"><data key="relation">limits</data><data key="statement">bounds sustained all-unit</data><data key="conditions">Power and thermal limits prevent every unit from running at full frequency at once.</data></edge>
    <edge id="e833" source="mlsys.fat-tree" target="mlsys.tco"><data key="relation">reduces</data><data key="statement">lowers network cost within</data><data key="conditions">Identical commodity switches replace large high-radix core switches at equal bisection bandwidth.</data></edge>
    <edge id="e834" source="mlsys.lineage" target="mlsys.data-dependency"><data key="relation">detects</data><data key="statement">reveals undeclared and underused</data><data key="conditions">Lineage must be captured at the feature or column level and compared against what the model actually consumes.</data></edge>
    <edge id="e835" source="mlsys.data-contract" target="mlsys.data-dependency"><data key="relation">mitigates</data><data key="statement">makes explicit and versions</data><data key="conditions">Holds when every model input is consumed through a declared, owned contract rather than an ad hoc signal.</data></edge>
    <edge id="e836" source="mlsys.sliced-evaluation" target="mlsys.entanglement"><data key="relation">detects</data><data key="statement">exposes subset regressions caused by</data><data key="conditions">Applies when a change to one input or hyperparameter is evaluated on the same fixed slices before and after.</data></edge>
    <edge id="e837" source="mlsys.configuration-management" target="mlsys.experiment-reproducibility"><data key="relation">enables</data><data key="statement">pins the settings required for</data><data key="conditions">Holds when every run records the exact reviewed configuration version it executed.</data></edge>
    <edge id="e838" source="mlsys.configuration-management" target="mlsys.rollback"><data key="relation">enables</data><data key="statement">makes configuration changes revertible through</data><data key="conditions">Applies when configuration is versioned and deployed through the same pipeline as code.</data></edge>
    <edge id="e839" source="mlsys.feature-store" target="mlsys.ml-platform"><data key="relation">part-of</data><data key="statement">is a shared component of</data><data key="conditions">Typical when an organization centralizes feature definitions for many teams.</data></edge>
    <edge id="e840" source="mlsys.model-registry" target="mlsys.ml-platform"><data key="relation">part-of</data><data key="statement">is a shared component of</data><data key="conditions">Typical when promotion and deployment are standardized across teams.</data></edge>
    <edge id="e841" source="mlsys.infrastructure-as-code" target="mlsys.ml-platform"><data key="relation">enables</data><data key="statement">provisions repeatable environments for</data><data key="conditions">Holds when platform compute, storage, and services are declared in versioned files.</data></edge>
    <edge id="e842" source="mlsys.ml-roles" target="mlsys.incident-response"><data key="relation">determines</data><data key="statement">assigns on-call ownership in</data><data key="conditions">Applies when data, model, and platform owners are named for each production model.</data></edge>
    <edge id="e843" source="mlsys.undeclared-consumers" target="mlsys.technical-debt"><data key="relation">increases</data><data key="statement">add hidden coupling to</data><data key="conditions">Holds whenever model outputs are consumed without access control or registration.</data></edge>
    <edge id="e844" source="mlsys.authorization" target="mlsys.undeclared-consumers"><data key="relation">mitigates</data><data key="statement">prevents unregistered</data><data key="conditions">Applies when prediction endpoints and output tables require granted access per consumer.</data></edge>
    <edge id="e845" source="mlsys.production-readiness" target="mlsys.technical-debt"><data key="relation">measures</data><data key="statement">scores accumulated</data><data key="conditions">The rubric must be applied repeatedly to the same system to track change over time.</data></edge>
    <edge id="e846" source="mlsys.production-readiness" target="mlsys.integration-testing"><data key="relation">requires</data><data key="statement">requires evidence from</data><data key="conditions">Holds for the infrastructure and pipeline sections of the rubric.</data></edge>
    <edge id="e847" source="mlsys.supervised-fine-tuning" target="mlsys.supervised-learning"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Holds when training uses input-output demonstrations as targets.</data></edge>
    <edge id="e848" source="mlsys.supervised-fine-tuning" target="mlsys.transfer-learning"><data key="relation">implements</data><data key="statement">implements</data><data key="conditions">Applies when a pretrained model is adapted to a new task or behavior.</data></edge>
    <edge id="e849" source="mlsys.rlhf" target="mlsys.supervised-fine-tuning"><data key="relation">requires</data><data key="statement">starts from a policy produced by</data><data key="conditions">Holds for the standard InstructGPT-style pipeline; some recipes skip or shorten the SFT stage.</data></edge>
    <edge id="e850" source="mlsys.synthetic-data" target="mlsys.supervised-fine-tuning"><data key="relation">enables</data><data key="statement">supplies instruction data for</data><data key="conditions">Applies when generated demonstrations are filtered for quality and diversity.</data></edge>
    <edge id="e851" source="mlsys.incremental-training" target="mlsys.catastrophic-forgetting"><data key="relation">causes</data><data key="statement">can cause</data><data key="conditions">Holds when new data differs from the original distribution and old data is not replayed.</data></edge>
    <edge id="e852" source="mlsys.incremental-training" target="mlsys.experience-replay"><data key="relation">uses</data><data key="statement">commonly mixes in</data><data key="conditions">Applies when earlier data is retained and permitted for reuse.</data></edge>
    <edge id="e853" source="mlsys.data-retention" target="mlsys.experience-replay"><data key="relation">limits</data><data key="statement">limits which past examples are available to</data><data key="conditions">Holds when retention or deletion policies remove raw training data after a fixed period.</data></edge>
    <edge id="e854" source="mlsys.process-reward-model" target="mlsys.reward-model"><data key="relation">implements</data><data key="statement">can supply the training signal of</data><data key="conditions">When step scores train the policy rather than only guide inference-time search.</data></edge>
    <edge id="e855" source="mlsys.rlvr" target="mlsys.reinforcement-learning"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Holds when rewards come from programmatic outcome checks.</data></edge>
    <edge id="e856" source="mlsys.rlvr" target="mlsys.rl-rollout"><data key="relation">requires</data><data key="statement">requires many sampled responses from</data><data key="conditions">Holds for policy-gradient training where rewards are computed on generated outputs.</data></edge>
    <edge id="e857" source="mlsys.verifier" target="mlsys.reward-hacking"><data key="relation">causes</data><data key="statement">imperfect checks can cause</data><data key="conditions">Holds when a policy or search is optimized against a verifier with exploitable false positives.</data></edge>
    <edge id="e858" source="mlsys.best-of-n" target="mlsys.unit-cost"><data key="relation">increases</data><data key="statement">multiplies generation cost in</data><data key="conditions">Generation cost scales roughly linearly with n unless prefixes are shared.</data></edge>
    <edge id="e859" source="mlsys.best-of-n" target="mlsys.self-consistency"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both spend parallel samples; best-of-n needs a scorer while self-consistency needs answers that can be voted on.</data></edge>
    <edge id="e860" source="mlsys.best-of-n" target="mlsys.sampling-controls"><data key="relation">requires</data><data key="statement">requires candidate diversity from</data><data key="conditions">For repeated generation with the same model and prompt when stochastic token selection supplies candidate diversity; deterministic greedy decoding with unchanged inputs repeats the same output.</data></edge>
    <edge id="e861" source="mlsys.pass-at-k" target="mlsys.metrics"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Applies when outputs have an automatic correctness check, as in code generation.</data></edge>
    <edge id="e862" source="mlsys.sampling-controls" target="mlsys.pass-at-k"><data key="relation">determines</data><data key="statement">temperature shapes</data><data key="conditions">For a fixed model, task set, sampling procedure, and correctness criterion; the preferred temperature depends on the evaluation setting and sample budget.</data></edge>
    <edge id="e863" source="mlsys.inference-time-search" target="mlsys.unit-cost"><data key="relation">increases</data><data key="statement">multiplies per-query compute in</data><data key="conditions">Holds in proportion to the number of expanded and scored nodes.</data></edge>
    <edge id="e864" source="mlsys.inference-time-search" target="mlsys.prefix-cache"><data key="relation">uses</data><data key="statement">shares partial-solution state through</data><data key="conditions">Applies when branches share prompt and partial-solution prefixes on one server.</data></edge>
    <edge id="e865" source="mlsys.self-consistency" target="mlsys.unit-cost"><data key="relation">increases</data><data key="statement">multiplies generation cost in</data><data key="conditions">Cost scales with the number of sampled reasoning paths.</data></edge>
    <edge id="e866" source="mlsys.test-time-scaling" target="mlsys.verifier"><data key="relation">uses</data><data key="statement">uses search guided by</data><data key="conditions">Applies to the search-based way of spending inference compute, as opposed to sequential revision.</data></edge>
    <edge id="e867" source="mlsys.pairwise-preference-eval" target="mlsys.llm-judge"><data key="relation">uses</data><data key="statement">can use as the judge</data><data key="conditions">Applies when pairwise comparisons are graded by a model rather than people.</data></edge>
    <edge id="e868" source="mlsys.pairwise-preference-eval" target="mlsys.human-evaluation"><data key="relation">uses</data><data key="statement">aggregates votes from</data><data key="conditions">Holds for crowd-sourced arenas where people choose between two outputs.</data></edge>
    <edge id="e869" source="mlsys.annotator-agreement" target="mlsys.human-evaluation"><data key="relation">measures</data><data key="statement">measures reliability of</data><data key="conditions">Requires several raters to judge overlapping items.</data></edge>
    <edge id="e870" source="mlsys.evaluation-harness" target="mlsys.llm-judge"><data key="relation">uses</data><data key="statement">can score open-ended outputs with</data><data key="conditions">Applies when tasks lack exact-match references.</data></edge>
    <edge id="e871" source="mlsys.llm-judge" target="mlsys.hallucination"><data key="relation">detects</data><data key="statement">can flag</data><data key="conditions">Holds when the judge sees the source evidence and its error rate has been measured against people.</data></edge>
    <edge id="e872" source="mlsys.missing-data" target="mlsys.train-serve-skew"><data key="relation">causes</data><data key="statement">can cause</data><data key="conditions">Holds when missingness patterns or imputation differ between offline data and live requests.</data></edge>
    <edge id="e873" source="mlsys.data-validation" target="mlsys.missing-data"><data key="relation">detects</data><data key="statement">flags unexpected</data><data key="conditions">Requires declared expectations on completeness per feature.</data></edge>
    <edge id="e874" source="mlsys.data-validation" target="mlsys.data-quality"><data key="relation">measures</data><data key="statement">checks</data><data key="conditions">Covers only the properties the checks encode, not semantic correctness.</data></edge>
    <edge id="e875" source="mlsys.data-validation" target="mlsys.schema-evolution"><data key="relation">detects</data><data key="statement">flags undeclared</data><data key="conditions">Holds when incoming data is compared against the expected schema version.</data></edge>
    <edge id="e876" source="mlsys.schema-evolution" target="mlsys.train-serve-skew"><data key="relation">causes</data><data key="statement">uncoordinated changes can cause</data><data key="conditions">Holds when training and serving read different schema versions or interpret a changed field differently.</data></edge>
    <edge id="e877" source="mlsys.evaluation-split" target="mlsys.leakage"><data key="relation">mitigates</data><data key="statement">guards against</data><data key="conditions">Holds when splits respect time, entity, and duplicate boundaries.</data></edge>
    <edge id="e878" source="mlsys.evaluation-split" target="mlsys.selection-bias"><data key="relation">mitigates</data><data key="statement">keeps a final test partition free of</data><data key="conditions">Holds only if the final test partition is not used for any selection decision.</data></edge>
    <edge id="e879" source="mlsys.data-mixture" target="mlsys.data-selection"><data key="relation">part-of</data><data key="statement">records the sampling proportions chosen in</data><data key="conditions">When learning effort is allocated across data sources by weighted sampling.</data></edge>
    <edge id="e880" source="mlsys.active-learning" target="mlsys.data-selection"><data key="relation">specializes</data><data key="statement">is label-acquisition</data><data key="conditions">Applies when the cost being allocated is annotation effort.</data></edge>
    <edge id="e881" source="mlsys.weak-supervision" target="mlsys.active-learning"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both reduce manual labeling cost; one writes labeling heuristics, the other chooses what humans label.</data></edge>
    <edge id="e882" source="mlsys.quality-filtering" target="mlsys.data-quality"><data key="relation">increases</data><data key="statement">raises average</data><data key="conditions">Holds when the filter's notion of quality matches the target task; filters can also remove useful diversity.</data></edge>
    <edge id="e883" source="mlsys.quality-filtering" target="mlsys.batch-data-processing"><data key="relation">uses</data><data key="statement">runs at corpus scale on</data><data key="conditions">Applies to web-scale pretraining corpora.</data></edge>
    <edge id="e884" source="mlsys.data-augmentation" target="mlsys.regularization"><data key="relation">specializes</data><data key="statement">acts as a form of</data><data key="conditions">Holds when transformations are label-preserving.</data></edge>
    <edge id="e885" source="mlsys.data-augmentation" target="mlsys.distribution-shift"><data key="relation">mitigates</data><data key="statement">can reduce sensitivity to</data><data key="conditions">Holds only for shifts that the chosen transformations actually model.</data></edge>
    <edge id="e886" source="mlsys.synthetic-data" target="mlsys.data-augmentation"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both enlarge training data; augmentation transforms real examples while synthetic data generates new ones.</data></edge>
    <edge id="e887" source="mlsys.domain-randomization" target="mlsys.synthetic-data"><data key="relation">uses</data><data key="statement">generates varied</data><data key="conditions">Applies to simulator-generated training data for transfer to the real world.</data></edge>
    <edge id="e888" source="mlsys.data-acquisition" target="mlsys.distribution-shift"><data key="relation">causes</data><data key="statement">sampling bias can cause</data><data key="conditions">Holds when the collected population differs from the deployment population.</data></edge>
    <edge id="e889" source="mlsys.stream-processing" target="mlsys.batch-data-processing"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Choose by whether the data is unbounded and how fresh outputs must be.</data></edge>
    <edge id="e890" source="mlsys.online-learning" target="mlsys.stream-processing"><data key="relation">uses</data><data key="statement">consumes examples from</data><data key="conditions">Applies when updates happen as events arrive.</data></edge>
    <edge id="e891" source="mlsys.online-learning" target="mlsys.concept-drift"><data key="relation">mitigates</data><data key="statement">adapts to</data><data key="conditions">Holds when labels arrive quickly enough to track the change.</data></edge>
    <edge id="e892" source="mlsys.feature-backfill" target="mlsys.train-serve-skew"><data key="relation">mitigates</data><data key="statement">realigns history to reduce</data><data key="conditions">Holds when the backfill uses the same definition that serving computes.</data></edge>
    <edge id="e893" source="mlsys.data-versioning" target="mlsys.artifact-version"><data key="relation">part-of</data><data key="statement">is part of</data><data key="conditions">Holds when a release records the exact dataset versions it was trained and evaluated on.</data></edge>
    <edge id="e894" source="mlsys.lineage" target="mlsys.data-versioning"><data key="relation">requires</data><data key="statement">references immutable</data><data key="conditions">Lineage is only replayable if the referenced datasets are versioned.</data></edge>
    <edge id="e895" source="mlsys.batch-data-processing" target="mlsys.dataset-storage-layout"><data key="relation">uses</data><data key="statement">prunes reads through</data><data key="conditions">Holds for columnar, partitioned layouts with statistics.</data></edge>
    <edge id="e896" source="mlsys.backpressure" target="mlsys.queueing"><data key="relation">limits</data><data key="statement">bounds queue growth and</data><data key="conditions">Holds when upstream producers honor the signal rather than buffering unboundedly.</data></edge>
    <edge id="e897" source="mlsys.regularization" target="mlsys.membership-inference"><data key="relation">mitigates</data><data key="statement">reduces the overfitting exploited by</data><data key="conditions">Reduces but does not bound leakage; formal bounds need differential privacy.</data></edge>
    <edge id="e898" source="mlsys.critical-batch-size" target="mlsys.batch-size"><data key="relation">limits</data><data key="statement">bounds the useful</data><data key="conditions">Holds for a given target loss and training phase; it grows as loss falls.</data></edge>
    <edge id="e899" source="mlsys.activation-recompute" target="mlsys.execution-time"><data key="relation">increases</data><data key="statement">adds about one extra forward pass to</data><data key="conditions">Holds for full recomputation; selective schemes recompute less.</data></edge>
    <edge id="e900" source="mlsys.activation-recompute" target="mlsys.memory-offloading"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both relieve accelerator memory; one spends compute, the other interconnect bandwidth.</data></edge>
    <edge id="e901" source="mlsys.self-supervised-learning" target="mlsys.transfer-learning"><data key="relation">enables</data><data key="statement">pretrains representations for</data><data key="conditions">Holds when the pretraining data covers the target domain.</data></edge>
    <edge id="e902" source="mlsys.self-supervised-learning" target="mlsys.embeddings"><data key="relation">produces</data><data key="statement">produces</data><data key="conditions">Applies to contrastive and masked-prediction objectives.</data></edge>
    <edge id="e903" source="mlsys.slice-discovery" target="mlsys.unsupervised-learning"><data key="relation">uses</data><data key="statement">clusters errors with</data><data key="conditions">Applies to methods that group examples without predefined slice labels.</data></edge>
    <edge id="e904" source="mlsys.slice-discovery" target="mlsys.embeddings"><data key="relation">uses</data><data key="statement">searches for coherent slices in</data><data key="conditions">Holds for embedding-based methods such as Domino.</data></edge>
    <edge id="e905" source="mlsys.rlhf" target="mlsys.reinforcement-learning"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Holds for PPO-style optimization against a learned reward.</data></edge>
    <edge id="e906" source="mlsys.preference-optimization" target="mlsys.rlhf"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both align to preference data; DPO skips the separate reward model and RL loop.</data></edge>
    <edge id="e907" source="mlsys.preference-optimization" target="mlsys.training-state"><data key="relation">reduces</data><data key="statement">avoids reward and value models in</data><data key="conditions">Holds relative to PPO-based RLHF; a frozen reference model is still needed.</data></edge>
    <edge id="e908" source="mlsys.reward-model" target="mlsys.labels"><data key="relation">requires</data><data key="statement">requires reliable preference</data><data key="conditions">Holds because reward accuracy is bounded by comparison label agreement.</data></edge>
    <edge id="e909" source="mlsys.vla-model" target="mlsys.imitation-learning"><data key="relation">uses</data><data key="statement">is commonly trained by</data><data key="conditions">Applies when robot demonstrations supply the action targets.</data></edge>
    <edge id="e910" source="mlsys.batch-size" target="mlsys.learning-rate-schedule"><data key="relation">determines</data><data key="statement">shifts the best peak rate of</data><data key="conditions">Holds below the critical batch size, where learning rate is typically scaled with batch.</data></edge>
    <edge id="e911" source="mlsys.hyperparameter-transfer" target="mlsys.learning-rate-schedule"><data key="relation">determines</data><data key="statement">carries tuned settings into</data><data key="conditions">Holds under a parameterization such as muP that keeps optima stable across width.</data></edge>
    <edge id="e912" source="mlsys.hyperparameter-transfer" target="mlsys.hyperparameter-search"><data key="relation">uses</data><data key="statement">runs on small proxies</data><data key="conditions">Holds when proxy models share the target's parameterization.</data></edge>
    <edge id="e913" source="mlsys.hyperparameter-search" target="mlsys.experiment-tracking"><data key="relation">uses</data><data key="statement">compares trials through</data><data key="conditions">Applies whenever more than a handful of configurations are evaluated.</data></edge>
    <edge id="e914" source="mlsys.gradient-accumulation" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">reduces per-step activation</data><data key="conditions">Holds because activation memory scales with micro-batch, not effective batch.</data></edge>
    <edge id="e915" source="mlsys.gradient-accumulation" target="mlsys.collectives"><data key="relation">reduces</data><data key="statement">reduces the frequency of</data><data key="conditions">Holds when gradient all-reduce is deferred to the last micro-batch.</data></edge>
    <edge id="e916" source="mlsys.lora" target="mlsys.low-rank-factorization"><data key="relation">uses</data><data key="statement">parameterizes updates by</data><data key="conditions">Holds when the update rank is much smaller than the frozen weight dimensions.</data></edge>
    <edge id="e917" source="mlsys.weight-sync" target="mlsys.collectives"><data key="relation">uses</data><data key="statement">broadcasts weights through</data><data key="conditions">Applies when training and rollout workers sit on separate device groups.</data></edge>
    <edge id="e918" source="mlsys.weight-sync" target="mlsys.training-goodput"><data key="relation">reduces</data><data key="statement">sync time reduces</data><data key="conditions">Holds when transfers are not overlapped with rollout or training.</data></edge>
    <edge id="e919" source="mlsys.rl-rollout" target="mlsys.policy-staleness"><data key="relation">increases</data><data key="statement">asynchronous generation increases</data><data key="conditions">Holds when rollouts overlap with policy updates.</data></edge>
    <edge id="e920" source="mlsys.on-device-training" target="mlsys.peft"><data key="relation">uses</data><data key="statement">updates sparse parameter subsets via</data><data key="conditions">Applies under tight device memory where full backpropagation does not fit.</data></edge>
    <edge id="e921" source="mlsys.federated-learning" target="mlsys.on-device-training"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">Holds for cross-device federation; cross-silo clients train on servers.</data></edge>
    <edge id="e922" source="mlsys.cross-validation" target="mlsys.evaluation-split"><data key="relation">specializes</data><data key="statement">is a rotating</data><data key="conditions">Applies when data is too scarce for a single fixed validation split and examples are exchangeable.</data></edge>
    <edge id="e923" source="mlsys.conformal-prediction" target="mlsys.evaluation-split"><data key="relation">requires</data><data key="statement">requires a held-out calibration</data><data key="conditions">For split conformal methods, the calibration data are separated from score-function fitting, with the stated exchangeability assumptions required for the coverage guarantee.</data></edge>
    <edge id="e924" source="mlsys.sequential-testing" target="mlsys.rollout"><data key="relation">enables</data><data key="statement">enables early stopping of a harmful stage in</data><data key="conditions">Holds when the test's error guarantees allow continuous monitoring.</data></edge>
    <edge id="e925" source="mlsys.feedback-loop" target="mlsys.experiment-interference"><data key="relation">causes</data><data key="statement">shared retraining data can cause</data><data key="conditions">Holds when control and treatment models learn from logs that both arms influenced.</data></edge>
    <edge id="e926" source="mlsys.benchmark-contamination" target="mlsys.metrics"><data key="relation">increases</data><data key="statement">inflates</data><data key="conditions">Holds when the evaluated items or close variants were seen in training.</data></edge>
    <edge id="e927" source="mlsys.behavioral-testing" target="mlsys.metamorphic-testing"><data key="relation">uses</data><data key="statement">builds invariance and directional tests from</data><data key="conditions">Applies to CheckList-style INV and DIR tests.</data></edge>
    <edge id="e928" source="mlsys.release-gate" target="mlsys.behavioral-testing"><data key="relation">uses</data><data key="statement">can block on failures of</data><data key="conditions">Applies when capability tests are part of the predeclared checks.</data></edge>
    <edge id="e929" source="mlsys.release-gate" target="mlsys.dangerous-capability-eval"><data key="relation">uses</data><data key="statement">can block on thresholds crossed in</data><data key="conditions">Applies to frontier-model releases governed by a scaling policy.</data></edge>
    <edge id="e930" source="mlsys.admission" target="mlsys.queueing"><data key="relation">limits</data><data key="statement">bounds by shedding excess load</data><data key="conditions">Holds when rejected work is not retried immediately into the same queue.</data></edge>
    <edge id="e931" source="mlsys.admission" target="mlsys.graceful-degradation"><data key="relation">implements</data><data key="statement">implements load shedding for</data><data key="conditions">Holds when shedding low-priority work keeps the remaining requests within their SLO.</data></edge>
    <edge id="e932" source="mlsys.autoscaling" target="mlsys.utilization"><data key="relation">increases</data><data key="statement">raises average</data><data key="conditions">Holds when demand varies and scale-down is permitted.</data></edge>
    <edge id="e933" source="mlsys.paged-kv" target="mlsys.prefix-cache"><data key="relation">enables</data><data key="statement">enables block sharing for</data><data key="conditions">Holds when the allocator supports copy-on-write sharing of identical prefix blocks.</data></edge>
    <edge id="e934" source="mlsys.paged-kv" target="mlsys.service-capacity"><data key="relation">increases</data><data key="statement">raises batch size and so</data><data key="conditions">Holds when KV memory fragmentation was limiting concurrency.</data></edge>
    <edge id="e935" source="mlsys.speculative-decoding" target="mlsys.tpot"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">Holds when the draft acceptance rate is high and decode is memory-bound.</data></edge>
    <edge id="e936" source="mlsys.speculative-decoding" target="mlsys.arithmetic-intensity"><data key="relation">increases</data><data key="statement">verifies several tokens per weight read, raising</data><data key="conditions">Holds at small batch sizes where decode is memory-bound.</data></edge>
    <edge id="e937" source="mlsys.prefix-cache" target="mlsys.ttft"><data key="relation">reduces</data><data key="statement">skips recomputed prefill to reduce</data><data key="conditions">Holds when requests share long identical prefixes and the cache hits.</data></edge>
    <edge id="e938" source="mlsys.queueing" target="mlsys.ttft"><data key="relation">increases</data><data key="statement">increases</data><data key="conditions">Holds under load when requests wait for a prefill slot.</data></edge>
    <edge id="e939" source="mlsys.rag" target="mlsys.ttft"><data key="relation">increases</data><data key="statement">lengthens prompts and so</data><data key="conditions">Holds because retrieved passages add prefill tokens and retrieval adds a serial step.</data></edge>
    <edge id="e940" source="mlsys.online-inference" target="mlsys.batch-inference"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Choose by required freshness, latency, and cost per prediction.</data></edge>
    <edge id="e941" source="mlsys.online-inference" target="mlsys.model-server"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">Applies when predictions are served per request behind a network interface.</data></edge>
    <edge id="e942" source="mlsys.batch-inference" target="mlsys.unit-cost"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">Holds when predictions can be precomputed for a known input set.</data></edge>
    <edge id="e943" source="mlsys.model-server" target="mlsys.model-artifact"><data key="relation">requires</data><data key="statement">loads and executes</data><data key="conditions">Holds for any server that loads serialized weights and graph at startup or on version change.</data></edge>
    <edge id="e944" source="mlsys.multi-model-serving" target="mlsys.utilization"><data key="relation">increases</data><data key="statement">increases</data><data key="conditions">Holds when individual models have low or bursty traffic.</data></edge>
    <edge id="e945" source="mlsys.model-cascade" target="mlsys.model-routing"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Routing decides before calling a model; a cascade escalates after a cheap model's answer.</data></edge>
    <edge id="e946" source="mlsys.hedged-requests" target="mlsys.arrival-rate"><data key="relation">increases</data><data key="statement">adds duplicate load to</data><data key="conditions">Extra load stays small when hedges fire only after a high-percentile delay.</data></edge>
    <edge id="e947" source="mlsys.hedged-requests" target="mlsys.stragglers"><data key="relation">mitigates</data><data key="statement">mitigates</data><data key="conditions">Holds when slowness is replica-specific rather than shared.</data></edge>
    <edge id="e948" source="mlsys.continuous-batching" target="mlsys.paged-kv"><data key="relation">uses</data><data key="statement">relies on dynamic allocation from</data><data key="conditions">Holds for vLLM-style engines where sequences join and leave each iteration.</data></edge>
    <edge id="e949" source="mlsys.load-balancing" target="mlsys.queueing"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">Holds when load signals are fresh and replicas are interchangeable.</data></edge>
    <edge id="e950" source="mlsys.load-balancing" target="mlsys.tail-latency"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">Holds when imbalance, not total capacity, causes the tail.</data></edge>
    <edge id="e951" source="mlsys.chunked-prefill" target="mlsys.pd-disaggregation"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both limit prefill-decode interference; one colocates with chunking, the other separates pools.</data></edge>
    <edge id="e952" source="mlsys.chunked-prefill" target="mlsys.continuous-batching"><data key="relation">uses</data><data key="statement">piggybacks prefill chunks on</data><data key="conditions">Holds when the scheduler admits work at each iteration under a per-iteration token budget.</data></edge>
    <edge id="e953" source="mlsys.constrained-decoding" target="mlsys.function-calling"><data key="relation">enables</data><data key="statement">guarantees well-formed arguments for</data><data key="conditions">The supported argument constraints are enforced during decoding and the output completes successfully; this does not establish argument truth or tool authorization.</data></edge>
    <edge id="e954" source="mlsys.function-calling" target="mlsys.grammar"><data key="relation">uses</data><data key="statement">constrains arguments with</data><data key="conditions">Applies when tool arguments must match a declared schema.</data></edge>
    <edge id="e955" source="mlsys.output-validation" target="mlsys.grammar"><data key="relation">implements</data><data key="statement">checks after generation</data><data key="conditions">Outputs are checked against the declared schema after generation, whether or not constrained decoding was used.</data></edge>
    <edge id="e956" source="mlsys.output-validation" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">retries increase</data><data key="conditions">Validation failure triggers retries on the response’s critical path, compared with an otherwise comparable run without those retries.</data></edge>
    <edge id="e957" source="mlsys.reasoning-budget" target="mlsys.unit-cost"><data key="relation">limits</data><data key="statement">caps the reasoning share of</data><data key="conditions">Holds when reasoning tokens are billed or provisioned like output tokens.</data></edge>
    <edge id="e958" source="mlsys.reasoning-budget" target="mlsys.kv-cache"><data key="relation">limits</data><data key="statement">bounds growth of</data><data key="conditions">Holds because reasoning tokens stay in context until the answer.</data></edge>
    <edge id="e959" source="mlsys.dense-retrieval" target="mlsys.embeddings"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">Holds for bi-encoder retrieval where queries and records are embedded separately.</data></edge>
    <edge id="e960" source="mlsys.dense-retrieval" target="mlsys.retrieval"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Applies when relevance is scored by similarity of learned vectors.</data></edge>
    <edge id="e961" source="mlsys.lexical-retrieval" target="mlsys.retrieval"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Applies when relevance is scored by weighted term overlap over an inverted index.</data></edge>
    <edge id="e962" source="mlsys.reranking" target="mlsys.ranking-funnel"><data key="relation">part-of</data><data key="statement">is a late stage of</data><data key="conditions">Holds when a cheap candidate stage precedes a costlier scoring model under one latency budget.</data></edge>
    <edge id="e963" source="mlsys.reranking" target="mlsys.transformer"><data key="relation">uses</data><data key="statement">commonly uses cross-encoder</data><data key="conditions">Applies to neural rerankers that jointly encode query and candidate.</data></edge>
    <edge id="e964" source="mlsys.on-device-runtime" target="mlsys.model-conversion"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">Holds because runtimes accept only their own formats and operator sets.</data></edge>
    <edge id="e965" source="mlsys.on-device-runtime" target="mlsys.edge-npu"><data key="relation">uses</data><data key="statement">delegates supported operators to</data><data key="conditions">Applies when the device has an accelerator and a delegate for it.</data></edge>
    <edge id="e966" source="mlsys.ota-model-update" target="mlsys.artifact-signing"><data key="relation">requires</data><data key="statement">must verify</data><data key="conditions">Holds for any fleet where tampered models could be pushed.</data></edge>
    <edge id="e967" source="mlsys.ota-model-update" target="mlsys.rollback"><data key="relation">uses</data><data key="statement">relies on on-device</data><data key="conditions">Requires the previous model to stay on the device.</data></edge>
    <edge id="e968" source="mlsys.device-cloud-partitioning" target="mlsys.energy-per-inference"><data key="relation">reduces</data><data key="statement">can reduce on-device</data><data key="conditions">Holds when uplink cost is lower than the compute it moves off device.</data></edge>
    <edge id="e969" source="mlsys.device-heterogeneity" target="mlsys.device-cloud-partitioning"><data key="relation">determines</data><data key="statement">shifts the best split in</data><data key="conditions">Holds because device speed and network differ widely across the fleet.</data></edge>
    <edge id="e970" source="mlsys.model-registry" target="mlsys.rollback"><data key="relation">enables</data><data key="statement">keeps prior versions available for</data><data key="conditions">Holds when prior versions and their serving configuration remain registered and deployable.</data></edge>
    <edge id="e971" source="mlsys.shadow-deployment" target="mlsys.train-serve-skew"><data key="relation">detects</data><data key="statement">can expose</data><data key="conditions">Holds when shadow outputs are compared with offline predictions on the same inputs.</data></edge>
    <edge id="e972" source="mlsys.shadow-deployment" target="mlsys.unit-cost"><data key="relation">increases</data><data key="statement">duplicates inference cost in</data><data key="conditions">Holds for the shadow period because every mirrored request runs on both models.</data></edge>
    <edge id="e973" source="mlsys.ml-ci-cd" target="mlsys.integration-testing"><data key="relation">uses</data><data key="statement">runs</data><data key="conditions">Applies on each change to code, data checks, or model artifacts.</data></edge>
    <edge id="e974" source="mlsys.ml-ci-cd" target="mlsys.mlops-maturity"><data key="relation">part-of</data><data key="statement">marks higher levels of</data><data key="conditions">Holds for maturity models in which automated pipeline delivery defines the top level.</data></edge>
    <edge id="e975" source="mlsys.drift-detection" target="mlsys.monitoring"><data key="relation">part-of</data><data key="statement">is part of</data><data key="conditions">Applies when distribution checks run alongside service and quality signals in production.</data></edge>
    <edge id="e976" source="mlsys.drift-detection" target="mlsys.inference-logging"><data key="relation">requires</data><data key="statement">compares distributions from</data><data key="conditions">Holds because production distributions are reconstructed from logged inputs and predictions.</data></edge>
    <edge id="e977" source="mlsys.delayed-outcomes" target="mlsys.drift-detection"><data key="relation">limits</data><data key="statement">limits outcome-based</data><data key="conditions">Holds when labels arrive late; input-distribution checks remain available.</data></edge>
    <edge id="e978" source="mlsys.alerting" target="mlsys.sli"><data key="relation">uses</data><data key="statement">fires on thresholds over</data><data key="conditions">Applies when alerts are defined over user-facing indicators rather than raw resource metrics.</data></edge>
    <edge id="e979" source="mlsys.concept-drift" target="mlsys.distribution-shift"><data key="relation">specializes</data><data key="statement">is the input-target form of</data><data key="conditions">Holds when P(y|x) changes even if the input distribution does not.</data></edge>
    <edge id="e980" source="mlsys.workflow-orchestration" target="mlsys.continuous-training"><data key="relation">implements</data><data key="statement">runs the pipelines of</data><data key="conditions">Holds when retraining, validation, and registration steps run as an orchestrated pipeline.</data></edge>
    <edge id="e981" source="mlsys.postmortem" target="mlsys.failure-attribution"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">Applies to ML incidents whose cause could lie in data, model, code, or infrastructure.</data></edge>
    <edge id="e982" source="mlsys.failure-attribution" target="mlsys.lineage"><data key="relation">uses</data><data key="statement">traces data and artifact versions through</data><data key="conditions">Holds when the failing prediction can be tied to the data and artifact versions that produced it.</data></edge>
    <edge id="e983" source="mlsys.distributed-tracing" target="mlsys.failure-attribution"><data key="relation">enables</data><data key="statement">localizes the component behind</data><data key="conditions">Holds when every component a request traverses propagates the trace context.</data></edge>
    <edge id="e984" source="mlsys.llm-call-tracing" target="mlsys.cost-attribution"><data key="relation">enables</data><data key="statement">attributes token spend per step for</data><data key="conditions">Holds when spans record token counts and model identity per call.</data></edge>
    <edge id="e985" source="mlsys.model-deprecation" target="mlsys.lineage"><data key="relation">requires</data><data key="statement">finds downstream consumers through</data><data key="conditions">Holds when lineage records which downstream jobs and services read the model's outputs.</data></edge>
    <edge id="e986" source="mlsys.artifact-archival" target="mlsys.model-deprecation"><data key="relation">part-of</data><data key="statement">is the final stage of</data><data key="conditions">Applies when a retired model must stay reproducible or auditable after removal from service.</data></edge>
    <edge id="e987" source="mlsys.artifact-archival" target="mlsys.algorithmic-audit"><data key="relation">enables</data><data key="statement">preserves evidence for</data><data key="conditions">Holds when evaluation records and data references are kept for the audit horizon.</data></edge>
    <edge id="e988" source="mlsys.kv-cache-offload" target="mlsys.storage-tiering"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Applies when KV blocks move between accelerator memory, host memory, and SSD by reuse likelihood.</data></edge>
    <edge id="e989" source="mlsys.kv-cache-transfer" target="mlsys.rdma"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">Applies in disaggregated clusters with RDMA fabrics.</data></edge>
    <edge id="e990" source="mlsys.kv-cache-transfer" target="mlsys.communication-overlap"><data key="relation">uses</data><data key="statement">hides latency with</data><data key="conditions">Holds when layer-wise KV transfer can proceed while later layers still compute.</data></edge>
    <edge id="e991" source="mlsys.lm-program-optimization" target="mlsys.metrics"><data key="relation">requires</data><data key="statement">optimizes against an end-to-end</data><data key="conditions">Holds because the optimizer can only improve what the declared metric scores.</data></edge>
    <edge id="e992" source="mlsys.multi-adapter-serving" target="mlsys.unit-cost"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">Holds relative to one dedicated deployment per fine-tuned model.</data></edge>
    <edge id="e993" source="mlsys.denoising-step-reduction" target="mlsys.distillation"><data key="relation">uses</data><data key="statement">often uses step</data><data key="conditions">Applies to progressive and consistency distillation, not to training-free fast samplers.</data></edge>
    <edge id="e994" source="mlsys.denoising-step-reduction" target="mlsys.execution-time"><data key="relation">reduces</data><data key="statement">reduces per-sample</data><data key="conditions">Holds roughly in proportion to the number of network evaluations removed.</data></edge>
    <edge id="e995" source="mlsys.diffusion-feature-caching" target="mlsys.memory-footprint"><data key="relation">increases</data><data key="statement">increases cached-activation</data><data key="conditions">Holds because cached features from earlier steps must stay resident.</data></edge>
    <edge id="e996" source="mlsys.diffusion-feature-caching" target="mlsys.execution-time"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">Holds when adjacent-step features change little, so skipped blocks lose little quality.</data></edge>
    <edge id="e997" source="mlsys.quantized-vector-index" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">compresses vectors to reduce</data><data key="conditions">Vectors are stored as shorter quantized codes rather than full-precision coordinates; recall depends on quantization, partition probing, reranking, and the data.</data></edge>
    <edge id="e998" source="mlsys.filtered-vector-search" target="mlsys.graph-vector-index"><data key="relation">uses</data><data key="statement">extends traversal of</data><data key="conditions">Applies to predicate-agnostic methods that densify a proximity graph to keep filtered recall.</data></edge>
    <edge id="e999" source="mlsys.index-freshness" target="mlsys.retrieval"><data key="relation">limits</data><data key="statement">bounds recall on recently changed records in</data><data key="conditions">Holds when inserts and deletes reach the index later than the source of truth.</data></edge>
    <edge id="e1000" source="mlsys.agent-evaluation" target="mlsys.llm-judge"><data key="relation">uses</data><data key="statement">can grade trajectories with</data><data key="conditions">Applies where task success lacks a programmatic check.</data></edge>
    <edge id="e1001" source="mlsys.deterministic-replay" target="mlsys.agent-evaluation"><data key="relation">enables</data><data key="statement">makes repeatable</data><data key="conditions">Holds when tool responses and model outputs are recorded so a run can be re-executed exactly.</data></edge>
    <edge id="e1002" source="mlsys.critical-batch-size" target="mlsys.time-to-train"><data key="relation">limits</data><data key="statement">bounds the data-parallel speedup of</data><data key="conditions">Holds because beyond it more examples per step no longer cut the steps needed to reach the target loss.</data></edge>
    <edge id="e1003" source="mlsys.distillation" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">reduces the serving memory footprint by producing a smaller student</data><data key="conditions">When the student architecture is smaller than the teacher and reaches acceptable quality on the target metric.</data></edge>
    <edge id="e1004" source="mlsys.distillation" target="mlsys.speculative-decoding"><data key="relation">enables</data><data key="statement">produces well-aligned draft models for</data><data key="conditions">When the draft is distilled from the target model so its token distribution matches closely enough to raise acceptance rates.</data></edge>
    <edge id="e1005" source="mlsys.pruning" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">When the pruned weights are stored in a compressed or smaller dense form rather than as explicit zeros.</data></edge>
    <edge id="e1006" source="mlsys.structured-pruning" target="mlsys.execution-time"><data key="relation">reduces</data><data key="statement">reduces dense-hardware</data><data key="conditions">When whole channels, filters, or heads are removed so the remaining layers are smaller dense operations.</data></edge>
    <edge id="e1007" source="mlsys.low-rank-factorization" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">When the chosen rank is much smaller than the matrix dimensions and the factored model keeps acceptable accuracy.</data></edge>
    <edge id="e1008" source="mlsys.quantization-aware-training" target="mlsys.post-training-quantization"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">QAT recovers more accuracy at low bit widths but needs a training run; PTQ needs only a calibration set.</data></edge>
    <edge id="e1009" source="mlsys.neural-architecture-search" target="mlsys.efficiency-frontier"><data key="relation">determines</data><data key="statement">searches for points on</data><data key="conditions">When the search objective combines quality and a stated cost measure on the target platform.</data></edge>
    <edge id="e1010" source="mlsys.hardware-aware-nas" target="mlsys.analytical-performance-model"><data key="relation">uses</data><data key="statement">uses latency predictors from</data><data key="conditions">When on-device measurement of every candidate is too slow, so a calibrated cost model ranks candidates.</data></edge>
    <edge id="e1011" source="mlsys.model-hardware-co-design" target="mlsys.nm-sparsity"><data key="relation">enables</data><data key="statement">enables</data><data key="conditions">When the sparsity pattern is chosen to match a sparse matrix-engine instruction, as with 2:4 sparsity on sparse tensor cores.</data></edge>
    <edge id="e1012" source="mlsys.weight-only-quantization" target="mlsys.tpot"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">When small-batch decoding is memory-bandwidth-bound and dequantization is fused into the matrix multiply.</data></edge>
    <edge id="e1013" source="mlsys.weight-only-quantization" target="mlsys.activation-outliers"><data key="relation">mitigates</data><data key="statement">sidesteps</data><data key="conditions">Because activations stay in higher precision, outlier channels never enter a low-bit activation range.</data></edge>
    <edge id="e1014" source="mlsys.transformer" target="mlsys.activation-outliers"><data key="relation">produces</data><data key="statement">develops, at scale,</data><data key="conditions">In large transformers, roughly beyond a few billion parameters, where a few hidden dimensions carry systematic large-magnitude activations.</data></edge>
    <edge id="e1015" source="mlsys.kv-cache-quantization" target="mlsys.tpot"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">When long-context decoding time is dominated by reading the KV cache from memory.</data></edge>
    <edge id="e1016" source="mlsys.kv-cache-quantization" target="mlsys.batching"><data key="relation">enables</data><data key="statement">raises the feasible batch size of</data><data key="conditions">When serving is KV-memory-bound, so freed capacity admits more concurrent sequences.</data></edge>
    <edge id="e1017" source="mlsys.training-goodput" target="mlsys.time-to-train"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">For a fixed model, data, and quality target, since lost and redone work lengthens wall-clock time.</data></edge>
    <edge id="e1018" source="mlsys.inference-load-scenario" target="mlsys.batching"><data key="relation">determines</data><data key="statement">determines the admissible</data><data key="conditions">Offline scenarios permit large batches; server and single-stream scenarios limit batching by their latency constraint.</data></edge>
    <edge id="e1019" source="mlsys.inference-load-scenario" target="mlsys.arrival-rate"><data key="relation">uses</data><data key="statement">specifies the query</data><data key="conditions">In server scenarios, where queries arrive by a stated random process at a target rate.</data></edge>
    <edge id="e1020" source="mlsys.activation-recompute" target="mlsys.model-flops-utilization"><data key="relation">reduces</data><data key="statement">lowers measured</data><data key="conditions">Because recomputed FLOPs are excluded from MFU's model-required count, so MFU falls while hardware FLOPs utilization rises.</data></edge>
    <edge id="e1021" source="mlsys.bottleneck-analysis" target="mlsys.bound-regime"><data key="relation">detects</data><data key="statement">identifies the operating</data><data key="conditions">When per-kernel time, FLOPs, and bytes are measured, so each kernel can be placed relative to the ridge point.</data></edge>
    <edge id="e1022" source="mlsys.job-preemption" target="mlsys.training-goodput"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">When preempted work since the last checkpoint is lost and restart costs are paid on resumption.</data></edge>
    <edge id="e1023" source="mlsys.benchmark" target="mlsys.energy-measurement"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">For energy or power benchmarks, which must declare sensor class, sampling, and system boundary to be comparable.</data></edge>
    <edge id="e1024" source="mlsys.consistent-cut" target="mlsys.checkpoint-resharding"><data key="relation">enables</data><data key="statement">enables</data><data key="conditions">A sharded checkpoint can be remapped to a new layout only when all shards were saved from the same training step.</data></edge>
    <edge id="e1025" source="mlsys.async-checkpointing" target="mlsys.consistent-cut"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">When every rank snapshots its shard at the same step boundary before background persistence begins.</data></edge>
    <edge id="e1026" source="mlsys.async-checkpointing" target="mlsys.training-goodput"><data key="relation">increases</data><data key="statement">increases</data><data key="conditions">When the blocking snapshot is much cheaper than the durable write, so training stalls less per checkpoint.</data></edge>
    <edge id="e1027" source="mlsys.circuit-breaker" target="mlsys.graceful-degradation"><data key="relation">enables</data><data key="statement">enables</data><data key="conditions">When an open breaker routes requests to a fallback response rather than returning errors.</data></edge>
    <edge id="e1028" source="mlsys.circuit-breaker" target="mlsys.arrival-rate"><data key="relation">reduces</data><data key="statement">cuts the request rate reaching a failing dependency, lowering its</data><data key="conditions">While the breaker is open, which gives the overloaded dependency time to recover.</data></edge>
    <edge id="e1029" source="mlsys.replication-failover" target="mlsys.fencing"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">When a failed-over primary may still be alive, so stale writers must be fenced to avoid split brain.</data></edge>
    <edge id="e1030" source="mlsys.replication-failover" target="mlsys.tco"><data key="relation">increases</data><data key="statement">increases</data><data key="conditions">Redundant replicas add capital and operating cost in proportion to the replication factor.</data></edge>
    <edge id="e1031" source="mlsys.mtbf" target="mlsys.training-goodput"><data key="relation">limits</data><data key="statement">bounds</data><data key="conditions">For large synchronous jobs, where job MTBF shrinks with component count and each failure costs rework plus restart.</data></edge>
    <edge id="e1032" source="mlsys.distributed-tracing" target="mlsys.gray-failure"><data key="relation">detects</data><data key="statement">detects</data><data key="conditions">When traces record the latency and errors that callers actually experience rather than health-check results.</data></edge>
    <edge id="e1033" source="mlsys.network-topology" target="mlsys.failure-domain"><data key="relation">determines</data><data key="statement">helps determine network-related</data><data key="conditions">Components depend on shared network elements; power, software, and other dependencies may define additional or overlapping failure domains.</data></edge>
    <edge id="e1034" source="mlsys.abft" target="mlsys.matrix-multiply"><data key="relation">uses</data><data key="statement">carries checksums through</data><data key="conditions">For linear-algebra kernels whose input checksums predict output checksums.</data></edge>
    <edge id="e1035" source="mlsys.abft" target="mlsys.execution-time"><data key="relation">increases</data><data key="statement">adds checksum overhead to</data><data key="conditions">The overhead is small relative to large matrix multiplications but nonzero.</data></edge>
    <edge id="e1036" source="mlsys.game-day" target="mlsys.alerting"><data key="relation">measures</data><data key="statement">tests whether alerts fire and reach responders through</data><data key="conditions">When the exercise uses real paging and runbook paths.</data></edge>
    <edge id="e1037" source="mlsys.hardware-fault-injection" target="mlsys.failure-injection"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">When the injected faults are bit flips or stuck-at errors in model state rather than service-level faults.</data></edge>
    <edge id="e1038" source="mlsys.rollout" target="mlsys.blast-radius"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">When each stage exposes a small fraction of traffic and gates promotion on health signals.</data></edge>
    <edge id="e1039" source="mlsys.least-privilege" target="mlsys.blast-radius"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">When a compromised or faulty component holds only the permissions its task requires.</data></edge>
    <edge id="e1040" source="mlsys.transfer-learning" target="mlsys.backdoor"><data key="relation">increases</data><data key="statement">increases exposure to</data><data key="conditions">When pretrained weights come from untrusted parties, since backdoors can survive fine-tuning on clean data.</data></edge>
    <edge id="e1041" source="mlsys.guardrails" target="mlsys.jailbreak"><data key="relation">mitigates</data><data key="statement">partially mitigates</data><data key="conditions">Input and output classifiers catch known patterns but can be evaded by novel or obfuscated prompts.</data></edge>
    <edge id="e1042" source="mlsys.rlhf" target="mlsys.jailbreak"><data key="relation">mitigates</data><data key="statement">partially mitigates</data><data key="conditions">Safety training reduces disallowed outputs but fails under competing objectives and mismatched generalization.</data></edge>
    <edge id="e1043" source="mlsys.adversarial-training" target="mlsys.time-to-train"><data key="relation">increases</data><data key="statement">increases</data><data key="conditions">Each training step runs an inner attack, multiplying compute by roughly the number of attack steps.</data></edge>
    <edge id="e1044" source="mlsys.distillation" target="mlsys.model-watermarking"><data key="relation">limits</data><data key="statement">can strip parameter-embedded</data><data key="conditions">For watermarks embedded in weights rather than in behavior on trigger inputs, since a distilled student has new weights.</data></edge>
    <edge id="e1045" source="mlsys.artifact-signing" target="mlsys.supply-chain-compromise"><data key="relation">mitigates</data><data key="statement">mitigates</data><data key="conditions">When consumers verify signatures and provenance against trusted identities before loading artifacts.</data></edge>
    <edge id="e1046" source="mlsys.model-registry" target="mlsys.artifact-signing"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">When the registry signs artifacts on promotion and verifies them before deployment.</data></edge>
    <edge id="e1047" source="mlsys.isolation" target="mlsys.unsafe-deserialization"><data key="relation">mitigates</data><data key="statement">contains the effects of</data><data key="conditions">When untrusted model files are loaded inside a sandbox with no credentials or network access.</data></edge>
    <edge id="e1048" source="mlsys.generalization" target="mlsys.membership-inference"><data key="relation">reduces</data><data key="statement">lowers the advantage of</data><data key="conditions">Attack advantage grows with the train-test generalization gap, so better-generalizing models leak less membership signal.</data></edge>
    <edge id="e1049" source="mlsys.dp-sgd" target="mlsys.model-inversion"><data key="relation">mitigates</data><data key="statement">mitigates</data><data key="conditions">For reconstruction of individual training records; inference of population-level attributes is not bounded by DP.</data></edge>
    <edge id="e1050" source="mlsys.secure-aggregation" target="mlsys.model-inversion"><data key="relation">mitigates</data><data key="statement">blocks gradient-based</data><data key="conditions">When the server could otherwise reconstruct a client's data from its individual update.</data></edge>
    <edge id="e1051" source="mlsys.data-retention" target="mlsys.machine-unlearning"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">When deletion obligations extend to models trained on the deleted records.</data></edge>
    <edge id="e1052" source="mlsys.remote-attestation" target="mlsys.supply-chain-compromise"><data key="relation">detects</data><data key="statement">detects</data><data key="conditions">For platform firmware or software whose measured state differs from trusted reference values.</data></edge>
    <edge id="e1053" source="mlsys.multi-tenancy" target="mlsys.side-channel"><data key="relation">increases</data><data key="statement">increases exposure to</data><data key="conditions">When tenants share accelerators, caches, memory, or interconnect whose contention is observable.</data></edge>
    <edge id="e1054" source="mlsys.side-channel" target="mlsys.privacy-leakage"><data key="relation">causes</data><data key="statement">can cause</data><data key="conditions">When observed timing, power, or memory behavior correlates with secret inputs or model parameters.</data></edge>
    <edge id="e1055" source="mlsys.he-inference" target="mlsys.execution-time"><data key="relation">increases</data><data key="statement">multiplies</data><data key="conditions">Homomorphic evaluation costs orders of magnitude more compute than plaintext inference, especially for nonlinear layers.</data></edge>
    <edge id="e1056" source="mlsys.secure-computation-inference" target="mlsys.execution-time"><data key="relation">increases</data><data key="statement">increases</data><data key="conditions">Latency is dominated by communication rounds and garbled-circuit evaluation of nonlinear layers.</data></edge>
    <edge id="e1057" source="mlsys.pue" target="mlsys.operational-carbon"><data key="relation">increases</data><data key="statement">multiplies IT energy into</data><data key="conditions">Facility overhead for cooling and power conversion scales IT energy by PUE before carbon intensity applies.</data></edge>
    <edge id="e1058" source="mlsys.emission-scopes" target="mlsys.operational-carbon"><data key="relation">determines</data><data key="statement">classifies purchased-electricity emissions (Scope 2) in</data><data key="conditions">For an operator buying grid electricity under the GHG Protocol.</data></edge>
    <edge id="e1059" source="mlsys.lifecycle-assessment" target="mlsys.water-footprint"><data key="relation">measures</data><data key="statement">measures</data><data key="conditions">When the assessment's inventory includes on-site cooling and off-site generation water.</data></edge>
    <edge id="e1060" source="mlsys.lifecycle-assessment" target="mlsys.e-waste"><data key="relation">measures</data><data key="statement">accounts end-of-life impacts of</data><data key="conditions">When the system boundary includes disposal and recycling stages.</data></edge>
    <edge id="e1061" source="mlsys.spot-capacity" target="mlsys.tco"><data key="relation">reduces</data><data key="statement">reduces</data><data key="conditions">When workloads tolerate preemption through checkpointing or elasticity so the discount is not lost to rework.</data></edge>
    <edge id="e1062" source="mlsys.model-routing" target="mlsys.cost-per-token"><data key="relation">reduces</data><data key="statement">lowers the average</data><data key="conditions">When a router sends requests a cheaper model can handle to that model while meeting the quality target.</data></edge>
    <edge id="e1063" source="mlsys.multi-tenancy" target="mlsys.cost-attribution"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">When shared infrastructure must be charged back to the teams or workloads that consume it.</data></edge>
    <edge id="e1064" source="mlsys.cost-attribution" target="mlsys.idle-dynamic-power"><data key="relation">uses</data><data key="statement">allocates shared idle cost using</data><data key="conditions">When provisioned but idle capacity must be charged to owners by an explicit rule.</data></edge>
    <edge id="e1065" source="mlsys.idle-dynamic-power" target="mlsys.energy-efficiency"><data key="relation">determines</data><data key="statement">determines</data><data key="conditions">At low load, idle power dominates, so poorly energy-proportional hardware loses efficiency.</data></edge>
    <edge id="e1066" source="mlsys.stpa" target="mlsys.feedback-control"><data key="relation">uses</data><data key="statement">models the system as</data><data key="conditions">STPA represents the system as controllers, control actions, and feedback paths.</data></edge>
    <edge id="e1067" source="mlsys.fmea" target="mlsys.failure-model"><data key="relation">uses</data><data key="statement">enumerates component failure modes from</data><data key="conditions">FMEA is bottom-up over declared component failure modes.</data></edge>
    <edge id="e1068" source="mlsys.functional-safety" target="mlsys.hazard-analysis"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">ISO 26262 requires hazard analysis and risk assessment before safety goals are set.</data></edge>
    <edge id="e1069" source="mlsys.functional-safety" target="mlsys.safety-integrity-level"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">Safety goals are assigned an integrity level, such as an ASIL, that sets development rigor.</data></edge>
    <edge id="e1070" source="mlsys.functional-safety" target="mlsys.fmea"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">When component failure modes must be traced to effects on safety goals.</data></edge>
    <edge id="e1071" source="mlsys.safety-filter" target="mlsys.model-predictive-control"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">For predictive safety filters that solve a constrained finite-horizon problem to find the nearest safe action.</data></edge>
    <edge id="e1072" source="mlsys.control-barrier-function" target="mlsys.dynamics"><data key="relation">requires</data><data key="statement">requires a model of</data><data key="conditions">The barrier condition holds only under the modeled dynamics and bounded disturbance.</data></edge>
    <edge id="e1073" source="mlsys.simplex-architecture" target="mlsys.mixed-criticality"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">The verified safety controller and decision module must keep their timing even when the complex controller overruns.</data></edge>
    <edge id="e1074" source="mlsys.minimal-risk-condition" target="mlsys.graceful-degradation"><data key="relation">part-of</data><data key="statement">can be the final stage of</data><data key="conditions">When degradation in a physical system proceeds to a safe stop.</data></edge>
    <edge id="e1075" source="mlsys.minimal-risk-condition" target="mlsys.authority-handover"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">When the system can no longer operate safely, it can either hand control to a human or reach a minimal-risk state itself.</data></edge>
    <edge id="e1076" source="mlsys.operating-domain" target="mlsys.scenario-based-testing"><data key="relation">determines</data><data key="statement">scopes the scenario catalog of</data><data key="conditions">Scenarios and parameter ranges are drawn from the declared operational design domain.</data></edge>
    <edge id="e1077" source="mlsys.safety-case" target="mlsys.scenario-based-testing"><data key="relation">uses</data><data key="statement">draws coverage evidence from</data><data key="conditions">When scenario coverage is traced to hazards and operating-domain conditions.</data></edge>
    <edge id="e1078" source="mlsys.falsification" target="mlsys.rare-event-validation"><data key="relation">enables</data><data key="statement">enables</data><data key="conditions">Failure regions found by falsification can seed importance sampling for failure-probability estimates.</data></edge>
    <edge id="e1079" source="mlsys.falsification" target="mlsys.formal-verification"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">For systems too complex for formal proof, where searching for counterexamples replaces proving their absence.</data></edge>
    <edge id="e1080" source="mlsys.neural-network-verification" target="mlsys.robustness-evaluation"><data key="relation">alternative-to</data><data key="statement">is a certified alternative to empirical</data><data key="conditions">For properties over input regions small enough for the verifier to scale.</data></edge>
    <edge id="e1081" source="mlsys.statistical-uncertainty" target="mlsys.rare-event-validation"><data key="relation">limits</data><data key="statement">limits the confidence achievable in</data><data key="conditions">When the number of observed failures is small, confidence bounds dominate the estimate.</data></edge>
    <edge id="e1082" source="mlsys.xil-testing" target="mlsys.feedback-delay"><data key="relation">measures</data><data key="statement">measures</data><data key="conditions">When the real compute and hardware run in the loop, exposing timing that pure simulation omits.</data></edge>
    <edge id="e1083" source="mlsys.xil-testing" target="mlsys.integration-testing"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Each rung tests the assembled software or hardware against a simulated or recorded environment.</data></edge>
    <edge id="e1084" source="mlsys.goal-structuring-notation" target="mlsys.algorithmic-audit"><data key="relation">enables</data><data key="statement">enables</data><data key="conditions">When auditors review the assurance argument, not only its evidence artifacts.</data></edge>
    <edge id="e1085" source="mlsys.compensation" target="mlsys.rollback"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Rollback restores software or configuration state; compensation remedies effects when such a reversal is unavailable.</data></edge>
    <edge id="e1086" source="mlsys.runtime-assurance" target="mlsys.stopping-envelope"><data key="relation">uses</data><data key="statement">checks the current state against</data><data key="conditions">When the fallback is a stop and the monitor runs fast enough to trigger it before the state leaves the envelope.</data></edge>
    <edge id="e1087" source="mlsys.hardware-fault-injection" target="mlsys.abft"><data key="relation">measures</data><data key="statement">measures the detection coverage of</data><data key="conditions">When injected faults hit the operations the checksums protect, at realistic rates and locations.</data></edge>
    <edge id="e1088" source="mlsys.individual-fairness" target="mlsys.fairness"><data key="relation">alternative-to</data><data key="statement">states fairness over similar individuals rather than across groups as in</data><data key="conditions">When a system must choose which fairness notion to enforce or audit.</data></edge>
    <edge id="e1089" source="mlsys.individual-fairness" target="mlsys.decision-policy"><data key="relation">limits</data><data key="statement">constrains</data><data key="conditions">When a task-specific similarity metric is declared and accepted by stakeholders.</data></edge>
    <edge id="e1090" source="mlsys.fairness-incompatibility" target="mlsys.calibration"><data key="relation">limits</data><data key="statement">limits per-group</data><data key="conditions">When base rates differ and error-rate parity is also required.</data></edge>
    <edge id="e1091" source="mlsys.fairness-incompatibility" target="mlsys.fairness"><data key="relation">limits</data><data key="statement">limits which criteria can jointly hold in</data><data key="conditions">When base rates differ across groups and the predictor is imperfect.</data></edge>
    <edge id="e1092" source="mlsys.bias-mitigation" target="mlsys.fairness"><data key="relation">implements</data><data key="statement">implements</data><data key="conditions">When the intervention targets a declared criterion and is re-evaluated on held-out data.</data></edge>
    <edge id="e1093" source="mlsys.bias-mitigation" target="mlsys.data-selection"><data key="relation">uses</data><data key="statement">uses reweighting and resampling from</data><data key="conditions">For pre-processing methods that change the training distribution across groups.</data></edge>
    <edge id="e1094" source="mlsys.feature-attribution" target="mlsys.leakage"><data key="relation">detects</data><data key="statement">detects</data><data key="conditions">When a feature unavailable at prediction time dominates attributions.</data></edge>
    <edge id="e1095" source="mlsys.counterfactual-explanation" target="mlsys.feature-attribution"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both explain one decision post hoc; counterfactuals give actionable changes, attributions give per-feature contributions.</data></edge>
    <edge id="e1096" source="mlsys.interpretable-model" target="mlsys.contestability"><data key="relation">enables</data><data key="statement">enables</data><data key="conditions">When affected people or reviewers can read the decision logic that produced their outcome.</data></edge>
    <edge id="e1097" source="mlsys.interpretable-model" target="mlsys.algorithmic-audit"><data key="relation">enables</data><data key="statement">enables</data><data key="conditions">When auditors can inspect the model directly instead of relying on post-hoc approximations.</data></edge>
    <edge id="e1098" source="mlsys.model-registry" target="mlsys.model-card"><data key="relation">uses</data><data key="statement">stores and versions</data><data key="conditions">When documentation is required for promotion alongside the model artifact.</data></edge>
    <edge id="e1099" source="mlsys.algorithmic-audit" target="mlsys.datasheet"><data key="relation">uses</data><data key="statement">draws evidence from</data><data key="conditions">Datasheets document data provenance and composition but do not replace access to the data.</data></edge>
    <edge id="e1100" source="mlsys.automation-bias" target="mlsys.approval-gate"><data key="relation">limits</data><data key="statement">can reduce to rubber stamps</data><data key="conditions">When reviewers see many correct proposals, weak error cues, and time pressure.</data></edge>
    <edge id="e1101" source="mlsys.automation-bias" target="mlsys.authority-handover"><data key="relation">limits</data><data key="statement">can degrade</data><data key="conditions">When operators lose vigilance and manual skill during long automated stretches.</data></edge>
    <edge id="e1102" source="mlsys.ai-risk-management" target="mlsys.red-teaming"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">When red-team findings feed the measure and manage functions of the risk process.</data></edge>
    <edge id="e1103" source="mlsys.risk-tiered-regulation" target="mlsys.impact-assessment"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">For deployers of high-risk systems in categories where a fundamental-rights impact assessment is required.</data></edge>
    <edge id="e1104" source="mlsys.impact-assessment" target="mlsys.fairness"><data key="relation">determines</data><data key="statement">identifies the affected groups and criteria for</data><data key="conditions">When the assessment precedes deployment and is revisited after material changes.</data></edge>
    <edge id="e1105" source="mlsys.planning" target="mlsys.inference-time-search"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">When the agent expands and scores alternative partial plans rather than committing to one chain.</data></edge>
    <edge id="e1106" source="mlsys.agent-evaluation" target="mlsys.planning"><data key="relation">measures</data><data key="statement">measures plan quality through</data><data key="conditions">When intermediate steps, not only final outcomes, are scored across the trajectory.</data></edge>
    <edge id="e1107" source="mlsys.agent-budget" target="mlsys.planning"><data key="relation">limits</data><data key="statement">bounds the search depth of</data><data key="conditions">When turn, token, or time limits cap how many alternatives a plan can explore.</data></edge>
    <edge id="e1108" source="mlsys.tool-contract" target="mlsys.idempotency"><data key="relation">uses</data><data key="statement">declares retry safety in terms of</data><data key="conditions">When the contract states an idempotency key or at-most-once semantics so the harness can decide whether a re-issued call is safe.</data></edge>
    <edge id="e1109" source="mlsys.robot-perception" target="mlsys.sensing"><data key="relation">requires</data><data key="statement">requires calibrated</data><data key="conditions">Detections and depth are only as accurate as the intrinsic, extrinsic, and timing calibration of the sensors.</data></edge>
    <edge id="e1110" source="mlsys.sensor-fusion" target="mlsys.state-observability"><data key="relation">increases</data><data key="statement">increases</data><data key="conditions">When an added modality measures a state the others cannot distinguish, such as scale for monocular vision.</data></edge>
    <edge id="e1111" source="mlsys.state-observability" target="mlsys.slam"><data key="relation">limits</data><data key="statement">bounds drift correction in</data><data key="conditions">Absolute pose and heading are unobservable from relative measurements alone, so drift persists without loop closure or external references.</data></edge>
    <edge id="e1112" source="mlsys.contact-compliance" target="mlsys.sim-to-real"><data key="relation">limits</data><data key="statement">can widen the gap in</data><data key="conditions">Contact forces depend on stiffness, friction, and geometry that simulators approximate poorly.</data></edge>
    <edge id="e1113" source="mlsys.model-context-protocol" target="mlsys.prompt-injection"><data key="relation">increases</data><data key="statement">widens the surface for</data><data key="conditions">When tool descriptions and results from third-party servers enter the model's context as if trusted.</data></edge>
    <edge id="e1114" source="mlsys.model-context-protocol" target="mlsys.authorization"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">When servers require scoped, delegated credentials before exposing tools or resources.</data></edge>
    <edge id="e1115" source="mlsys.agent-evaluation" target="mlsys.computer-use"><data key="relation">measures</data><data key="statement">measures</data><data key="conditions">When tasks run in real applications and success is checked from the resulting system state.</data></edge>
    <edge id="e1116" source="mlsys.agent-harness" target="mlsys.function-calling"><data key="relation">uses</data><data key="statement">dispatches tool actions through</data><data key="conditions">When the model emits structured calls that the harness validates and executes.</data></edge>
    <edge id="e1117" source="mlsys.agent-harness" target="mlsys.agent-budget"><data key="relation">uses</data><data key="statement">enforces stopping rules from</data><data key="conditions">The harness, not the model, applies turn, token, time, and spend limits.</data></edge>
    <edge id="e1118" source="mlsys.agent-budget" target="mlsys.trajectory"><data key="relation">limits</data><data key="statement">bounds the length of</data><data key="conditions">When limits on turns, tokens, or wall-clock time stop the run before completion.</data></edge>
    <edge id="e1119" source="mlsys.durable-execution" target="mlsys.workflow-orchestration"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">When each step's intent and result are logged so recovery reuses recorded results; an effect completed before its result was recorded may need retry, deduplication, or reconciliation.</data></edge>
    <edge id="e1120" source="mlsys.deterministic-replay" target="mlsys.llm-call-tracing"><data key="relation">uses</data><data key="statement">can take recorded model outputs and tool results from</data><data key="conditions">When traces retain full payloads rather than sampled or truncated spans; otherwise replay needs the trajectory log.</data></edge>
    <edge id="e1121" source="mlsys.deterministic-replay" target="mlsys.failure-attribution"><data key="relation">enables</data><data key="statement">enables</data><data key="conditions">When a failing trajectory can be re-run step by step with its original inputs.</data></edge>
    <edge id="e1122" source="mlsys.suspend-resume" target="mlsys.durable-execution"><data key="relation">uses</data><data key="statement">persists waiting state through</data><data key="conditions">When a trajectory must survive process restarts while waiting on a human or external event.</data></edge>
    <edge id="e1123" source="mlsys.shared-agent-state" target="mlsys.multi-agent-orchestration"><data key="relation">part-of</data><data key="statement">is part of</data><data key="conditions">When several agents read and write task state under one orchestration topology.</data></edge>
    <edge id="e1124" source="mlsys.shared-agent-state" target="mlsys.coordination-failure"><data key="relation">causes</data><data key="statement">can cause</data><data key="conditions">When concurrent writes or stale reads go uncontrolled, so agents act on conflicting views of the task.</data></edge>
    <edge id="e1125" source="mlsys.llm-call-tracing" target="mlsys.coordination-failure"><data key="relation">detects</data><data key="statement">detects</data><data key="conditions">When handoffs, delegated instructions, and per-agent outputs are recorded as linked spans.</data></edge>
    <edge id="e1126" source="mlsys.correlated-agent-errors" target="mlsys.self-consistency"><data key="relation">limits</data><data key="statement">limits the benefit of</data><data key="conditions">When the sampled answers or voting agents share a base model and prompt, so their errors are not independent.</data></edge>
    <edge id="e1127" source="mlsys.correlated-agent-errors" target="mlsys.llm-judge"><data key="relation">limits</data><data key="statement">weakens the independence of</data><data key="conditions">When the judge shares a base model with the system it grades.</data></edge>
    <edge id="e1128" source="mlsys.observation-age" target="mlsys.time-synchronization"><data key="relation">requires</data><data key="statement">is measurable across sensors only under</data><data key="conditions">Observation age can be computed only when capture and use timestamps share a synchronized clock.</data></edge>
    <edge id="e1129" source="mlsys.recursive-filtering" target="mlsys.dynamics"><data key="relation">uses</data><data key="statement">predicts state with a model of</data><data key="conditions">The prediction step propagates the estimate through modeled dynamics between measurements.</data></edge>
    <edge id="e1130" source="mlsys.sensor-fusion" target="mlsys.recursive-filtering"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">When fused measurements arrive asynchronously and are combined through prediction and correction steps.</data></edge>
    <edge id="e1131" source="mlsys.world-model" target="mlsys.reinforcement-learning"><data key="relation">enables</data><data key="statement">enables sample-efficient</data><data key="conditions">When policies are trained on imagined rollouts from the learned model rather than only on environment interaction.</data></edge>
    <edge id="e1132" source="mlsys.motion-planning" target="mlsys.state-estimation"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">Plans are valid only relative to the estimated pose and map they start from.</data></edge>
    <edge id="e1133" source="mlsys.motion-planning" target="mlsys.slam"><data key="relation">uses</data><data key="statement">plans over maps from</data><data key="conditions">When the environment is not known in advance and the map is built online.</data></edge>
    <edge id="e1134" source="mlsys.mixed-criticality" target="mlsys.real-time-scheduling"><data key="relation">uses</data><data key="statement">uses</data><data key="conditions">Schedulability is analyzed with criticality-dependent WCET estimates for each task.</data></edge>
    <edge id="e1135" source="mlsys.real-time-scheduling" target="mlsys.utilization"><data key="relation">limits</data><data key="statement">bounds</data><data key="conditions">Rate-monotonic scheduling guarantees deadlines only when processor utilization stays below the Liu-Layland bound.</data></edge>
    <edge id="e1136" source="mlsys.vla-model" target="mlsys.transfer-learning"><data key="relation">uses</data><data key="statement">transfers web-scale vision-language knowledge through</data><data key="conditions">When the policy is fine-tuned from a pretrained vision-language backbone.</data></edge>
    <edge id="e1137" source="mlsys.vla-model" target="mlsys.teleoperation-data"><data key="relation">uses</data><data key="statement">is fine-tuned on</data><data key="conditions">When robot action labels come from human-driven demonstrations.</data></edge>
    <edge id="e1138" source="mlsys.synthetic-data" target="mlsys.teleoperation-data"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Simulated demonstrations are cheaper to scale but carry a sim-to-real gap that teleoperated demonstrations avoid.</data></edge>
    <edge id="e1139" source="mlsys.action-chunking" target="mlsys.observation-age"><data key="relation">increases</data><data key="statement">increases, for actions late in a chunk,</data><data key="conditions">When chunks execute open loop, so later actions rest on older observations.</data></edge>
    <edge id="e1140" source="mlsys.imitation-learning" target="mlsys.action-chunking"><data key="relation">uses</data><data key="statement">reduces compounding error with</data><data key="conditions">When the policy predicts short action sequences rather than single steps.</data></edge>
    <edge id="e1141" source="mlsys.domain-randomization" target="mlsys.data-augmentation"><data key="relation">alternative-to</data><data key="statement">generates varied simulated examples instead of transforming recorded ones as in</data><data key="conditions">When training data for a policy or perception model can be simulated rather than only recorded.</data></edge>
    <edge id="e1142" source="mlsys.domain-randomization" target="mlsys.distribution-shift"><data key="relation">mitigates</data><data key="statement">mitigates</data><data key="conditions">When the randomized ranges cover the real-world parameters without making the task unlearnable.</data></edge>
    <edge id="e1143" source="mlsys.safety-filter" target="mlsys.vla-model"><data key="relation">limits</data><data key="statement">constrains the commanded actions of</data><data key="conditions">When the filter runs on every action at control rate with authority over the learned policy.</data></edge>
    <edge id="e1144" source="mlsys.world-model" target="mlsys.self-supervised-learning"><data key="relation">uses</data><data key="statement">is trained to predict future observations by</data><data key="conditions">When the model learns from action-conditioned sequences without task labels.</data></edge>
    <edge id="e1145" source="mlsys.time-synchronization" target="mlsys.sensing"><data key="relation">part-of</data><data key="statement">is part of</data><data key="conditions">Sensing establishes how observations relate to time as well as to physical quantities and coordinates.</data></edge>
    <edge id="e1146" source="mlsys.diffusion-model" target="mlsys.neural-network"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Diffusion models are neural networks trained to reverse a gradual noising process over many denoising steps.</data></edge>
    <edge id="e1147" source="mlsys.compute-in-memory" target="mlsys.data-movement-energy"><data key="relation">reduces</data><data key="statement">lowers by computing where weights are stored</data><data key="conditions">Weight-stationary matrix-vector workloads whose weights fit in the memory arrays.</data></edge>
    <edge id="e1148" source="mlsys.compute-in-memory" target="mlsys.precision"><data key="relation">limits</data><data key="statement">caps the effective bit width of</data><data key="conditions">Analog implementations, where device noise, drift, and converter resolution bound precision.</data></edge>
    <edge id="e1149" source="mlsys.emerging-nvm" target="mlsys.compute-in-memory"><data key="relation">enables</data><data key="statement">provides programmable analog cells for</data><data key="conditions">Device conductance can be programmed to represent weight values.</data></edge>
    <edge id="e1150" source="mlsys.emerging-nvm" target="mlsys.on-chip-sram"><data key="relation">alternative-to</data><data key="statement">competes for on-chip weight storage with</data><data key="conditions">Density and standby power outweigh write endurance and write latency.</data></edge>
    <edge id="e1151" source="mlsys.embedded-dsl" target="mlsys.computation-graph"><data key="relation">produces</data><data key="statement">builds</data><data key="conditions">Staged or traced execution rather than immediate evaluation.</data></edge>
    <edge id="e1152" source="mlsys.embedded-dsl" target="mlsys.compilation"><data key="relation">enables</data><data key="statement">exposes whole programs to</data><data key="conditions">The DSL restricts host-language features that cannot be staged.</data></edge>
    <edge id="e1153" source="mlsys.differentiable-programming" target="mlsys.autodiff"><data key="relation">requires</data><data key="statement">relies on</data><data key="conditions">Derivatives must propagate through control flow and data structures.</data></edge>
    <edge id="e1154" source="mlsys.function-transformations" target="mlsys.differentiable-programming"><data key="relation">implements</data><data key="statement">realizes through a composable grad transformation</data><data key="conditions">Programs written as pure array functions.</data></edge>
    <edge id="e1155" source="mlsys.persistent-kernel" target="mlsys.dispatch"><data key="relation">reduces</data><data key="statement">removes per-operator launch overhead from</data><data key="conditions">Small-batch, latency-bound workloads made of many short kernels.</data></edge>
    <edge id="e1156" source="mlsys.persistent-kernel" target="mlsys.graph-replay"><data key="relation">alternative-to</data><data key="statement">is an alternative way to remove launch overhead to</data><data key="conditions">Persistent kernels also overlap work across operator boundaries inside one launch.</data></edge>
    <edge id="e1157" source="mlsys.persistent-kernel" target="mlsys.fusion"><data key="relation">alternative-to</data><data key="statement">keeps one kernel resident rather than merging operations as in</data><data key="conditions">Both reduce host launches for repeated work.</data></edge>
    <edge id="e1158" source="mlsys.graph-superoptimization" target="mlsys.compilation"><data key="relation">part-of</data><data key="statement">is an optimization stage within</data><data key="conditions">Rewrites are verified equivalent before code generation.</data></edge>
    <edge id="e1159" source="mlsys.graph-superoptimization" target="mlsys.intermediate-representation"><data key="relation">uses</data><data key="statement">searches rewrites expressed in</data><data key="conditions">Graph- or kernel-level IR with defined operator semantics.</data></edge>
    <edge id="e1160" source="mlsys.graph-superoptimization" target="mlsys.fusion"><data key="relation">enables</data><data key="statement">discovers new opportunities for</data><data key="conditions">Search spans kernel and thread-block levels as well as the graph level.</data></edge>
    <edge id="e1161" source="mlsys.llm-training-framework" target="mlsys.hybrid-parallel"><data key="relation">implements</data><data key="statement">packages</data><data key="conditions">Parallelism degrees are set by configuration and mapped to the device topology.</data></edge>
    <edge id="e1162" source="mlsys.llm-training-framework" target="mlsys.state-sharding"><data key="relation">uses</data><data key="statement">commonly applies</data><data key="conditions">Optimizer and parameter state exceed per-device memory.</data></edge>
    <edge id="e1163" source="mlsys.llm-training-framework" target="mlsys.activation-recompute"><data key="relation">uses</data><data key="statement">commonly applies</data><data key="conditions">Activation memory limits sequence length or micro-batch size.</data></edge>
    <edge id="e1164" source="mlsys.cloud-service-model" target="mlsys.tco"><data key="relation">determines</data><data key="statement">shifts the cost structure of</data><data key="conditions">Comparing rented infrastructure, managed platforms, and hosted APIs for the same workload.</data></edge>
    <edge id="e1165" source="mlsys.cloud-service-model" target="mlsys.multi-tenancy"><data key="relation">uses</data><data key="statement">relies on resource pooling through</data><data key="conditions">Providers serve many customers from shared physical resources.</data></edge>
    <edge id="e1166" source="mlsys.lakehouse" target="mlsys.object-storage"><data key="relation">uses</data><data key="statement">stores table files in</data><data key="conditions">Lakehouse designs over open file formats.</data></edge>
    <edge id="e1167" source="mlsys.lakehouse" target="mlsys.data-versioning"><data key="relation">enables</data><data key="statement">provides snapshot time travel for</data><data key="conditions">Table formats that retain prior snapshots.</data></edge>
    <edge id="e1168" source="mlsys.lakehouse" target="mlsys.dataset-storage-layout"><data key="relation">uses</data><data key="statement">stores data in columnar layouts such as</data><data key="conditions">Open columnar formats such as Parquet.</data></edge>
    <edge id="e1169" source="mlsys.training-power-swings" target="mlsys.power-oversubscription"><data key="relation">limits</data><data key="statement">removes headroom assumed by</data><data key="conditions">Swings are coincident across accelerators, defeating non-coincident-peak assumptions.</data></edge>
    <edge id="e1170" source="mlsys.facility-energy-storage" target="mlsys.training-power-swings"><data key="relation">mitigates</data><data key="statement">buffers</data><data key="conditions">Storage sized and controlled to respond at the swing frequency.</data></edge>
    <edge id="e1171" source="mlsys.power-capping" target="mlsys.training-power-swings"><data key="relation">mitigates</data><data key="statement">smooths</data><data key="conditions">Device power caps and floors applied to bound ramp rates.</data></edge>
    <edge id="e1172" source="mlsys.facility-energy-storage" target="mlsys.availability"><data key="relation">increases</data><data key="statement">raises</data><data key="conditions">Carrying load through utility outages until generators take over.</data></edge>
    <edge id="e1173" source="mlsys.grid-interconnection" target="mlsys.capacity-planning"><data key="relation">limits</data><data key="statement">caps the power available to</data><data key="conditions">Sites whose deliverable grid power is below planned IT load.</data></edge>
    <edge id="e1174" source="mlsys.on-site-generation" target="mlsys.grid-interconnection"><data key="relation">alternative-to</data><data key="statement">substitutes for or supplements</data><data key="conditions">Interconnection queues delay or cap grid supply.</data></edge>
    <edge id="e1175" source="mlsys.on-site-generation" target="mlsys.operational-carbon"><data key="relation">determines</data><data key="statement">sets the emissions of supply for</data><data key="conditions">On-site sources supply a material share of load.</data></edge>
    <edge id="e1176" source="mlsys.data-cleaning" target="mlsys.data-validation"><data key="relation">uses</data><data key="statement">repairs violations found by</data><data key="conditions">Validation rules or statistics flag the records to repair.</data></edge>
    <edge id="e1177" source="mlsys.data-cleaning" target="mlsys.missing-data"><data key="relation">mitigates</data><data key="statement">imputes or removes</data><data key="conditions">The missingness mechanism is understood well enough to choose a treatment.</data></edge>
    <edge id="e1178" source="mlsys.data-cleaning" target="mlsys.data-quality"><data key="relation">increases</data><data key="statement">raises</data><data key="conditions">Repairs are validated and do not introduce label leakage.</data></edge>
    <edge id="e1179" source="mlsys.rebalancing" target="mlsys.class-imbalance"><data key="relation">mitigates</data><data key="statement">compensates for</data><data key="conditions">Resampling or weighting is applied to training data only.</data></edge>
    <edge id="e1180" source="mlsys.class-imbalance" target="mlsys.metrics"><data key="relation">determines</data><data key="statement">shapes the choice of</data><data key="conditions">Per-class, precision-recall, or cost-weighted metrics replace accuracy.</data></edge>
    <edge id="e1181" source="mlsys.rebalancing" target="mlsys.calibration"><data key="relation">reduces</data><data key="statement">shifts predicted probabilities away from true base rates, degrading</data><data key="conditions">When posteriors track the altered training prior, deployment retains a different prior under stable class-conditional distributions, and no prior correction is applied.</data></edge>
    <edge id="e1182" source="mlsys.feature-hashing" target="mlsys.features"><data key="relation">specializes</data><data key="statement">is a technique within</data><data key="conditions">Categorical inputs with large or open vocabularies.</data></edge>
    <edge id="e1183" source="mlsys.feature-hashing" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">bounds</data><data key="conditions">Weight or embedding tables indexed by hash bucket.</data></edge>
    <edge id="e1184" source="mlsys.feature-cross" target="mlsys.features"><data key="relation">specializes</data><data key="statement">is a technique within</data><data key="conditions">Interactions among categorical inputs.</data></edge>
    <edge id="e1185" source="mlsys.feature-cross" target="mlsys.feature-hashing"><data key="relation">uses</data><data key="statement">is often bucketed by</data><data key="conditions">Crosses of high-cardinality features whose joint vocabulary would explode.</data></edge>
    <edge id="e1186" source="mlsys.linear-model" target="mlsys.feature-cross"><data key="relation">uses</data><data key="statement">represents interactions through</data><data key="conditions">Interactions not otherwise expressible by an additive model.</data></edge>
    <edge id="e1187" source="mlsys.data-governance" target="mlsys.data-retention"><data key="relation">determines</data><data key="statement">sets policy for</data><data key="conditions">Retention periods follow purpose and legal obligations.</data></edge>
    <edge id="e1188" source="mlsys.data-governance" target="mlsys.lineage"><data key="relation">requires</data><data key="statement">depends on traceability from</data><data key="conditions">Accountability for which data reached which model must be demonstrable.</data></edge>
    <edge id="e1189" source="mlsys.data-governance" target="mlsys.authorization"><data key="relation">uses</data><data key="statement">enforces access decisions through</data><data key="conditions">Access policies are encoded as enforceable permissions.</data></edge>
    <edge id="e1190" source="mlsys.data-consent" target="mlsys.data-governance"><data key="relation">part-of</data><data key="statement">is a policy element of</data><data key="conditions">Personal data is processed.</data></edge>
    <edge id="e1191" source="mlsys.data-consent" target="mlsys.data-acquisition"><data key="relation">limits</data><data key="statement">restricts</data><data key="conditions">Personal data for which a lawful basis or consent is required.</data></edge>
    <edge id="e1192" source="mlsys.exploratory-data-analysis" target="mlsys.missing-data"><data key="relation">detects</data><data key="statement">reveals patterns of</data><data key="conditions">Profiles are computed per feature and per slice.</data></edge>
    <edge id="e1193" source="mlsys.exploratory-data-analysis" target="mlsys.data-validation"><data key="relation">enables</data><data key="statement">informs constraints for</data><data key="conditions">Observed statistics seed a schema or expectation set.</data></edge>
    <edge id="e1194" source="mlsys.model-visualization" target="mlsys.experiment-tracking"><data key="relation">uses</data><data key="statement">plots metrics recorded by</data><data key="conditions">Runs log curves and artifacts in a queryable store.</data></edge>
    <edge id="e1195" source="mlsys.model-visualization" target="mlsys.error-analysis"><data key="relation">enables</data><data key="statement">supports</data><data key="conditions">Errors are displayed alongside inputs and slices.</data></edge>
    <edge id="e1196" source="mlsys.model-selection" target="mlsys.cross-validation"><data key="relation">uses</data><data key="statement">estimates candidate performance with</data><data key="conditions">Data is too small for a dedicated validation split.</data></edge>
    <edge id="e1197" source="mlsys.model-selection" target="mlsys.selection-bias"><data key="relation">causes</data><data key="statement">can inflate estimates through</data><data key="conditions">Selection and final assessment reuse the same validation data.</data></edge>
    <edge id="e1198" source="mlsys.model-selection" target="mlsys.baseline"><data key="relation">uses</data><data key="statement">compares candidates against</data><data key="conditions">The baseline is evaluated under the same protocol.</data></edge>
    <edge id="e1199" source="mlsys.hyperparameter-search" target="mlsys.model-selection"><data key="relation">part-of</data><data key="statement">is a stage within</data><data key="conditions">Hyperparameters are chosen on validation data.</data></edge>
    <edge id="e1200" source="mlsys.pretraining" target="mlsys.self-supervised-learning"><data key="relation">uses</data><data key="statement">optimizes an objective from</data><data key="conditions">Unlabeled corpora supply the training targets.</data></edge>
    <edge id="e1201" source="mlsys.pretraining" target="mlsys.transfer-learning"><data key="relation">enables</data><data key="statement">supplies base models for</data><data key="conditions">Downstream tasks share structure with the pretraining corpus.</data></edge>
    <edge id="e1202" source="mlsys.pretraining" target="mlsys.data-mixture"><data key="relation">uses</data><data key="statement">draws its corpus from</data><data key="conditions">Corpora combine multiple domains or sources.</data></edge>
    <edge id="e1203" source="mlsys.pretraining" target="mlsys.causal-lm"><data key="relation">uses</data><data key="statement">commonly optimizes</data><data key="conditions">Decoder-only language-model pretraining.</data></edge>
    <edge id="e1204" source="mlsys.causal-lm" target="mlsys.self-supervised-learning"><data key="relation">specializes</data><data key="statement">is a text case of</data><data key="conditions">Targets are the next tokens of the input itself.</data></edge>
    <edge id="e1205" source="mlsys.gan" target="mlsys.diffusion-model"><data key="relation">alternative-to</data><data key="statement">competes for sample generation with</data><data key="conditions">Single-step sampling versus many denoising steps, with different stability and diversity.</data></edge>
    <edge id="e1206" source="mlsys.gan" target="mlsys.mode-collapse"><data key="relation">causes</data><data key="statement">is prone to</data><data key="conditions">The generator outpaces the discriminator during adversarial training.</data></edge>
    <edge id="e1207" source="mlsys.mode-collapse" target="mlsys.training-instability"><data key="relation">specializes</data><data key="statement">is a diversity-loss form of</data><data key="conditions">Collapse of output diversity rather than divergence of the loss.</data></edge>
    <edge id="e1208" source="mlsys.perplexity" target="mlsys.metrics"><data key="relation">specializes</data><data key="statement">is a likelihood-based case of</data><data key="conditions">Models that assign token probabilities.</data></edge>
    <edge id="e1209" source="mlsys.tokenization" target="mlsys.perplexity"><data key="relation">determines</data><data key="statement">sets the unit of</data><data key="conditions">Per-token perplexities are comparable only under one tokenizer; bits per byte normalizes.</data></edge>
    <edge id="e1210" source="mlsys.perplexity" target="mlsys.causal-lm"><data key="relation">measures</data><data key="statement">evaluates held-out performance of</data><data key="conditions">Held-out text is free of training contamination.</data></edge>
    <edge id="e1211" source="mlsys.reference-match-scoring" target="mlsys.metrics"><data key="relation">specializes</data><data key="statement">is a reference-based case of</data><data key="conditions">Tasks with canonical reference answers.</data></edge>
    <edge id="e1212" source="mlsys.reference-match-scoring" target="mlsys.llm-judge"><data key="relation">alternative-to</data><data key="statement">competes for scoring open outputs with</data><data key="conditions">Reproducibility and cost weighed against tolerance of paraphrase.</data></edge>
    <edge id="e1213" source="mlsys.error-analysis" target="mlsys.slice-discovery"><data key="relation">uses</data><data key="statement">groups mistakes with</data><data key="conditions">Error categories are not known in advance.</data></edge>
    <edge id="e1214" source="mlsys.training-diagnostics" target="mlsys.training-instability"><data key="relation">detects</data><data key="statement">reveals</data><data key="conditions">Gradient and loss statistics are logged at step granularity.</data></edge>
    <edge id="e1215" source="mlsys.training-diagnostics" target="mlsys.model-visualization"><data key="relation">uses</data><data key="statement">reads plots from</data><data key="conditions">Learning curves and activation statistics are recorded during training.</data></edge>
    <edge id="e1216" source="mlsys.batch-inference" target="mlsys.keyed-predictions"><data key="relation">uses</data><data key="statement">joins outputs to inputs with</data><data key="conditions">Distributed batch jobs return outputs out of order.</data></edge>
    <edge id="e1217" source="mlsys.inference-logging" target="mlsys.keyed-predictions"><data key="relation">uses</data><data key="statement">joins predictions to later outcomes with</data><data key="conditions">Outcomes arrive after the prediction and must be matched.</data></edge>
    <edge id="e1218" source="mlsys.stateless-serving-function" target="mlsys.autoscaling"><data key="relation">enables</data><data key="statement">lets replicas be added or removed for</data><data key="conditions">No request depends on replica-local state.</data></edge>
    <edge id="e1219" source="mlsys.stateless-serving-function" target="mlsys.model-signature"><data key="relation">uses</data><data key="statement">exposes its interface as</data><data key="conditions">Inputs and outputs are declared at export.</data></edge>
    <edge id="e1220" source="mlsys.model-gateway" target="mlsys.model-routing"><data key="relation">uses</data><data key="statement">directs requests by</data><data key="conditions">Several models or providers serve the same application.</data></edge>
    <edge id="e1221" source="mlsys.model-gateway" target="mlsys.cost-attribution"><data key="relation">enables</data><data key="statement">records usage for</data><data key="conditions">All model calls pass through the gateway.</data></edge>
    <edge id="e1222" source="mlsys.model-gateway" target="mlsys.semantic-cache"><data key="relation">uses</data><data key="statement">can serve repeated requests from</data><data key="conditions">Responses are reusable across users and sessions.</data></edge>
    <edge id="e1223" source="mlsys.semantic-cache" target="mlsys.ann"><data key="relation">uses</data><data key="statement">finds similar past requests with</data><data key="conditions">Requests are embedded and indexed.</data></edge>
    <edge id="e1224" source="mlsys.semantic-cache" target="mlsys.unit-cost"><data key="relation">reduces</data><data key="statement">avoids model calls that drive</data><data key="conditions">Workloads with many near-duplicate requests.</data></edge>
    <edge id="e1225" source="mlsys.glue-code" target="mlsys.technical-debt"><data key="relation">causes</data><data key="statement">accumulates, when wired in without a common interface,</data><data key="conditions">When supporting code around a general package grows to fit one system.</data></edge>
    <edge id="e1226" source="mlsys.ml-platform" target="mlsys.glue-code"><data key="relation">mitigates</data><data key="statement">reduces the need for</data><data key="conditions">The platform wraps packages behind common APIs.</data></edge>
    <edge id="e1227" source="mlsys.pipeline-jungle" target="mlsys.technical-debt"><data key="relation">specializes</data><data key="statement">is a form of</data><data key="conditions">Data preparation evolves without holistic redesign.</data></edge>
    <edge id="e1228" source="mlsys.pipeline-jungle" target="mlsys.integration-testing"><data key="relation">limits</data><data key="statement">impedes end-to-end</data><data key="conditions">Failures can only be detected by expensive end-to-end tests.</data></edge>
    <edge id="e1229" source="mlsys.build-vs-buy" target="mlsys.ml-platform"><data key="relation">determines</data><data key="statement">shapes the composition of</data><data key="conditions">Platform components are chosen one capability at a time.</data></edge>
    <edge id="e1230" source="mlsys.build-vs-buy" target="mlsys.tco"><data key="relation">uses</data><data key="statement">compares options by</data><data key="conditions">Engineering, licensing, and operating costs are counted over the same horizon.</data></edge>
    <edge id="e1231" source="mlsys.user-feedback" target="mlsys.inference-logging"><data key="relation">uses</data><data key="statement">attaches signals to records in</data><data key="conditions">Feedback is joined to the prediction that elicited it.</data></edge>
    <edge id="e1232" source="mlsys.user-feedback" target="mlsys.retraining"><data key="relation">enables</data><data key="statement">supplies labels for</data><data key="conditions">Feedback is filtered for noise and position or exposure bias.</data></edge>
    <edge id="e1233" source="mlsys.user-feedback" target="mlsys.feedback-loop"><data key="relation">causes</data><data key="statement">can drive</data><data key="conditions">Feedback is gathered only on outputs the model chose to show.</data></edge>
    <edge id="e1234" source="mlsys.human-ai-interaction" target="mlsys.automation-bias"><data key="relation">mitigates</data><data key="statement">counters</data><data key="conditions">Interfaces convey uncertainty and make errors visible.</data></edge>
    <edge id="e1235" source="mlsys.human-ai-interaction" target="mlsys.contestability"><data key="relation">enables</data><data key="statement">provides interfaces for</data><data key="conditions">Users can see why an output was produced and correct or override it.</data></edge>
    <edge id="e1236" source="mlsys.demand-response" target="mlsys.power-capping"><data key="relation">uses</data><data key="statement">sheds load through</data><data key="conditions">Caps are applied in response to grid signals.</data></edge>
    <edge id="e1237" source="mlsys.demand-response" target="mlsys.job-preemption"><data key="relation">uses</data><data key="statement">defers flexible work through</data><data key="conditions">Interruptible training or batch jobs checkpoint before suspension.</data></edge>
    <edge id="e1238" source="mlsys.prompt-engineering" target="mlsys.supervised-fine-tuning"><data key="relation">alternative-to</data><data key="statement">competes for task adaptation with</data><data key="conditions">Iteration speed and no training cost weighed against reliability, context cost, and control.</data></edge>
    <edge id="e1239" source="mlsys.prompt-engineering" target="mlsys.in-context-learning"><data key="relation">uses</data><data key="statement">elicits behavior through</data><data key="conditions">The model follows instructions or demonstrations in its input.</data></edge>
    <edge id="e1240" source="mlsys.lm-program-optimization" target="mlsys.prompt-engineering"><data key="relation">implements</data><data key="statement">automates</data><data key="conditions">An end-to-end metric and training examples are available.</data></edge>
    <edge id="e1241" source="mlsys.context" target="mlsys.in-context-learning"><data key="relation">limits</data><data key="statement">caps the demonstrations available to</data><data key="conditions">Demonstrations and instructions share one input budget.</data></edge>
    <edge id="e1242" source="mlsys.pretraining" target="mlsys.in-context-learning"><data key="relation">enables</data><data key="statement">gives rise to</data><data key="conditions">Sufficient model and data scale.</data></edge>
    <edge id="e1243" source="mlsys.streaming-asr" target="mlsys.voice-pipeline"><data key="relation">part-of</data><data key="statement">is the input stage of</data><data key="conditions">Cascaded designs that transcribe speech before the language model.</data></edge>
    <edge id="e1244" source="mlsys.streaming-asr" target="mlsys.on-device-runtime"><data key="relation">uses</data><data key="statement">runs in</data><data key="conditions">On-device recognizers for privacy and latency.</data></edge>
    <edge id="e1245" source="mlsys.latency-budget" target="mlsys.voice-pipeline"><data key="relation">limits</data><data key="statement">bounds the stages of</data><data key="conditions">Turn latency must stay within conversational expectations.</data></edge>
    <edge id="e1246" source="mlsys.kv-cache-eviction" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">reduces the KV portion of</data><data key="conditions">Generation is long enough that cached keys and values dominate accelerator memory.</data></edge>
    <edge id="e1247" source="mlsys.kv-cache-eviction" target="mlsys.kv-cache-quantization"><data key="relation">alternative-to</data><data key="statement">competes as a KV-compression option with</data><data key="conditions">Both target KV memory; they can also be combined.</data></edge>
    <edge id="e1248" source="mlsys.kv-cache-eviction" target="mlsys.attention"><data key="relation">uses</data><data key="statement">selects entries using scores from</data><data key="conditions">Importance is estimated from accumulated or recent attention weights.</data></edge>
    <edge id="e1249" source="mlsys.dynamic-sparse-attention" target="mlsys.attention"><data key="relation">specializes</data><data key="statement">is a runtime-sparsified form of</data><data key="conditions">Only predicted-important query-key blocks are computed.</data></edge>
    <edge id="e1250" source="mlsys.dynamic-sparse-attention" target="mlsys.sliding-window-attention"><data key="relation">alternative-to</data><data key="statement">replaces fixed sparsity patterns of</data><data key="conditions">Sparsity is chosen per input rather than fixed in advance.</data></edge>
    <edge id="e1251" source="mlsys.dynamic-sparse-attention" target="mlsys.ttft"><data key="relation">reduces</data><data key="statement">shortens long-prompt</data><data key="conditions">Prefill attention over long contexts dominates first-token latency.</data></edge>
    <edge id="e1252" source="mlsys.host-device-interconnect" target="mlsys.cpu-gpu-hybrid-inference"><data key="relation">limits</data><data key="statement">caps the transfer rate available to</data><data key="conditions">Activations or KV state cross the host link at each step.</data></edge>
    <edge id="e1253" source="mlsys.cpu-gpu-hybrid-inference" target="mlsys.kv-cache-offload"><data key="relation">alternative-to</data><data key="statement">computes on the host instead of moving state back as in</data><data key="conditions">Host memory holds state that exceeds accelerator capacity.</data></edge>
    <edge id="e1254" source="mlsys.heterogeneous-accelerator-execution" target="mlsys.pipeline-parallel"><data key="relation">uses</data><data key="statement">assigns unequal stages through</data><data key="conditions">Stage sizes are matched to each device type's compute and memory.</data></edge>
    <edge id="e1255" source="mlsys.heterogeneous-accelerator-execution" target="mlsys.auto-parallelization"><data key="relation">uses</data><data key="statement">searches placements and plans with</data><data key="conditions">Device types differ in throughput, memory, and interconnect.</data></edge>
    <edge id="e1256" source="mlsys.graph-neural-network" target="mlsys.neural-network"><data key="relation">specializes</data><data key="statement">is a graph-structured form of</data><data key="conditions">Computation follows the input graph's edges.</data></edge>
    <edge id="e1257" source="mlsys.graph-neural-network" target="mlsys.sparse-tensor-kernels"><data key="relation">uses</data><data key="statement">aggregates neighbor features with</data><data key="conditions">Graph adjacency is stored sparsely.</data></edge>
    <edge id="e1258" source="mlsys.graph-neural-network" target="mlsys.neighbor-sampling"><data key="relation">uses</data><data key="statement">trains on large graphs with</data><data key="conditions">Full multi-hop neighborhoods exceed device memory.</data></edge>
    <edge id="e1259" source="mlsys.neighbor-sampling" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">bounds the per-batch</data><data key="conditions">Fanout per hop is capped.</data></edge>
    <edge id="e1260" source="mlsys.neighbor-sampling" target="mlsys.statistical-uncertainty"><data key="relation">increases</data><data key="statement">adds sampling variance to gradient estimates and thus</data><data key="conditions">Sampled neighborhoods approximate full aggregation.</data></edge>
    <edge id="e1261" source="mlsys.dynamic-resharding" target="mlsys.collectives"><data key="relation">uses</data><data key="statement">moves weight shards with</data><data key="conditions">Layouts differ between phases.</data></edge>
    <edge id="e1262" source="mlsys.dynamic-resharding" target="mlsys.weight-sync"><data key="relation">implements</data><data key="statement">realizes</data><data key="conditions">Training and generation share the same devices.</data></edge>
    <edge id="e1263" source="mlsys.dynamic-resharding" target="mlsys.device-mesh"><data key="relation">uses</data><data key="statement">remaps shards across</data><data key="conditions">Each phase uses a different mesh layout.</data></edge>
    <edge id="e1264" source="mlsys.activation-sparsity" target="mlsys.sparsity"><data key="relation">specializes</data><data key="statement">is an input-dependent form of</data><data key="conditions">The zero pattern changes per token.</data></edge>
    <edge id="e1265" source="mlsys.activation-sparsity" target="mlsys.pruning"><data key="relation">alternative-to</data><data key="statement">skips work per input rather than permanently as in</data><data key="conditions">Static pruning removes the same weights for every input.</data></edge>
    <edge id="e1266" source="mlsys.activation-sparsity" target="mlsys.tpot"><data key="relation">reduces</data><data key="statement">shortens</data><data key="conditions">Decode is memory-bound and skipped weights need not be read.</data></edge>
    <edge id="e1267" source="mlsys.non-prefix-kv-reuse" target="mlsys.prefix-cache"><data key="relation">alternative-to</data><data key="statement">generalizes beyond the exact-prefix matching of</data><data key="conditions">Shared chunks appear at different positions across requests.</data></edge>
    <edge id="e1268" source="mlsys.non-prefix-kv-reuse" target="mlsys.ttft"><data key="relation">reduces</data><data key="statement">shortens</data><data key="conditions">Reused chunks such as retrieved documents dominate prompt length.</data></edge>
    <edge id="e1269" source="mlsys.ml-aware-scheduling" target="mlsys.elastic-training"><data key="relation">uses</data><data key="statement">resizes jobs through</data><data key="conditions">Jobs tolerate changes in worker count.</data></edge>
    <edge id="e1270" source="mlsys.ml-aware-scheduling" target="mlsys.gang-scheduling"><data key="relation">uses</data><data key="statement">co-allocates workers with</data><data key="conditions">Distributed jobs need all workers simultaneously.</data></edge>
    <edge id="e1271" source="mlsys.ml-aware-scheduling" target="mlsys.training-goodput"><data key="relation">increases</data><data key="statement">raises cluster-wide</data><data key="conditions">Jobs' scaling behavior is measured or predicted.</data></edge>
    <edge id="e1272" source="mlsys.adaptive-routing" target="mlsys.tail-latency"><data key="relation">reduces</data><data key="statement">shortens collective</data><data key="conditions">Few large synchronized flows collide under static hashing.</data></edge>
    <edge id="e1273" source="mlsys.adaptive-routing" target="mlsys.fat-tree"><data key="relation">uses</data><data key="statement">spreads traffic over the multiple paths of</data><data key="conditions">The fabric offers path diversity between endpoints.</data></edge>
    <edge id="e1274" source="mlsys.all-to-all" target="mlsys.incast"><data key="relation">causes</data><data key="statement">can trigger</data><data key="conditions">Many ranks send to the same receiver simultaneously.</data></edge>
    <edge id="e1275" source="mlsys.congestion-control" target="mlsys.incast"><data key="relation">mitigates</data><data key="statement">throttles senders during</data><data key="conditions">Senders react to congestion signals before buffers overflow.</data></edge>
    <edge id="e1276" source="mlsys.incast" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">raises</data><data key="conditions">Buffers fill and packets queue or drop.</data></edge>
    <edge id="e1277" source="mlsys.context" target="mlsys.context-selection"><data key="relation">determines</data><data key="statement">sets the token budget for</data><data key="conditions">Candidate content exceeds the input budget.</data></edge>
    <edge id="e1278" source="mlsys.context-selection" target="mlsys.retrieval"><data key="relation">uses</data><data key="statement">gathers candidates with</data><data key="conditions">Relevant items are fetched on demand rather than preloaded.</data></edge>
    <edge id="e1279" source="mlsys.context-selection" target="mlsys.context-degradation"><data key="relation">mitigates</data><data key="statement">limits distractor content that drives</data><data key="conditions">Irrelevant tokens otherwise dilute attention.</data></edge>
    <edge id="e1280" source="mlsys.agent-memory" target="mlsys.context-staleness"><data key="relation">causes</data><data key="statement">can retain facts that produce</data><data key="conditions">Stored observations are not revalidated after the environment changes.</data></edge>
    <edge id="e1281" source="mlsys.observation-age" target="mlsys.context-staleness"><data key="relation">measures</data><data key="statement">quantifies one dimension of</data><data key="conditions">Observations carry acquisition timestamps.</data></edge>
    <edge id="e1282" source="mlsys.context-staleness" target="mlsys.hallucination"><data key="relation">causes</data><data key="statement">can lead to</data><data key="conditions">The agent reports or acts on state it observed before later changes.</data></edge>
    <edge id="e1283" source="mlsys.multi-hop-retrieval" target="mlsys.retrieval"><data key="relation">specializes</data><data key="statement">is an iterative form of</data><data key="conditions">Later queries depend on earlier results.</data></edge>
    <edge id="e1284" source="mlsys.rag" target="mlsys.multi-hop-retrieval"><data key="relation">uses</data><data key="statement">answers multi-step questions with</data><data key="conditions">No single query retrieves all needed evidence.</data></edge>
    <edge id="e1285" source="mlsys.multi-hop-retrieval" target="mlsys.execution-time"><data key="relation">increases</data><data key="statement">adds retrieval rounds to</data><data key="conditions">Each hop requires another query and model call.</data></edge>
    <edge id="e1286" source="mlsys.capability-based-security" target="mlsys.authorization"><data key="relation">specializes</data><data key="statement">is a reference-based form of</data><data key="conditions">Rights travel with unforgeable tokens.</data></edge>
    <edge id="e1287" source="mlsys.capability-based-security" target="mlsys.least-privilege"><data key="relation">implements</data><data key="statement">realizes</data><data key="conditions">Delegated capabilities are attenuated to the task's needs.</data></edge>
    <edge id="e1288" source="mlsys.ephemeral-sandbox" target="mlsys.isolation"><data key="relation">implements</data><data key="statement">provides per-task</data><data key="conditions">Each task or tenant receives a fresh environment.</data></edge>
    <edge id="e1289" source="mlsys.ephemeral-sandbox" target="mlsys.irreversible-effects"><data key="relation">mitigates</data><data key="statement">confines local damage that would otherwise become</data><data key="conditions">Effects stay inside the sandbox rather than reaching external systems.</data></edge>
    <edge id="e1290" source="mlsys.egress-control" target="mlsys.least-privilege"><data key="relation">implements</data><data key="statement">applies to network access</data><data key="conditions">Only destinations the task needs are allowed.</data></edge>
    <edge id="e1291" source="mlsys.egress-control" target="mlsys.privacy-leakage"><data key="relation">mitigates</data><data key="statement">blocks exfiltration channels for</data><data key="conditions">Leakage would otherwise travel over outbound connections.</data></edge>
    <edge id="e1292" source="mlsys.ephemeral-sandbox" target="mlsys.egress-control"><data key="relation">uses</data><data key="statement">restricts outbound network access with</data><data key="conditions">The sandbox has network access.</data></edge>
    <edge id="e1293" source="mlsys.information-flow-control" target="mlsys.prompt-injection"><data key="relation">mitigates</data><data key="statement">prevents untrusted data from steering actions in</data><data key="conditions">Data from tools and documents carries low-integrity labels.</data></edge>
    <edge id="e1294" source="mlsys.information-flow-control" target="mlsys.privacy-leakage"><data key="relation">mitigates</data><data key="statement">blocks labeled secrets from</data><data key="conditions">Confidential data is tagged at its source.</data></edge>
    <edge id="e1295" source="mlsys.distribution-shift" target="mlsys.compounding-error"><data key="relation">causes</data><data key="statement">feeds, in closed loop, the growth of</data><data key="conditions">When the shift is the policy-induced change in visited states, so each off-distribution state raises the next per-step error.</data></edge>
    <edge id="e1296" source="mlsys.imitation-learning" target="mlsys.compounding-error"><data key="relation">causes</data><data key="statement">can suffer</data><data key="conditions">Training sees only expert-visited states.</data></edge>
    <edge id="e1297" source="mlsys.action-chunking" target="mlsys.compounding-error"><data key="relation">mitigates</data><data key="statement">shortens the effective horizon of</data><data key="conditions">Actions are predicted in multi-step chunks.</data></edge>
    <edge id="e1298" source="mlsys.interactive-imitation" target="mlsys.imitation-learning"><data key="relation">specializes</data><data key="statement">is an interactive form of</data><data key="conditions">An expert can label states the learner visits.</data></edge>
    <edge id="e1299" source="mlsys.interactive-imitation" target="mlsys.compounding-error"><data key="relation">mitigates</data><data key="statement">trains on learner-visited states to counter</data><data key="conditions">Expert corrections are available during data collection.</data></edge>
    <edge id="e1300" source="mlsys.interactive-imitation" target="mlsys.teleoperation-data"><data key="relation">uses</data><data key="statement">collects corrections as</data><data key="conditions">Human operators supply corrective actions.</data></edge>
    <edge id="e1301" source="mlsys.loss-masking" target="mlsys.supervised-fine-tuning"><data key="relation">part-of</data><data key="statement">is a configuration step in</data><data key="conditions">Examples contain non-target tokens such as prompts or tool output.</data></edge>
    <edge id="e1302" source="mlsys.loss-masking" target="mlsys.loss"><data key="relation">determines</data><data key="statement">defines which tokens contribute to</data><data key="conditions">Sequences and turns vary in length.</data></edge>
    <edge id="e1303" source="mlsys.credit-assignment" target="mlsys.reinforcement-learning"><data key="relation">part-of</data><data key="statement">is a core problem within</data><data key="conditions">Rewards are delayed or episode-level.</data></edge>
    <edge id="e1304" source="mlsys.process-reward-model" target="mlsys.credit-assignment"><data key="relation">implements</data><data key="statement">provides step-level signals for</data><data key="conditions">Intermediate steps can be judged.</data></edge>
    <edge id="e1305" source="mlsys.actuator-limits" target="mlsys.trajectory-feasibility"><data key="relation">determines</data><data key="statement">sets which motions satisfy</data><data key="conditions">Planned motions demand force or speed near the actuator's capability.</data></edge>
    <edge id="e1306" source="mlsys.model-predictive-control" target="mlsys.actuator-limits"><data key="relation">uses</data><data key="statement">encodes as input constraints</data><data key="conditions">Limits are known and modeled.</data></edge>
    <edge id="e1307" source="mlsys.watchdog-timer" target="mlsys.runtime-assurance"><data key="relation">part-of</data><data key="statement">is a liveness mechanism within</data><data key="conditions">The monitored component can hang or stall.</data></edge>
    <edge id="e1308" source="mlsys.watchdog-timer" target="mlsys.minimal-risk-condition"><data key="relation">uses</data><data key="statement">triggers on expiry</data><data key="conditions">A safe fallback state is defined.</data></edge>
    <edge id="e1309" source="mlsys.closed-loop-evaluation" target="mlsys.compounding-error"><data key="relation">detects</data><data key="statement">reveals</data><data key="conditions">Errors alter later observations, unlike open-loop replay.</data></edge>
    <edge id="e1310" source="mlsys.xil-testing" target="mlsys.closed-loop-evaluation"><data key="relation">implements</data><data key="statement">provides simulated loops for</data><data key="conditions">The environment model reacts to the system's actions.</data></edge>
    <edge id="e1311" source="mlsys.event-data-recorder" target="mlsys.failure-attribution"><data key="relation">enables</data><data key="statement">supplies reconstruction evidence for</data><data key="conditions">Records cover the interval before and after the event.</data></edge>
    <edge id="e1312" source="mlsys.safety-performance-indicator" target="mlsys.event-data-recorder"><data key="relation">uses</data><data key="statement">is computed from events logged by</data><data key="conditions">Field events are recorded consistently.</data></edge>
    <edge id="e1313" source="mlsys.decision-accountability" target="mlsys.algorithmic-audit"><data key="relation">enables</data><data key="statement">provides traceable decisions for</data><data key="conditions">Records name the approver and evidence.</data></edge>
    <edge id="e1314" source="mlsys.decision-accountability" target="mlsys.contestability"><data key="relation">enables</data><data key="statement">identifies whom to challenge in</data><data key="conditions">Affected people can see who decided.</data></edge>
    <edge id="e1315" source="mlsys.approval-gate" target="mlsys.decision-accountability"><data key="relation">produces</data><data key="statement">records approvals as</data><data key="conditions">Each approval is logged with approver identity.</data></edge>
    <edge id="e1316" source="mlsys.agent-interruption" target="mlsys.human-oversight"><data key="relation">part-of</data><data key="statement">is an intervention mechanism within</data><data key="conditions">Operators can act during execution.</data></edge>
    <edge id="e1317" source="mlsys.agent-interruption" target="mlsys.compensation"><data key="relation">uses</data><data key="statement">undoes partial work with</data><data key="conditions">Cancelled work already produced side effects.</data></edge>
    <edge id="e1318" source="mlsys.agent-loop-detection" target="mlsys.agent-harness"><data key="relation">part-of</data><data key="statement">is a progress monitor within</data><data key="conditions">The harness can inspect the trajectory between steps.</data></edge>
    <edge id="e1319" source="mlsys.agent-loop-detection" target="mlsys.coordination-failure"><data key="relation">detects</data><data key="statement">flags looping instances of</data><data key="conditions">Agents repeat steps or hand work back and forth.</data></edge>
    <edge id="e1320" source="mlsys.agent-loop-detection" target="mlsys.agent-budget"><data key="relation">alternative-to</data><data key="statement">stops stuck runs earlier than</data><data key="conditions">Progress can be judged before a budget is exhausted.</data></edge>
    <edge id="e1321" source="mlsys.task-and-motion-planning" target="mlsys.motion-planning"><data key="relation">uses</data><data key="statement">checks each symbolic step with</data><data key="conditions">Actions have geometric preconditions.</data></edge>
    <edge id="e1322" source="mlsys.task-and-motion-planning" target="mlsys.trajectory-feasibility"><data key="relation">requires</data><data key="statement">accepts plans only with</data><data key="conditions">Symbolic plans can be geometrically infeasible.</data></edge>
    <edge id="e1323" source="mlsys.multi-object-tracking" target="mlsys.state-estimation"><data key="relation">specializes</data><data key="statement">is a multi-target form of</data><data key="conditions">Several objects are observed with unknown correspondence.</data></edge>
    <edge id="e1324" source="mlsys.multi-object-tracking" target="mlsys.recursive-filtering"><data key="relation">uses</data><data key="statement">propagates each track with</data><data key="conditions">Object motion is modeled between frames.</data></edge>
    <edge id="e1325" source="mlsys.change-impact-analysis" target="mlsys.safety-case"><data key="relation">requires</data><data key="statement">traces affected claims through</data><data key="conditions">Claims and evidence are explicitly linked.</data></edge>
    <edge id="e1326" source="mlsys.change-impact-analysis" target="mlsys.release-gate"><data key="relation">determines</data><data key="statement">sets the re-verification scope for</data><data key="conditions">A model, software, data, or ODD change is proposed.</data></edge>
    <edge id="e1327" source="mlsys.pruning" target="mlsys.sparse-tensor-kernels"><data key="relation">uses</data><data key="statement">relies on, to turn zeros into wall-clock speedup,</data><data key="conditions">Sparsity is high enough to overcome irregular access.</data></edge>
    <edge id="e1328" source="mlsys.sparse-tensor-kernels" target="mlsys.tensor-layout"><data key="relation">uses</data><data key="statement">stores nonzeros in compressed formats described by</data><data key="conditions">Nonzeros are kept in formats such as CSR or coordinate lists.</data></edge>
    <edge id="e1329" source="mlsys.local-sgd" target="mlsys.data-parallel"><data key="relation">specializes</data><data key="statement">is a periodically synchronized form of</data><data key="conditions">Workers hold full model replicas.</data></edge>
    <edge id="e1330" source="mlsys.local-sgd" target="mlsys.gradient-compression"><data key="relation">alternative-to</data><data key="statement">reduces communication by frequency rather than size as in</data><data key="conditions">Bandwidth between workers is scarce.</data></edge>
    <edge id="e1331" source="mlsys.federated-averaging" target="mlsys.local-sgd"><data key="relation">specializes</data><data key="statement">is a federated instance of</data><data key="conditions">Clients run several local epochs before averaging.</data></edge>
    <edge id="e1332" source="mlsys.expert-placement" target="mlsys.expert-parallel"><data key="relation">part-of</data><data key="statement">is a placement decision within</data><data key="conditions">Experts are distributed across devices.</data></edge>
    <edge id="e1333" source="mlsys.expert-placement" target="mlsys.stragglers"><data key="relation">mitigates</data><data key="statement">relieves overloaded devices that become</data><data key="conditions">Routing concentrates tokens on a few experts.</data></edge>
    <edge id="e1334" source="mlsys.expert-placement" target="mlsys.load-balancing-loss"><data key="relation">alternative-to</data><data key="statement">balances load in the system rather than the model as in</data><data key="conditions">Routing remains skewed despite training-time balancing.</data></edge>
    <edge id="e1335" source="mlsys.memory-efficient-optimizer" target="mlsys.optimizer"><data key="relation">specializes</data><data key="statement">is a reduced-state form of</data><data key="conditions">Full adaptive state exceeds memory.</data></edge>
    <edge id="e1336" source="mlsys.memory-efficient-optimizer" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">shrinks the optimizer-state share of</data><data key="conditions">Optimizer state dominates training memory.</data></edge>
    <edge id="e1337" source="mlsys.memory-efficient-optimizer" target="mlsys.state-sharding"><data key="relation">alternative-to</data><data key="statement">shrinks state rather than distributing it as in</data><data key="conditions">Few devices are available to shard across.</data></edge>
    <edge id="e1338" source="mlsys.profiling" target="mlsys.execution-trace"><data key="relation">produces</data><data key="statement">records</data><data key="conditions">Operator dependencies are captured along with timings.</data></edge>
    <edge id="e1339" source="mlsys.performance-simulation" target="mlsys.execution-trace"><data key="relation">uses</data><data key="statement">replays workloads from</data><data key="conditions">Traces are in a standardized format.</data></edge>
    <edge id="e1340" source="mlsys.offline-rl" target="mlsys.reinforcement-learning"><data key="relation">specializes</data><data key="statement">is a fixed-dataset form of</data><data key="conditions">No further environment interaction is allowed.</data></edge>
    <edge id="e1341" source="mlsys.offline-rl" target="mlsys.imitation-learning"><data key="relation">alternative-to</data><data key="statement">can improve on demonstrations unlike</data><data key="conditions">Logged data carries reward labels.</data></edge>
    <edge id="e1342" source="mlsys.distribution-shift" target="mlsys.offline-rl"><data key="relation">limits</data><data key="statement">bounds what can be learned in</data><data key="conditions">The learned policy visits states the dataset does not cover.</data></edge>
    <edge id="e1343" source="mlsys.byzantine-robust-aggregation" target="mlsys.poisoning"><data key="relation">mitigates</data><data key="statement">bounds the influence of</data><data key="conditions">Only a minority of participants are malicious.</data></edge>
    <edge id="e1344" source="mlsys.federated-learning" target="mlsys.byzantine-robust-aggregation"><data key="relation">uses</data><data key="statement">combines client updates with</data><data key="conditions">Clients are untrusted.</data></edge>
    <edge id="e1345" source="mlsys.cluster-manager" target="mlsys.bin-packing"><data key="relation">uses</data><data key="statement">places tasks with</data><data key="conditions">Machines have multidimensional resource capacity.</data></edge>
    <edge id="e1346" source="mlsys.cluster-manager" target="mlsys.resource-quota"><data key="relation">uses</data><data key="statement">enforces</data><data key="conditions">Multiple teams share the cluster.</data></edge>
    <edge id="e1347" source="mlsys.cluster-manager" target="mlsys.job-preemption"><data key="relation">uses</data><data key="statement">honors priorities through</data><data key="conditions">Higher-priority work arrives while capacity is full.</data></edge>
    <edge id="e1348" source="mlsys.energy-efficiency" target="mlsys.rebound-effect"><data key="relation">causes</data><data key="statement">can trigger</data><data key="conditions">Demand for the service is price-elastic.</data></edge>
    <edge id="e1349" source="mlsys.rebound-effect" target="mlsys.energy"><data key="relation">increases</data><data key="statement">raises total</data><data key="conditions">Demand growth outpaces per-unit savings.</data></edge>
    <edge id="e1350" source="mlsys.data-validation" target="mlsys.data-cascade"><data key="relation">mitigates</data><data key="statement">catches early defects that start</data><data key="conditions">Checks run at ingestion and between stages.</data></edge>
    <edge id="e1351" source="mlsys.data-dependency" target="mlsys.data-cascade"><data key="relation">causes</data><data key="statement">can propagate</data><data key="conditions">Downstream consumers depend on undeclared upstream signals.</data></edge>
    <edge id="e1352" source="mlsys.data-valuation" target="mlsys.data-selection"><data key="relation">enables</data><data key="statement">ranks candidates for</data><data key="conditions">Value estimates are cheaper than retraining on each subset.</data></edge>
    <edge id="e1353" source="mlsys.data-valuation" target="mlsys.data-quality"><data key="relation">measures</data><data key="statement">estimates the contribution side of</data><data key="conditions">A utility metric and baseline model are fixed.</data></edge>
    <edge id="e1354" source="mlsys.diffusion-policy" target="mlsys.diffusion-model"><data key="relation">uses</data><data key="statement">generates actions with</data><data key="conditions">When the action generator reverses a noising process; flow-matching policies integrate a learned flow instead.</data></edge>
    <edge id="e1355" source="mlsys.diffusion-policy" target="mlsys.action-chunking"><data key="relation">uses</data><data key="statement">predicts action sequences as in</data><data key="conditions">Actions are generated over a short horizon.</data></edge>
    <edge id="e1356" source="mlsys.sensor-spoofing" target="mlsys.evasion"><data key="relation">implements</data><data key="statement">realizes, through counterfeit measurements,</data><data key="conditions">When the counterfeit measurements target a learned perception model.</data></edge>
    <edge id="e1357" source="mlsys.sensor-fusion" target="mlsys.sensor-spoofing"><data key="relation">mitigates</data><data key="statement">cross-checks modalities against</data><data key="conditions">The attacker cannot spoof all modalities consistently.</data></edge>
    <edge id="e1358" source="mlsys.paired-comparison" target="mlsys.statistical-uncertainty"><data key="relation">reduces</data><data key="statement">cancels shared item variance from</data><data key="conditions">Both systems are scored on the same items.</data></edge>
    <edge id="e1359" source="mlsys.paired-comparison" target="mlsys.baseline"><data key="relation">uses</data><data key="statement">tests candidates against</data><data key="conditions">A noninferiority margin is declared in advance.</data></edge>
    <edge id="e1360" source="mlsys.release-gate" target="mlsys.paired-comparison"><data key="relation">uses</data><data key="statement">decides promotion with</data><data key="conditions">Candidate and incumbent are evaluated on the same set.</data></edge>
    <edge id="e1361" source="mlsys.cpu-execution-architecture" target="mlsys.accelerator-execution-architecture"><data key="relation">alternative-to</data><data key="statement">is a competing execution target to</data><data key="conditions">The workload is small, sparse, or latency-bound enough that host execution is viable.</data></edge>
    <edge id="e1362" source="mlsys.cpu-execution-architecture" target="mlsys.memory-hierarchy"><data key="relation">uses</data><data key="statement">relies on caches and DRAM levels of</data><data key="conditions">Performance depends on working-set reuse in the cache levels.</data></edge>
    <edge id="e1363" source="mlsys.cpu-gpu-hybrid-inference" target="mlsys.cpu-execution-architecture"><data key="relation">uses</data><data key="statement">offloads selected operators to</data><data key="conditions">Model or KV state exceeds accelerator memory.</data></edge>
    <edge id="e1364" source="mlsys.cpu-threading-numa" target="mlsys.cpu-execution-architecture"><data key="relation">uses</data><data key="statement">maps operator work onto the cores and caches of</data><data key="conditions">Inference or preprocessing runs on multicore hosts.</data></edge>
    <edge id="e1365" source="mlsys.cpu-threading-numa" target="mlsys.utilization"><data key="relation">determines</data><data key="statement">sets achieved core utilization through</data><data key="conditions">Thread counts and affinity are configured relative to available cores and NUMA domains.</data></edge>
    <edge id="e1366" source="mlsys.dynamic-shapes" target="mlsys.compilation"><data key="relation">part-of</data><data key="statement">is a concern within</data><data key="conditions">Input dimensions vary across calls to a compiled function.</data></edge>
    <edge id="e1367" source="mlsys.dynamic-shapes" target="mlsys.graph-replay"><data key="relation">limits</data><data key="statement">restricts reuse of</data><data key="conditions">Captured graphs are valid only for the shapes recorded at capture time.</data></edge>
    <edge id="e1368" source="mlsys.rule-based-graph-rewriting" target="mlsys.compilation"><data key="relation">part-of</data><data key="statement">is a pass family within</data><data key="conditions">The compiler applies pattern-based passes before lowering.</data></edge>
    <edge id="e1369" source="mlsys.rule-based-graph-rewriting" target="mlsys.graph-superoptimization"><data key="relation">alternative-to</data><data key="statement">is the hand-written counterpart to</data><data key="conditions">Both seek semantics-preserving graph transformations; one uses fixed rules, the other searched rewrites.</data></edge>
    <edge id="e1370" source="mlsys.rule-based-graph-rewriting" target="mlsys.fusion"><data key="relation">enables</data><data key="statement">exposes fusible patterns for</data><data key="conditions">Canonicalization places compatible operators adjacent in the graph.</data></edge>
    <edge id="e1371" source="mlsys.sparse-ragged-tensors" target="mlsys.tensor-layout"><data key="relation">specializes</data><data key="statement">is a compressed form of</data><data key="conditions">Storage records only nonzero entries or actual sequence extents.</data></edge>
    <edge id="e1372" source="mlsys.sparse-ragged-tensors" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">shrinks</data><data key="conditions">Density is low or lengths vary widely, so padding would dominate storage.</data></edge>
    <edge id="e1373" source="mlsys.sparse-tensor-kernels" target="mlsys.sparse-ragged-tensors"><data key="relation">uses</data><data key="statement">operates on operands stored in</data><data key="conditions">Kernels read compressed index structures rather than dense arrays.</data></edge>
    <edge id="e1374" source="mlsys.execution-providers" target="mlsys.model-exchange-format"><data key="relation">uses</data><data key="statement">partitions graphs expressed in</data><data key="conditions">The runtime loads a framework-neutral operator graph.</data></edge>
    <edge id="e1375" source="mlsys.on-device-runtime" target="mlsys.execution-providers"><data key="relation">uses</data><data key="statement">delegates subgraphs through</data><data key="conditions">The target device exposes an NPU, GPU, or DSP backend with partial operator coverage.</data></edge>
    <edge id="e1376" source="mlsys.execution-providers" target="mlsys.dispatch"><data key="relation">increases</data><data key="statement">adds host orchestration through</data><data key="conditions">Operator fallback splits the graph and forces cross-backend copies.</data></edge>
    <edge id="e1377" source="mlsys.large-language-model" target="mlsys.transformer"><data key="relation">uses</data><data key="statement">is usually built on</data><data key="conditions">Most current language models use decoder-only Transformer stacks.</data></edge>
    <edge id="e1378" source="mlsys.pretraining" target="mlsys.large-language-model"><data key="relation">produces</data><data key="statement">yields the base weights of</data><data key="conditions">Training uses broad corpora and a self-supervised language-modeling objective.</data></edge>
    <edge id="e1379" source="mlsys.large-language-model" target="mlsys.neural-network"><data key="relation">specializes</data><data key="statement">is a large-scale instance of</data><data key="conditions">The model is a parameterized composition of differentiable operations.</data></edge>
    <edge id="e1380" source="mlsys.inference-compute-estimate" target="mlsys.kv-cache"><data key="relation">measures</data><data key="statement">sizes</data><data key="conditions">Dense attention with known layers, KV heads, head dimension, context, and precision.</data></edge>
    <edge id="e1381" source="mlsys.capacity-planning" target="mlsys.inference-compute-estimate"><data key="relation">uses</data><data key="statement">sizes accelerators from</data><data key="conditions">Planning precedes measurement on the target system.</data></edge>
    <edge id="e1382" source="mlsys.inference-compute-estimate" target="mlsys.flop-accounting"><data key="relation">specializes</data><data key="statement">is the per-token inference case of</data><data key="conditions">The model is a dense transformer served autoregressively.</data></edge>
    <edge id="e1383" source="mlsys.sync-async-training" target="mlsys.data-parallel"><data key="relation">part-of</data><data key="statement">is a design choice within</data><data key="conditions">Replicas train on different examples and must coordinate updates.</data></edge>
    <edge id="e1384" source="mlsys.parameter-server" target="mlsys.sync-async-training"><data key="relation">enables</data><data key="statement">makes asynchronous updates practical for</data><data key="conditions">Workers push and pull parameters without a global barrier.</data></edge>
    <edge id="e1385" source="mlsys.input-prefetching" target="mlsys.input-pipeline"><data key="relation">part-of</data><data key="statement">is a stage within</data><data key="conditions">Batches are prepared ahead of consumption.</data></edge>
    <edge id="e1386" source="mlsys.input-prefetching" target="mlsys.utilization"><data key="relation">increases</data><data key="statement">raises accelerator utilization by hiding input latency behind</data><data key="conditions">Input preparation would otherwise stall compute.</data></edge>
    <edge id="e1387" source="mlsys.event-time-windowing" target="mlsys.stream-processing"><data key="relation">part-of</data><data key="statement">is a mechanism within</data><data key="conditions">Events carry timestamps and can arrive out of order.</data></edge>
    <edge id="e1388" source="mlsys.event-time-windowing" target="mlsys.feature-freshness"><data key="relation">determines</data><data key="statement">sets the staleness of streaming features through</data><data key="conditions">Window size and allowed lateness bound when an aggregate is emitted.</data></edge>
    <edge id="e1389" source="mlsys.token-streaming" target="mlsys.backpressure"><data key="relation">uses</data><data key="statement">relies on flow control from</data><data key="conditions">Clients consume output more slowly than the server generates it.</data></edge>
    <edge id="e1390" source="mlsys.tpot" target="mlsys.token-streaming"><data key="relation">measures</data><data key="statement">quantifies the delivery cadence of</data><data key="conditions">Output is returned token by token after the first.</data></edge>
    <edge id="e1391" source="mlsys.serverless-inference" target="mlsys.stateless-serving-function"><data key="relation">uses</data><data key="statement">packages models as</data><data key="conditions">Any instance must be able to serve any request.</data></edge>
    <edge id="e1392" source="mlsys.cold-start" target="mlsys.serverless-inference"><data key="relation">limits</data><data key="statement">bounds the latency attainable by</data><data key="conditions">Replicas scale from zero and must load weights before serving.</data></edge>
    <edge id="e1393" source="mlsys.llm-request-scheduling" target="mlsys.continuous-batching"><data key="relation">uses</data><data key="statement">reorders requests inside</data><data key="conditions">Scheduling decisions occur at each generation iteration.</data></edge>
    <edge id="e1394" source="mlsys.llm-request-scheduling" target="mlsys.tail-latency"><data key="relation">determines</data><data key="statement">shapes</data><data key="conditions">Long and short generations share capacity under load.</data></edge>
    <edge id="e1395" source="mlsys.containerization" target="mlsys.dependency-environment"><data key="relation">implements</data><data key="statement">packages</data><data key="conditions">The image pins packages, native libraries, and runtime configuration.</data></edge>
    <edge id="e1396" source="mlsys.containerization" target="mlsys.experiment-reproducibility"><data key="relation">enables</data><data key="statement">makes reruns practical for</data><data key="conditions">Images are versioned and run unchanged across machines.</data></edge>
    <edge id="e1397" source="mlsys.distributed-hang-diagnosis" target="mlsys.gray-failure"><data key="relation">detects</data><data key="statement">identifies</data><data key="conditions">A slow or stuck rank stalls collectives without crashing.</data></edge>
    <edge id="e1398" source="mlsys.distributed-hang-diagnosis" target="mlsys.watchdog-timer"><data key="relation">uses</data><data key="statement">flags stalls with</data><data key="conditions">Collectives and ranks are expected to make progress within a timeout.</data></edge>
    <edge id="e1399" source="mlsys.benchmark-representativeness" target="mlsys.workload"><data key="relation">requires</data><data key="statement">depends on an accurate</data><data key="conditions">The benchmark is used to predict deployed behavior.</data></edge>
    <edge id="e1400" source="mlsys.inference-load-scenario" target="mlsys.benchmark-representativeness"><data key="relation">determines</data><data key="statement">sets how closely measured results match deployment for</data><data key="conditions">Arrival pattern and latency constraint are chosen to mirror the target service.</data></edge>
    <edge id="e1401" source="mlsys.data-model-licensing" target="mlsys.data-acquisition"><data key="relation">limits</data><data key="statement">restricts which sources can enter</data><data key="conditions">Datasets or weights carry use, redistribution, or field-of-use terms.</data></edge>
    <edge id="e1402" source="mlsys.data-governance" target="mlsys.data-model-licensing"><data key="relation">uses</data><data key="statement">enforces terms recorded in</data><data key="conditions">Access and use decisions must respect license obligations.</data></edge>
    <edge id="e1403" source="mlsys.risk-tiered-regulation" target="mlsys.content-provenance"><data key="relation">requires</data><data key="statement">can mandate</data><data key="conditions">Regulation requires machine-readable marking of synthetic content.</data></edge>
    <edge id="e1404" source="mlsys.fleet-data-engine" target="mlsys.active-learning"><data key="relation">uses</data><data key="statement">selects uploads with</data><data key="conditions">Triggers prioritize uncertain or rare events for labeling.</data></edge>
    <edge id="e1405" source="mlsys.fleet-data-engine" target="mlsys.distribution-shift"><data key="relation">mitigates</data><data key="statement">counters</data><data key="conditions">Mined data covers conditions the deployed fleet now encounters.</data></edge>
    <edge id="e1406" source="mlsys.robotics-middleware" target="mlsys.feedback-delay"><data key="relation">increases</data><data key="statement">adds transport, serialization, and executor queuing delay to</data><data key="conditions">When sensing, inference, and control run as separate communicating nodes rather than in one process.</data></edge>
    <edge id="e1407" source="mlsys.sensor-fusion" target="mlsys.robotics-middleware"><data key="relation">uses</data><data key="statement">receives synchronized sensor streams through</data><data key="conditions">Sensors publish on separate topics consumed by a fusion node.</data></edge>
    <edge id="e1408" source="mlsys.reinforcement-learning" target="mlsys.parallel-simulation"><data key="relation">uses</data><data key="statement">gathers experience from</data><data key="conditions">Training runs in simulation before physical deployment.</data></edge>
    <edge id="e1409" source="mlsys.domain-randomization" target="mlsys.parallel-simulation"><data key="relation">uses</data><data key="statement">samples randomized environments from</data><data key="conditions">Simulator parameters can be varied per environment instance.</data></edge>
    <edge id="e1410" source="mlsys.agent-credentials" target="mlsys.least-privilege"><data key="relation">implements</data><data key="statement">realizes</data><data key="conditions">Credentials are scoped to the task and expire after it.</data></edge>
    <edge id="e1411" source="mlsys.agent-credentials" target="mlsys.capability-based-security"><data key="relation">uses</data><data key="statement">issues attenuated rights through</data><data key="conditions">Delegated tokens carry narrower scope than the user holds.</data></edge>
    <edge id="e1412" source="mlsys.graph-neural-network" target="mlsys.gnn-graph-partitioning"><data key="relation">uses</data><data key="statement">scales training across workers with</data><data key="conditions">The graph and its features exceed one device or machine.</data></edge>
    <edge id="e1413" source="mlsys.neighbor-sampling" target="mlsys.gnn-graph-partitioning"><data key="relation">uses</data><data key="statement">draws mini-batches across</data><data key="conditions">Distributed training samples neighborhoods that span partitions.</data></edge>
    <edge id="e1414" source="mlsys.host-data-loader" target="mlsys.input-pipeline"><data key="relation">part-of</data><data key="statement">is the single-machine stage of</data><data key="conditions">Examples are decoded and collated on the training host.</data></edge>
    <edge id="e1415" source="mlsys.host-data-loader" target="mlsys.utilization"><data key="relation">determines</data><data key="statement">bounds accelerator utilization through</data><data key="conditions">Per-batch preprocessing time approaches the accelerator step time.</data></edge>
    <edge id="e1416" source="mlsys.input-prefetching" target="mlsys.host-data-loader"><data key="relation">part-of</data><data key="statement">overlaps loading with compute in</data><data key="conditions">Worker processes prepare batches ahead of the training step.</data></edge>
    <edge id="e1417" source="mlsys.streaming-asr" target="mlsys.streaming-inference"><data key="relation">specializes</data><data key="statement">is streaming inference over audio</data><data key="conditions">Audio arrives in chunks and partial transcripts are emitted before the utterance ends.</data></edge>
    <edge id="e1418" source="mlsys.streaming-inference" target="mlsys.backpressure"><data key="relation">uses</data><data key="statement">relies on</data><data key="conditions">Input or output rates can outpace the other side of the stream.</data></edge>
    <edge id="e1419" source="mlsys.inference-api" target="mlsys.model-server"><data key="relation">part-of</data><data key="statement">is the request interface of</data><data key="conditions">Clients call the model over a network protocol.</data></edge>
    <edge id="e1420" source="mlsys.inference-api" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">adds serialization time to</data><data key="conditions">Payloads are large, such as images or long token sequences.</data></edge>
    <edge id="e1421" source="mlsys.request-throughput" target="mlsys.latency-throughput-curve"><data key="relation">part-of</data><data key="statement">is the horizontal axis of</data><data key="conditions">Latency is measured across offered loads.</data></edge>
    <edge id="e1422" source="mlsys.request-throughput" target="mlsys.slo-goodput"><data key="relation">limits</data><data key="statement">is an upper bound on</data><data key="conditions">Goodput counts only completed requests that meet their latency targets.</data></edge>
    <edge id="e1423" source="mlsys.latency-percentiles" target="mlsys.tail-latency"><data key="relation">measures</data><data key="statement">quantifies</data><data key="conditions">High percentiles such as p99 are reported.</data></edge>
    <edge id="e1424" source="mlsys.latency-percentiles" target="mlsys.sli"><data key="relation">implements</data><data key="statement">is a common form of</data><data key="conditions">The SLO is stated as a percentile under a threshold.</data></edge>
    <edge id="e1425" source="mlsys.cache-aware-routing" target="mlsys.prefix-cache"><data key="relation">uses</data><data key="statement">routes requests to replicas holding compatible cached prefixes of</data><data key="conditions">When requests share prompt prefixes or belong to multi-turn sessions and the cached prefix is replica-local.</data></edge>
    <edge id="e1426" source="mlsys.cache-aware-routing" target="mlsys.load-balancing"><data key="relation">trades-off</data><data key="statement">trades cache reuse against</data><data key="conditions">Popular prefixes concentrate traffic on a few replicas.</data></edge>
    <edge id="e1427" source="mlsys.process-group-rendezvous" target="mlsys.collectives"><data key="relation">enables</data><data key="statement">establishes the communicators used by</data><data key="conditions">Every rank must join before the first collective.</data></edge>
    <edge id="e1428" source="mlsys.elastic-training" target="mlsys.process-group-rendezvous"><data key="relation">uses</data><data key="statement">re-runs</data><data key="conditions">Workers join or leave and groups are rebuilt.</data></edge>
    <edge id="e1429" source="mlsys.agentic-workload" target="mlsys.kv-cache"><data key="relation">increases</data><data key="statement">grows the size and reuse of</data><data key="conditions">Each step resends a growing shared context to the same model.</data></edge>
    <edge id="e1430" source="mlsys.workload" target="mlsys.agentic-workload"><data key="relation">measures</data><data key="statement">quantifies the demands of</data><data key="conditions">The workload is a multi-step agent trajectory rather than independent requests.</data></edge>
    <edge id="e1431" source="mlsys.performance-regression-testing" target="mlsys.benchmark"><data key="relation">uses</data><data key="statement">repeatedly runs</data><data key="conditions">Each change is benchmarked against a stored baseline.</data></edge>
    <edge id="e1432" source="mlsys.performance-regression-testing" target="mlsys.ml-ci-cd"><data key="relation">part-of</data><data key="statement">is a gate in</data><data key="conditions">Performance thresholds can block a merge or release.</data></edge>
    <edge id="e1433" source="mlsys.measurement-variability" target="mlsys.benchmark"><data key="relation">limits</data><data key="statement">limits the precision of</data><data key="conditions">Differences between systems are comparable to run-to-run spread.</data></edge>
    <edge id="e1434" source="mlsys.measurement-variability" target="mlsys.profiling"><data key="relation">limits</data><data key="statement">confounds</data><data key="conditions">Asynchronous kernels are timed without synchronization or warm-up.</data></edge>
    <edge id="e1435" source="mlsys.pii-deidentification" target="mlsys.privacy-leakage"><data key="relation">mitigates</data><data key="statement">reduces the risk of</data><data key="conditions">Identifiers are removed before training or logging.</data></edge>
    <edge id="e1436" source="mlsys.data-governance" target="mlsys.pii-deidentification"><data key="relation">requires</data><data key="statement">requires</data><data key="conditions">Data contains personal information subject to regulation.</data></edge>
    <edge id="e1437" source="mlsys.gradient-clipping" target="mlsys.training-instability"><data key="relation">mitigates</data><data key="statement">suppresses</data><data key="conditions">Instability arises from occasional very large gradients.</data></edge>
    <edge id="e1438" source="mlsys.gradient-clipping" target="mlsys.optimizer"><data key="relation">part-of</data><data key="statement">is applied in the update step of</data><data key="conditions">Gradients are clipped before the optimizer step.</data></edge>
    <edge id="e1439" source="mlsys.weight-initialization" target="mlsys.training-instability"><data key="relation">mitigates</data><data key="statement">prevents early</data><data key="conditions">Networks are deep and use rectifier or residual blocks.</data></edge>
    <edge id="e1440" source="mlsys.hyperparameter-transfer" target="mlsys.weight-initialization"><data key="relation">determines</data><data key="statement">prescribes width-dependent scales for</data><data key="conditions">Hyperparameters tuned on a small model are reused at a larger width.</data></edge>
    <edge id="e1441" source="mlsys.delivery-semantics" target="mlsys.idempotency"><data key="relation">uses</data><data key="statement">achieves effectively-once results with</data><data key="conditions">Records may be redelivered after failures.</data></edge>
    <edge id="e1442" source="mlsys.delivery-semantics" target="mlsys.stream-processing"><data key="relation">part-of</data><data key="statement">is a guarantee of</data><data key="conditions">The pipeline retries or replays records after failures.</data></edge>
    <edge id="e1443" source="mlsys.online-feature-consistency" target="mlsys.train-serve-skew"><data key="relation">mitigates</data><data key="statement">prevents</data><data key="conditions">Online and offline stores are populated by separate jobs.</data></edge>
    <edge id="e1444" source="mlsys.online-feature-consistency" target="mlsys.feature-freshness"><data key="relation">trades-off</data><data key="statement">trades against</data><data key="conditions">Features are updated faster than they can be materialized consistently.</data></edge>
    <edge id="e1445" source="mlsys.ood-detection" target="mlsys.distribution-shift"><data key="relation">detects</data><data key="statement">flags individual inputs affected by</data><data key="conditions">Inputs fall outside the training distribution.</data></edge>
    <edge id="e1446" source="mlsys.ood-detection" target="mlsys.selective-prediction"><data key="relation">enables</data><data key="statement">supplies abstention signals to</data><data key="conditions">The system may defer uncertain inputs.</data></edge>
    <edge id="e1447" source="mlsys.model-feature-compatibility" target="mlsys.rollout"><data key="relation">limits</data><data key="statement">constrains</data><data key="conditions">Model, features, and consumers are released on different schedules.</data></edge>
    <edge id="e1448" source="mlsys.schema-evolution" target="mlsys.model-feature-compatibility"><data key="relation">limits</data><data key="statement">can break</data><data key="conditions">A schema change is not mirrored in the model's feature transformations.</data></edge>
    <edge id="e1449" source="mlsys.secrets-management" target="mlsys.least-privilege"><data key="relation">implements</data><data key="statement">enforces</data><data key="conditions">Credentials are scoped per workload and rotated.</data></edge>
    <edge id="e1450" source="mlsys.agent-credentials" target="mlsys.secrets-management"><data key="relation">uses</data><data key="statement">draws on</data><data key="conditions">Agents act with credentials issued by the platform.</data></edge>
    <edge id="e1451" source="mlsys.deletion-propagation" target="mlsys.machine-unlearning"><data key="relation">requires</data><data key="statement">extends to models through</data><data key="conditions">Deleted data has already been used for training.</data></edge>
    <edge id="e1452" source="mlsys.deletion-propagation" target="mlsys.lineage"><data key="relation">uses</data><data key="statement">locates copies through</data><data key="conditions">Derived datasets and features record their sources.</data></edge>
    <edge id="e1453" source="mlsys.caching-allocator" target="mlsys.memory-fragmentation"><data key="relation">causes</data><data key="statement">can cause</data><data key="conditions">Tensor sizes vary across steps or requests.</data></edge>
    <edge id="e1454" source="mlsys.memory-fragmentation" target="mlsys.memory-footprint"><data key="relation">increases</data><data key="statement">inflates reserved</data><data key="conditions">Freed blocks cannot be reused for new allocation sizes.</data></edge>
    <edge id="e1455" source="mlsys.perception-latency-budget" target="mlsys.feedback-delay"><data key="relation">part-of</data><data key="statement">is the sensing share of</data><data key="conditions">Perception runs inside the control loop.</data></edge>
    <edge id="e1456" source="mlsys.perception-latency-budget" target="mlsys.robot-perception"><data key="relation">limits</data><data key="statement">bounds model size and resolution for</data><data key="conditions">Perception runs on fixed onboard hardware.</data></edge>
    <edge id="e1457" source="mlsys.onboard-compute-partitioning" target="mlsys.mixed-criticality"><data key="relation">uses</data><data key="statement">respects</data><data key="conditions">Safety-critical and best-effort tasks share hardware.</data></edge>
    <edge id="e1458" source="mlsys.onboard-compute-partitioning" target="mlsys.placement"><data key="relation">specializes</data><data key="statement">is execution placement on a robot</data><data key="conditions">Workloads can run on several onboard processors or be offloaded.</data></edge>
    <edge id="e1459" source="mlsys.health-checks" target="mlsys.load-balancing"><data key="relation">enables</data><data key="statement">tells which replicas may receive traffic from</data><data key="conditions">Replicas can be unhealthy or still loading weights.</data></edge>
    <edge id="e1460" source="mlsys.health-checks" target="mlsys.cold-start"><data key="relation">mitigates</data><data key="statement">keeps traffic away from replicas in</data><data key="conditions">A replica reports ready only after its model is loaded and warmed.</data></edge>
    <edge id="e1461" source="mlsys.python-gil" target="mlsys.dispatch"><data key="relation">increases</data><data key="statement">serializes and adds to</data><data key="conditions">Several Python threads issue work concurrently.</data></edge>
    <edge id="e1462" source="mlsys.python-gil" target="mlsys.host-data-loader"><data key="relation">limits</data><data key="statement">pushes preprocessing into worker processes in</data><data key="conditions">Preprocessing runs in Python, so loaders use worker processes rather than threads.</data></edge>
    <edge id="e1463" source="mlsys.flash-endurance" target="mlsys.ota-model-update"><data key="relation">limits</data><data key="statement">bounds the frequency of</data><data key="conditions">Updates and logs are written to on-device flash.</data></edge>
    <edge id="e1464" source="mlsys.flash-endurance" target="mlsys.microcontroller"><data key="relation">limits</data><data key="statement">limits the write budget of</data><data key="conditions">The device stores weights and data in flash.</data></edge>
    <edge id="e1465" source="mlsys.intermittent-computing" target="mlsys.microcontroller"><data key="relation">uses</data><data key="statement">typically runs on</data><data key="conditions">On energy-harvesting deployments built around microcontroller-class processors.</data></edge>
    <edge id="e1466" source="mlsys.intermittent-computing" target="mlsys.checkpoint"><data key="relation">requires</data><data key="statement">requires fine-grained</data><data key="conditions">Power can fail mid-inference.</data></edge>
    <edge id="e1467" source="mlsys.mmap-weights" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">removes duplicate copies from</data><data key="conditions">Several processes serve the same read-only weights.</data></edge>
    <edge id="e1468" source="mlsys.mmap-weights" target="mlsys.cold-start"><data key="relation">reduces</data><data key="statement">shortens</data><data key="conditions">Only the pages touched by the first requests must load.</data></edge>
    <edge id="e1469" source="mlsys.os-memory-pressure" target="mlsys.on-device-memory-budget"><data key="relation">limits</data><data key="statement">enforces</data><data key="conditions">The OS kills or pages out apps that exceed their memory limit.</data></edge>
    <edge id="e1470" source="mlsys.mmap-weights" target="mlsys.os-memory-pressure"><data key="relation">mitigates</data><data key="statement">makes weight pages reclaimable without killing the process under</data><data key="conditions">When file-backed pages can be dropped and reread instead of the app being terminated.</data></edge>
    <edge id="e1471" source="mlsys.managed-runtime-interop" target="mlsys.on-device-runtime"><data key="relation">limits</data><data key="statement">adds copy and pause overhead to</data><data key="conditions">The app calls native inference from a managed language.</data></edge>
    <edge id="e1472" source="mlsys.managed-runtime-interop" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">adds garbage-collection pauses to</data><data key="conditions">Large buffers are allocated on the managed heap per request.</data></edge>
    <edge id="e1473" source="mlsys.zero-copy-dma" target="mlsys.feedback-delay"><data key="relation">reduces</data><data key="statement">removes copy time from</data><data key="conditions">Sensor data feeds a latency-critical loop.</data></edge>
    <edge id="e1474" source="mlsys.sensor-fusion" target="mlsys.sensor-interference"><data key="relation">mitigates</data><data key="statement">can outvote corrupted readings from</data><data key="conditions">Independent modalities observe the same scene.</data></edge>
    <edge id="e1475" source="mlsys.network-propagation-delay" target="mlsys.tail-latency"><data key="relation">limits</data><data key="statement">sets a floor under</data><data key="conditions">Requests cross regions or continents.</data></edge>
    <edge id="e1476" source="mlsys.network-propagation-delay" target="mlsys.alpha-beta-model"><data key="relation">part-of</data><data key="statement">contributes to the latency term of</data><data key="conditions">Messages travel long physical distances.</data></edge>
    <edge id="e1477" source="mlsys.cap-tradeoff" target="mlsys.consensus"><data key="relation">limits</data><data key="statement">forces a minority partition to stop answering in</data><data key="conditions">A partition separates replicas.</data></edge>
    <edge id="e1478" source="mlsys.cap-tradeoff" target="mlsys.feature-freshness"><data key="relation">determines</data><data key="statement">decides whether stale values are served for</data><data key="conditions">Feature or model replicas span regions that can partition.</data></edge>
    <edge id="e1479" source="mlsys.gossip-averaging" target="mlsys.federated-learning"><data key="relation">implements</data><data key="statement">coordinates, without a central server,</data><data key="conditions">When participants are separately controlled data holders that exchange model updates with peers rather than with a server.</data></edge>
    <edge id="e1480" source="mlsys.gossip-averaging" target="mlsys.collectives"><data key="relation">alternative-to</data><data key="statement">replaces global collectives with neighbor exchange</data><data key="conditions">Global synchronization is too slow or unreliable.</data></edge>
    <edge id="e1481" source="mlsys.interrupt-latency" target="mlsys.feedback-delay"><data key="relation">increases</data><data key="statement">adds to</data><data key="conditions">Sensor events are delivered through interrupts.</data></edge>
    <edge id="e1482" source="mlsys.transformer-variants" target="mlsys.transformer"><data key="relation">specializes</data><data key="statement">are arrangements of</data><data key="conditions">Models are built from Transformer blocks.</data></edge>
    <edge id="e1483" source="mlsys.transformer-variants" target="mlsys.prefill-decode"><data key="relation">determines</data><data key="statement">decides whether serving has separate</data><data key="conditions">The model generates output autoregressively.</data></edge>
    <edge id="e1484" source="mlsys.data-transfer-cost" target="mlsys.unit-cost"><data key="relation">increases</data><data key="statement">adds to</data><data key="conditions">Data, checkpoints, or responses cross billed network boundaries.</data></edge>
    <edge id="e1485" source="mlsys.data-transfer-cost" target="mlsys.tco"><data key="relation">part-of</data><data key="statement">is a component of</data><data key="conditions">Workloads span zones, regions, or providers.</data></edge>
    <edge id="e1486" source="mlsys.duty-cycling" target="mlsys.idle-dynamic-power"><data key="relation">uses</data><data key="statement">exploits the gap between</data><data key="conditions">Sleep power is far below active power.</data></edge>
    <edge id="e1487" source="mlsys.duty-cycling" target="mlsys.energy"><data key="relation">reduces</data><data key="statement">cuts average</data><data key="conditions">Sensing and inference are needed only intermittently.</data></edge>
    <edge id="e1488" source="mlsys.priority-inversion" target="mlsys.real-time-scheduling"><data key="relation">limits</data><data key="statement">breaks the guarantees of</data><data key="conditions">Tasks of different priorities share a lock or resource.</data></edge>
    <edge id="e1489" source="mlsys.priority-inversion" target="mlsys.feedback-delay"><data key="relation">increases</data><data key="statement">can unboundedly extend</data><data key="conditions">No priority inheritance protocol is in place.</data></edge>
    <edge id="e1490" source="mlsys.randomized-smoothing" target="mlsys.evasion"><data key="relation">mitigates</data><data key="statement">provably bounds</data><data key="conditions">Perturbations are within the certified radius.</data></edge>
    <edge id="e1491" source="mlsys.randomized-smoothing" target="mlsys.adversarial-training"><data key="relation">alternative-to</data><data key="statement">trades inference cost for certified guarantees against</data><data key="conditions">A provable bound is required rather than empirical robustness.</data></edge>
    <edge id="e1492" source="mlsys.zero-copy-dma" target="mlsys.sensor-interconnect"><data key="relation">uses</data><data key="statement">moves data arriving over</data><data key="conditions">The peripheral supports direct memory access.</data></edge>
    <edge id="e1493" source="mlsys.finite-buffer" target="mlsys.queueing"><data key="relation">limits</data><data key="statement">caps, by dropping or blocking arrivals once full, the</data><data key="conditions">When the buffer bound is reached under bursty input; blocked or dropped arrivals pay loss or upstream delay instead of waiting.</data></edge>
    <edge id="e1494" source="mlsys.backpressure" target="mlsys.finite-buffer"><data key="relation">mitigates</data><data key="statement">prevents overflow of</data><data key="conditions">Upstream producers can slow down when the buffer fills.</data></edge>
    <edge id="e1495" source="mlsys.ui-thread-inference" target="mlsys.on-device-runtime"><data key="relation">uses</data><data key="statement">schedules calls into</data><data key="conditions">The app has a main thread that must stay responsive.</data></edge>
    <edge id="e1496" source="mlsys.ui-thread-inference" target="mlsys.tail-latency"><data key="relation">reduces</data><data key="statement">removes inference time from interactive</data><data key="conditions">Inference takes longer than a frame interval.</data></edge>
    <edge id="e1497" source="mlsys.multi-head-latent-attention" target="mlsys.kv-cache"><data key="relation">reduces</data><data key="statement">shrinks the per-token footprint of</data><data key="conditions">When the latent and any decoupled positional components are smaller than the per-head keys and values they replace.</data></edge>
    <edge id="e1498" source="mlsys.multi-head-latent-attention" target="mlsys.grouped-query-attention"><data key="relation">alternative-to</data><data key="statement">is an alternative KV-size lever to</data><data key="conditions">When an architecture chooses how to reduce cached attention state at design time.</data></edge>
    <edge id="e1499" source="mlsys.multi-head-latent-attention" target="mlsys.attention"><data key="relation">specializes</data><data key="statement">is a variant of</data><data key="conditions">When keys and values are produced from a shared compressed representation.</data></edge>
    <edge id="e1500" source="mlsys.training-data-extraction" target="mlsys.privacy-leakage"><data key="relation">causes</data><data key="statement">reveals training content as</data><data key="conditions">When recovered training examples reveal information about people or records.</data></edge>
    <edge id="e1501" source="mlsys.dp-sgd" target="mlsys.training-data-extraction"><data key="relation">mitigates</data><data key="statement">bounds the per-example memorization behind</data><data key="conditions">When the privacy budget is small enough to limit each example's influence, at a utility cost.</data></edge>
    <edge id="e1502" source="mlsys.deduplication" target="mlsys.training-data-extraction"><data key="relation">reduces</data><data key="statement">lowers extractable memorization by removing the repeated sequences behind</data><data key="conditions">When near-duplicates are removed from the pretraining corpus.</data></edge>
    <edge id="e1503" source="mlsys.system-identification" target="mlsys.domain-randomization"><data key="relation">alternative-to</data><data key="statement">narrows the reality gap by measurement instead of randomizing over</data><data key="conditions">As a way to close the sim-to-real dynamics gap when parameters are observable in logged data; the two are often combined.</data></edge>
    <edge id="e1504" source="mlsys.system-identification" target="mlsys.model-predictive-control"><data key="relation">enables</data><data key="statement">supplies the model required by</data><data key="conditions">When MPC uses a physics-based rather than learned dynamics model.</data></edge>
    <edge id="e1505" source="mlsys.system-identification" target="mlsys.sim-to-real"><data key="relation">enables</data><data key="statement">aligns simulated dynamics with hardware for</data><data key="conditions">When identified plant and actuator parameters are imported into the training simulator.</data></edge>
    <edge id="e1506" source="mlsys.off-policy-evaluation" target="mlsys.online-experiment"><data key="relation">alternative-to</data><data key="statement">estimates offline what is otherwise measured by</data><data key="conditions">When logs record action propensities and the new policy's actions are covered by the logged ones.</data></edge>
    <edge id="e1507" source="mlsys.off-policy-evaluation" target="mlsys.inference-logging"><data key="relation">requires</data><data key="statement">needs logged actions, propensities, and outcomes from</data><data key="conditions">When the deployed policy is stochastic or its propensities are recorded.</data></edge>
    <edge id="e1508" source="mlsys.off-policy-evaluation" target="mlsys.decision-policy"><data key="relation">measures</data><data key="statement">estimates the expected outcome of</data><data key="conditions">When the logging policy gave nonzero probability to the candidate's actions and unmeasured confounding is bounded.</data></edge>
    <edge id="e1509" source="mlsys.pipeline-schedule" target="mlsys.pipeline-bubble"><data key="relation">determines</data><data key="statement">sets the idle fraction known as</data><data key="conditions">For a given number of stages and microbatches; fill-drain, one-forward-one-backward, interleaved, and zero-bubble orders give different bubbles.</data></edge>
    <edge id="e1510" source="mlsys.pipeline-schedule" target="mlsys.pipeline-parallel"><data key="relation">part-of</data><data key="statement">is the execution order of</data><data key="conditions">When a model is partitioned into pipeline stages.</data></edge>
    <edge id="e1511" source="mlsys.pipeline-schedule" target="mlsys.memory-footprint"><data key="relation">determines</data><data key="statement">sets how many microbatches' activations each stage holds in</data><data key="conditions">When stages keep forward activations until the matching backward pass runs.</data></edge>
    <edge id="e1512" source="mlsys.sequence-packing" target="mlsys.input-pipeline"><data key="relation">part-of</data><data key="statement">forms the packed-batch construction stage of</data><data key="conditions">When the training input pipeline assembles multiple examples into each pack.</data></edge>
    <edge id="e1513" source="mlsys.sequence-packing" target="mlsys.model-flops-utilization"><data key="relation">increases</data><data key="statement">removes pad-token work to raise</data><data key="conditions">When variable-length examples would otherwise be padded to the batch's longest sequence.</data></edge>
    <edge id="e1514" source="mlsys.document-chunking" target="mlsys.tokenization"><data key="relation">uses</data><data key="statement">uses token counts to enforce chunk boundaries</data><data key="conditions">For token-budgeted chunkers, whose sizes and overlaps are specified in model tokens.</data></edge>
    <edge id="e1515" source="mlsys.document-chunking" target="mlsys.dense-retrieval"><data key="relation">determines</data><data key="statement">sets the unit embedded and returned by</data><data key="conditions">When documents exceed encoder limits or one document vector would blur distinct topics.</data></edge>
    <edge id="e1516" source="mlsys.document-chunking" target="mlsys.rag"><data key="relation">part-of</data><data key="statement">defines the indexed units of</data><data key="conditions">When the RAG application builds its retrieval corpus from document chunks.</data></edge>
    <edge id="e1517" source="mlsys.resource-exhaustion-attack" target="mlsys.energy-per-inference"><data key="relation">increases</data><data key="statement">inflates</data><data key="conditions">When inputs are chosen to defeat sparsity, early exit, or bounded output length.</data></edge>
    <edge id="e1518" source="mlsys.admission" target="mlsys.resource-exhaustion-attack"><data key="relation">mitigates</data><data key="statement">caps per-client work to blunt</data><data key="conditions">When per-client quotas and token or step limits are enforced.</data></edge>
    <edge id="e1519" source="mlsys.resource-exhaustion-attack" target="mlsys.slo-goodput"><data key="relation">reduces</data><data key="statement">takes completed useful work away from</data><data key="conditions">When attacker-amplified requests contend for shared compute, KV-cache memory, or tool-execution slots.</data></edge>
    <edge id="e1520" source="mlsys.generated-content-watermarking" target="mlsys.content-provenance"><data key="relation">alternative-to</data><data key="statement">marks the content itself instead of attaching signed metadata as</data><data key="conditions">When the requirement is identifying output from a participating generator, rather than verifying signed origin and edit history.</data></edge>
    <edge id="e1521" source="mlsys.generated-content-watermarking" target="mlsys.sampling-controls"><data key="relation">uses</data><data key="statement">biases token choice through</data><data key="conditions">For token-sampling text watermarks applied during decoding.</data></edge>
    <edge id="e1522" source="mlsys.generated-content-watermarking" target="mlsys.algorithmic-audit"><data key="relation">enables</data><data key="statement">supports generated-origin checks in</data><data key="conditions">When an audit uses a compatible detector on marked outputs.</data></edge>
    <edge id="e1523" source="mlsys.model-merging" target="mlsys.multi-adapter-serving"><data key="relation">alternative-to</data><data key="statement">folds several fine-tunes into one weight set instead of</data><data key="conditions">When the fine-tunes need not stay separately addressable and the merged model keeps acceptable quality on each task.</data></edge>
    <edge id="e1524" source="mlsys.model-merging" target="mlsys.catastrophic-forgetting"><data key="relation">mitigates</data><data key="statement">limits</data><data key="conditions">Relative to the fine-tuned model alone, when interpolating with the pretrained base improves measured retention on the original tasks.</data></edge>
    <edge id="e1525" source="mlsys.optical-circuit-switching" target="mlsys.network-topology"><data key="relation">determines</data><data key="statement">determines the active endpoint connectivity</data><data key="conditions">When circuit configurations change which endpoints have direct optical paths.</data></edge>
    <edge id="e1526" source="mlsys.optical-circuit-switching" target="mlsys.all-to-all"><data key="relation">enables</data><data key="statement">supports traffic-matched exchange schedules for</data><data key="conditions">When the exchange pattern is stable long enough that reconfiguration time, typically milliseconds, is amortized.</data></edge>
    <edge id="e1527" source="mlsys.co-packaged-optics" target="mlsys.data-movement-energy"><data key="relation">reduces</data><data key="statement">can reduce interface energy per delivered bit</data><data key="conditions">Compared with pluggable optical modules, with optical conversion and laser power included in the accounting.</data></edge>
    <edge id="e1528" source="mlsys.co-packaged-optics" target="mlsys.advanced-accelerator-packaging"><data key="relation">uses</data><data key="statement">integrates optical engines through</data><data key="conditions">When optical engines share a package substrate or interposer with the switch or compute die.</data></edge>
    <edge id="e1529" source="mlsys.advanced-accelerator-packaging" target="mlsys.hbm"><data key="relation">uses</data><data key="statement">uses closely integrated stacked memory</data><data key="conditions">When a compute package connects processor dies to HBM stacks through dense package-level interfaces.</data></edge>
    <edge id="e1530" source="mlsys.advanced-accelerator-packaging" target="mlsys.thermal-dynamics"><data key="relation">determines</data><data key="statement">determines package heat paths and thermal coupling</data><data key="conditions">When die placement, stacking, and bonding geometry constrain heat removal.</data></edge>
    <edge id="e1531" source="mlsys.motion-forecasting" target="mlsys.multi-object-tracking"><data key="relation">requires</data><data key="statement">takes agent histories from</data><data key="conditions">When surrounding agents are tracked with persistent identities over time.</data></edge>
    <edge id="e1532" source="mlsys.motion-planning" target="mlsys.motion-forecasting"><data key="relation">uses</data><data key="statement">plans against the predicted occupancy from</data><data key="conditions">In environments shared with other moving agents such as people or vehicles.</data></edge>
    <edge id="e1533" source="mlsys.representational-bias-evaluation" target="mlsys.sliced-evaluation"><data key="relation">uses</data><data key="statement">compares portrayals across groups through</data><data key="conditions">When outputs for different groups are measured separately.</data></edge>
    <edge id="e1534" source="mlsys.representational-bias-evaluation" target="mlsys.llm-judge"><data key="relation">uses</data><data key="statement">scores outputs at scale with</data><data key="conditions">When scoring is done by a model grader rather than classifiers or likelihood comparisons, and the grader's own bias is measured.</data></edge>
    <edge id="e1535" source="mlsys.group-relative-policy-optimization" target="mlsys.reinforcement-learning"><data key="relation">specializes</data><data key="statement">specializes policy optimization within</data><data key="conditions">When group-relative advantages drive policy updates.</data></edge>
    <edge id="e1536" source="mlsys.group-relative-policy-optimization" target="mlsys.rl-rollout"><data key="relation">uses</data><data key="statement">uses grouped sampled responses from</data><data key="conditions">When several responses or trajectories are sampled for each prompt.</data></edge>
    <edge id="e1537" source="mlsys.group-relative-policy-optimization" target="mlsys.training-state"><data key="relation">reduces</data><data key="statement">removes the critic model's parameters and optimizer state from</data><data key="conditions">Compared with PPO-style actor-critic training that keeps a separate value model.</data></edge>
    <edge id="e1538" source="mlsys.inter-token-latency" target="mlsys.token-streaming"><data key="relation">measures</data><data key="statement">measures gaps in incremental output delivery</data><data key="conditions">When timestamps and the number of tokens carried by each streamed output are recorded.</data></edge>
    <edge id="e1539" source="mlsys.inter-token-latency" target="mlsys.slo-goodput"><data key="relation">determines</data><data key="statement">decides whether streamed requests count toward</data><data key="conditions">When the service objective bounds per-gap latency, with workload and other acceptance criteria fixed.</data></edge>
    <edge id="e1540" source="mlsys.hybrid-retrieval" target="mlsys.lexical-retrieval"><data key="relation">uses</data><data key="statement">uses lexical candidate retrieval</data><data key="conditions">When exact terms, identifiers, or keyword matches contribute a candidate list.</data></edge>
    <edge id="e1541" source="mlsys.hybrid-retrieval" target="mlsys.dense-retrieval"><data key="relation">uses</data><data key="statement">uses embedding-based candidate retrieval</data><data key="conditions">When semantic similarity contributes a candidate list that is fused with lexical results.</data></edge>
    <edge id="e1542" source="mlsys.fpga-acceleration" target="mlsys.domain-specific-architecture"><data key="relation">implements</data><data key="statement">implements workload-specialized hardware</data><data key="conditions">When the configured fabric realizes an ML accelerator datapath.</data></edge>
    <edge id="e1543" source="mlsys.fpga-acceleration" target="mlsys.dataflow"><data key="relation">uses</data><data key="statement">uses explicit operand placement and streaming schedules</data><data key="conditions">When operators are mapped onto configured arithmetic and memory resources.</data></edge>
    <edge id="e1544" source="mlsys.device-initiated-communication" target="mlsys.rdma"><data key="relation">uses</data><data key="statement">uses direct remote-memory transport</data><data key="conditions">For inter-node transfers over a device-initiated RDMA path.</data></edge>
    <edge id="e1545" source="mlsys.device-initiated-communication" target="mlsys.dispatch"><data key="relation">reduces</data><data key="statement">reduces per-exchange host orchestration</data><data key="conditions">When device-side communication replaces repeated host launches or host-issued communication operations.</data></edge>
    <edge id="e1546" source="mlsys.synthetic-data" target="mlsys.model-collapse"><data key="relation">causes</data><data key="statement">can cause recursive distributional degradation</data><data key="conditions">When successive generations train mainly on earlier models' outputs without retaining real data.</data></edge>
    <edge id="e1547" source="mlsys.model-collapse" target="mlsys.generalization"><data key="relation">reduces</data><data key="statement">reduces performance on the original target distribution</data><data key="conditions">When disappearing modes or tails remain relevant to evaluation and deployment.</data></edge>
    <edge id="e1548" source="mlsys.action-tokenization" target="mlsys.quantization"><data key="relation">uses</data><data key="statement">uses discretization of continuous action information</data><data key="conditions">When continuous commands or transformed action coefficients are mapped to a finite vocabulary.</data></edge>
    <edge id="e1549" source="mlsys.action-tokenization" target="mlsys.execution-time"><data key="relation">determines</data><data key="statement">sets the sequential decoding work in</data><data key="conditions">When actions are decoded autoregressively and architecture, hardware, and action horizon are held fixed.</data></edge>
    <edge id="e1550" source="mlsys.action-tokenization" target="mlsys.vla-model"><data key="relation">part-of</data><data key="statement">is the action output representation of</data><data key="conditions">For vision-language-action models that emit actions as tokens.</data></edge>
    <edge id="e1551" source="mlsys.wafer-scale-acceleration" target="mlsys.domain-specific-architecture"><data key="relation">specializes</data><data key="statement">specializes accelerator organization at wafer scale</data><data key="conditions">When the wafer-scale device is designed for ML computation.</data></edge>
    <edge id="e1552" source="mlsys.wafer-scale-acceleration" target="mlsys.dataflow"><data key="relation">uses</data><data key="statement">uses explicit operand and intermediate placement</data><data key="conditions">When work is mapped across distributed compute tiles and local memories.</data></edge>
    <edge id="e1553" source="mlsys.embedding-migration" target="mlsys.model-feature-compatibility"><data key="relation">uses</data><data key="statement">keeps query and corpus encoders aligned through</data><data key="conditions">When query encoders and stored corpus representations change across releases.</data></edge>
    <edge id="e1554" source="mlsys.embedding-migration" target="mlsys.feature-backfill"><data key="relation">uses</data><data key="statement">re-encodes historical corpus records in shadow indexes using</data><data key="conditions">Before switching live query traffic to the new embedding model.</data></edge>
    <edge id="e1555" source="mlsys.register-pressure" target="mlsys.occupancy"><data key="relation">limits</data><data key="statement">caps the number of resident warps in</data><data key="conditions">When per-thread register allocation times threads per block exceeds the register file.</data></edge>
    <edge id="e1556" source="mlsys.register-pressure" target="mlsys.tiling"><data key="relation">limits</data><data key="statement">bounds the register-tile size usable in</data><data key="conditions">When sizing thread-level accumulator tiles in matrix-multiply or attention kernels.</data></edge>
    <edge id="e1557" source="mlsys.software-pipelining" target="mlsys.async-data-movement"><data key="relation">uses</data><data key="statement">issues the multi-stage copies it overlaps through</data><data key="conditions">On hardware with asynchronous copy support.</data></edge>
    <edge id="e1558" source="mlsys.software-pipelining" target="mlsys.on-chip-sram"><data key="relation">requires</data><data key="statement">allocates two or more stage buffers in</data><data key="conditions">So loads for the next iteration do not overwrite operands the current iteration still reads.</data></edge>
    <edge id="e1559" source="mlsys.software-pipelining" target="mlsys.tiling"><data key="relation">uses</data><data key="statement">overlaps the loads and compute of successive tiles from</data><data key="conditions">When a kernel's loop iterates over tiles staged through on-chip memory.</data></edge>
    <edge id="e1560" source="mlsys.ecc-memory" target="mlsys.silent-data-corruption"><data key="relation">mitigates</data><data key="statement">turns many would-be silent memory corruptions into corrected or reported faults, limiting</data><data key="conditions">For errors within the code's correction and detection strength, in ECC-protected memory.</data></edge>
    <edge id="e1561" source="mlsys.ecc-memory" target="mlsys.availability"><data key="relation">increases</data><data key="statement">keeps jobs running through correctable errors, raising</data><data key="conditions">When correctable memory errors would otherwise crash jobs or corrupt their results.</data></edge>
    <edge id="e1562" source="mlsys.integer-only-inference" target="mlsys.quantization"><data key="relation">requires</data><data key="statement">runs on values represented by</data><data key="conditions">When every operator executes in integer arithmetic.</data></edge>
    <edge id="e1563" source="mlsys.on-device-runtime" target="mlsys.integer-only-inference"><data key="relation">uses</data><data key="statement">executes fully integer operator graphs through</data><data key="conditions">When the runtime targets an embedded device without a floating-point unit.</data></edge>
    <edge id="e1564" source="mlsys.edge-npu" target="mlsys.integer-only-inference"><data key="relation">requires</data><data key="statement">accepts only fixed-point operator graphs lowered by</data><data key="conditions">For NPUs that support only integer operators.</data></edge>
    <edge id="e1565" source="mlsys.execute-in-place" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">keeps frozen weights out of working SRAM in</data><data key="conditions">When read-only parameters stay in memory-mapped flash during inference.</data></edge>
    <edge id="e1566" source="mlsys.microcontroller" target="mlsys.execute-in-place"><data key="relation">uses</data><data key="statement">runs models whose weights exceed on-chip SRAM via</data><data key="conditions">On microcontrollers whose flash is memory-mapped onto the processor bus.</data></edge>
    <edge id="e1567" source="mlsys.memory-bandwidth" target="mlsys.execute-in-place"><data key="relation">limits</data><data key="statement">caps the weight-fetch rate of</data><data key="conditions">Flash read bandwidth and wait states bound execute-in-place inference when operators reuse weights little.</data></edge>
    <edge id="e1568" source="mlsys.prompt-injection" target="mlsys.confused-deputy"><data key="relation">causes</data><data key="statement">can steer a privileged agent into</data><data key="conditions">When injected instructions induce a privileged agent to perform an action the untrusted party was not authorized to request.</data></edge>
    <edge id="e1569" source="mlsys.capability-based-security" target="mlsys.confused-deputy"><data key="relation">mitigates</data><data key="statement">binds each action to narrow, task-scoped authority to prevent</data><data key="conditions">When ambient user or service credentials are replaced with attenuated capabilities.</data></edge>
    <edge id="e1570" source="mlsys.agent-credentials" target="mlsys.confused-deputy"><data key="relation">mitigates</data><data key="statement">scopes and brokers per-action tokens outside model context to limit</data><data key="conditions">When tool calls require explicit user- and resource-scoped delegation.</data></edge>
    <edge id="e1571" source="mlsys.judge-bias" target="mlsys.llm-judge"><data key="relation">limits</data><data key="statement">distorts rankings and win-rate estimates produced by</data><data key="conditions">When candidate responses differ in length, formatting, or presentation order.</data></edge>
    <edge id="e1572" source="mlsys.human-evaluation" target="mlsys.judge-bias"><data key="relation">detects</data><data key="statement">measures the size of</data><data key="conditions">When human labels are collected on a calibration sample.</data></edge>
    <edge id="e1573" source="mlsys.guardrails" target="mlsys.over-refusal"><data key="relation">causes</data><data key="statement">produces</data><data key="conditions">When a safety check or refusal policy incorrectly blocks a benign request.</data></edge>
    <edge id="e1574" source="mlsys.over-refusal" target="mlsys.slo-goodput"><data key="relation">reduces</data><data key="statement">rejects valid requests, reducing</data><data key="conditions">When benign task completion is required for work to count as useful.</data></edge>
    <edge id="e1575" source="mlsys.sensor-fusion" target="mlsys.coordinate-frames"><data key="relation">requires</data><data key="statement">projects heterogeneous sensor measurements into a common reference frame using</data><data key="conditions">Before combining camera, lidar, radar, and inertial observations.</data></edge>
    <edge id="e1576" source="mlsys.sensing" target="mlsys.coordinate-frames"><data key="relation">produces</data><data key="statement">yields the static mounting transforms of</data><data key="conditions">When sensors are calibrated on the physical platform.</data></edge>
    <edge id="e1577" source="mlsys.coordinate-frames" target="mlsys.slam"><data key="relation">enables</data><data key="statement">tracks the evolving transform between map, odometry, and base frames for</data><data key="conditions">During continuous state estimation and loop closure.</data></edge>
    <edge id="e1578" source="mlsys.sensor-degradation" target="mlsys.operating-domain"><data key="relation">limits</data><data key="statement">constrains the weather, lighting, and visibility conditions admitted in</data><data key="conditions">Unless detected at runtime and mitigated by complementary modalities or fallback.</data></edge>
    <edge id="e1579" source="mlsys.sensor-fusion" target="mlsys.sensor-degradation"><data key="relation">mitigates</data><data key="statement">combines modalities with distinct physical failure modes to mitigate</data><data key="conditions">When complementary sensors retain useful measurements and fusion handles degraded inputs.</data></edge>
    <edge id="e1580" source="mlsys.data-curriculum" target="mlsys.data-mixture"><data key="relation">uses</data><data key="statement">schedules over the course of training</data><data key="conditions">When the curriculum changes source proportions between training phases.</data></edge>
    <edge id="e1581" source="mlsys.data-curriculum" target="mlsys.context-extension"><data key="relation">enables</data><data key="statement">raises sequence length late in pretraining to support</data><data key="conditions">When positional handling supports the longer lengths and evaluation verifies useful behavior at them.</data></edge>
    <edge id="e1582" source="mlsys.data-curriculum" target="mlsys.pretraining"><data key="relation">part-of</data><data key="statement">structures the data schedule of</data><data key="conditions">When pretraining runs in phases with different data distributions.</data></edge>
    <edge id="e1583" source="mlsys.streaming-dataset-format" target="mlsys.dataset-storage-layout"><data key="relation">specializes</data><data key="statement">is the sequential-shard form of</data><data key="conditions">When small records are packed into large files read sequentially from object storage or remote file systems.</data></edge>
    <edge id="e1584" source="mlsys.streaming-dataset-format" target="mlsys.object-storage"><data key="relation">uses</data><data key="statement">streams contiguous byte ranges from</data><data key="conditions">When shards live in object storage rather than on a local file system.</data></edge>
    <edge id="e1585" source="mlsys.streaming-dataset-format" target="mlsys.input-pipeline"><data key="relation">enables</data><data key="statement">supports sharded, resumable reads for</data><data key="conditions">When the loader also checkpoints shard assignment, record progress, and shuffle state.</data></edge>
    <edge id="e1586" source="mlsys.collective-algorithm-selection" target="mlsys.alpha-beta-model"><data key="relation">uses</data><data key="statement">chooses the crossover message size between latency- and bandwidth-optimal schedules using</data><data key="conditions">When tuning collective execution across intra-node and inter-node links.</data></edge>
    <edge id="e1587" source="mlsys.collective-algorithm-selection" target="mlsys.ring-allreduce"><data key="relation">uses</data><data key="statement">selects, for large messages,</data><data key="conditions">When message size is large relative to participant count.</data></edge>
    <edge id="e1588" source="mlsys.collective-algorithm-selection" target="mlsys.tree-allreduce"><data key="relation">uses</data><data key="statement">selects, for small messages or many participants,</data><data key="conditions">When per-step latency dominates transfer time.</data></edge>
    <edge id="e1589" source="mlsys.always-on-cascade" target="mlsys.duty-cycling"><data key="relation">uses</data><data key="statement">keeps the main application processor asleep until triggered using</data><data key="conditions">While the low-power island continuously monitors raw sensor streams.</data></edge>
    <edge id="e1590" source="mlsys.always-on-cascade" target="mlsys.model-cascade"><data key="relation">uses</data><data key="statement">applies the staged escalation of</data><data key="conditions">When the wake-up stage is itself a small model rather than a sensing circuit.</data></edge>
    <edge id="e1591" source="mlsys.always-on-cascade" target="mlsys.energy-per-inference"><data key="relation">reduces</data><data key="statement">rejects background frames on low-power hardware to lower the average</data><data key="conditions">Averaged per sensed frame over long idle intervals, not per main-model inference.</data></edge>
    <edge id="e1592" source="mlsys.fault-tree-analysis" target="mlsys.hazard-analysis"><data key="relation">specializes</data><data key="statement">is a method of</data><data key="conditions">When the analysis starts from a defined hazardous top event.</data></edge>
    <edge id="e1593" source="mlsys.fault-tree-analysis" target="mlsys.failure-model"><data key="relation">uses</data><data key="statement">combines the basic fault events of</data><data key="conditions">When defining the fault events and assumptions the tree combines.</data></edge>
    <edge id="e1594" source="mlsys.retry-backoff" target="mlsys.metastable-failure"><data key="relation">mitigates</data><data key="statement">damps the retry amplification that sustains</data><data key="conditions">When retries are jittered and capped by a retry budget.</data></edge>
    <edge id="e1595" source="mlsys.admission" target="mlsys.metastable-failure"><data key="relation">mitigates</data><data key="statement">sheds the excess load that sustains</data><data key="conditions">When early rejection lowers admitted load below the degraded system's recovery threshold long enough to break the feedback loop.</data></edge>
    <edge id="e1596" source="mlsys.fan-out-tail-amplification" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">raises</data><data key="conditions">When completion waits for all subrequests and their slow events are not perfectly coincident.</data></edge>
    <edge id="e1597" source="mlsys.hedged-requests" target="mlsys.fan-out-tail-amplification"><data key="relation">mitigates</data><data key="statement">cuts the slow-subrequest tail behind</data><data key="conditions">When alternate replicas have independent delays, spare capacity exists, and redundant work is cancelled.</data></edge>
    <edge id="e1598" source="mlsys.group-fairness-metric" target="mlsys.proxy-discrimination"><data key="relation">measures</data><data key="statement">measures the disparity produced by</data><data key="conditions">When controlled comparisons or causal evidence isolate the part of the disparity due to proxy features.</data></edge>
    <edge id="e1599" source="mlsys.bias-mitigation" target="mlsys.proxy-discrimination"><data key="relation">mitigates</data><data key="statement">reduces the disparity from</data><data key="conditions">When mitigation constrains outcomes rather than only dropping the attribute.</data></edge>
    <edge id="e1600" source="mlsys.cross-embodiment-training" target="mlsys.teleoperation-data"><data key="relation">uses</data><data key="statement">pools</data><data key="conditions">When demonstrations come from several robot types.</data></edge>
    <edge id="e1601" source="mlsys.cross-embodiment-training" target="mlsys.data-mixture"><data key="relation">uses</data><data key="statement">weights robot datasets through</data><data key="conditions">When embodiments contribute very unequal amounts of data.</data></edge>
    <edge id="e1602" source="mlsys.dual-rate-hierarchical-policy" target="mlsys.action-chunking"><data key="relation">alternative-to</data><data key="statement">decouples model rate from control rate differently from</data><data key="conditions">When the large model is too slow to emit a new chunk before the current one runs out.</data></edge>
    <edge id="e1603" source="mlsys.dual-rate-hierarchical-policy" target="mlsys.vla-model"><data key="relation">uses</data><data key="statement">queries, as its slow high-level layer,</data><data key="conditions">When the slow layer is a vision-language-action model.</data></edge>
    <edge id="e1604" source="mlsys.trajectory-feasibility" target="mlsys.robot-kinematics"><data key="relation">requires</data><data key="statement">checks joint limits and singularities through</data><data key="conditions">When a task-space trajectory must be mapped into joint space.</data></edge>
    <edge id="e1605" source="mlsys.motion-planning" target="mlsys.robot-kinematics"><data key="relation">uses</data><data key="statement">maps between task and configuration space with</data><data key="conditions">When goals are given as end-effector poses.</data></edge>
    <edge id="e1606" source="mlsys.quantization-granularity" target="mlsys.quantization"><data key="relation">part-of</data><data key="statement">is a design choice within</data><data key="conditions">When choosing scales for weights, activations, or caches.</data></edge>
    <edge id="e1607" source="mlsys.quantization-granularity" target="mlsys.activation-outliers"><data key="relation">mitigates</data><data key="statement">isolates the range inflation from</data><data key="conditions">When groups split along the outlier channels, per channel or finer.</data></edge>
    <edge id="e1608" source="mlsys.block-scaled-format" target="mlsys.quantization-granularity"><data key="relation">implements</data><data key="statement">fixes in hardware a fine-grained choice of</data><data key="conditions">When the number format itself carries one shared scale per small block.</data></edge>
    <edge id="e1609" source="mlsys.agent-training-environment" target="mlsys.rl-rollout"><data key="relation">enables</data><data key="statement">provides the world acted in during</data><data key="conditions">When rollouts are multi-turn and call tools.</data></edge>
    <edge id="e1610" source="mlsys.agent-training-environment" target="mlsys.ephemeral-sandbox"><data key="relation">uses</data><data key="statement">isolates each episode with</data><data key="conditions">When episodes execute code or mutate files.</data></edge>
    <edge id="e1611" source="mlsys.model-directed-control-flow" target="mlsys.workflow-orchestration"><data key="relation">alternative-to</data><data key="statement">replaces code-defined step selection in</data><data key="conditions">When the steps cannot be enumerated in advance.</data></edge>
    <edge id="e1612" source="mlsys.model-directed-control-flow" target="mlsys.agent-harness"><data key="relation">part-of</data><data key="statement">is the decision loop inside</data><data key="conditions">When the harness lets model outputs choose the next action.</data></edge>
    <edge id="e1613" source="mlsys.agent-budget" target="mlsys.model-directed-control-flow"><data key="relation">limits</data><data key="statement">bounds the runs of</data><data key="conditions">When the harness enforces step, token, or cost limits on model-chosen actions.</data></edge>
    <edge id="e1614" source="mlsys.misuse-monitoring" target="mlsys.inference-logging"><data key="relation">uses</data><data key="statement">analyzes</data><data key="conditions">When logs keep enough request context and retention policy allows.</data></edge>
    <edge id="e1615" source="mlsys.misuse-monitoring" target="mlsys.jailbreak"><data key="relation">detects</data><data key="statement">detects patterns of</data><data key="conditions">When request and output traces show an actual policy bypass, with cross-session correlation supporting the diagnosis.</data></edge>
    <edge id="e1616" source="mlsys.masked-diffusion-decoding" target="mlsys.diffusion-model"><data key="relation">uses</data><data key="statement">generates text with a discrete denoising model from</data><data key="conditions">When a language model is trained to predict masked tokens over several refinement passes.</data></edge>
    <edge id="e1617" source="mlsys.masked-diffusion-decoding" target="mlsys.prefix-cache"><data key="relation">limits</data><data key="statement">limits unchanged-prefix state reuse in</data><data key="conditions">When refinement passes can revise earlier positions, so a fixed prefix's attention state is not final.</data></edge>
    <edge id="e1618" source="mlsys.residual-connection" target="mlsys.transformer"><data key="relation">part-of</data><data key="statement">wraps each attention and feed-forward sublayer of</data><data key="conditions">In standard pre-norm and post-norm transformer blocks.</data></edge>
    <edge id="e1619" source="mlsys.residual-connection" target="mlsys.training-instability"><data key="relation">mitigates</data><data key="statement">helps keep deep stacks trainable to limit</data><data key="conditions">When identity shortcuts and residual-branch scaling are used in networks deep enough that gradients through stacked layers would otherwise degrade.</data></edge>
    <edge id="e1620" source="mlsys.multi-task-learning" target="mlsys.multi-model-serving"><data key="relation">alternative-to</data><data key="statement">consolidates several tasks into one shared-backbone model instead of hosting separate models in</data><data key="conditions">When tasks share inputs and enough representation that one backbone serves them without unacceptable quality loss.</data></edge>
    <edge id="e1621" source="mlsys.multi-task-learning" target="mlsys.transfer-learning"><data key="relation">alternative-to</data><data key="statement">learns tasks jointly rather than carrying learning across as in</data><data key="conditions">When several related tasks are available at training time.</data></edge>
    <edge id="e1622" source="mlsys.recovery-objectives" target="mlsys.checkpoint-interval"><data key="relation">limits</data><data key="statement">caps the longest acceptable</data><data key="conditions">When recovery restarts from the last checkpoint and the RPO is shorter than the interval that failure rate and write cost would otherwise favor.</data></edge>
    <edge id="e1623" source="mlsys.recovery-objectives" target="mlsys.replication-failover"><data key="relation">determines</data><data key="statement">sets the recovery speed required of</data><data key="conditions">When the RTO is shorter than the time to restore from a checkpoint, so a standby must take over.</data></edge>
    <edge id="e1624" source="mlsys.incremental-checkpointing" target="mlsys.checkpoint"><data key="relation">implements</data><data key="statement">produces, as a base plus a chain of changes,</data><data key="conditions">When only a fraction of the state, such as touched embedding rows, changes between checkpoints.</data></edge>
    <edge id="e1625" source="mlsys.incremental-checkpointing" target="mlsys.checkpoint-io"><data key="relation">reduces</data><data key="statement">cuts the bytes written by</data><data key="conditions">When the changed fraction of state is small; restore must read the base and every later delta.</data></edge>
    <edge id="e1626" source="mlsys.multiple-comparisons" target="mlsys.selection-bias"><data key="relation">mitigates</data><data key="statement">limits false declarations of a winner that feed</data><data key="conditions">When many candidates, metrics, or slices are compared on the same evaluation data; it does not correct the winner's overstated effect size.</data></edge>
    <edge id="e1627" source="mlsys.online-experiment" target="mlsys.multiple-comparisons"><data key="relation">uses</data><data key="statement">controls error rates across many decision metrics with</data><data key="conditions">When an experiment's launch decision rests on several metrics or segments.</data></edge>
    <edge id="e1628" source="mlsys.model-assisted-labeling" target="mlsys.labels"><data key="relation">trades-off</data><data key="statement">trades annotation throughput against the quality of</data><data key="conditions">When annotators review model drafts rather than labeling from scratch, so anchoring can carry model errors into labels.</data></edge>
    <edge id="e1629" source="mlsys.model-assisted-labeling" target="mlsys.weak-supervision"><data key="relation">alternative-to</data><data key="statement">keeps a per-item human review step that is not part of</data><data key="conditions">When the label budget allows human confirmation of each draft label.</data></edge>
    <edge id="e1630" source="mlsys.forward-error-correction" target="mlsys.scale-up-interconnect"><data key="relation">part-of</data><data key="statement">corrects bit errors on the links of</data><data key="conditions">When high-speed SerDes links run a FEC code on every hop, adding decoding delay to each.</data></edge>
    <edge id="e1631" source="mlsys.rdma" target="mlsys.forward-error-correction"><data key="relation">uses</data><data key="statement">avoids costly go-back-N retransmissions on fast links through</data><data key="conditions">When the RDMA transport recovers from loss by go-back-N retransmission, so even rare uncorrected bit errors would stall throughput.</data></edge>
    <edge id="e1632" source="mlsys.object-storage" target="mlsys.erasure-coding"><data key="relation">uses</data><data key="statement">protects stored objects with</data><data key="conditions">When the store keeps parity fragments rather than full copies.</data></edge>
    <edge id="e1633" source="mlsys.erasure-coding" target="mlsys.replication-failover"><data key="relation">alternative-to</data><data key="statement">provides storage durability with less overhead than the full-copy replication in</data><data key="conditions">For durable stored data at comparable failure tolerance, not for request failover; reads after a loss pay reconstruction cost.</data></edge>
    <edge id="e1634" source="mlsys.bandwidth-delay-product" target="mlsys.congestion-control"><data key="relation">determines</data><data key="statement">sets the window that</data><data key="conditions">When a window-controlled flow must keep a long or fast path full while acknowledgments are in flight.</data></edge>
    <edge id="e1635" source="mlsys.network-propagation-delay" target="mlsys.bandwidth-delay-product"><data key="relation">determines</data><data key="statement">sets the round-trip floor of</data><data key="conditions">For a single path; queueing and processing delay add to the round-trip time.</data></edge>
    <edge id="e1636" source="mlsys.backfill-scheduling" target="mlsys.utilization"><data key="relation">increases</data><data key="statement">fills idle resources to raise</data><data key="conditions">When job runtime estimates are accurate enough that backfilled jobs finish before the reserved start.</data></edge>
    <edge id="e1637" source="mlsys.backfill-scheduling" target="mlsys.queueing"><data key="relation">reduces</data><data key="statement">shortens the wait of small jobs in</data><data key="conditions">When small jobs fit into gaps ahead of a large gang job's reserved start and their runtime estimates are accurate.</data></edge>
    <edge id="e1638" source="mlsys.traffic-classes" target="mlsys.performance-interference"><data key="relation">mitigates</data><data key="statement">isolates competing flows to limit</data><data key="conditions">When collective, storage, and control traffic share the same links and switches and are mapped to separate classes.</data></edge>
    <edge id="e1639" source="mlsys.lossless-fabric" target="mlsys.traffic-classes"><data key="relation">uses</data><data key="statement">applies pause-based flow control per priority class through</data><data key="conditions">When the fabric is made lossless with priority flow control, as in RoCE, rather than with credit-based link flow control.</data></edge>
    <edge id="e1640" source="mlsys.telemetry-sampling" target="mlsys.observability"><data key="relation">trades-off</data><data key="statement">trades telemetry cost against the investigative reach of</data><data key="conditions">When sampling drops the records, or aggregation drops the label detail, that would explain a rare failure.</data></edge>
    <edge id="e1641" source="mlsys.distributed-tracing" target="mlsys.telemetry-sampling"><data key="relation">uses</data><data key="statement">keeps a fraction of request traces through</data><data key="conditions">When recording every span for every request would exceed storage or processing budgets.</data></edge>
    <edge id="e1642" source="mlsys.zero-copy-dma" target="mlsys.dma-cache-maintenance"><data key="relation">requires</data><data key="statement">stays correct on non-coherent hardware only with</data><data key="conditions">When the CPU accesses cached buffers that a sensor or accelerator also accesses by DMA without hardware coherence.</data></edge>
    <edge id="e1643" source="mlsys.coherent-interconnect" target="mlsys.dma-cache-maintenance"><data key="relation">alternative-to</data><data key="statement">replaces in hardware the software work of</data><data key="conditions">When the link keeps device and host caches coherent, making explicit cache maintenance unnecessary.</data></edge>
    <edge id="e1644" source="mlsys.expert-offloading" target="mlsys.cpu-gpu-hybrid-inference"><data key="relation">alternative-to</data><data key="statement">moves expert weights to the accelerator instead of computing on the host as in</data><data key="conditions">When mixture-of-experts weights exceed accelerator memory and must stay partly in host memory.</data></edge>
    <edge id="e1645" source="mlsys.host-device-interconnect" target="mlsys.expert-offloading"><data key="relation">limits</data><data key="statement">bounds the expert-loading rate of</data><data key="conditions">When each batch needs experts that are not already resident in accelerator memory.</data></edge>
    <edge id="e1646" source="mlsys.expert-offloading" target="mlsys.expert-routing"><data key="relation">uses</data><data key="statement">prefetches the experts predicted by</data><data key="conditions">When routing for upcoming layers or batches can be predicted early enough to hide the transfer.</data></edge>
    <edge id="e1647" source="mlsys.variable-length-parallelism" target="mlsys.sequence-parallel"><data key="relation">uses</data><data key="statement">varies the degree and layout of</data><data key="conditions">When training sequence lengths vary widely within and across steps.</data></edge>
    <edge id="e1648" source="mlsys.variable-length-parallelism" target="mlsys.stragglers"><data key="relation">mitigates</data><data key="statement">rebalances per-rank attention work to limit</data><data key="conditions">When a few long documents would otherwise make some ranks finish each step much later than others.</data></edge>
    <edge id="e1649" source="mlsys.variable-length-parallelism" target="mlsys.sequence-packing"><data key="relation">uses</data><data key="statement">chooses document-to-rank assignments in</data><data key="conditions">When packed sequences are distributed across the ranks of a sequence-parallel group.</data></edge>
    <edge id="e1650" source="mlsys.fine-grained-accelerator-sharing" target="mlsys.gpu-partitioning"><data key="relation">specializes</data><data key="statement">is the sub-kernel scheduling form of</data><data key="conditions">When co-located workloads need tighter latency isolation than whole-kernel time slicing gives and more flexibility than fixed hardware partitions.</data></edge>
    <edge id="e1651" source="mlsys.fine-grained-accelerator-sharing" target="mlsys.performance-interference"><data key="relation">mitigates</data><data key="statement">bounds the slowdown of latency-sensitive work from</data><data key="conditions">When the scheduler can preempt or throttle best-effort kernels within a kernel's execution.</data></edge>
    <edge id="e1652" source="mlsys.intra-device-overlap" target="mlsys.pd-disaggregation"><data key="relation">alternative-to</data><data key="statement">co-locates on one device the phases separated by</data><data key="conditions">When a deployment chooses between running prefill and decode on the same devices or on separate pools.</data></edge>
    <edge id="e1653" source="mlsys.intra-device-overlap" target="mlsys.utilization"><data key="relation">increases</data><data key="statement">keeps several hardware resources busy at once, raising</data><data key="conditions">When the co-scheduled operations are bound by different resources and scheduling overhead stays small.</data></edge>
    <edge id="e1654" source="mlsys.intra-device-overlap" target="mlsys.chunked-prefill"><data key="relation">uses</data><data key="statement">overlaps the prefill and decode work in the mixed batches formed by</data><data key="conditions">When chunked prefill puts prefill chunks and decode steps in the same iteration, and a fused kernel runs them on the same compute units.</data></edge>
    <edge id="e1655" source="mlsys.graph-pipeline-parallelism" target="mlsys.pipeline-parallel"><data key="relation">specializes</data><data key="statement">is the branching-graph form of</data><data key="conditions">When the model's layer graph has branches with no data dependence between them.</data></edge>
    <edge id="e1656" source="mlsys.graph-pipeline-parallelism" target="mlsys.pipeline-bubble"><data key="relation">reduces</data><data key="statement">shortens the pipeline's critical path, shrinking the fill and drain time of</data><data key="conditions">Relative to a linearized schedule on the same devices and microbatch count, when the branches are balanced closely enough that parallel stages finish at similar times.</data></edge>
    <edge id="e1657" source="mlsys.rag-pipeline-scheduling" target="mlsys.ttft"><data key="relation">reduces</data><data key="statement">overlaps retrieval with generation work to shorten</data><data key="conditions">When retrieval sits on the request's critical path before prefill.</data></edge>
    <edge id="e1658" source="mlsys.rag-pipeline-scheduling" target="mlsys.queueing"><data key="relation">reduces</data><data key="statement">avoids waiting for generation memory through joint configuration and scheduling, cutting</data><data key="conditions">When a fixed RAG configuration would wait for accelerator memory but another configuration meeting the query's quality target fits.</data></edge>
    <edge id="e1659" source="mlsys.cross-stack-profiling" target="mlsys.profiling"><data key="relation">specializes</data><data key="statement">is the cross-layer form of</data><data key="conditions">When the profiler records events at more than one software layer and can link each device event to the host call that issued it.</data></edge>
    <edge id="e1660" source="mlsys.cross-stack-profiling" target="mlsys.dispatch"><data key="relation">detects</data><data key="statement">exposes host-side gaps between device kernels caused by</data><data key="conditions">When host and device events share a clock or are aligned by correlation identifiers.</data></edge>
    <edge id="e1661" source="mlsys.bottleneck-analysis" target="mlsys.cross-stack-profiling"><data key="relation">uses</data><data key="statement">locates the limiting software layer with</data><data key="conditions">When the bottleneck lies in host code or framework overhead rather than in a single kernel.</data></edge>
    <edge id="e1662" source="mlsys.profiling" target="mlsys.memory-footprint"><data key="relation">measures</data><data key="statement">records per-tensor and per-phase allocations that make up</data><data key="conditions">When the profiler tracks allocations over a training step rather than only peak usage.</data></edge>
    <edge id="e1663" source="mlsys.loss-scaling" target="mlsys.training-instability"><data key="relation">mitigates</data><data key="statement">keeps small gradients representable to limit</data><data key="conditions">When low-precision gradients would otherwise underflow to zero or overflow to infinity.</data></edge>
    <edge id="e1664" source="mlsys.profiling" target="mlsys.stragglers"><data key="relation">detects</data><data key="statement">exposes the slow ranks behind</data><data key="conditions">When per-rank step and collective times are recorded and compared.</data></edge>
    <edge id="e1665" source="mlsys.latency-percentiles" target="mlsys.ttft"><data key="relation">measures</data><data key="statement">summarizes the distribution of</data><data key="conditions">When time to first token is recorded per request rather than averaged.</data></edge>
    <edge id="e1666" source="mlsys.autoscaling" target="mlsys.queueing"><data key="relation">reduces</data><data key="statement">adds capacity before requests wait, cutting</data><data key="conditions">When new replicas become ready faster than the load rises; cold starts delay the effect.</data></edge>
    <edge id="e1667" source="mlsys.kv-cache-eviction" target="mlsys.kv-cache"><data key="relation">reduces</data><data key="statement">bounds the resident size of</data><data key="conditions">When the evicted entries receive little attention, so quality holds.</data></edge>
    <edge id="e1668" source="mlsys.kv-cache-offload" target="mlsys.kv-cache"><data key="relation">reduces</data><data key="statement">moves cold blocks out of accelerator memory, shrinking the resident part of</data><data key="conditions">When transfer bandwidth to host memory or storage can bring blocks back before they are needed.</data></edge>
    <edge id="e1669" source="mlsys.online-experiment" target="mlsys.selection-bias"><data key="relation">detects</data><data key="statement">tests on live traffic a winner chosen under</data><data key="conditions">When a model picked by offline comparison is exposed to a controlled share of real users.</data></edge>
    <edge id="e1670" source="mlsys.duty-cycling" target="mlsys.thermal-dynamics"><data key="relation">mitigates</data><data key="statement">lowers average power to limit the heating behind</data><data key="conditions">When average power, not peak power, sets the device's sustained temperature.</data></edge>
    <edge id="e1671" source="mlsys.cost-attribution" target="mlsys.cost-per-token"><data key="relation">measures</data><data key="statement">assigns infrastructure spend to requests to compute</data><data key="conditions">When usage is metered per request, model, or tenant.</data></edge>
    <edge id="e1672" source="mlsys.quantization" target="mlsys.cost-per-token"><data key="relation">reduces</data><data key="statement">raises throughput per accelerator, cutting</data><data key="conditions">When the lower precision keeps quality acceptable and the serving stack has kernels for it.</data></edge>
    <edge id="e1673" source="mlsys.sliced-evaluation" target="mlsys.over-refusal"><data key="relation">detects</data><data key="statement">exposes, on a slice of borderline benign prompts,</data><data key="conditions">When the evaluation set includes benign prompts that resemble harmful ones.</data></edge>
    <edge id="e1674" source="mlsys.preference-optimization" target="mlsys.over-refusal"><data key="relation">mitigates</data><data key="statement">teaches helpful answers to borderline benign requests, limiting</data><data key="conditions">When the preference data includes benign requests that resemble harmful ones, paired with helpful responses.</data></edge>
    <edge id="e1675" source="mlsys.admission" target="mlsys.kv-cache"><data key="relation">limits</data><data key="statement">caps the number of concurrent sequences whose state must stay resident in</data><data key="conditions">When admission is based on projected KV memory rather than request count alone.</data></edge>
    <edge id="e1676" source="mlsys.energy-measurement" target="mlsys.energy-per-inference"><data key="relation">measures</data><data key="statement">records the energy behind</data><data key="conditions">When device power is sampled over the same window as the inference workload.</data></edge>
    <edge id="e1677" source="mlsys.inter-token-latency" target="mlsys.tpot"><data key="relation">measures</data><data key="statement">gives the per-gap distribution whose request average is</data><data key="conditions">When streamed outputs are timestamped individually rather than only at request end.</data></edge>
    <edge id="e1678" source="mlsys.model-swapping" target="mlsys.multi-model-serving"><data key="relation">part-of</data><data key="statement">is the weight-movement mechanism of</data><data key="conditions">When more models are offered than fit in accelerator memory at once.</data></edge>
    <edge id="e1679" source="mlsys.host-device-interconnect" target="mlsys.model-swapping"><data key="relation">limits</data><data key="statement">bounds how fast models can be loaded in</data><data key="conditions">When a model's weights must move from host memory or storage before it can serve.</data></edge>
    <edge id="e1680" source="mlsys.model-swapping" target="mlsys.utilization"><data key="relation">increases</data><data key="statement">lets otherwise idle accelerators serve other models, raising</data><data key="conditions">When demand across models is uneven over time and the transfer latency fits the service objective.</data></edge>
    <edge id="e1681" source="mlsys.paged-kv" target="mlsys.kv-memory-allocation"><data key="relation">specializes</data><data key="statement">is the block-based form of</data><data key="conditions">When attention state is stored in fixed-size blocks mapped by a block table.</data></edge>
    <edge id="e1682" source="mlsys.kv-memory-allocation" target="mlsys.memory-fragmentation"><data key="relation">determines</data><data key="statement">sets how much KV memory is lost to</data><data key="conditions">When sequences of varying and growing length share one accelerator memory pool.</data></edge>
    <edge id="e1683" source="mlsys.kv-memory-allocation" target="mlsys.kv-cache"><data key="relation">implements</data><data key="statement">provides the storage that holds</data><data key="conditions">When a serving engine manages the cache's memory rather than the model framework.</data></edge>
    <edge id="e1684" source="mlsys.feed-forward-block" target="mlsys.transformer"><data key="relation">part-of</data><data key="statement">is the position-wise sublayer paired with attention in each block of</data><data key="conditions">In standard Transformer blocks, where each block alternates an attention sublayer and a feed-forward sublayer under residual connections.</data></edge>
    <edge id="e1685" source="mlsys.mixture-of-experts" target="mlsys.feed-forward-block"><data key="relation">alternative-to</data><data key="statement">replaces the dense sublayer with routed experts as an alternative to</data><data key="conditions">When a block's feed-forward sublayer is implemented as several routed experts instead of one dense network.</data></edge>
    <edge id="e1686" source="mlsys.feed-forward-block" target="mlsys.matrix-multiply"><data key="relation">uses</data><data key="statement">executes its projections as</data><data key="conditions">The projections are dense GEMMs over all tokens, so in dense Transformers they dominate parameter count and prefill compute; gated variants add a third projection.</data></edge>
    <edge id="e1687" source="mlsys.activation-sparsity" target="mlsys.feed-forward-block"><data key="relation">uses</data><data key="statement">skips the predicted-inactive neurons of</data><data key="conditions">When a hidden unit's activation is predicted near zero for the current token, so its weight rows need not be read or multiplied.</data></edge>
    <edge id="e1688" source="mlsys.arrival-rate" target="mlsys.utilization"><data key="relation">increases</data><data key="statement">raises, as a fraction of service capacity, the</data><data key="conditions">When service capacity is fixed and the system is stable, so utilization is the ratio of arrival rate to service capacity.</data></edge>
    <edge id="e1689" source="mlsys.dispatch" target="mlsys.bound-regime"><data key="relation">determines</data><data key="statement">places small operations on the overhead-bound side of</data><data key="conditions">When per-kernel work is so small that host launch and orchestration time exceeds device execution time, as in small-batch decode of small models.</data></edge>
    <edge id="e1690" source="mlsys.service-level-agreement" target="mlsys.sli"><data key="relation">uses</data><data key="statement">is adjudicated on an agreed</data><data key="conditions">When the contract names the indicator, its measurement window, and who measures it.</data></edge>
    <edge id="e1691" source="mlsys.requirements" target="mlsys.service-level-agreement"><data key="relation">determines</data><data key="statement">set the externally promised terms of</data><data key="conditions">When service commitments to customers are part of the stated deployment requirements.</data></edge>
    <edge id="e1692" source="mlsys.head-of-line-blocking" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">lengthens, through long items ahead of short ones, the</data><data key="conditions">When service is first-come-first-served and service times vary widely, so one long request delays every shorter one behind it.</data></edge>
    <edge id="e1693" source="mlsys.continuous-batching" target="mlsys.head-of-line-blocking"><data key="relation">mitigates</data><data key="statement">admits and retires requests each iteration to avoid</data><data key="conditions">When finished sequences would otherwise wait for the longest sequence in a static batch before new work is admitted.</data></edge>
    <edge id="e1694" source="mlsys.chunked-prefill" target="mlsys.head-of-line-blocking"><data key="relation">mitigates</data><data key="statement">bounds prefill work per iteration to limit</data><data key="conditions">When a long prompt's prefill would otherwise hold the decode step of every co-batched request.</data></edge>
    <edge id="e1695" source="mlsys.lossless-fabric" target="mlsys.head-of-line-blocking"><data key="relation">causes</data><data key="statement">can cause, through pause frames that stop a whole port or class,</data><data key="conditions">When priority flow control pauses all traffic in a class because one downstream queue is congested.</data></edge>
    <edge id="e1696" source="mlsys.open-closed-loop-load" target="mlsys.arrival-rate"><data key="relation">determines</data><data key="statement">sets whether responses throttle the</data><data key="conditions">Closed-loop clients cap concurrency at their own count, so arrival rate falls as latency rises; open-loop arrivals do not respond to latency.</data></edge>
    <edge id="e1697" source="mlsys.open-closed-loop-load" target="mlsys.latency-throughput-curve"><data key="relation">determines</data><data key="statement">changes, through response feedback and concurrency limits, the offered load behind</data><data key="conditions">When generator concurrency, think time, and response feedback change offered arrivals, the measured curve must be interpreted under that load model; closed-loop tests can still reach saturation.</data></edge>
    <edge id="e1698" source="mlsys.inference-load-scenario" target="mlsys.open-closed-loop-load"><data key="relation">uses</data><data key="statement">fixes as open or closed loop the</data><data key="conditions">Server scenarios issue queries by a timed random process; single-stream and multi-stream scenarios wait for each response.</data></edge>
    <edge id="e1699" source="mlsys.transfer-learning" target="mlsys.time-to-train"><data key="relation">reduces</data><data key="statement">shortens the target-task</data><data key="conditions">When a suitable pretrained model exists and fine-tuning converges in far fewer steps than training from scratch.</data></edge>
    <edge id="e1700" source="mlsys.pretraining" target="mlsys.compute-optimal-allocation"><data key="relation">uses</data><data key="statement">chooses model size and token count with</data><data key="conditions">When a fixed training compute budget is allocated before the run and the fitted law covers the target scale.</data></edge>
    <edge id="e1701" source="mlsys.diffusion-feature-caching" target="mlsys.diffusion-model"><data key="relation">uses</data><data key="statement">reuses intermediate features across the denoising steps of</data><data key="conditions">When adjacent sampling steps produce similar features in some blocks, so those blocks can be skipped and their cached output reused.</data></edge>
    <edge id="e1702" source="mlsys.experiment-budget" target="mlsys.scaling-laws"><data key="relation">uses</data><data key="statement">allocates small proxy runs to fit, and a large run to exploit,</data><data key="conditions">When the budget is split between runs that fit a law at small scale and the final run whose size the law predicts; extrapolation beyond the fitted range is not guaranteed.</data></edge>
    <edge id="e1703" source="mlsys.inference-compute-estimate" target="mlsys.memory-footprint"><data key="relation">measures</data><data key="statement">estimates the parameter and KV portions of</data><data key="conditions">When parameter bytes follow from count and precision and KV bytes from layers, KV heads, head dimension, context, batch, and precision; runtime buffers and activations are excluded.</data></edge>
    <edge id="e1704" source="mlsys.dispatch" target="mlsys.serial-fraction"><data key="relation">increases</data><data key="statement">contributes host-side, non-overlapped work to</data><data key="conditions">When launch and orchestration time is not overlapped with device execution, so it stays constant as device throughput or worker count grows.</data></edge>
    <edge id="e1705" source="mlsys.all-reduce" target="mlsys.collectives"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">When every participant contributes an equal-shaped tensor and every participant receives the full reduced result.</data></edge>
    <edge id="e1706" source="mlsys.ring-allreduce" target="mlsys.all-reduce"><data key="relation">implements</data><data key="statement">is an algorithm for</data><data key="conditions">When participants can be arranged in a ring with comparable link bandwidth.</data></edge>
    <edge id="e1707" source="mlsys.tree-allreduce" target="mlsys.all-reduce"><data key="relation">implements</data><data key="statement">is an algorithm for</data><data key="conditions">When participants are arranged in trees or hierarchical groups so latency grows logarithmically.</data></edge>
    <edge id="e1708" source="mlsys.in-network-reduction" target="mlsys.all-reduce"><data key="relation">implements</data><data key="statement">performs inside switches the reduction steps of</data><data key="conditions">When switches support aggregation for the data type and reduction operation used and also distribute the reduced result to every participant.</data></edge>
    <edge id="e1709" source="mlsys.data-parallel" target="mlsys.all-reduce"><data key="relation">uses</data><data key="statement">synchronizes gradients through</data><data key="conditions">When replicas combine gradients before each optimizer step, as in synchronous data parallelism.</data></edge>
    <edge id="e1710" source="mlsys.reduce-scatter-all-gather" target="mlsys.collectives"><data key="relation">specializes</data><data key="statement">are kinds of</data><data key="conditions">When each participant holds or receives a distinct shard rather than the whole tensor.</data></edge>
    <edge id="e1711" source="mlsys.state-sharding" target="mlsys.reduce-scatter-all-gather"><data key="relation">uses</data><data key="statement">all-gathers parameters before use and reduce-scatters gradients after, through</data><data key="conditions">When parameters, gradients, or optimizer state are sharded across data-parallel workers, as in ZeRO stage 3 or FSDP.</data></edge>
    <edge id="e1712" source="mlsys.ring-allreduce" target="mlsys.reduce-scatter-all-gather"><data key="relation">uses</data><data key="statement">is composed of</data><data key="conditions">When all-reduce is decomposed into a reduce-scatter followed by an all-gather around the ring.</data></edge>
    <edge id="e1713" source="mlsys.tensor-parallel" target="mlsys.reduce-scatter-all-gather"><data key="relation">uses</data><data key="statement">replaces per-layer all-reduce with</data><data key="conditions">When tensor-parallel layers are combined with Megatron-style sequence parallelism so each all-reduce becomes a reduce-scatter and all-gather pair.</data></edge>
    <edge id="e1714" source="mlsys.torus-topology" target="mlsys.network-topology"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">When endpoints connect to neighbors directly, without a switch hierarchy.</data></edge>
    <edge id="e1715" source="mlsys.torus-topology" target="mlsys.fat-tree"><data key="relation">alternative-to</data><data key="statement">is an alternative to</data><data key="conditions">Both connect accelerator nodes at scale; a torus saves switch cost and suits ring collectives, while a non-oversubscribed Clos fat-tree with suitable routing gives uniform bisection bandwidth for arbitrary traffic.</data></edge>
    <edge id="e1716" source="mlsys.torus-topology" target="mlsys.optical-circuit-switching"><data key="relation">uses</data><data key="statement">can be reconfigured and routed around failed nodes by</data><data key="conditions">When torus links pass through an optical circuit switch so slices of a pod can be joined into different torus shapes, as in TPU pods.</data></edge>
    <edge id="e1717" source="mlsys.ring-allreduce" target="mlsys.torus-topology"><data key="relation">uses</data><data key="statement">runs at full link bandwidth on the rings of</data><data key="conditions">When each ring of the collective maps onto one torus dimension so every step uses a direct link.</data></edge>
    <edge id="e1718" source="mlsys.torus-topology" target="mlsys.all-to-all"><data key="relation">limits</data><data key="statement">bounds, through multi-hop routing and lower bisection bandwidth,</data><data key="conditions">When exchange traffic crosses many torus hops rather than staying among neighbors.</data></edge>
    <edge id="e1719" source="mlsys.network-oversubscription" target="mlsys.bisection-bandwidth"><data key="relation">reduces</data><data key="statement">lowers, below the sum of endpoint links,</data><data key="conditions">When traffic crosses the oversubscribed tier rather than staying under one leaf switch.</data></edge>
    <edge id="e1720" source="mlsys.network-oversubscription" target="mlsys.collectives"><data key="relation">limits</data><data key="statement">caps the achievable rate of cross-tier</data><data key="conditions">When synchronized collective flows from many endpoints exceed a leaf switch's uplink capacity at the same moment.</data></edge>
    <edge id="e1721" source="mlsys.network-oversubscription" target="mlsys.tco"><data key="relation">reduces</data><data key="statement">lowers switch and cabling cost within</data><data key="conditions">When fewer uplinks and spine switches are provisioned per endpoint and the workload tolerates the contention.</data></edge>
    <edge id="e1722" source="mlsys.fusion" target="mlsys.arithmetic-intensity"><data key="relation">increases</data><data key="statement">raises, by keeping intermediates on chip instead of round-tripping them through device memory,</data><data key="conditions">When the fused operations are memory-bound elementwise or reduction kernels whose intermediates would otherwise be written to and read back from device memory.</data></edge>
    <edge id="e1723" source="mlsys.quantization" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">shrinks the bytes of stored weights, activations, or caches in</data><data key="conditions">When tensors are stored in the reduced format rather than only computed in it; dequantization buffers and scale factors add back a small share.</data></edge>
    <edge id="e1724" source="mlsys.host-memory" target="mlsys.memory-hierarchy"><data key="relation">part-of</data><data key="statement">is the capacity tier above device memory in</data><data key="conditions">When the accelerator is attached to a host that has its own DRAM.</data></edge>
    <edge id="e1725" source="mlsys.memory-offloading" target="mlsys.host-memory"><data key="relation">uses</data><data key="statement">spills optimizer state, parameters, or activations into</data><data key="conditions">When per-device memory cannot hold the full training state.</data></edge>
    <edge id="e1726" source="mlsys.kv-cache-offload" target="mlsys.host-memory"><data key="relation">uses</data><data key="statement">keeps evicted KV blocks in</data><data key="conditions">When blocks are likely to be reused and host memory is cheaper than device memory.</data></edge>
    <edge id="e1727" source="mlsys.host-data-loader" target="mlsys.host-memory"><data key="relation">uses</data><data key="statement">stages decoded batches in page-locked regions of</data><data key="conditions">When batches are copied to the device by DMA from pinned host buffers.</data></edge>
    <edge id="e1728" source="mlsys.schedule-separation" target="mlsys.tiling"><data key="relation">uses</data><data key="statement">names, as a schedule primitive,</data><data key="conditions">When tile sizes and loop order are schedule choices rather than part of the algorithm's definition.</data></edge>
    <edge id="e1729" source="mlsys.schedule-separation" target="mlsys.autotuning"><data key="relation">enables</data><data key="statement">exposes the search space explored by</data><data key="conditions">When schedule parameters are enumerable and the algorithm is fixed, so candidate implementations differ only in schedule.</data></edge>
    <edge id="e1730" source="mlsys.schedule-separation" target="mlsys.intermediate-representation"><data key="relation">uses</data><data key="statement">applies schedule transformations to the loop-level</data><data key="conditions">When the compiler lowers the algorithm to a loop nest that schedule primitives rewrite.</data></edge>
    <edge id="e1731" source="mlsys.schedule-separation" target="mlsys.software-pipelining"><data key="relation">uses</data><data key="statement">selects, as a schedule primitive,</data><data key="conditions">When pipelining stages are chosen by the schedule rather than written by hand in the kernel.</data></edge>
    <edge id="e1732" source="mlsys.kernel-synchronization" target="mlsys.thread-hierarchy"><data key="relation">uses</data><data key="statement">coordinates threads at the scopes defined by</data><data key="conditions">When threads of a block or warp share on-chip memory and must order their accesses.</data></edge>
    <edge id="e1733" source="mlsys.kernel-synchronization" target="mlsys.numerical-nondeterminism"><data key="relation">causes</data><data key="statement">introduces order-dependent floating-point results through contended</data><data key="conditions">When partial sums are combined with atomic adds whose completion order varies from run to run.</data></edge>
    <edge id="e1734" source="mlsys.kernel-synchronization" target="mlsys.compute-throughput"><data key="relation">limits</data><data key="statement">serializes contended updates, bounding achieved</data><data key="conditions">When many threads atomically update the same address, as in histogram, scatter-add, or gradient-aggregation kernels.</data></edge>
    <edge id="e1735" source="mlsys.sparse-tensor-kernels" target="mlsys.kernel-synchronization"><data key="relation">uses</data><data key="statement">scatter-adds irregular contributions through</data><data key="conditions">When several threads contribute to the same output element.</data></edge>
    <edge id="e1736" source="mlsys.link-reach" target="mlsys.scale-up-interconnect"><data key="relation">limits</data><data key="statement">bounds the physical extent of</data><data key="conditions">When scale-up links run over passive copper, so the domain must fit within copper reach, typically one or a few racks.</data></edge>
    <edge id="e1737" source="mlsys.link-reach" target="mlsys.rack-power-density"><data key="relation">increases</data><data key="statement">forces accelerators into few racks, raising</data><data key="conditions">When a scale-up domain must stay within copper reach rather than spreading across the floor.</data></edge>
    <edge id="e1738" source="mlsys.co-packaged-optics" target="mlsys.link-reach"><data key="relation">mitigates</data><data key="statement">extends beyond copper, at lower energy per bit than pluggable modules,</data><data key="conditions">When links must span more than copper reach allows.</data></edge>
    <edge id="e1739" source="mlsys.storage-access-pattern" target="mlsys.dataset-storage-layout"><data key="relation">determines</data><data key="statement">motivates large sequential shards in</data><data key="conditions">When training streams whole corpora so sequential bandwidth, not IOPS, is the binding resource.</data></edge>
    <edge id="e1740" source="mlsys.storage-access-pattern" target="mlsys.input-pipeline"><data key="relation">limits</data><data key="statement">bounds the read stage of</data><data key="conditions">When examples are fetched by many small random reads from media or stores with high per-request latency.</data></edge>
    <edge id="e1741" source="mlsys.storage-access-pattern" target="mlsys.storage-tiering"><data key="relation">determines</data><data key="statement">decides which tier serves which data in</data><data key="conditions">When random-access working sets, such as retrieval indexes or hot shards, are kept on NVMe or in memory while bulk corpora stream from capacity tiers.</data></edge>
    <edge id="e1742" source="mlsys.tensor-parallel" target="mlsys.hybrid-parallel"><data key="relation">part-of</data><data key="statement">is one dimension of</data><data key="conditions">When tensor-parallel groups are placed within the fastest scale-up domain and combined with data and pipeline parallelism across nodes.</data></edge>
    <edge id="e1743" source="mlsys.data-parallel" target="mlsys.hybrid-parallel"><data key="relation">part-of</data><data key="statement">is the outermost dimension of</data><data key="conditions">When replicas of a tensor- or pipeline-parallel model group are themselves data-parallel across nodes.</data></edge>
    <edge id="e1744" source="mlsys.matrix-unit" target="mlsys.compute-throughput"><data key="relation">increases</data><data key="statement">supplies most of the peak low-precision</data><data key="conditions">When the workload's operations are dense matrix multiplies in input and accumulation formats the unit supports.</data></edge>
    <edge id="e1745" source="mlsys.topology-aware-placement" target="mlsys.network-topology"><data key="relation">uses</data><data key="statement">places communicating workers according to</data><data key="conditions">When the scheduler holds a map of links, switches, and scale-up domains and the job declares which workers communicate most.</data></edge>
    <edge id="e1746" source="mlsys.quantization-aware-training" target="mlsys.integer-only-inference"><data key="relation">enables</data><data key="statement">makes accurate, by simulating rounding and requantization during training,</data><data key="conditions">When the simulated quantization matches the deployed integer arithmetic and requantization rules.</data></edge>
    <edge id="e1747" source="mlsys.embedding-cache" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">keeps only hot embedding rows resident, shrinking the accelerator-side</data><data key="conditions">When footprint is measured in accelerator memory and lookup skew lets cold rows live in host memory or SSD; total stored model bytes are unchanged.</data></edge>
    <edge id="e1748" source="mlsys.dataset-shuffling" target="mlsys.input-pipeline"><data key="relation">part-of</data><data key="statement">is the ordering stage of</data><data key="conditions">When examples are read in a randomized order rather than in stored order.</data></edge>
    <edge id="e1749" source="mlsys.dataset-shuffling" target="mlsys.streaming-dataset-format"><data key="relation">uses</data><data key="statement">shuffles shards, then records within a buffer, from</data><data key="conditions">When the corpus is stored as sharded files so a two-level shuffle approximates a global permutation.</data></edge>
    <edge id="e1750" source="mlsys.collectives" target="mlsys.training-power-swings"><data key="relation">causes</data><data key="statement">idles every accelerator in lockstep during exposed, producing</data><data key="conditions">When collectives are synchronous and not overlapped, so the whole cluster alternates between full-power compute and low-power waiting at the same moments.</data></edge>
    <edge id="e1751" source="mlsys.peer-to-peer-transfer" target="mlsys.scale-up-interconnect"><data key="relation">uses</data><data key="statement">moves data between accelerators over</data><data key="conditions">When transfers are carried by dedicated accelerator-to-accelerator scale-up links rather than over the host link.</data></edge>
    <edge id="e1752" source="mlsys.overfitting" target="mlsys.generalization"><data key="relation">reduces</data><data key="statement">widens the gap between training and held-out performance, lowering</data><data key="conditions">When the model has capacity to fit training-set noise and training continues past the point where held-out performance peaks.</data></edge>
    <edge id="e1753" source="mlsys.regularization" target="mlsys.overfitting"><data key="relation">mitigates</data><data key="statement">mitigates</data><data key="conditions">When the penalty or procedure limits the model's ability to fit training-set noise.</data></edge>
    <edge id="e1754" source="mlsys.training-diagnostics" target="mlsys.overfitting"><data key="relation">detects</data><data key="statement">reveals, through diverging training and validation curves,</data><data key="conditions">When validation metrics are logged alongside training loss at step granularity.</data></edge>
    <edge id="e1755" source="mlsys.overfitting" target="mlsys.membership-inference"><data key="relation">increases</data><data key="statement">raises the train-versus-nontrain confidence gap exploited by</data><data key="conditions">When overfitting creates train-versus-nontrain confidence or loss differences that the attack exploits, raising its advantage.</data></edge>
    <edge id="e1756" source="mlsys.predictive-uncertainty" target="mlsys.selective-prediction"><data key="relation">enables</data><data key="statement">supplies the confidence signal that decides abstention in</data><data key="conditions">When the estimate ranks errors well enough that abstaining on the least certain inputs lowers risk at the chosen coverage.</data></edge>
    <edge id="e1757" source="mlsys.active-learning" target="mlsys.predictive-uncertainty"><data key="relation">uses</data><data key="statement">selects examples to label from</data><data key="conditions">For uncertainty-sampling acquisition functions.</data></edge>
    <edge id="e1758" source="mlsys.ood-detection" target="mlsys.predictive-uncertainty"><data key="relation">uses</data><data key="statement">thresholds epistemic signals from</data><data key="conditions">When uncertainty rises on inputs far from the training data; raw softmax confidence is often overconfident there.</data></edge>
    <edge id="e1759" source="mlsys.statistical-power" target="mlsys.online-experiment"><data key="relation">determines</data><data key="statement">sets the traffic share and duration required by</data><data key="conditions">When the launch decision must detect an effect of a stated minimum size at stated error rates; metric variance and the number of independent units fix the answer.</data></edge>
    <edge id="e1760" source="mlsys.paired-comparison" target="mlsys.statistical-power"><data key="relation">increases</data><data key="statement">raises, by cancelling shared item variance,</data><data key="conditions">When both systems are scored on the same items so per-item differences vary less than independent samples.</data></edge>
    <edge id="e1761" source="mlsys.statistical-uncertainty" target="mlsys.statistical-power"><data key="relation">reduces</data><data key="statement">lowers, through outcome variance,</data><data key="conditions">At a fixed sample size; a noisier metric needs more units to detect the same effect.</data></edge>
    <edge id="e1762" source="mlsys.retrieval-metrics" target="mlsys.metrics"><data key="relation">specializes</data><data key="statement">is the ranked-list family of</data><data key="conditions">When outputs are ranked candidate lists judged against relevance labels.</data></edge>
    <edge id="e1763" source="mlsys.retrieval-metrics" target="mlsys.retrieval"><data key="relation">measures</data><data key="statement">scores the ranked results of</data><data key="conditions">When relevance judgments exist for the query set; judged pools miss relevant unjudged records.</data></edge>
    <edge id="e1764" source="mlsys.retrieval-metrics" target="mlsys.ann"><data key="relation">measures</data><data key="statement">quantifies, as recall against exact search, the approximation loss of</data><data key="conditions">When ground-truth neighbors are computed by exhaustive search on the same corpus.</data></edge>
    <edge id="e1765" source="mlsys.rejection-sampling-fine-tuning" target="mlsys.supervised-fine-tuning"><data key="relation">specializes</data><data key="statement">is the self-generated-data form of</data><data key="conditions">When the training targets are the model's own accepted samples rather than human demonstrations.</data></edge>
    <edge id="e1766" source="mlsys.rejection-sampling-fine-tuning" target="mlsys.verifier"><data key="relation">uses</data><data key="statement">filters candidates with</data><data key="conditions">When acceptance is decided by a programmatic check, a reward model, or a grader; filter errors become training labels.</data></edge>
    <edge id="e1767" source="mlsys.rejection-sampling-fine-tuning" target="mlsys.rlvr"><data key="relation">alternative-to</data><data key="statement">is an offline, SFT-based alternative to</data><data key="conditions">Both learn from verifiable outcomes; rejection sampling updates only on accepted samples while RLVR takes policy gradients over all sampled outcomes.</data></edge>
    <edge id="e1768" source="mlsys.rejection-sampling-fine-tuning" target="mlsys.mode-collapse"><data key="relation">causes</data><data key="statement">narrows sampled diversity across rounds toward</data><data key="conditions">When successive rounds train only on the model's own high-scoring samples, concentrating training mass on a narrowing response family without fresh human or real data.</data></edge>
    <edge id="e1769" source="mlsys.early-stopping" target="mlsys.regularization"><data key="relation">specializes</data><data key="statement">acts, by truncating training, as a form of</data><data key="conditions">When validation performance peaks before the training loss plateaus.</data></edge>
    <edge id="e1770" source="mlsys.early-stopping" target="mlsys.evaluation-split"><data key="relation">requires</data><data key="statement">monitors a validation partition from</data><data key="conditions">The stopping decision must not use the final test partition, or the reported score is optimistically biased.</data></edge>
    <edge id="e1771" source="mlsys.experiment-budget" target="mlsys.early-stopping"><data key="relation">uses</data><data key="statement">stops unpromising trials early under</data><data key="conditions">When a trial is abandoned once its validation metric plateaus, freeing its remaining budget for other configurations.</data></edge>
    <edge id="e1772" source="mlsys.group-dro" target="mlsys.loss"><data key="relation">uses</data><data key="statement">optimizes a worst-group aggregation of</data><data key="conditions">When examples carry group labels and training minimizes the highest group loss rather than the mean.</data></edge>
    <edge id="e1773" source="mlsys.group-dro" target="mlsys.distribution-shift"><data key="relation">mitigates</data><data key="statement">protects worst-group performance under subpopulation forms of</data><data key="conditions">When the groups that dominate at deployment are among those declared at training.</data></edge>
    <edge id="e1774" source="mlsys.loss-masking" target="mlsys.chat-template"><data key="relation">uses</data><data key="statement">locates assistant spans through</data><data key="conditions">When non-target tokens are identified by role markers in the rendered sequence.</data></edge>
    <edge id="e1775" source="mlsys.chat-template" target="mlsys.train-serve-skew"><data key="relation">causes</data><data key="statement">causes, when rendered differently in training and serving,</data><data key="conditions">When the serving stack renders turns with different markers or whitespace from the training renderer.</data></edge>
    <edge id="e1776" source="mlsys.chat-template" target="mlsys.tokenization"><data key="relation">uses</data><data key="statement">reserves special tokens in</data><data key="conditions">When role markers are single reserved tokens rather than plain text.</data></edge>
    <edge id="e1777" source="mlsys.generation-stopping" target="mlsys.kv-cache"><data key="relation">limits</data><data key="statement">caps per-request growth of</data><data key="conditions">A server-enforced output-token cap limits additional retained token positions in engines whose autoregressive cache grows with generation; it does not bound all allocated cache memory.</data></edge>
    <edge id="e1778" source="mlsys.generation-stopping" target="mlsys.tail-latency"><data key="relation">limits</data><data key="statement">limits the output-length contribution to</data><data key="conditions">Decode-step time is bounded, while queueing, stalls, and retries are accounted for separately.</data></edge>
    <edge id="e1779" source="mlsys.generation-stopping" target="mlsys.resource-exhaustion-attack"><data key="relation">mitigates</data><data key="statement">caps the output tokens one request can consume, blunting</data><data key="conditions">A server-enforced output cap limits generated-token work per request; separate controls are needed for prompt processing, request rate, and aggregate client consumption.</data></edge>
    <edge id="e1780" source="mlsys.runbook" target="mlsys.incident-response"><data key="relation">part-of</data><data key="statement">scripts the first steps of</data><data key="conditions">When the failure has been seen before and its mitigation is known.</data></edge>
    <edge id="e1781" source="mlsys.alerting" target="mlsys.runbook"><data key="relation">uses</data><data key="statement">links each page to a</data><data key="conditions">When alerts are actionable and name the procedure to follow.</data></edge>
    <edge id="e1782" source="mlsys.postmortem" target="mlsys.runbook"><data key="relation">produces</data><data key="statement">writes or revises a</data><data key="conditions">When corrective actions include documenting the response for next time.</data></edge>
    <edge id="e1783" source="mlsys.runbook" target="mlsys.rollback"><data key="relation">uses</data><data key="statement">often names, as the first mitigation,</data><data key="conditions">For model-serving incidents where the previous version is known good.</data></edge>
    <edge id="e1784" source="mlsys.rl-training-colocation" target="mlsys.weight-sync"><data key="relation">determines</data><data key="statement">sets the transfer path and cost of</data><data key="conditions">Colocated designs reshard in device memory; disaggregated ones send weights across the network.</data></edge>
    <edge id="e1785" source="mlsys.rl-training-colocation" target="mlsys.dynamic-resharding"><data key="relation">uses</data><data key="statement">switches between training and generation layouts with</data><data key="conditions">When the colocated design runs both phases on one device set.</data></edge>
    <edge id="e1786" source="mlsys.rl-training-colocation" target="mlsys.policy-staleness"><data key="relation">increases</data><data key="statement">raises, in its disaggregated asynchronous form,</data><data key="conditions">When rollout workers keep generating while trainers update.</data></edge>
    <edge id="e1787" source="mlsys.sequential-revision" target="mlsys.best-of-n"><data key="relation">alternative-to</data><data key="statement">spends compute serially rather than in parallel samples as in</data><data key="conditions">When one task's inference budget is allocated between dependent revisions and independent candidates.</data></edge>
    <edge id="e1788" source="mlsys.sequential-revision" target="mlsys.verifier"><data key="relation">uses</data><data key="statement">benefits from external feedback supplied by</data><data key="conditions">When the critique comes from a checker rather than the model's own judgment, which is often unreliable.</data></edge>
    <edge id="e1789" source="mlsys.sequential-revision" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">adds serial passes to</data><data key="conditions">Each pass must finish before the next begins.</data></edge>
    <edge id="e1790" source="mlsys.semi-supervised-learning" target="mlsys.supervised-learning"><data key="relation">uses</data><data key="statement">trains on labeled and pseudo-labeled examples with</data><data key="conditions">After unlabeled examples receive model-assigned targets.</data></edge>
    <edge id="e1791" source="mlsys.semi-supervised-learning" target="mlsys.weak-supervision"><data key="relation">alternative-to</data><data key="statement">derives extra labels from the model itself rather than from heuristics as in</data><data key="conditions">Both reduce manual labeling; semi-supervision needs a labeled seed and a model confident enough to self-label.</data></edge>
    <edge id="e1792" source="mlsys.semi-supervised-learning" target="mlsys.selective-prediction"><data key="relation">uses</data><data key="statement">keeps only confident pseudo-labels through</data><data key="conditions">When a confidence threshold decides which unlabeled examples enter training.</data></edge>
    <edge id="e1793" source="mlsys.contrastive-learning" target="mlsys.embeddings"><data key="relation">produces</data><data key="statement">trains the encoders behind</data><data key="conditions">When the learned representation is reused for retrieval, classification heads, or multimodal alignment.</data></edge>
    <edge id="e1794" source="mlsys.contrastive-learning" target="mlsys.dense-retrieval"><data key="relation">enables</data><data key="statement">trains the bi-encoders used by</data><data key="conditions">When query-document pairs supply positives and in-batch items supply negatives.</data></edge>
    <edge id="e1795" source="mlsys.batch-size" target="mlsys.contrastive-learning"><data key="relation">limits</data><data key="statement">bounds the in-batch negatives available to</data><data key="conditions">When negatives are drawn from the same batch rather than a memory bank.</data></edge>
    <edge id="e1796" source="mlsys.training-memory-estimate" target="mlsys.training-state"><data key="relation">measures</data><data key="statement">sizes</data><data key="conditions">For dense models where each component's precision and the optimizer's state count are known.</data></edge>
    <edge id="e1797" source="mlsys.training-memory-estimate" target="mlsys.precision"><data key="relation">uses</data><data key="statement">takes byte widths from</data><data key="conditions">Each state component may use a different format.</data></edge>
    <edge id="e1798" source="mlsys.training-memory-estimate" target="mlsys.memory-footprint"><data key="relation">measures</data><data key="statement">estimates the training share of</data><data key="conditions">Runtime buffers and allocator overhead are added separately.</data></edge>
    <edge id="e1799" source="mlsys.rl-rollout" target="mlsys.continuous-batching"><data key="relation">uses</data><data key="statement">generates many sampled responses per prompt through</data><data key="conditions">When rollouts are produced by a serving engine rather than the training framework, so engine throughput bounds samples per step.</data></edge>
    <edge id="e1800" source="mlsys.retraining" target="mlsys.model-artifact"><data key="relation">produces</data><data key="statement">yields a replacement</data><data key="conditions">After the retrained model passes validation and is versioned for release.</data></edge>
    <edge id="e1801" source="mlsys.hyperparameter-search" target="mlsys.experiment-budget"><data key="relation">uses</data><data key="statement">allocates trials under</data><data key="conditions">Whenever the number of configurations exceeds what can be trained to completion, so trials, repetitions, and fidelities compete for one budget.</data></edge>
    <edge id="e1802" source="mlsys.continuous-training" target="mlsys.data-validation"><data key="relation">uses</data><data key="statement">validates incoming data before each run of</data><data key="conditions">When the pipeline is automated end to end, so a schema or distribution failure must stop retraining rather than a person.</data></edge>
    <edge id="e1803" source="mlsys.model-gateway" target="mlsys.admission"><data key="relation">implements</data><data key="statement">enforces per-client rate limits as</data><data key="conditions">When all model calls pass through the gateway and limits are expressed per key, tenant, or application.</data></edge>
    <edge id="e1804" source="mlsys.alerting" target="mlsys.drift-detection"><data key="relation">uses</data><data key="statement">fires on thresholds over statistics from</data><data key="conditions">When drift statistics are alerted on directly; detected drift is a signal to diagnose, not proof of degraded quality.</data></edge>
    <edge id="e1805" source="mlsys.kv-cache-offload" target="mlsys.kv-cache-eviction"><data key="relation">alternative-to</data><data key="statement">keeps cold entries recoverable instead of discarding them as in</data><data key="conditions">Both bound resident KV memory; offload spends transfer bandwidth to preserve exactness, eviction spends quality to avoid transfers; they can be combined.</data></edge>
    <edge id="e1806" source="mlsys.pass-at-k" target="mlsys.test-oracle"><data key="relation">uses</data><data key="statement">counts a sample as correct according to a</data><data key="conditions">When the check is unit tests or a programmatic grader; the metric inherits the oracle's false positives.</data></edge>
    <edge id="e1807" source="mlsys.failure-attribution" target="mlsys.inference-logging"><data key="relation">uses</data><data key="statement">reconstructs the failing request from</data><data key="conditions">When logs retain inputs, model version, and outputs for the incident window.</data></edge>
    <edge id="e1808" source="mlsys.privacy-budget" target="mlsys.differential-privacy"><data key="relation">part-of</data><data key="statement">is the accounting side of</data><data key="conditions">When several releases or training steps on the same data must be composed into one guarantee.</data></edge>
    <edge id="e1809" source="mlsys.dp-sgd" target="mlsys.privacy-budget"><data key="relation">uses</data><data key="statement">tracks its noise multiplier, sampling rate, and step count through</data><data key="conditions">At every optimizer step; the accountant decides when training must stop.</data></edge>
    <edge id="e1810" source="mlsys.privacy-budget" target="mlsys.retraining"><data key="relation">limits</data><data key="statement">caps how many times private data can be reused by</data><data key="conditions">When each retraining run spends from a fixed budget rather than resetting it.</data></edge>
    <edge id="e1811" source="mlsys.bias-sources" target="mlsys.bias-mitigation"><data key="relation">determines</data><data key="statement">selects which stage of intervention is appropriate in</data><data key="conditions">When the dominant source is identified, since reweighting cannot fix a measurement problem and a constraint cannot fix a deployment mismatch.</data></edge>
    <edge id="e1812" source="mlsys.bias-sources" target="mlsys.proxy-discrimination"><data key="relation">causes</data><data key="statement">can produce, through correlated features,</data><data key="conditions">When historical or measurement bias is encoded in features correlated with protected attributes and those features drive decisions.</data></edge>
    <edge id="e1813" source="mlsys.carbon-accounting-method" target="mlsys.emission-scopes"><data key="relation">uses</data><data key="statement">applies to the purchased-electricity category of</data><data key="conditions">When purchased-electricity emissions are identified as Scope 2 before the attribution method is chosen.</data></edge>
    <edge id="e1814" source="mlsys.carbon-accounting-method" target="mlsys.operational-carbon"><data key="relation">measures</data><data key="statement">reports, under declared factors and boundaries, the electricity share of</data><data key="conditions">When contractual instruments cover a material share of consumption, so the market-based figure diverges from the location-based one.</data></edge>
    <edge id="e1815" source="mlsys.retry-backoff" target="mlsys.request-timeout"><data key="relation">uses</data><data key="statement">treats as its failure signal the expiry of</data><data key="conditions">When a retry is issued on timeout rather than on an explicit error; the retry budget and the deadline must be set together.</data></edge>
    <edge id="e1816" source="mlsys.request-timeout" target="mlsys.metastable-failure"><data key="relation">mitigates</data><data key="statement">cancels abandoned work that would otherwise sustain</data><data key="conditions">When deadlines are propagated so downstream services stop serving requests the client no longer waits for.</data></edge>
    <edge id="e1817" source="mlsys.circuit-breaker" target="mlsys.request-timeout"><data key="relation">uses</data><data key="statement">counts expirations as errors in</data><data key="conditions">When slow responses, not only explicit failures, trip the breaker.</data></edge>
    <edge id="e1818" source="mlsys.data-protection-regulation" target="mlsys.data-consent"><data key="relation">requires</data><data key="statement">mandates a lawful basis and purpose limitation enforced through</data><data key="conditions">When personal data of covered people is processed for training or inference.</data></edge>
    <edge id="e1819" source="mlsys.data-protection-regulation" target="mlsys.deletion-propagation"><data key="relation">requires</data><data key="statement">creates erasure obligations fulfilled by</data><data key="conditions">When a legally effective erasure obligation covers the retained personal data and its derived copies.</data></edge>
    <edge id="e1820" source="mlsys.data-protection-regulation" target="mlsys.privacy"><data key="relation">determines</data><data key="statement">sets the legal floor for</data><data key="conditions">Within the jurisdictions whose law applies to the people in the data.</data></edge>
    <edge id="e1821" source="mlsys.egress-control" target="mlsys.weight-exfiltration"><data key="relation">mitigates</data><data key="statement">blocks the outbound channels used for</data><data key="conditions">When weights can leave only through network paths the allowlist controls.</data></edge>
    <edge id="e1822" source="mlsys.confidential-computing" target="mlsys.weight-exfiltration"><data key="relation">mitigates</data><data key="statement">keeps weights unreadable to the host operator, limiting</data><data key="conditions">When the weights are decrypted only inside the attested environment.</data></edge>
    <edge id="e1823" source="mlsys.weight-exfiltration" target="mlsys.model-extraction"><data key="relation">alternative-to</data><data key="statement">obtains the model directly instead of reconstructing it by queries as in</data><data key="conditions">Both yield a usable copy; theft needs infrastructure access, extraction needs only the prediction interface.</data></edge>
    <edge id="e1824" source="mlsys.ai-bill-of-materials" target="mlsys.supply-chain-compromise"><data key="relation">mitigates</data><data key="statement">lets consumers find known-bad components behind</data><data key="conditions">When the manifest is complete and machine-readable and components flagged against advisories are rejected, replaced, or contained; the inventory alone reveals but does not prevent a compromise.</data></edge>
    <edge id="e1825" source="mlsys.ai-bill-of-materials" target="mlsys.lineage"><data key="relation">uses</data><data key="statement">is compiled from</data><data key="conditions">When data lineage records the sources and transformations the manifest lists.</data></edge>
    <edge id="e1826" source="mlsys.artifact-signing" target="mlsys.ai-bill-of-materials"><data key="relation">uses</data><data key="statement">binds to the weights, through its signature, the contents of</data><data key="conditions">When the signed payload includes the manifest rather than only the weight bytes.</data></edge>
    <edge id="e1827" source="mlsys.risk-tiered-regulation" target="mlsys.ai-incident-reporting"><data key="relation">requires</data><data key="statement">obliges providers of high-risk systems to perform</data><data key="conditions">For serious incidents under the governing regulation, within its reporting deadlines.</data></edge>
    <edge id="e1828" source="mlsys.ai-risk-management" target="mlsys.ai-incident-reporting"><data key="relation">uses</data><data key="statement">feeds its measure and manage functions from</data><data key="conditions">When reported incidents are reviewed against the risk register rather than only closed.</data></edge>
    <edge id="e1829" source="mlsys.ai-incident-reporting" target="mlsys.postmortem"><data key="relation">uses</data><data key="statement">draws its causal account from</data><data key="conditions">When the incident was handled by an internal incident process before disclosure.</data></edge>
    <edge id="e1830" source="mlsys.mechanistic-interpretability" target="mlsys.feature-attribution"><data key="relation">alternative-to</data><data key="statement">explains internal computation rather than input contributions, unlike</data><data key="conditions">Both aim at understanding a decision; attribution scores inputs, mechanistic methods inspect representations and need model access.</data></edge>
    <edge id="e1831" source="mlsys.mechanistic-interpretability" target="mlsys.linear-model"><data key="relation">uses</data><data key="statement">fits linear probes from</data><data key="conditions">For probing, where a linear classifier on activations tests whether a property is linearly represented.</data></edge>
    <edge id="e1832" source="mlsys.safety-certification" target="mlsys.safety-case"><data key="relation">uses</data><data key="statement">assesses the argument and evidence in</data><data key="conditions">Under standards that require a safety case; others prescribe process evidence directly.</data></edge>
    <edge id="e1833" source="mlsys.change-impact-analysis" target="mlsys.safety-certification"><data key="relation">uses</data><data key="statement">scopes re-assessment against the claims certified by</data><data key="conditions">When a model, data, or operating-domain change touches certified claims.</data></edge>
    <edge id="e1834" source="mlsys.hazard-analysis" target="mlsys.tolerable-risk"><data key="relation">uses</data><data key="statement">ranks identified hazards against</data><data key="conditions">When the analysis must decide which hazards receive controls rather than only list them.</data></edge>
    <edge id="e1835" source="mlsys.safety-case" target="mlsys.tolerable-risk"><data key="relation">requires</data><data key="statement">argues acceptability against</data><data key="conditions">The top claim of a safety case is that residual risk is acceptable, which is undefined without the criteria.</data></edge>
    <edge id="e1836" source="mlsys.fleet-hardware-screening" target="mlsys.silent-data-corruption"><data key="relation">detects</data><data key="statement">finds the units responsible for</data><data key="conditions">For faults that reproduce under the test workload; intermittent and workload-dependent faults need longer or in-production screening.</data></edge>
    <edge id="e1837" source="mlsys.fleet-hardware-screening" target="mlsys.test-oracle"><data key="relation">uses</data><data key="statement">compares outputs against</data><data key="conditions">When reference outputs are computed on trusted hardware or by a redundant run.</data></edge>
    <edge id="e1838" source="mlsys.fleet-hardware-screening" target="mlsys.utilization"><data key="relation">trades-off</data><data key="statement">spends fleet time that would otherwise count toward</data><data key="conditions">When screening runs on production capacity rather than on units already out of service.</data></edge>
    <edge id="e1839" source="mlsys.profiling" target="mlsys.hardware-performance-counters"><data key="relation">uses</data><data key="statement">reads stall and throughput causes from</data><data key="conditions">When the profiler collects counters in addition to timestamps; collection can perturb execution and on some accelerators serializes it.</data></edge>
    <edge id="e1840" source="mlsys.bottleneck-analysis" target="mlsys.hardware-performance-counters"><data key="relation">uses</data><data key="statement">places a kernel on the roofline using measured bytes and operations from</data><data key="conditions">When measured rather than estimated arithmetic intensity is needed.</data></edge>
    <edge id="e1841" source="mlsys.structured-pruning" target="mlsys.nm-sparsity"><data key="relation">alternative-to</data><data key="statement">removes whole units for dense hardware instead of the fine per-group pattern of</data><data key="conditions">Both aim at real speedup from pruning; structured pruning needs no sparse-engine support but usually costs more quality at equal parameter reduction, N:M needs a matrix engine with the matching sparse instruction.</data></edge>
    <edge id="e1842" source="mlsys.gray-failure" target="mlsys.health-checks"><data key="relation">limits</data><data key="statement">passes undetected through</data><data key="conditions">When the degraded node still answers liveness and readiness probes while failing the work callers send it.</data></edge>
    <edge id="e1843" source="mlsys.over-refusal" target="mlsys.jailbreak"><data key="relation">trades-off</data><data key="statement">is the false-positive side of the operating point whose false-negative side is</data><data key="conditions">When a single threshold or refusal policy decides both, so loosening it to admit benign requests also admits more successful bypasses.</data></edge>
    <edge id="e1844" source="mlsys.membership-inference" target="mlsys.machine-unlearning"><data key="relation">measures</data><data key="statement">audits whether removed records still influence a model after</data><data key="conditions">When attack advantage on the forgotten records, compared with a model retrained without them, is used as the empirical test of forgetting.</data></edge>
    <edge id="e1845" source="mlsys.guardrails" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">adds classifier passes on the request path to</data><data key="conditions">When input and output checks run synchronously before the response is released; streaming output checks shift the cost to time-to-last-token.</data></edge>
    <edge id="e1846" source="mlsys.silent-data-corruption" target="mlsys.training-instability"><data key="relation">causes</data><data key="statement">can inject the corrupted gradients or weights behind</data><data key="conditions">When a miscomputed value propagates into optimizer state before any check catches it, so a loss spike or divergence appears with no software cause.</data></edge>
    <edge id="e1847" source="mlsys.stragglers" target="mlsys.training-goodput"><data key="relation">reduces</data><data key="statement">idles every other rank, lowering</data><data key="conditions">In synchronous training, where each step waits for the slowest rank; asynchronous or straggler-tolerant schemes break the dependence.</data></edge>
    <edge id="e1848" source="mlsys.human-oversight" target="mlsys.selective-prediction"><data key="relation">uses</data><data key="statement">routes abstained cases to people through</data><data key="conditions">When the system abstains on low-confidence inputs and a human review path exists with enough time and context to decide.</data></edge>
    <edge id="e1849" source="mlsys.agent-harness" target="mlsys.trajectory-log"><data key="relation">produces</data><data key="statement">writes, as the sole author, the</data><data key="conditions">When the harness, not the model, owns continuation and records each step before dispatching it.</data></edge>
    <edge id="e1850" source="mlsys.durable-execution" target="mlsys.trajectory-log"><data key="relation">uses</data><data key="statement">recovers progress and reuses recorded results from the</data><data key="conditions">When each step's intent is appended before the effect is issued, so a crash between the two can be reconciled.</data></edge>
    <edge id="e1851" source="mlsys.deterministic-replay" target="mlsys.trajectory-log"><data key="relation">uses</data><data key="statement">substitutes recorded model outputs and tool results from the</data><data key="conditions">When the log contains every input needed for the declared replay boundary.</data></edge>
    <edge id="e1852" source="mlsys.agent-evaluation" target="mlsys.trajectory-log"><data key="relation">uses</data><data key="statement">scores intermediate effects and constraint compliance from the</data><data key="conditions">When evaluation reads the record of what was dispatched rather than only the final answer.</data></edge>
    <edge id="e1853" source="mlsys.odometry" target="mlsys.state-estimation"><data key="relation">specializes</data><data key="statement">is the relative-motion, drift-accumulating form of</data><data key="conditions">Only relative motion is measured, so absolute pose is unobservable without an external reference.</data></edge>
    <edge id="e1854" source="mlsys.slam" target="mlsys.odometry"><data key="relation">uses</data><data key="statement">takes its motion prior between keyframes from</data><data key="conditions">When the front end propagates pose with odometry and the back end corrects drift at loop closure.</data></edge>
    <edge id="e1855" source="mlsys.recursive-filtering" target="mlsys.odometry"><data key="relation">uses</data><data key="statement">propagates the predicted state in the prediction step with</data><data key="conditions">When odometry supplies the control input to a Kalman-family or particle filter.</data></edge>
    <edge id="e1856" source="mlsys.odometry" target="mlsys.coordinate-frames"><data key="relation">uses</data><data key="statement">accumulates pose in the odometry frame defined by</data><data key="conditions">In systems that keep a continuous odometry frame beneath a map frame, so the map-to-odometry transform absorbs drift correction.</data></edge>
    <edge id="e1857" source="mlsys.capture-epoch" target="mlsys.observation-age"><data key="relation">determines</data><data key="statement">fixes the start instant of</data><data key="conditions">Observation age is measured from the capture epoch, not from the frame's arrival at the processor.</data></edge>
    <edge id="e1858" source="mlsys.capture-epoch" target="mlsys.sensor-fusion"><data key="relation">limits</data><data key="statement">misaligns measurements taken at different instants within</data><data key="conditions">When the platform or scene moves during exposure or a scan and the measurements are not de-skewed before fusion.</data></edge>
    <edge id="e1859" source="mlsys.recursive-filtering" target="mlsys.capture-epoch"><data key="relation">uses</data><data key="statement">applies each measurement at its</data><data key="conditions">When measurements arrive out of order or late, the filter must correct at the capture epoch rather than at arrival.</data></edge>
    <edge id="e1860" source="mlsys.timing-jitter" target="mlsys.feedback-control"><data key="relation">limits</data><data key="statement">degrades, by varying the sample interval of,</data><data key="conditions">When the controller's gains assume a fixed period and the actual release or completion time varies.</data></edge>
    <edge id="e1861" source="mlsys.real-time-scheduling" target="mlsys.timing-jitter"><data key="relation">reduces</data><data key="statement">bounds, through fixed priorities and periodic release,</data><data key="conditions">When the control task has the highest priority or is released by a timer rather than by a best-effort scheduler.</data></edge>
    <edge id="e1862" source="mlsys.xil-testing" target="mlsys.timing-jitter"><data key="relation">measures</data><data key="statement">exposes, on the real compute and bus,</data><data key="conditions">When the real software and hardware run in the loop; pure simulation hides it.</data></edge>
    <edge id="e1863" source="mlsys.thermal-dynamics" target="mlsys.timing-jitter"><data key="relation">increases</data><data key="statement">adds, through frequency throttling,</data><data key="conditions">When clock changes under thermal policy alter task completion times between periods.</data></edge>
    <edge id="e1864" source="mlsys.deterministic-field-network" target="mlsys.feedback-delay"><data key="relation">increases</data><data key="statement">adds a bounded transport and cycle-time term to</data><data key="conditions">When drives and sensors are reached over the bus rather than on-chip.</data></edge>
    <edge id="e1865" source="mlsys.robotics-middleware" target="mlsys.deterministic-field-network"><data key="relation">uses</data><data key="statement">reaches drives and encoders through</data><data key="conditions">When middleware nodes talk to actuators and sensors over a fieldbus rather than directly.</data></edge>
    <edge id="e1866" source="mlsys.deterministic-field-network" target="mlsys.real-time-scheduling"><data key="relation">limits</data><data key="statement">bounds, by bus occupancy, the achievable period of</data><data key="conditions">When the control task's period must fit the bus cycle and the number of devices on it.</data></edge>
    <edge id="e1867" source="mlsys.feedback-delay" target="mlsys.loop-stability-margin"><data key="relation">reduces</data><data key="statement">spends, at a rate set by the loop's bandwidth,</data><data key="conditions">Each unit of delay costs phase in proportion to the crossover frequency.</data></edge>
    <edge id="e1868" source="mlsys.loop-stability-margin" target="mlsys.feedback-control"><data key="relation">limits</data><data key="statement">caps the achievable bandwidth and gain of</data><data key="conditions">When the controller is tuned to keep a stated margin under the worst-case delay and plant variation.</data></edge>
    <edge id="e1869" source="mlsys.dynamics" target="mlsys.loop-stability-margin"><data key="relation">determines</data><data key="statement">sets, together with the controller, the</data><data key="conditions">The margin is a property of the plant-controller pair, not of the controller alone.</data></edge>
    <edge id="e1870" source="mlsys.impedance-force-control" target="mlsys.feedback-control"><data key="relation">specializes</data><data key="statement">is the contact-regulating form of</data><data key="conditions">The regulated variable is the force-motion relationship rather than position alone.</data></edge>
    <edge id="e1871" source="mlsys.impedance-force-control" target="mlsys.contact-compliance"><data key="relation">uses</data><data key="statement">models the environment's stiffness and damping through</data><data key="conditions">Stable contact depends on the combined compliance of robot, controller, and environment.</data></edge>
    <edge id="e1872" source="mlsys.feedback-delay" target="mlsys.impedance-force-control"><data key="relation">limits</data><data key="statement">destabilizes stiff contact under</data><data key="conditions">When commanded stiffness is high and the loop delay is long relative to the contact dynamics.</data></edge>
    <edge id="e1873" source="mlsys.safety-filter" target="mlsys.impedance-force-control"><data key="relation">uses</data><data key="statement">bounds contact force at the actuator through</data><data key="conditions">When the filter's safe action is expressed as a force or stiffness limit rather than a position correction.</data></edge>
    <edge id="e1874" source="mlsys.authorization" target="mlsys.tool-contract"><data key="relation">uses</data><data key="statement">checks a proposed tool call against the authority and effects declared in the</data><data key="conditions">When tool calls are authorized per action from the contract rather than by ambient session rights; schema conformance alone grants nothing.</data></edge>
    <edge id="e1875" source="mlsys.sensor-interference" target="mlsys.sensor-degradation"><data key="relation">specializes</data><data key="statement">is the multi-emitter form of</data><data key="conditions">When other active sensors share the scene; the hardware has not failed and the loss of fidelity depends on the operating environment.</data></edge>
    <edge id="e1876" source="mlsys.sensor-interconnect" target="mlsys.robot-perception"><data key="relation">limits</data><data key="statement">bounds the resolution, frame rate, and sensor count available to</data><data key="conditions">When raw sensor data streams into the onboard processor over MIPI, I2S, or SPI links rather than being pre-processed at the sensor.</data></edge>
    <edge id="e1877" source="mlsys.sensor-degradation" target="mlsys.robot-perception"><data key="relation">limits</data><data key="statement">degrades the inputs to</data><data key="conditions">When the perception model was trained and validated on clean conditions and no input-support monitor flags the degraded regime.</data></edge>
    <edge id="e1878" source="mlsys.approval-gate" target="mlsys.agent-harness"><data key="relation">part-of</data><data key="statement">is the undispatched hold within</data><data key="conditions">When the harness holds the proposed action, bound by digest and expiry, until an authorized decision, and re-runs admission after approval.</data></edge>
    <edge id="e1879" source="mlsys.agent-interruption" target="mlsys.agent-harness"><data key="relation">requires</data><data key="statement">takes effect only at turn boundaries enforced by the</data><data key="conditions">When a runtime owns continuation and dispatch, enforces cancellation at defined execution boundaries, and separately settles already issued external actions.</data></edge>
    <edge id="e1880" source="mlsys.diffusion-policy" target="mlsys.action-tokenization"><data key="relation">alternative-to</data><data key="statement">generates continuous actions by denoising rather than through the discretization of</data><data key="conditions">When choosing a robot policy's action head: tokens trade reconstruction error and decode steps against expressiveness; denoising trades inference iterations against multimodality.</data></edge>
    <edge id="e1881" source="mlsys.vla-model" target="mlsys.diffusion-policy"><data key="relation">uses</data><data key="statement">can emit continuous actions through a</data><data key="conditions">When the action head denoises or integrates a learned flow instead of decoding action tokens (pi0 and its successors).</data></edge>
    <edge id="e1882" source="mlsys.vla-model" target="mlsys.cross-embodiment-training"><data key="relation">uses</data><data key="statement">is commonly pretrained with</data><data key="conditions">When the policy is pretrained on pooled multi-robot datasets before task fine-tuning.</data></edge>
    <edge id="e1883" source="mlsys.closed-loop-evaluation" target="mlsys.sim-to-real"><data key="relation">measures</data><data key="statement">scores, by physical trial success rate,</data><data key="conditions">When comparable closed-loop simulation and physical trials give an explicit transfer comparison under matched task and measurement conditions.</data></edge>
    <edge id="e1884" source="mlsys.multi-agent-orchestration" target="mlsys.capability-based-security"><data key="relation">uses</data><data key="statement">attenuates delegated rights to each worker through</data><data key="conditions">When a worker agent must receive narrower authority than its orchestrator.</data></edge>
    <edge id="e1885" source="mlsys.multi-agent-orchestration" target="mlsys.agentic-workload"><data key="relation">increases</data><data key="statement">multiplies, by duplicating context across workers,</data><data key="conditions">When each delegated agent carries its own context and makes its own dependent model calls, so total tokens exceed a single-agent run on the same task.</data></edge>
    <edge id="e1886" source="mlsys.context-selection" target="mlsys.agent-memory"><data key="relation">uses</data><data key="statement">draws recalled records into the working set from</data><data key="conditions">When the agent has persistent memory; the recalled record competes for the same token budget as instructions, tool descriptions, and observations.</data></edge>
    <edge id="e1887" source="mlsys.thermal-dynamics" target="mlsys.wcet"><data key="relation">determines</data><data key="statement">fixes the clock and memory-timing assumptions under which a bound is a valid</data><data key="conditions">When the bound was derived at full clock; the analysis must include the allowed throttled operating states or explicitly exclude them.</data></edge>
    <edge id="e1888" source="mlsys.power-delivery" target="mlsys.actuator-limits"><data key="relation">determines</data><data key="statement">sets, when a shared rail sags, the torque available within</data><data key="conditions">When compute and actuators share a supply and simultaneous demand or regeneration droops the rail below the drive's operating window.</data></edge>
    <edge id="e1889" source="mlsys.thermal-dynamics" target="mlsys.actuator-limits"><data key="relation">determines</data><data key="statement">sets the sustained-duty component of</data><data key="conditions">When motor winding temperature, not drive current, binds continuous torque; peak torque remains current-limited.</data></edge>
    <edge id="e1890" source="mlsys.sim-to-real" target="mlsys.parallel-simulation"><data key="relation">uses</data><data key="statement">starts from policies trained in</data><data key="conditions">When the policy's experience came from batched simulated environments rather than physical collection.</data></edge>
    <edge id="e1891" source="mlsys.idempotency" target="mlsys.in-doubt-action"><data key="relation">mitigates</data><data key="statement">makes safe the retry of an</data><data key="conditions">When the operation carries an identity the endpoint deduplicates.</data></edge>
    <edge id="e1892" source="mlsys.agent-interruption" target="mlsys.in-doubt-action"><data key="relation">causes</data><data key="statement">leaves, when it cancels mid-dispatch, an</data><data key="conditions">When a tool call was sent before the cancel and its result never arrived.</data></edge>
    <edge id="e1893" source="mlsys.in-doubt-action" target="mlsys.compensation"><data key="relation">limits</data><data key="statement">cannot be compensated until it is known to have happened, so it bounds</data><data key="conditions">A compensating action for an effect that never occurred is itself a new effect.</data></edge>
    <edge id="e1894" source="mlsys.model-bandwidth-utilization" target="mlsys.model-flops-utilization"><data key="relation">alternative-to</data><data key="statement">is the memory-bound counterpart of</data><data key="conditions">When one primary efficiency indicator is chosen for a stated bottleneck; both ratios can be reported for the same workload, and the bound regime says which one explains the ceiling.</data></edge>
    <edge id="e1895" source="mlsys.model-bandwidth-utilization" target="mlsys.tpot"><data key="relation">uses</data><data key="statement">divides bytes per token by the measured</data><data key="conditions">When achieved bandwidth is estimated from weight and KV-cache bytes over time per output token rather than from hardware counters.</data></edge>
    <edge id="e1896" source="mlsys.hot-spare-capacity" target="mlsys.training-goodput"><data key="relation">increases</data><data key="statement">raises, by shortening node-replacement waits, the</data><data key="conditions">When reduced recovery and rework losses exceed the reserve time charged to the same goodput denominator.</data></edge>
    <edge id="e1897" source="mlsys.hot-spare-capacity" target="mlsys.utilization"><data key="relation">trades-off</data><data key="statement">holds idle capacity that lowers fleet</data><data key="conditions">When fleet utilization counts the reserved idle spares in its capacity denominator.</data></edge>
    <edge id="e1898" source="mlsys.hot-spare-capacity" target="mlsys.elastic-training"><data key="relation">alternative-to</data><data key="statement">replaces a failed worker instead of shrinking the job, unlike</data><data key="conditions">When both replacement at the original world size and continuation at a reduced world size are feasible recovery choices.</data></edge>
    <edge id="e1899" source="mlsys.hot-spare-capacity" target="mlsys.mtbf"><data key="relation">uses</data><data key="statement">uses the failure interval summarized by</data><data key="conditions">When sizing converts component or job MTBF into a failure-arrival model and combines it with repair or replenishment times, failure correlations, and an acceptable spare-exhaustion probability.</data></edge>
    <edge id="e1900" source="mlsys.geo-distributed-training" target="mlsys.local-sgd"><data key="relation">uses</data><data key="statement">cuts cross-site synchronization frequency with</data><data key="conditions">When inter-site bandwidth cannot carry per-step gradient exchange.</data></edge>
    <edge id="e1901" source="mlsys.geo-distributed-training" target="mlsys.pipeline-parallel"><data key="relation">uses</data><data key="statement">places stage boundaries on inter-site links using</data><data key="conditions">When per-micro-batch activations are far smaller than the gradients a data-parallel cut would send across the WAN.</data></edge>
    <edge id="e1902" source="mlsys.network-propagation-delay" target="mlsys.geo-distributed-training"><data key="relation">limits</data><data key="statement">sets a lower bound on each synchronous exchange of</data><data key="conditions">When sites are hundreds of kilometers apart, so the round trip bounds every cross-site exchange regardless of bandwidth.</data></edge>
    <edge id="e1903" source="mlsys.geo-distributed-training" target="mlsys.hybrid-parallel"><data key="relation">uses</data><data key="statement">extends to the datacenter tier the hierarchy mapping of</data><data key="conditions">When the hardware hierarchy runs chip, node, rack, and site, and each dimension is matched to a tier's link speed.</data></edge>
    <edge id="e1904" source="mlsys.quarantined-model-pattern" target="mlsys.prompt-injection"><data key="relation">mitigates</data><data key="statement">removes the channel from untrusted text to privileged actions used by</data><data key="conditions">When the planner and runtime are trusted, untrusted content stays isolated in the quarantined model, and runtime policies validate derived arguments and data flows before any privileged effect.</data></edge>
    <edge id="e1905" source="mlsys.quarantined-model-pattern" target="mlsys.information-flow-control"><data key="relation">uses</data><data key="statement">tags quarantined outputs and checks tool arguments with</data><data key="conditions">When a value derived from untrusted data must be policy-checked before it reaches a side-effecting tool.</data></edge>
    <edge id="e1906" source="mlsys.sycophancy-evaluation" target="mlsys.reward-hacking"><data key="relation">detects</data><data key="statement">surfaces agreement-seeking learned as a form of</data><data key="conditions">When preference training rewarded user approval and the evaluation shows agreement rising while task correctness falls for the same behavior.</data></edge>
    <edge id="e1907" source="mlsys.sycophancy-evaluation" target="mlsys.robustness-evaluation"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">When the perturbation is conversational pressure rather than input corruption.</data></edge>
    <edge id="e1908" source="mlsys.sycophancy-evaluation" target="mlsys.llm-judge"><data key="relation">uses</data><data key="statement">scores free-form multi-turn answers with</data><data key="conditions">When responses are open-ended, so a flip cannot be read off a fixed label.</data></edge>
    <edge id="e1909" source="mlsys.communication-intensity" target="mlsys.parallel-efficiency"><data key="relation">limits</data><data key="statement">together with link bandwidth bounds</data><data key="conditions">When the exchange is not fully overlapped with computation.</data></edge>
    <edge id="e1910" source="mlsys.gradient-compression" target="mlsys.communication-intensity"><data key="relation">reduces</data><data key="statement">lowers the bytes per step counted by</data><data key="conditions">When compressed gradients replace full-precision exchange.</data></edge>
    <edge id="e1911" source="mlsys.hybrid-parallel" target="mlsys.communication-intensity"><data key="relation">determines</data><data key="statement">sets, per parallelism dimension, the</data><data key="conditions">When the parallel plan fixes which tensors cross which links on each step.</data></edge>
    <edge id="e1912" source="mlsys.technology-scaling" target="mlsys.dark-silicon"><data key="relation">causes</data><data key="statement">produces, once constant power density ends,</data><data key="conditions">When transistor count keeps growing but power density no longer falls with feature size.</data></edge>
    <edge id="e1913" source="mlsys.technology-scaling" target="mlsys.compute-throughput"><data key="relation">limits</data><data key="statement">constrains, once power density stops falling, per-chip gains in</data><data key="conditions">When transistor-density gains lack corresponding voltage and power improvements, so a fixed power budget prevents all added arithmetic units from operating at once at the intended clock rate.</data></edge>
    <edge id="e1914" source="mlsys.compression-composition" target="mlsys.pruning"><data key="relation">uses</data><data key="statement">typically applies first</data><data key="conditions">When sparsity is introduced before quantization so the quantizer calibrates on the surviving weights.</data></edge>
    <edge id="e1915" source="mlsys.compression-composition" target="mlsys.quantization"><data key="relation">uses</data><data key="statement">applies to the already-pruned or distilled model</data><data key="conditions">When the bit-width is chosen after structure has been removed.</data></edge>
    <edge id="e1916" source="mlsys.compression-composition" target="mlsys.distillation"><data key="relation">uses</data><data key="statement">recovers quality lost by the other stages through</data><data key="conditions">When a teacher is available to fine-tune the compressed student.</data></edge>
    <edge id="e1917" source="mlsys.compression-composition" target="mlsys.efficiency-frontier"><data key="relation">determines</data><data key="statement">shapes, through the techniques chosen and their order, the attainable</data><data key="conditions">When the frontier is measured over compressed variants rather than architectures.</data></edge>
    <edge id="e1918" source="mlsys.fidelity-adaptive-serving" target="mlsys.graceful-degradation"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">When the degraded mode is a cheaper model variant rather than a feature cut.</data></edge>
    <edge id="e1919" source="mlsys.fidelity-adaptive-serving" target="mlsys.weight-only-quantization"><data key="relation">uses</data><data key="statement">obtains its cheaper variants from</data><data key="conditions">When the fallback variant is a lower-precision copy of the same weights.</data></edge>
    <edge id="e1920" source="mlsys.compound-workflow-pipelining" target="mlsys.token-streaming"><data key="relation">uses</data><data key="statement">connects stages through</data><data key="conditions">When stages exchange streamed tokens rather than complete responses.</data></edge>
    <edge id="e1921" source="mlsys.compound-workflow-pipelining" target="mlsys.execution-time"><data key="relation">reduces</data><data key="statement">shortens the end-to-end</data><data key="conditions">When stage dependencies are partial, so the critical path is shorter than the serial sum of stages.</data></edge>
    <edge id="e1922" source="mlsys.rag-pipeline-scheduling" target="mlsys.compound-workflow-pipelining"><data key="relation">uses</data><data key="statement">overlaps retrieval and generation through</data><data key="conditions">When retrieval or other upstream stages expose stable partial results that downstream generation can process while upstream work continues.</data></edge>
    <edge id="e1923" source="mlsys.safety-filter" target="mlsys.reachability-analysis"><data key="relation">uses</data><data key="statement">certifies candidate actions against sets computed by</data><data key="conditions">When the filter's safe set is the complement of the backward reachable set of the failure region.</data></edge>
    <edge id="e1924" source="mlsys.stopping-envelope" target="mlsys.reachability-analysis"><data key="relation">uses</data><data key="statement">is defined from forward reachable sets computed by</data><data key="conditions">When the envelope is the set of states from which a stopping maneuver stays clear of everything reachable by others.</data></edge>
    <edge id="e1925" source="mlsys.reachability-analysis" target="mlsys.control-barrier-function"><data key="relation">alternative-to</data><data key="statement">gives a set-based safety certificate as an alternative to</data><data key="conditions">CBFs give local differentiable constraints; reachability gives the safe set itself at the cost of state-space computation.</data></edge>
    <edge id="e1926" source="mlsys.reachability-analysis" target="mlsys.dynamics"><data key="relation">uses</data><data key="statement">propagates the</data><data key="conditions">Always; the reachable set is defined by the dynamics model and the input and disturbance bounds.</data></edge>
    <edge id="e1927" source="mlsys.fairness-monitoring" target="mlsys.group-fairness-metric"><data key="relation">uses</data><data key="statement">computes on live traffic the</data><data key="conditions">When protected attributes or accepted proxies are available at monitoring time.</data></edge>
    <edge id="e1928" source="mlsys.fairness-monitoring" target="mlsys.monitoring"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">When the monitored signal is a disparity across groups rather than an aggregate.</data></edge>
    <edge id="e1929" source="mlsys.fairness-monitoring" target="mlsys.sliced-evaluation"><data key="relation">uses</data><data key="statement">applies in production the per-group measurement of</data><data key="conditions">When slices are protected groups and the evaluation is continuous rather than a release gate.</data></edge>
    <edge id="e1930" source="mlsys.forward-error-correction" target="mlsys.link-signal-integrity"><data key="relation">mitigates</data><data key="statement">absorbs, within its correction capability, the raw errors of</data><data key="conditions">When the error rate stays within the code's correction budget.</data></edge>
    <edge id="e1931" source="mlsys.link-signal-integrity" target="mlsys.stragglers"><data key="relation">causes</data><data key="statement">produces retransmission and retraining stalls that appear as</data><data key="conditions">When one link degrades under heat or marginal cabling while the others stay clean.</data></edge>
    <edge id="e1932" source="mlsys.link-signal-integrity" target="mlsys.gray-failure"><data key="relation">causes</data><data key="statement">degrades a link that still passes link-up checks, a form of</data><data key="conditions">When flaps are intermittent and health checks sample too coarsely to see them.</data></edge>
    <edge id="e1933" source="mlsys.activation-function" target="mlsys.neural-network"><data key="relation">part-of</data><data key="statement">is the nonlinearity between the linear layers of</data><data key="conditions">When the architecture applies pointwise or gated nonlinearities between affine layers, as nearly all do; without them stacked linear layers collapse to one.</data></edge>
    <edge id="e1934" source="mlsys.fusion" target="mlsys.activation-function"><data key="relation">uses</data><data key="statement">folds into a matrix-multiply epilogue the</data><data key="conditions">When the nonlinearity is elementwise, so it can be applied to tile outputs before they are written to memory.</data></edge>
    <edge id="e1935" source="mlsys.activation-function" target="mlsys.activation-sparsity"><data key="relation">enables</data><data key="statement">produces the exact zeros exploited by</data><data key="conditions">When the nonlinearity is ReLU-like; smooth activations such as GELU or SwiGLU need thresholding or prediction to find skippable units.</data></edge>
    <edge id="e1936" source="mlsys.attention-ffn-disaggregation" target="mlsys.arithmetic-intensity"><data key="relation">increases</data><data key="statement">pools tokens from many attention instances to raise the expert-side</data><data key="conditions">When the FFN or expert pool batches tokens across several attention replicas, so each weight read serves more tokens.</data></edge>
    <edge id="e1937" source="mlsys.attention-ffn-disaggregation" target="mlsys.communication-overlap"><data key="relation">uses</data><data key="statement">hides inter-pool activation transfer with</data><data key="conditions">When micro-batches are pipelined so one batch computes while another's activations are in flight.</data></edge>
    <edge id="e1938" source="mlsys.attention-ffn-disaggregation" target="mlsys.expert-parallel"><data key="relation">uses</data><data key="statement">serves the expert pool with</data><data key="conditions">For mixture-of-experts models whose experts are spread across the FFN pool.</data></edge>
    <edge id="e1939" source="mlsys.attention-ffn-disaggregation" target="mlsys.inter-token-latency"><data key="relation">trades-off</data><data key="statement">adds a per-layer activation transfer that lengthens</data><data key="conditions">When the activation exchange between pools is not hidden by ping-pong micro-batching.</data></edge>
    <edge id="e1940" source="mlsys.attention-ffn-disaggregation" target="mlsys.heterogeneous-accelerator-execution"><data key="relation">uses</data><data key="statement">can place each pool on a different accelerator type through</data><data key="conditions">When attention is deployed on bandwidth-rich devices and FFN on compute-rich devices.</data></edge>
    <edge id="e1941" source="mlsys.label-shift-estimation" target="mlsys.distribution-shift"><data key="relation">mitigates</data><data key="statement">corrects, without new labels, the label-shift form of</data><data key="conditions">When class priors change but class-conditional input distributions do not; it does not address covariate or concept drift.</data></edge>
    <edge id="e1942" source="mlsys.label-shift-estimation" target="mlsys.calibration"><data key="relation">uses</data><data key="statement">adjusts posteriors by Bayes' rule and so depends on</data><data key="conditions">When predicted probabilities are re-weighted by the ratio of new to old priors; miscalibrated scores give wrong corrections.</data></edge>
    <edge id="e1943" source="mlsys.label-shift-estimation" target="mlsys.retraining"><data key="relation">alternative-to</data><data key="statement">is a label-free alternative, for prior changes, to</data><data key="conditions">When the shift is confined to class priors and fresh labels are unavailable or delayed.</data></edge>
    <edge id="e1944" source="mlsys.slam" target="mlsys.map-representation"><data key="relation">produces</data><data key="statement">builds and maintains the</data><data key="conditions">When mapping runs online from the platform's own observations.</data></edge>
    <edge id="e1945" source="mlsys.motion-planning" target="mlsys.map-representation"><data key="relation">uses</data><data key="statement">answers collision and clearance queries against the</data><data key="conditions">The representation must support the query the planner issues at planning rate, such as distance-to-obstacle or occupancy lookup.</data></edge>
    <edge id="e1946" source="mlsys.on-device-memory-budget" target="mlsys.map-representation"><data key="relation">limits</data><data key="statement">bounds the resolution and extent of the</data><data key="conditions">When the map lives in onboard memory beside the perception and policy models.</data></edge>
    <edge id="e1947" source="mlsys.motion-forecasting" target="mlsys.map-representation"><data key="relation">uses</data><data key="statement">conditions predicted trajectories on the lanes and free space in the</data><data key="conditions">When a prior or online map supplies road or room structure.</data></edge>
    <edge id="e1948" source="mlsys.compute-cost-estimate" target="mlsys.training-compute-estimate"><data key="relation">uses</data><data key="statement">takes its operation count from</data><data key="conditions">When the job is dense-transformer training.</data></edge>
    <edge id="e1949" source="mlsys.compute-cost-estimate" target="mlsys.model-flops-utilization"><data key="relation">uses</data><data key="statement">divides peak-rate hours by the expected</data><data key="conditions">When required operations are converted into wall-clock accelerator-hours.</data></edge>
    <edge id="e1950" source="mlsys.compute-cost-estimate" target="mlsys.inference-compute-estimate"><data key="relation">uses</data><data key="statement">takes per-token work from</data><data key="conditions">When pricing a serving fleet rather than a training run.</data></edge>
    <edge id="e1951" source="mlsys.dp-sgd" target="mlsys.time-to-train"><data key="relation">increases</data><data key="statement">adds per-example gradient computation and clipping to</data><data key="conditions">When per-example gradient and clipping overhead is not offset by fewer optimization steps or faster kernels at the same declared quality target.</data></edge>
    <edge id="e1952" source="mlsys.retraining" target="mlsys.drift-detection"><data key="relation">uses</data><data key="statement">is triggered by</data><data key="conditions">When a detected shift is diagnosed as harmful rather than benign; drift alone is a signal to investigate, not proof of degraded quality.</data></edge>
    <edge id="e1953" source="mlsys.fat-tree" target="mlsys.network-oversubscription"><data key="relation">uses</data><data key="statement">is commonly built, to save cost, with</data><data key="conditions">When a fat-tree is built with fewer spine ports than leaf downlinks to save cost.</data></edge>
    <edge id="e1954" source="mlsys.dataset-shuffling" target="mlsys.experiment-reproducibility"><data key="relation">limits</data><data key="statement">breaks, unless its seed and shard order are recorded,</data><data key="conditions">When runs must visit examples in the same order to be compared.</data></edge>
    <edge id="e1955" source="mlsys.supervised-fine-tuning" target="mlsys.chat-template"><data key="relation">uses</data><data key="statement">renders every example through</data><data key="conditions">For conversational or tool-using fine-tuning data turned into tokens before loss computation.</data></edge>
    <edge id="e1956" source="mlsys.safety-integrity-level" target="mlsys.safety-certification"><data key="relation">determines</data><data key="statement">sets the rigor of evidence demanded by</data><data key="conditions">When the function's integrity level has been assigned by hazard analysis.</data></edge>
    <edge id="e1957" source="mlsys.loop-stability-margin" target="mlsys.system-identification"><data key="relation">uses</data><data key="statement">takes its plant model from</data><data key="conditions">When an identified plant response is combined with a specified controller to compute the margin.</data></edge>
    <edge id="e1958" source="mlsys.in-doubt-action" target="mlsys.durable-execution"><data key="relation">limits</data><data key="statement">blocks, until settled, the resumption of</data><data key="conditions">When a resumed workflow reaches a step whose effect may or may not have happened.</data></edge>
    <edge id="e1959" source="mlsys.model-bandwidth-utilization" target="mlsys.utilization"><data key="relation">measures</data><data key="statement">reports, as an achieved fraction of aggregate peak bandwidth, the decode-phase</data><data key="conditions">When the phase is memory-bound, so model-required bytes per step rather than FLOPs set the ceiling; physical traffic beyond model-required bytes is excluded.</data></edge>
    <edge id="e1960" source="mlsys.fairness-monitoring" target="mlsys.drift-detection"><data key="relation">uses</data><data key="statement">supplements group metrics with subgroup tests from</data><data key="conditions">When a subgroup's metric moves and the cause must be separated from model, label, or sampling changes.</data></edge>
    <edge id="e1961" source="mlsys.tco" target="mlsys.compute-cost-estimate"><data key="relation">uses</data><data key="statement">allocates workload compute cost through</data><data key="conditions">When workload costs are allocated consistently with the ownership boundary and without double-counting capital, energy, or other included expenses.</data></edge>
    <edge id="e1962" source="mlsys.agent-harness" target="mlsys.idempotency"><data key="relation">uses</data><data key="statement">retries tool steps safely through</data><data key="conditions">When a step is re-issued after a timeout or crash and the tool contract declares an idempotency key or deduplication.</data></edge>
    <edge id="e1963" source="mlsys.wcet" target="mlsys.profiling"><data key="relation">uses</data><data key="statement">takes observed samples, as evidence but not as a bound, from</data><data key="conditions">When a measurement-based bound is argued from execution traces plus analysis of unobserved states.</data></edge>
    <edge id="e1964" source="mlsys.interrupt-latency" target="mlsys.real-time-scheduling"><data key="relation">limits</data><data key="statement">limits the response-time budget available to</data><data key="conditions">An interrupt releases the scheduled task, and the response deadline is measured from the interrupt request; handler execution and task execution consume additional time.</data></edge>
    <edge id="e1965" source="mlsys.precision-recall" target="mlsys.metrics"><data key="relation">specializes</data><data key="statement">is the two-error-type family of</data><data key="conditions">For classification or detection tasks where false positives and false negatives carry different costs.</data></edge>
    <edge id="e1966" source="mlsys.decision-policy" target="mlsys.precision-recall"><data key="relation">uses</data><data key="statement">sets its operating threshold from the curve of</data><data key="conditions">When the policy thresholds a score and the two error rates must be traded explicitly.</data></edge>
    <edge id="e1967" source="mlsys.instruction-hierarchy" target="mlsys.prompt-injection"><data key="relation">mitigates</data><data key="statement">lowers the success rate of</data><data key="conditions">When the model has been trained to respect source precedence or uses a provenance-marking prompt scheme validated against the applicable injection attacks, with trusted role assignments controlled outside attacker-supplied content.</data></edge>
    <edge id="e1968" source="mlsys.instruction-hierarchy" target="mlsys.rlhf"><data key="relation">uses</data><data key="statement">learns instruction precedence using</data><data key="conditions">When human preference comparisons over instruction-following behavior train a reward model and reinforcement learning optimizes the policy against that reward.</data></edge>
    <edge id="e1969" source="mlsys.restart-free-recovery" target="mlsys.training-goodput"><data key="relation">increases</data><data key="statement">raises, by avoiding full-job restart and reducing recovery losses, the</data><data key="conditions">When, under the same accelerator-time accounting, saved restart and rollback losses exceed replication, redundant-computation, reconfiguration, and reserved-capacity costs for failures within the supported failure model.</data></edge>
    <edge id="e1970" source="mlsys.restart-free-recovery" target="mlsys.pipeline-parallel"><data key="relation">uses</data><data key="statement">replicates or re-partitions the stages of</data><data key="conditions">For pipeline-parallel jobs, where a failed stage's work can be absorbed by redundant stages or by re-partitioning survivors.</data></edge>
    <edge id="e1971" source="mlsys.tensor-parallel" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">shards a layer's parameters and activations to lower the per-device</data><data key="conditions">Aggregate footprint is unchanged; per-device savings depend on which tensors are partitioned.</data></edge>
    <edge id="e1972" source="mlsys.sequence-parallel" target="mlsys.memory-footprint"><data key="relation">reduces</data><data key="statement">partitions activations along the sequence to lower the per-device</data><data key="conditions">Only activation memory shrinks; parameters and optimizer state are unaffected.</data></edge>
    <edge id="e1973" source="mlsys.batch-size" target="mlsys.bound-regime"><data key="relation">determines</data><data key="statement">sets the arithmetic intensity, and so the binding ceiling, of weight-streaming kernels in</data><data key="conditions">Holds for kernels whose bytes are dominated by weights reused across the batch, such as GEMM and decode attention.</data></edge>
    <edge id="e1974" source="mlsys.io-aware-attention" target="mlsys.locality"><data key="relation">increases</data><data key="statement">keeps attention tiles resident on chip to improve</data><data key="conditions">Requires on-chip storage large enough for the chosen tile and an exact tiled formulation.</data></edge>
    <edge id="e1975" source="mlsys.mixed-precision" target="mlsys.bound-regime"><data key="relation">determines</data><data key="statement">lowers the bytes moved per operation for operands held in the reduced format, shifting a kernel's position in</data><data key="conditions">When the reduced format is applied to the operands that dominate traffic; master weights and accumulators keep full width, and attainable arithmetic throughput changes with the format as well.</data></edge>
    <edge id="e1976" source="mlsys.lossless-fabric" target="mlsys.gray-failure"><data key="relation">causes</data><data key="statement">can propagate pause frames into stalls that look healthy to some observers, a form of</data><data key="conditions">Priority flow control enabled end to end; a single paused queue can block unrelated flows.</data></edge>
    <edge id="e1977" source="mlsys.llm-request-scheduling" target="mlsys.ttft"><data key="relation">determines</data><data key="statement">sets, through its prefill-versus-decode priority, how long a new request waits for</data><data key="conditions">Continuous-batching engines where prefill and decode share iterations.</data></edge>
    <edge id="e1978" source="mlsys.cache-aware-routing" target="mlsys.ttft"><data key="relation">reduces</data><data key="statement">skips recomputing a cached prefix and so lowers</data><data key="conditions">Requests share prefixes and the routed replica still holds the cached state.</data></edge>
    <edge id="e1979" source="mlsys.llm-request-scheduling" target="mlsys.kv-cache"><data key="relation">limits</data><data key="statement">preempts in-flight requests by evicting or swapping blocks, bounding resident</data><data key="conditions">Continuous-batching engines with preemption; recompute-on-resume costs prefill time.</data></edge>
    <edge id="e1980" source="mlsys.distributed-tracing" target="mlsys.tail-latency"><data key="relation">measures</data><data key="statement">attributes a slow request's time to the spans behind</data><data key="conditions">Request-scoped tracing enabled across every hop on the path, with sampling that keeps slow requests.</data></edge>
    <edge id="e1981" source="mlsys.graceful-degradation" target="mlsys.metastable-failure"><data key="relation">mitigates</data><data key="statement">sheds work to a cheaper mode that breaks the sustaining loop of</data><data key="conditions">The degraded mode must cost less than the overloaded path and be entered before saturation.</data></edge>
    <edge id="e1982" source="mlsys.sliced-evaluation" target="mlsys.distribution-shift"><data key="relation">detects</data><data key="statement">localizes, by a drop concentrated in one slice, the population affected by</data><data key="conditions">Slices are defined on production inputs and labels or proxies exist for the window.</data></edge>
    <edge id="e1983" source="mlsys.off-policy-evaluation" target="mlsys.proxy-objective"><data key="relation">detects</data><data key="statement">exposes divergence between the optimized proxy and the estimated deployed outcome of</data><data key="conditions">When logged propensities are known, the logging and candidate policies overlap, and the intended outcome is observed separately from the proxy.</data></edge>
    <edge id="e1984" source="mlsys.cost-sensitive-decision" target="mlsys.proxy-objective"><data key="relation">mitigates</data><data key="statement">re-weights decisions by the real cost of each error type, correcting a misaligned</data><data key="conditions">Error costs must be stated per outcome, not inferred from the proxy.</data></edge>
    <edge id="e1985" source="mlsys.thermal-dynamics" target="mlsys.measurement-variability"><data key="relation">causes</data><data key="statement">makes short runs overstate sustained performance, a source of</data><data key="conditions">Measurement windows shorter than the device's thermal time constant.</data></edge>
    <edge id="e1986" source="mlsys.quantization" target="mlsys.energy-per-inference"><data key="relation">reduces</data><data key="statement">cuts bytes moved and energy per multiply-accumulate, lowering</data><data key="conditions">The target hardware has low-precision datapaths; dequantization overhead must not dominate.</data></edge>
    <edge id="e1987" source="mlsys.prefix-cache" target="mlsys.cost-per-token"><data key="relation">reduces</data><data key="statement">avoids recomputing shared prefixes, lowering</data><data key="conditions">Requests share long prefixes such as system prompts; cache hits must be routed to the holding replica.</data></edge>
    <edge id="e1988" source="mlsys.llm-call-tracing" target="mlsys.over-refusal"><data key="relation">detects</data><data key="statement">attributes a refusal to the input filter, the model, or the output filter, localizing</data><data key="conditions">Filter decisions are recorded as spans alongside the model call, and the refused requests are labeled benign by an independent rubric.</data></edge>
    <edge id="e1989" source="mlsys.supervised-fine-tuning" target="mlsys.over-refusal"><data key="relation">mitigates</data><data key="statement">trains compliance on curated borderline-benign requests, reducing</data><data key="conditions">The curated set must be reviewed so it does not also teach compliance on harmful requests.</data></edge>
    <edge id="e1990" source="mlsys.agent-interruption" target="mlsys.model-directed-control-flow"><data key="relation">limits</data><data key="statement">lets an operator override the next step chosen by</data><data key="conditions">Interruption boundaries must sit at tool-call granularity so a pending action is not half-applied.</data></edge>
    <edge id="e1991" source="mlsys.egress-control" target="mlsys.prompt-injection"><data key="relation">mitigates</data><data key="statement">removes the exfiltration channel exploited by</data><data key="conditions">Allow-listed destinations; injected instructions can still act within the sandbox.</data></edge>
    <edge id="e1992" source="mlsys.checkpoint-io" target="mlsys.storage-tiering"><data key="relation">uses</data><data key="statement">stages snapshots on a fast local tier before draining them through</data><data key="conditions">The local tier must hold several snapshots and drain faster than the checkpoint interval.</data></edge>
    <edge id="e1993" source="mlsys.llm-call-tracing" target="mlsys.context-staleness"><data key="relation">measures</data><data key="statement">records the passages and index timestamps needed to judge</data><data key="conditions">When recorded index timestamps are compared with source versions or validity intervals; recency alone does not establish freshness.</data></edge>
    <edge id="e1994" source="mlsys.watchdog-timer" target="mlsys.feedback-delay"><data key="relation">detects</data><data key="statement">reports a missed refresh deadline as a fault, revealing excess</data><data key="conditions">The window is derived from the control period and the refresh is placed after actuation.</data></edge>
    <edge id="e1995" source="mlsys.mixed-criticality" target="mlsys.priority-inversion"><data key="relation">mitigates</data><data key="statement">partitions time and resources so lower-criticality tasks cannot hold what high-criticality tasks need, preventing</data><data key="conditions">Shared resources must have bounded access or be partitioned; priority inheritance still applies inside a partition.</data></edge>
    <edge id="e1996" source="mlsys.cross-stack-profiling" target="mlsys.input-pipeline"><data key="relation">measures</data><data key="statement">attributes device idle gaps to the host-side stages of</data><data key="conditions">Host and device timelines are correlated on one clock.</data></edge>
    <edge id="e1997" source="mlsys.evaluation-harness" target="mlsys.catastrophic-forgetting"><data key="relation">detects</data><data key="statement">reruns a fixed base-capability suite on each checkpoint, revealing</data><data key="conditions">The suite and prompts are held fixed across checkpoints.</data></edge>
    <edge id="e1998" source="mlsys.regularization" target="mlsys.catastrophic-forgetting"><data key="relation">mitigates</data><data key="statement">penalizes drift from the base parameters or outputs, limiting</data><data key="conditions">The penalty, such as a KL term to the base model, must be weighted against the target-task loss.</data></edge>
    <edge id="e1999" source="mlsys.peft" target="mlsys.catastrophic-forgetting"><data key="relation">mitigates</data><data key="statement">freezes the base weights so adaptation cannot overwrite them, limiting</data><data key="conditions">Holds when the adapter capacity is small relative to the base and base weights stay frozen.</data></edge>
    <edge id="e2000" source="mlsys.release-gate" target="mlsys.model-feature-compatibility"><data key="relation">detects</data><data key="statement">checks the candidate's tokenizer, schema, and operator set against the serving stack, revealing broken</data><data key="conditions">The gate runs against the same runtime image that will serve the model.</data></edge>
    <edge id="e2001" source="mlsys.backfill-scheduling" target="mlsys.gang-scheduling"><data key="relation">uses</data><data key="statement">uses whole-job allocation reservations established by</data><data key="conditions">When the backfill planner consults reserved start times and resource sets for gang-allocated jobs and admits other jobs only when their bounded resource use preserves those starts.</data></edge>
    <edge id="e2002" source="mlsys.agent-memory" target="mlsys.prompt-injection"><data key="relation">enables</data><data key="statement">enables persistent</data><data key="conditions">When attacker-controlled instructions can be stored in agent memory and later retrieved into a context where the model may treat them as authoritative.</data></edge>
    <edge id="e2003" source="mlsys.tensor-parallel" target="mlsys.tpot"><data key="relation">reduces</data><data key="statement">pools the memory bandwidth of several devices to shorten</data><data key="conditions">For the same model, precision, batch, and output workload, when tensor sharding reduces per-device decode memory traffic and the saved memory-access time exceeds the added collective, synchronization, and execution overhead.</data></edge>
    <edge id="e2004" source="mlsys.service-level-agreement" target="mlsys.slo"><data key="relation">limits</data><data key="statement">constrains the acceptable targets for</data><data key="conditions">When the internal objective covers the same service indicator, population, and measurement window as the contractual commitment and must provide a stricter target with room for intervention.</data></edge>
    <edge id="e2005" source="mlsys.compute-cost-estimate" target="mlsys.cost-per-token"><data key="relation">produces</data><data key="statement">produces an estimate of</data><data key="conditions">When estimated accelerator expenditure is divided by a declared processed-token or generated-token count and the reported cost boundary covers accelerator compute only.</data></edge>
    <edge id="e2006" source="mlsys.deterministic-field-network" target="mlsys.timing-jitter"><data key="relation">limits</data><data key="statement">bounds the transport contribution to</data><data key="conditions">When control messages use synchronized, fixed transmission slots with bounded interfering traffic; the bound concerns network-induced variation rather than all sensing, computation, and actuation jitter.</data></edge>
    <edge id="e2007" source="mlsys.self-supervised-learning" target="mlsys.contrastive-learning"><data key="relation">uses</data><data key="statement">often trains through</data><data key="conditions">When positives and negatives are constructed from the data itself, without example-level labels.</data></edge>
    <edge id="e2008" source="mlsys.data-parallel" target="mlsys.state-sharding"><data key="relation">uses</data><data key="statement">partitions state across workers through</data><data key="conditions">When each worker processes different examples but holds only a shard of parameters, gradients, or optimizer state.</data></edge>
    <edge id="e2009" source="mlsys.shared-memory-bank-conflict" target="mlsys.memory-bandwidth"><data key="relation">reduces</data><data key="statement">reduces effective shared-memory</data><data key="conditions">Different addresses in the same shared-memory bank require serialized requests; same-address broadcast is excluded.</data></edge>
  </graph>
</graphml>
