<?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.2-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.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.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.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.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.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.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.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.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.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.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.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.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-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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.irreversible-effects"><data key="label">Irreversible effects</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.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.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.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.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.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.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.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">no</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">no</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">no</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">no</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-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.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">Tracing and JIT capture</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">no</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">no</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">no</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">no</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">no</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">no</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">no</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">no</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">no</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">no</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">no</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">no</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">no</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">no</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">no</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.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.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.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">no</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.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.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.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.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.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.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.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.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 (SOTIF)</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 and bank conflicts</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">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.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.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.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.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.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.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">no</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">no</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">no</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.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.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.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">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.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.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.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.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.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.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.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.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.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.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.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.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">no</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">no</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.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.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">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">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.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.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.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">no</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 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">no</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">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.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.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.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.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.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.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">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.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.pii-deidentification"><data key="label">PII detection and de-identification</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.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">no</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">no</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">no</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">no</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">no</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>
    <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">increases</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">makes order-sensitive</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.scaling-laws" target="mlsys.experiment-budget"><data key="relation">determines</data><data key="statement">informs</data><data key="conditions">A fitted relationship has a validity domain and does not guarantee extrapolated gains.</data></edge>
    <edge id="e35" 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="e36" 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="e37" 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="e38" 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="e39" 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="e40" 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="e41" 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="e42" 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="e43" 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="e44" 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="e45" 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="e46" 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="e47" 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="e48" 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="e49" 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="e50" 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="e51" 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="e52" 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="e53" source="mlsys.serial-fraction" target="mlsys.compute-throughput"><data key="relation">limits</data><data key="statement">limits end-to-end gains from added</data><data key="conditions">Accelerating the changed portion leaves unchanged work as a residual bound.</data></edge>
    <edge id="e54" 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="e55" 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="e56" 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="e57" 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="e58" 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="e59" 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="e60" 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="e61" 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="e62" 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="e63" 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="e64" source="mlsys.service-capacity" target="mlsys.arrival-rate"><data key="relation">limits</data><data key="statement">sets the demand placed on</data><data key="conditions">The request mix and service-time distribution determine demand.</data></edge>
    <edge id="e65" 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="e66" 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="e67" 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="e68" 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="e69" 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="e70" 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="e71" 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="e72" source="mlsys.paged-kv" target="mlsys.kv-cache"><data key="relation">implements</data><data key="statement">reduces allocation waste in</data><data key="conditions">Block metadata, fragmentation, and compatible sharing determine the resulting capacity.</data></edge>
    <edge id="e73" 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="e74" 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="e75" 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="e76" 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="e77" 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="e78" 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="e79" 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="e80" 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="e81" 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="e82" 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="e83" 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="e84" 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="e85" 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="e86" 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="e87" 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="e88" source="mlsys.retraining" target="mlsys.artifact-version"><data key="relation">requires</data><data key="statement">produces a new</data><data key="conditions">An updated learned artifact must be reevaluated and versioned.</data></edge>
    <edge id="e89" 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="e90" 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="e91" 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="e92" 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="e93" 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="e94" 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="e95" 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="e96" 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="e97" source="mlsys.context" target="mlsys.trajectory"><data key="relation">limits</data><data key="statement">accumulates demand for</data><data key="conditions">Only selected observations and records fit in a model invocation.</data></edge>
    <edge id="e98" 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="e99" source="mlsys.context" target="mlsys.retrieval"><data key="relation">limits</data><data key="statement">selects what enters</data><data key="conditions">Relevance, authorization, provenance, and token budget constrain what may be supplied.</data></edge>
    <edge id="e100" 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="e101" source="mlsys.tool-contract" target="mlsys.authorization"><data key="relation">determines</data><data key="statement">declares the authority and effects checked by</data><data key="conditions">Typed arguments alone do not grant authority to perform an action.</data></edge>
    <edge id="e102" source="mlsys.idempotency" target="mlsys.trajectory"><data key="relation">enables</data><data key="statement">enables safe retries within</data><data key="conditions">Stable operation identity and effect reconciliation must match the external tool semantics.</data></edge>
    <edge id="e103" 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="e104" source="mlsys.authorization" target="mlsys.prompt-injection"><data key="relation">mitigates</data><data key="statement">can cause violations of intended</data><data key="conditions">Untrusted content must not silently acquire authority through model interpretation.</data></edge>
    <edge id="e105" 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="e106" 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="e107" 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="e108" source="mlsys.sensing" target="mlsys.state-estimation"><data key="relation">enables</data><data key="statement">provides observations for</data><data key="conditions">Calibration, geometry, timing, and model assumptions affect the inference.</data></edge>
    <edge id="e109" 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="e110" 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="e111" 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="e112" 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="e113" 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="e114" 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="e115" source="mlsys.runtime-assurance" target="mlsys.trajectory-feasibility"><data key="relation">limits</data><data key="statement">constrains executed actions to</data><data key="conditions">A numerical filter supplies only the guarantees justified by its model, timing, and implementation assumptions.</data></edge>
    <edge id="e116" source="mlsys.feedback-delay" target="mlsys.stopping-envelope"><data key="relation">increases</data><data key="statement">shrinks</data><data key="conditions">Delay adds motion before braking; braking authority and uncertainty also matter.</data></edge>
    <edge id="e117" 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="e118" source="mlsys.safety-case" target="mlsys.runtime-assurance"><data key="relation">determines</data><data key="statement">states the premises relied on by</data><data key="conditions">An argument is not certification of a general numerical filter.</data></edge>
    <edge id="e119" 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="e120" 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="e121" 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="e122" 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="e123" 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="e124" 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="e125" 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="e126" source="mlsys.unsupervised-learning" target="mlsys.features"><data key="relation">implements</data><data key="statement">can produce learned</data><data key="conditions">Learned structure or representations require separate downstream evaluation.</data></edge>
    <edge id="e127" 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="e128" 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="e129" 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="e130" 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="e131" 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="e132" 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="e133" 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="e134" 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="e135" 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="e136" 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="e137" source="mlsys.privacy" target="mlsys.privacy-leakage"><data key="relation">limits</data><data key="statement">can violate</data><data key="conditions">Risk depends on the information, recipient, purpose, consent, and declared protections.</data></edge>
    <edge id="e138" 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="e139" 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="e140" 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="e141" 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="e142" 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="e143" source="mlsys.quantization" target="mlsys.memory-bandwidth"><data key="relation">reduces</data><data key="statement">reduces traffic demand on</data><data key="conditions">Smaller representations can reduce transferred bytes; dequantization and execution support determine total cost.</data></edge>
    <edge id="e144" 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="e145" 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="e146" 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="e147" 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="e148" source="mlsys.profiling" target="mlsys.wcet"><data key="relation">measures</data><data key="statement">samples, but cannot by itself bound,</data><data key="conditions">A justified worst-case bound requires assumptions and analysis covering the relevant executions and hardware states, beyond observed samples.</data></edge>
    <edge id="e149" 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="e150" 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="e151" 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="e152" 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="e153" source="mlsys.dynamics" target="mlsys.feedback-control"><data key="relation">determines</data><data key="statement">selects inputs that shape</data><data key="conditions">The closed-loop response depends on the plant, disturbances, constraints, sensing, and controller implementation.</data></edge>
    <edge id="e154" 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="e155" 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="e156" 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="e157" 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="e158" 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="e159" 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="e160" 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="e161" 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="e162" 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="e163" 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="e164" 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="e165" 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="e166" 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="e167" source="mlsys.data-ingestion" target="mlsys.backpressure"><data key="relation">requires</data><data key="statement">can require</data><data key="conditions">When offered record arrival exceeds sustainable processing or downstream capacity, the chosen ingestion system needs an explicit overload policy; not all sources permit slowing producers.</data></edge>
    <edge id="e168" 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="e169" 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="e170" 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="e171" 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="e172" 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="e173" 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="e174" 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="e175" 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="e176" 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="e177" 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="e178" 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="e179" 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="e180" 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="e181" 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="e182" 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="e183" 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="e184" 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="e185" 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="e186" 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="e187" 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="e188" 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="e189" 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="e190" 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="e191" 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="e192" 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="e193" source="mlsys.flop-accounting" target="mlsys.workload"><data key="relation">part-of</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="e194" 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="e195" source="mlsys.pareto-frontier" target="mlsys.requirements"><data key="relation">limits</data><data key="statement">select an operating point on</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="e196" 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="e197" 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="e198" 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="e199" 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="e200" 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="e201" 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="e202" 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="e203" 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="e204" 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="e205" 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="e206" 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="e207" 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="e208" 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="e209" 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="e210" source="mlsys.context" target="mlsys.attention"><data key="relation">determines</data><data key="statement">raises the pairwise score cost of</data><data key="conditions">Full attention compares every query with every key.</data></edge>
    <edge id="e211" source="mlsys.sliding-window-attention" target="mlsys.context"><data key="relation">enables</data><data key="statement">makes long contexts affordable by linearizing attention cost over</data><data key="conditions">Positions attend only within a window or fixed sparse pattern, possibly at a quality cost on long-range tasks.</data></edge>
    <edge id="e212" 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="e213" source="mlsys.state-space-model" target="mlsys.recurrence"><data key="relation">specializes</data><data key="statement">is a parallel-trainable form of</data><data key="conditions">The state update is linear (or selectively gated) so training can use scans or convolutions.</data></edge>
    <edge id="e214" 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="e215" 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="e216" 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="e217" 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="e218" 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="e219" 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="e220" 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="e221" 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="e222" 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="e223" 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="e224" 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="e225" 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="e226" 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="e227" 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="e228" 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="e229" source="mlsys.littles-law" target="mlsys.kv-cache"><data key="relation">measures</data><data key="statement">sizes concurrent state held in</data><data key="conditions">Each in-flight request holds cache state for its duration.</data></edge>
    <edge id="e230" 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="e231" 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="e232" 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="e233" 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="e234" 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="e235" 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="e236" 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="e237" 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="e238" source="mlsys.simt" target="mlsys.compute-throughput"><data key="relation">determines</data><data key="statement">loses achieved throughput under divergent control flow in</data><data key="conditions">Threads in a group take different control-flow paths.</data></edge>
    <edge id="e239" 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="e240" 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="e241" 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="e242" 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="e243" 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="e244" 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="e245" 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="e246" 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="e247" 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="e248" 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="e249" 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="e250" 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="e251" 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="e252" source="mlsys.on-device-memory-budget" target="mlsys.quantization"><data key="relation">requires</data><data key="statement">often requires</data><data key="conditions">The full-precision model exceeds flash or SRAM limits.</data></edge>
    <edge id="e253" 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="e254" 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="e255" 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="e256" 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="e257" 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="e258" 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="e259" source="mlsys.tracing-jit" target="mlsys.compilation"><data key="relation">enables</data><data key="statement">enables</data><data key="conditions">Traced shapes and control flow remain valid for later inputs or guards trigger recompilation.</data></edge>
    <edge id="e260" 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="e261" 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="e262" 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="e263" 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="e264" 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="e265" 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="e266" 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="e267" 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="e268" 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="e269" 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="e270" 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="e271" source="mlsys.block-scaled-format" target="mlsys.precision"><data key="relation">increases</data><data key="statement">extends the dynamic range available at low</data><data key="conditions">Values within each block have similar magnitude.</data></edge>
    <edge id="e272" 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="e273" 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="e274" 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="e275" 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="e276" 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="e277" 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="e278" 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="e279" 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="e280" 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="e281" 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="e282" source="mlsys.data-parallel" target="mlsys.gradient-compression"><data key="relation">uses</data><data key="statement">reduces communication volume of</data><data key="conditions">Convergence is preserved, for example through error feedback, at the chosen compression ratio.</data></edge>
    <edge id="e283" 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="e284" 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="e285" 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="e286" 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="e287" 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="e288" source="mlsys.client-sampling" target="mlsys.non-iid-data"><data key="relation">increases</data><data key="statement">can amplify bias from</data><data key="conditions">Participation correlates with client characteristics such as connectivity or device class.</data></edge>
    <edge id="e289" 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="e290" 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="e291" source="mlsys.liquid-cooling" target="mlsys.rack-power-density"><data key="relation">enables</data><data key="statement">raises the feasible</data><data key="conditions">Air cooling cannot remove the heat generated at the target density.</data></edge>
    <edge id="e292" 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="e293" 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="e294" 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="e295" 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="e296" 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="e297" 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="e298" source="mlsys.rail-optimized" target="mlsys.hybrid-parallel"><data key="relation">enables</data><data key="statement">keeps collective traffic within one switch hop for</data><data key="conditions">Parallel groups are placed so peers share the same rail.</data></edge>
    <edge id="e299" 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="e300" 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="e301" 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="e302" 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="e303" 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="e304" 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="e305" 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="e306" 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="e307" 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="e308" 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="e309" 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="e310" 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="e311" 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="e312" 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="e313" 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="e314" 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="e315" 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="e316" 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="e317" 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="e318" 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="e319" 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="e320" 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="e321" 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="e322" 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="e323" 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="e324" 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="e325" 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="e326" 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="e327" 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="e328" 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="e329" 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="e330" 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="e331" 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="e332" 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="e333" 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="e334" 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="e335" 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="e336" 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="e337" source="mlsys.memory-offloading" target="mlsys.training-state"><data key="relation">reduces</data><data key="statement">enables state larger than accelerator memory for</data><data key="conditions">Benefit depends on host-device bandwidth and how well transfers overlap with compute.</data></edge>
    <edge id="e338" 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="e339" 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="e340" 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="e341" 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="e342" 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="e343" 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="e344" 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="e345" source="mlsys.slo-goodput" target="mlsys.rl-rollout"><data key="relation">limits</data><data key="statement">bounds the throughput of</data><data key="conditions">Holds when rollout generation, not policy update, dominates step time, so serving optimizations raise training throughput.</data></edge>
    <edge id="e346" 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="e347" 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="e348" 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="e349" source="mlsys.incremental-training" target="mlsys.retraining"><data key="relation">specializes</data><data key="statement">is a warm-start, lower-cost kind of</data><data key="conditions">Holds when the model architecture and feature set are unchanged; schema or architecture changes require training from scratch.</data></edge>
    <edge id="e350" 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="e351" 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="e352" 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="e353" 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="e354" 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="e355" 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">Coverage holds marginally under exchangeability between calibration and test data, not under distribution shift.</data></edge>
    <edge id="e356" 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="e357" 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="e358" 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="e359" source="mlsys.statistical-uncertainty" target="mlsys.pairwise-preference-eval"><data key="relation">limits</data><data key="statement">requires reporting of</data><data key="conditions">Holds because rankings from finite pairwise votes carry sampling error that can reorder close models.</data></edge>
    <edge id="e360" 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="e361" 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="e362" 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="e363" 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="e364" 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="e365" 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="e366" source="mlsys.batch-inference" target="mlsys.feature-freshness"><data key="relation">reduces</data><data key="statement">increases the staleness (age at use) of</data><data key="conditions">Holds when precomputed predictions are served after their inputs have changed.</data></edge>
    <edge id="e367" 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="e368" 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="e369" 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="e370" 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="e371" 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="e372" 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="e373" 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="e374" 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="e375" 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="e376" 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="e377" 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="e378" 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="e379" source="mlsys.cold-start" target="mlsys.autoscaling"><data key="relation">limits</data><data key="statement">bounds how quickly it can react:</data><data key="conditions">Holds when new replicas must load large weights before serving, so scaling must anticipate demand.</data></edge>
    <edge id="e380" 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="e381" 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="e382" 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="e383" source="mlsys.constrained-decoding" target="mlsys.grammar"><data key="relation">implements</data><data key="statement">enforces</data><data key="conditions">Holds when the constraint compiles to an automaton aligned with the tokenizer's vocabulary.</data></edge>
    <edge id="e384" source="mlsys.output-validation" target="mlsys.constrained-decoding"><data key="relation">alternative-to</data><data key="statement">is the post-hoc alternative to</data><data key="conditions">Validation catches semantic rule violations decoding cannot express, at the cost of retries.</data></edge>
    <edge id="e385" source="mlsys.self-consistency" target="mlsys.sampling-controls"><data key="relation">requires</data><data key="statement">requires sampling diversity from</data><data key="conditions">Voting gains require sampled paths to differ; greedy decoding yields identical candidates.</data></edge>
    <edge id="e386" 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="e387" 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="e388" 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="e389" 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="e390" 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="e391" 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="e392" 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="e393" 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="e394" 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="e395" 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="e396" 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="e397" 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="e398" 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="e399" 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="e400" 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="e401" 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="e402" 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="e403" 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="e404" 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="e405" 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="e406" 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="e407" 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="e408" 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="e409" 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="e410" 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="e411" 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="e412" 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="e413" 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="e414" 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="e415" 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="e416" 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="e417" 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="e418" 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="e419" 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="e420" 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="e421" 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="e422" 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="e423" 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="e424" 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="e425" 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="e426" 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="e427" 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="e428" 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="e429" 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="e430" source="mlsys.structured-pruning" target="mlsys.sparsity"><data key="relation">alternative-to</data><data key="statement">is a dense-hardware-friendly alternative to irregular</data><data key="conditions">Coarse granularity yields speedups on dense hardware but usually loses more quality than unstructured sparsity at equal parameter reduction.</data></edge>
    <edge id="e431" 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="e432" source="mlsys.quantization-aware-training" target="mlsys.quantization"><data key="relation">specializes</data><data key="statement">mitigates quality loss from</data><data key="conditions">When the training-time quantization simulation matches the deployed encoding and rounding rules.</data></edge>
    <edge id="e433" 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="e434" 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="e435" 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="e436" 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="e437" 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="e438" 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="e439" 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="e440" 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="e441" 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="e442" 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="e443" 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="e444" 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="e445" 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="e446" 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="e447" 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="e448" 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="e449" 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="e450" 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="e451" 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="e452" 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="e453" 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="e454" 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="e455" 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="e456" 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="e457" source="mlsys.backdoor" target="mlsys.poisoning"><data key="relation">specializes</data><data key="statement">is a targeted form of</data><data key="conditions">When poisoned training samples pair a trigger pattern with an attacker-chosen output while clean accuracy is preserved.</data></edge>
    <edge id="e458" 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="e459" 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="e460" 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="e461" 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="e462" 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="e463" 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="e464" 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="e465" 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="e466" 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="e467" 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="e468" source="mlsys.dependency-environment" target="mlsys.supply-chain-compromise"><data key="relation">causes</data><data key="statement">propagates into</data><data key="conditions">When dependencies are resolved from mutable or unverified sources at build or load time.</data></edge>
    <edge id="e469" 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="e470" 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="e471" 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="e472" 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="e473" source="mlsys.dp-sgd" target="mlsys.compute-throughput"><data key="relation">reduces</data><data key="statement">increases demand on</data><data key="conditions">Per-example gradient computation and clipping add compute and memory relative to standard minibatch SGD.</data></edge>
    <edge id="e474" 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="e475" 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="e476" 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="e477" 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="e478" 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="e479" 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="e480" 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="e481" 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="e482" 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="e483" 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="e484" 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="e485" 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="e486" 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="e487" 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="e488" 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="e489" 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="e490" 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="e491" 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="e492" 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="e493" 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="e494" 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="e495" 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="e496" 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="e497" 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="e498" 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="e499" 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="e500" 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="e501" 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="e502" 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="e503" 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="e504" 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="e505" source="mlsys.operating-domain" target="mlsys.functional-insufficiency"><data key="relation">limits</data><data key="statement">scopes the triggering conditions for</data><data key="conditions">SOTIF analysis applies to known and unknown triggering conditions inside the declared operating domain.</data></edge>
    <edge id="e506" source="mlsys.distribution-shift" target="mlsys.functional-insufficiency"><data key="relation">causes</data><data key="statement">can expose</data><data key="conditions">Holds when deployment conditions fall outside those a learned component's training data covered.</data></edge>
    <edge id="e507" 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="e508" 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="e509" 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="e510" 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="e511" 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="e512" 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="e513" 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="e514" 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="e515" 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="e516" 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="e517" 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="e518" 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="e519" 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="e520" 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="e521" 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="e522" 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="e523" 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="e524" source="mlsys.group-fairness-metric" target="mlsys.fairness"><data key="relation">measures</data><data key="statement">operationalizes</data><data key="conditions">A metric measures one criterion on a chosen population and grouping; other criteria remain unmeasured.</data></edge>
    <edge id="e525" 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="e526" 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="e527" 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="e528" 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="e529" 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="e530" 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="e531" 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="e532" 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="e533" 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="e534" 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="e535" 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="e536" 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="e537" 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="e538" 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="e539" 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="e540" source="mlsys.frontier-safety-framework" target="mlsys.ai-risk-management"><data key="relation">specializes</data><data key="statement">specializes for frontier models</data><data key="conditions">Effectiveness depends on whether capability evaluations elicit the capabilities they test for.</data></edge>
    <edge id="e541" source="mlsys.context-compaction" target="mlsys.prefix-cache"><data key="relation">reduces</data><data key="statement">invalidates reuse in</data><data key="conditions">Rewriting earlier context breaks prefix reuse, so compaction pays off only when saved tokens exceed recompute.</data></edge>
    <edge id="e542" 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="e543" 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="e544" source="mlsys.agent-memory" target="mlsys.poisoning"><data key="relation">enables</data><data key="statement">can corrupt</data><data key="conditions">Holds when untrusted content can be written into memory and later retrieved as trusted context.</data></edge>
    <edge id="e545" 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="e546" 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="e547" 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="e548" 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="e549" 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="e550" 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="e551" 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="e552" 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="e553" 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="e554" 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="e555" 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="e556" 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="e557" 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="e558" source="mlsys.multi-agent-orchestration" target="mlsys.baseline"><data key="relation">requires</data><data key="statement">must be justified against a single-agent</data><data key="conditions">Comparisons should match total compute or token budget.</data></edge>
    <edge id="e559" 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="e560" 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="e561" 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="e562" 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="e563" 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="e564" 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="e565" 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="e566" 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="e567" 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="e568" 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="e569" 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="e570" 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="e571" 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="e572" 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="e573" 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="e574" 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="e575" 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="e576" 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="e577" 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="e578" source="mlsys.memory-coalescing" target="mlsys.memory-bandwidth"><data key="relation">determines</data><data key="statement">determines achieved</data><data key="conditions">Uncoalesced or bank-conflicted accesses waste transactions, so effective bandwidth falls below peak.</data></edge>
    <edge id="e579" 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="e580" 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="e581" 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="e582" 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="e583" 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="e584" source="mlsys.embedding-cache" target="mlsys.memory-capacity"><data key="relation">increases</data><data key="statement">extends effective</data><data key="conditions">Lookup skew must concentrate accesses on a small hot set of rows.</data></edge>
    <edge id="e585" 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="e586" 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="e587" 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="e588" 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="e589" 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="e590" 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="e591" 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="e592" 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="e593" 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="e594" 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="e595" source="mlsys.function-transformations" target="mlsys.tracing-jit"><data key="relation">requires</data><data key="statement">relies on</data><data key="conditions">Transformations are applied to a traced intermediate representation, so Python side effects and data-dependent control flow are not captured.</data></edge>
    <edge id="e596" 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="e597" 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="e598" 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="e599" 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="e600" 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="e601" 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="e602" 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="e603" source="mlsys.weight-only-quantization" target="mlsys.post-training-quantization"><data key="relation">specializes</data><data key="statement">is usually a form of</data><data key="conditions">Holds for GPTQ- and AWQ-class methods that set weight codes from calibration data without retraining.</data></edge>
    <edge id="e604" 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="e605" 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="e606" 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="e607" 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="e608" 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="e609" 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="e610" 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="e611" source="mlsys.rag" target="mlsys.compound-ai-system"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Retrieval-augmented generation is the two-component case of a retriever feeding one model call.</data></edge>
    <edge id="e612" 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="e613" 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="e614" 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="e615" 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="e616" 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="e617" 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="e618" source="mlsys.filtered-vector-search" target="mlsys.ann"><data key="relation">specializes</data><data key="statement">is a predicate-constrained form of</data><data key="conditions">Recall or cost degrades most when the predicate is selective and uncorrelated with vector proximity.</data></edge>
    <edge id="e619" 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="e620" 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="e621" 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="e622" 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="e623" 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="e624" 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="e625" 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="e626" 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="e627" 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="e628" 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="e629" 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="e630" 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="e631" source="mlsys.evaluation-harness" target="mlsys.benchmark"><data key="relation">implements</data><data key="statement">operationalizes</data><data key="conditions">Comparability holds only when prompt templates, decoding settings, and scorer versions are pinned with the results.</data></edge>
    <edge id="e632" 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="e633" 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="e634" 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="e635" 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="e636" 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="e637" 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="e638" 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="e639" 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="e640" 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="e641" 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="e642" 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="e643" 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="e644" 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="e645" 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="e646" 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="e647" 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="e648" source="mlsys.workload" target="mlsys.workload-trace"><data key="relation">uses</data><data key="statement">records an empirical sample of</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="e649" 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="e650" 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="e651" 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="e652" 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="e653" 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="e654" 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="e655" 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="e656" 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="e657" 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="e658" 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="e659" 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="e660" 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="e661" 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="e662" 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="e663" 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="e664" source="mlsys.linear-model" target="mlsys.interpretable-model"><data key="relation">specializes</data><data key="statement">is, when sparse, a kind of</data><data key="conditions">Holds when features are meaningful and few enough that coefficients can be read directly.</data></edge>
    <edge id="e665" 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="e666" 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="e667" 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="e668" 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="e669" 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="e670" 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="e671" 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="e672" 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="e673" 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="e674" 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="e675" 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="e676" 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="e677" 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="e678" 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="e679" 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="e680" 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="e681" 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="e682" 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="e683" 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="e684" 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="e685" 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="e686" 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="e687" 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="e688" 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="e689" 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="e690" 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="e691" 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="e692" 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="e693" 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="e694" 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="e695" 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="e696" 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="e697" 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="e698" 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="e699" 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="e700" source="mlsys.model-export" target="mlsys.model-artifact"><data key="relation">produces</data><data key="statement">produces a deployable</data><data key="conditions">Operators, shapes, and weights are fixed so the artifact runs without the original program.</data></edge>
    <edge id="e701" source="mlsys.model-export" target="mlsys.tracing-jit"><data key="relation">uses</data><data key="statement">captures the graph with</data><data key="conditions">The program is traced or captured on example inputs; untraced control flow is lost.</data></edge>
    <edge id="e702" 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="e703" 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="e704" 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="e705" 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="e706" 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="e707" 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="e708" 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="e709" 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="e710" 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="e711" 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="e712" 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="e713" 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="e714" 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="e715" 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="e716" source="mlsys.tracing-jit" target="mlsys.eager-execution"><data key="relation">part-of</data><data key="statement">is an alternative to</data><data key="conditions">Both are ways to run framework programs; eager keeps host flexibility while capture enables whole-graph optimization.</data></edge>
    <edge id="e717" 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="e718" 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="e719" 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="e720" 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="e721" 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="e722" 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="e723" 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="e724" 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="e725" 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="e726" 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="e727" 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="e728" 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="e729" 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="e730" 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="e731" 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="e732" 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="e733" 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="e734" 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="e735" 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="e736" 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="e737" 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="e738" 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="e739" 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="e740" 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="e741" 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="e742" 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="e743" 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="e744" 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="e745" 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="e746" 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="e747" 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="e748" 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="e749" 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="e750" 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="e751" 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="e752" 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="e753" 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="e754" 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="e755" 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="e756" 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="e757" 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="e758" 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="e759" 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="e760" 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="e761" 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="e762" 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="e763" 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="e764" 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="e765" 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="e766" 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="e767" 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="e768" 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="e769" 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="e770" 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="e771" 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="e772" 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="e773" 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="e774" 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="e775" 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="e776" 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="e777" 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="e778" 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="e779" 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="e780" 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="e781" 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="e782" 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="e783" 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="e784" 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="e785" 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="e786" 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="e787" 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="e788" 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="e789" 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="e790" 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="e791" 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="e792" 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="e793" 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="e794" 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="e795" 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="e796" 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="e797" 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="e798" 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="e799" 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="e800" 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="e801" 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="e802" 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="e803" 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="e804" source="mlsys.non-iid-data" target="mlsys.distribution-shift"><data key="relation">specializes</data><data key="statement">is a cross-client form of</data><data key="conditions">Clients' data-generating distributions differ from each other and from the population.</data></edge>
    <edge id="e805" 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="e806" 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="e807" 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="e808" 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="e809" 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="e810" 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="e811" 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="e812" 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="e813" 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="e814" 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="e815" 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="e816" 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="e817" 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="e818" source="mlsys.warehouse-scale-computer" target="mlsys.tco"><data key="relation">determines</data><data key="statement">is designed to minimize</data><data key="conditions">Facility, hardware, and software choices are evaluated as one cost model.</data></edge>
    <edge id="e819" 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="e820" 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="e821" 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="e822" 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="e823" 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="e824" 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="e825" 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="e826" 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="e827" 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="e828" source="mlsys.async-checkpointing" target="mlsys.checkpoint-io"><data key="relation">implements</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="e829" 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="e830" 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="e831" 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="e832" 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="e833" 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="e834" 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="e835" 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="e836" 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="e837" 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="e838" 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="e839" 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="e840" 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="e841" 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="e842" 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="e843" 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="e844" 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="e845" 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="e846" 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="e847" 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="e848" 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="e849" 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="e850" 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="e851" 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="e852" 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="e853" 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="e854" 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="e855" 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="e856" 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="e857" 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="e858" 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="e859" 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="e860" 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="e861" 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="e862" 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="e863" 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="e864" 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="e865" 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="e866" 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="e867" 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="e868" 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="e869" 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="e870" 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="e871" 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="e872" 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="e873" 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="e874" 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="e875" source="mlsys.process-reward-model" target="mlsys.reward-model"><data key="relation">specializes</data><data key="statement">is a step-level kind of</data><data key="conditions">Holds when the scorer is trained to rate intermediate reasoning steps.</data></edge>
    <edge id="e876" 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="e877" 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="e878" 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="e879" 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="e880" 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="e881" 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">Holds because greedy decoding would return n identical candidates.</data></edge>
    <edge id="e882" 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="e883" source="mlsys.sampling-controls" target="mlsys.pass-at-k"><data key="relation">determines</data><data key="statement">temperature shapes</data><data key="conditions">The best temperature rises with k because more diverse samples help coverage.</data></edge>
    <edge id="e884" 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="e885" 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="e886" 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="e887" 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="e888" 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="e889" 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="e890" 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="e891" 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="e892" 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="e893" 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="e894" 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="e895" 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="e896" 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="e897" 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="e898" 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="e899" 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="e900" source="mlsys.data-mixture" target="mlsys.data-selection"><data key="relation">specializes</data><data key="statement">is domain-level</data><data key="conditions">Applies when sampling weights are set per source rather than per example.</data></edge>
    <edge id="e901" 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="e902" 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="e903" 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="e904" 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="e905" 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="e906" 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="e907" 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="e908" 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="e909" 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="e910" 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="e911" 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="e912" 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="e913" 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="e914" 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="e915" 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="e916" 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="e917" 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="e918" 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="e919" 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="e920" 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="e921" 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="e922" source="mlsys.transfer-learning" target="mlsys.training-compute-estimate"><data key="relation">reduces</data><data key="statement">reduces target-task</data><data key="conditions">Holds when a suitable pretrained model exists for the target domain.</data></edge>
    <edge id="e923" 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="e924" 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="e925" 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="e926" 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="e927" 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="e928" 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="e929" 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="e930" 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="e931" 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="e932" 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="e933" 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="e934" 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="e935" 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="e936" 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="e937" 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="e938" 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="e939" 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="e940" 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="e941" 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="e942" 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="e943" 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="e944" 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="e945" 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">Coverage holds only under exchangeability with that calibration split.</data></edge>
    <edge id="e946" 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="e947" 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="e948" 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="e949" 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="e950" 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="e951" 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="e952" 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="e953" 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="e954" 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="e955" 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="e956" 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="e957" 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="e958" 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="e959" 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="e960" 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="e961" 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="e962" 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="e963" 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="e964" 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="e965" 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="e966" 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="e967" 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="e968" 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="e969" 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="e970" 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="e971" 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="e972" 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="e973" 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="e974" 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="e975" 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">Holds when the tool schema is compiled to a grammar.</data></edge>
    <edge id="e976" 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="e977" source="mlsys.output-validation" target="mlsys.grammar"><data key="relation">implements</data><data key="statement">checks after generation</data><data key="conditions">Applies when outputs are parsed against the schema after generation instead of masked during it.</data></edge>
    <edge id="e978" source="mlsys.output-validation" target="mlsys.tail-latency"><data key="relation">increases</data><data key="statement">retries increase</data><data key="conditions">Holds when invalid outputs trigger regeneration.</data></edge>
    <edge id="e979" 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="e980" 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="e981" 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="e982" 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="e983" 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="e984" 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="e985" 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="e986" 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="e987" 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="e988" 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="e989" 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="e990" 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="e991" 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="e992" 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="e993" 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="e994" 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="e995" 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="e996" 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="e997" 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="e998" 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="e999" 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="e1000" 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="e1001" 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="e1002" 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="e1003" 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="e1004" 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="e1005" 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="e1006" 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="e1007" 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="e1008" 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="e1009" 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="e1010" 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="e1011" 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="e1012" 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="e1013" 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="e1014" 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="e1015" 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="e1016" 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="e1017" 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="e1018" 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="e1019" 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">Holds with recall loss that grows as code size shrinks.</data></edge>
    <edge id="e1020" 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="e1021" 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="e1022" 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="e1023" 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="e1024" 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="e1025" 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="e1026" 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="e1027" 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="e1028" 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="e1029" 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="e1030" 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="e1031" source="mlsys.quantization-aware-training" target="mlsys.edge-npu"><data key="relation">enables</data><data key="statement">enables integer-only execution on</data><data key="conditions">When the simulated quantization matches the accelerator's integer arithmetic and requantization rules.</data></edge>
    <edge id="e1032" 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="e1033" 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="e1034" 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="e1035" 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="e1036" 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="e1037" 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="e1038" 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="e1039" 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="e1040" 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="e1041" 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="e1042" 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="e1043" 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="e1044" 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="e1045" 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="e1046" 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="e1047" 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="e1048" 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="e1049" 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="e1050" 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="e1051" 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="e1052" 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="e1053" 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="e1054" 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="e1055" 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="e1056" source="mlsys.network-topology" target="mlsys.failure-domain"><data key="relation">determines</data><data key="statement">determines</data><data key="conditions">Components behind a shared switch, rack, or power feed fail together, so the topology fixes the failure domains.</data></edge>
    <edge id="e1057" 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="e1058" 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="e1059" 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="e1060" 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="e1061" 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="e1062" 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="e1063" 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="e1064" 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="e1065" 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="e1066" 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="e1067" 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="e1068" 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="e1069" 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="e1070" 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="e1071" 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="e1072" 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="e1073" 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="e1074" 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="e1075" 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="e1076" 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="e1077" 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="e1078" 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="e1079" 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="e1080" 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="e1081" 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="e1082" 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="e1083" 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="e1084" 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="e1085" 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="e1086" 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="e1087" 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="e1088" 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="e1089" 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="e1090" source="mlsys.stpa" target="mlsys.functional-insufficiency"><data key="relation">detects</data><data key="statement">detects</data><data key="conditions">When hazards arise from unsafe control actions or flawed process models without any component fault.</data></edge>
    <edge id="e1091" 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="e1092" 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="e1093" 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="e1094" 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="e1095" 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="e1096" 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="e1097" 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="e1098" source="mlsys.minimal-risk-condition" target="mlsys.graceful-degradation"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">For physical systems whose degraded mode is a predefined reduced-capability safe state.</data></edge>
    <edge id="e1099" 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="e1100" 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="e1101" 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="e1102" 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="e1103" 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="e1104" 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="e1105" source="mlsys.statistical-uncertainty" target="mlsys.rare-event-validation"><data key="relation">limits</data><data key="statement">bounds failure rates with</data><data key="conditions">When the number of observed failures is small, so confidence bounds dominate the estimate.</data></edge>
    <edge id="e1106" 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="e1107" 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="e1108" 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="e1109" source="mlsys.safety-performance-indicator" target="mlsys.functional-insufficiency"><data key="relation">detects</data><data key="statement">detects</data><data key="conditions">When indicators count field events, such as near misses or perception misses, inside the operating domain.</data></edge>
    <edge id="e1110" 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="e1111" 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="e1112" 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="e1113" source="mlsys.individual-fairness" target="mlsys.fairness"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">When the fairness criterion is stated over pairs of similar individuals rather than groups.</data></edge>
    <edge id="e1114" 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="e1115" 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="e1116" 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="e1117" 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="e1118" 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="e1119" 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="e1120" 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="e1121" 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="e1122" 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="e1123" 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="e1124" 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="e1125" 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="e1126" 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="e1127" 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="e1128" 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="e1129" 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="e1130" 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="e1131" 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="e1132" 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="e1133" source="mlsys.tool-contract" target="mlsys.idempotency"><data key="relation">determines</data><data key="statement">declares whether retries are safe through</data><data key="conditions">When the contract states an operation's idempotency key or its at-most-once semantics.</data></edge>
    <edge id="e1134" 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="e1135" 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="e1136" 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="e1137" 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="e1138" 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="e1139" 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="e1140" 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="e1141" 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="e1142" 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="e1143" 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="e1144" 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 the workflow resumes after a crash without redoing completed steps.</data></edge>
    <edge id="e1145" source="mlsys.deterministic-replay" target="mlsys.llm-call-tracing"><data key="relation">requires</data><data key="statement">requires recorded model outputs and tool results from</data><data key="conditions">Because re-sampling the model or re-calling tools would not reproduce the original trajectory.</data></edge>
    <edge id="e1146" 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="e1147" 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="e1148" 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="e1149" 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="e1150" 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="e1151" 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="e1152" 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="e1153" source="mlsys.robot-perception" target="mlsys.functional-insufficiency"><data key="relation">causes</data><data key="statement">can cause</data><data key="conditions">When perception limits, such as missed detections in rare conditions, cause hazards without any fault.</data></edge>
    <edge id="e1154" source="mlsys.observation-age" target="mlsys.time-synchronization"><data key="relation">requires</data><data key="statement">makes measurable</data><data key="conditions">Observation age can be computed only when capture and use timestamps share a synchronized clock.</data></edge>
    <edge id="e1155" 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="e1156" 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="e1157" 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="e1158" 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="e1159" 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="e1160" 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="e1161" 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="e1162" 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="e1163" 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="e1164" 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="e1165" 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="e1166" 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="e1167" source="mlsys.domain-randomization" target="mlsys.data-augmentation"><data key="relation">specializes</data><data key="statement">is a kind of</data><data key="conditions">Randomized simulator parameters act as label-preserving transformations of training scenes.</data></edge>
    <edge id="e1168" 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="e1169" 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="e1170" 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="e1171" 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="e1172" 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="e1173" 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="e1174" 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="e1175" 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="e1176" 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="e1177" 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="e1178" 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="e1179" source="mlsys.kernel-dsl" target="mlsys.embedded-dsl"><data key="relation">specializes</data><data key="statement">is a kernel-level case of</data><data key="conditions">Kernel DSLs embedded in a host language</data></edge>
    <edge id="e1180" 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="e1181" 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="e1182" 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="e1183" 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="e1184" source="mlsys.persistent-kernel" target="mlsys.fusion"><data key="relation">specializes</data><data key="statement">is an extreme form of</data><data key="conditions">Fusion extended across operator and layer boundaries into a single launch.</data></edge>
    <edge id="e1185" 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="e1186" 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="e1187" 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="e1188" 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="e1189" 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="e1190" 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="e1191" 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</data></edge>
    <edge id="e1192" 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="e1193" 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="e1194" 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="e1195" 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="e1196" 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="e1197" 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="e1198" 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="e1199" 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="e1200" 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="e1201" 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="e1202" 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="e1203" 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="e1204" 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="e1205" 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="e1206" 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="e1207" 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="e1208" source="mlsys.rebalancing" target="mlsys.calibration"><data key="relation">trades-off</data><data key="statement">trades off against</data><data key="conditions">Rebalanced training shifts predicted probabilities away from true base rates unless corrected.</data></edge>
    <edge id="e1209" 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="e1210" 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="e1211" 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="e1212" 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="e1213" 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="e1214" 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="e1215" 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="e1216" 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="e1217" 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="e1218" 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="e1219" 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="e1220" 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="e1221" 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="e1222" 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="e1223" 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="e1224" 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="e1225" 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="e1226" 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="e1227" 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="e1228" 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="e1229" 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="e1230" 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="e1231" 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="e1232" 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="e1233" 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="e1234" 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="e1235" 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="e1236" 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="e1237" 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="e1238" 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="e1239" 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="e1240" 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="e1241" 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="e1242" 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="e1243" 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="e1244" 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="e1245" 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="e1246" 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="e1247" 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="e1248" 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="e1249" 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="e1250" 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="e1251" 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="e1252" source="mlsys.glue-code" target="mlsys.technical-debt"><data key="relation">specializes</data><data key="statement">is a form of</data><data key="conditions">General-purpose packages are wired in without a common interface.</data></edge>
    <edge id="e1253" 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="e1254" 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="e1255" source="mlsys.pipeline-jungle" target="mlsys.integration-testing"><data key="relation">requires</data><data key="statement">raises the cost of</data><data key="conditions">Failures can only be detected by expensive end-to-end tests.</data></edge>
    <edge id="e1256" 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="e1257" 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="e1258" 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="e1259" 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="e1260" 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="e1261" 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="e1262" 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="e1263" 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="e1264" 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="e1265" 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="e1266" 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="e1267" 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="e1268" 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="e1269" 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="e1270" 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="e1271" 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="e1272" 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="e1273" 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="e1274" 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="e1275" 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="e1276" 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="e1277" 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="e1278" 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="e1279" 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="e1280" 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="e1281" 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="e1282" 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="e1283" 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="e1284" 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="e1285" 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="e1286" 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="e1287" 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="e1288" 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="e1289" 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="e1290" 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="e1291" 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="e1292" 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="e1293" 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="e1294" 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="e1295" 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="e1296" 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="e1297" 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="e1298" 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="e1299" 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="e1300" 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="e1301" 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="e1302" 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="e1303" 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="e1304" 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="e1305" 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="e1306" 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="e1307" 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="e1308" 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="e1309" 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="e1310" 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="e1311" 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="e1312" 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="e1313" 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="e1314" 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="e1315" 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="e1316" 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="e1317" 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="e1318" 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="e1319" 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="e1320" 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="e1321" 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="e1322" source="mlsys.distribution-shift" target="mlsys.compounding-error"><data key="relation">causes</data><data key="statement">is a self-induced form of</data><data key="conditions">The policy's own outputs determine its future inputs.</data></edge>
    <edge id="e1323" 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="e1324" 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="e1325" 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="e1326" 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="e1327" 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="e1328" 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="e1329" 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="e1330" 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="e1331" 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="e1332" 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="e1333" 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="e1334" 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="e1335" 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="e1336" source="mlsys.lease" target="mlsys.watchdog-timer"><data key="relation">alternative-to</data><data key="statement">expires authority by time like</data><data key="conditions">Authority must lapse when renewal stops.</data></edge>
    <edge id="e1337" 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="e1338" 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="e1339" 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="e1340" 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="e1341" 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="e1342" 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="e1343" 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="e1344" 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="e1345" 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="e1346" 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="e1347" 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="e1348" 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="e1349" 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="e1350" 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="e1351" 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="e1352" 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="e1353" 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="e1354" 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="e1355" source="mlsys.pruning" target="mlsys.sparse-tensor-kernels"><data key="relation">uses</data><data key="statement">turns unstructured zeros into speedup for</data><data key="conditions">Sparsity is high enough to overcome irregular access.</data></edge>
    <edge id="e1356" 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="e1357" 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="e1358" 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="e1359" 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="e1360" 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="e1361" 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="e1362" 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="e1363" 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="e1364" 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="e1365" 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="e1366" 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="e1367" 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="e1368" 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="e1369" 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="e1370" 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="e1371" 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="e1372" 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="e1373" 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="e1374" 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="e1375" 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="e1376" 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="e1377" 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="e1378" 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="e1379" 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="e1380" 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="e1381" 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="e1382" source="mlsys.diffusion-policy" target="mlsys.diffusion-model"><data key="relation">uses</data><data key="statement">generates actions with</data><data key="conditions">Action distributions are multimodal.</data></edge>
    <edge id="e1383" 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="e1384" source="mlsys.sensor-spoofing" target="mlsys.evasion"><data key="relation">specializes</data><data key="statement">is a physical-channel form of</data><data key="conditions">The attacker controls signals reaching the sensor.</data></edge>
    <edge id="e1385" 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="e1386" 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="e1387" 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="e1388" 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="e1389" 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="e1390" 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="e1391" 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="e1392" 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="e1393" 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="e1394" 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="e1395" 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="e1396" 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="e1397" 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="e1398" 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="e1399" 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="e1400" 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="e1401" 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="e1402" 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="e1403" 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="e1404" 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="e1405" 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="e1406" 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="e1407" 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="e1408" 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="e1409" 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="e1410" 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="e1411" 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="e1412" 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="e1413" 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="e1414" 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="e1415" 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="e1416" 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="e1417" 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="e1418" 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="e1419" 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="e1420" 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="e1421" 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="e1422" 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="e1423" 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="e1424" 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="e1425" 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="e1426" 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="e1427" 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="e1428" 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="e1429" 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="e1430" 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="e1431" source="mlsys.content-provenance" target="mlsys.artifact-signing"><data key="relation">uses</data><data key="statement">relies on cryptographic signatures like</data><data key="conditions">Provenance manifests are bound to content by signatures.</data></edge>
    <edge id="e1432" 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="e1433" 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="e1434" 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="e1435" source="mlsys.robotics-middleware" target="mlsys.feedback-delay"><data key="relation">determines</data><data key="statement">contributes transport and queuing delay to</data><data key="conditions">Sensing, inference, and control run as separate communicating nodes.</data></edge>
    <edge id="e1436" 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="e1437" 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="e1438" 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="e1439" 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="e1440" 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="e1441" 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="e1442" 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="e1443" 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="e1444" 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="e1445" 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="e1446" 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="e1447" 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="e1448" source="mlsys.token-streaming" target="mlsys.streaming-inference"><data key="relation">specializes</data><data key="statement">streams output</data><data key="conditions">The request is complete but output is delivered incrementally.</data></edge>
    <edge id="e1449" 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="e1450" 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</data></edge>
    <edge id="e1451" 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="e1452" 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="e1453" 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="e1454" 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="e1455" source="mlsys.cache-aware-routing" target="mlsys.prefix-cache"><data key="relation">uses</data><data key="statement">increases hit rates of</data><data key="conditions">Requests share prompt prefixes or belong to multi-turn sessions.</data></edge>
    <edge id="e1456" 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="e1457" 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="e1458" 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="e1459" 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="e1460" 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="e1461" 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="e1462" 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="e1463" 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="e1464" 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="e1465" 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="e1466" 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="e1467" 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="e1468" 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="e1469" 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="e1470" 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="e1471" 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="e1472" 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="e1473" 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="e1474" 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="e1475" 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="e1476" 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="e1477" source="mlsys.model-feature-compatibility" target="mlsys.rollout"><data key="relation">limits</data><data key="statement">constrains</data><data key="conditions">Model</data></edge>
    <edge id="e1478" 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="e1479" 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="e1480" 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="e1481" 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="e1482" 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="e1483" 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="e1484" 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="e1485" 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="e1486" 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="e1487" 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="e1488" 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="e1489" 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="e1490" 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="e1491" 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="e1492" 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</data></edge>
    <edge id="e1493" 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="e1494" 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="e1495" source="mlsys.intermittent-computing" target="mlsys.microcontroller"><data key="relation">specializes</data><data key="statement">is a power regime of</data><data key="conditions">The device has no battery and runs on harvested energy.</data></edge>
    <edge id="e1496" 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="e1497" 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="e1498" 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="e1499" 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="e1500" source="mlsys.mmap-weights" target="mlsys.os-memory-pressure"><data key="relation">reduces</data><data key="statement">makes weight pages reclaimable under</data><data key="conditions">File-backed pages can be dropped and reread instead of killing the app.</data></edge>
    <edge id="e1501" 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="e1502" 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="e1503" source="mlsys.zero-copy-dma" target="mlsys.host-data-loader"><data key="relation">alternative-to</data><data key="statement">replaces CPU copying in</data><data key="conditions">The sensor or peripheral can write into a buffer the model reads.</data></edge>
    <edge id="e1504" 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="e1505" source="mlsys.sensor-interference" target="mlsys.sensing"><data key="relation">limits</data><data key="statement">corrupts measurements in</data><data key="conditions">Several active sensors emit into the same scene.</data></edge>
    <edge id="e1506" 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="e1507" 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="e1508" 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="e1509" 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="e1510" source="mlsys.cap-tradeoff" target="mlsys.feature-freshness"><data key="relation">determines</data><data key="statement">decides whether stale values are served</data><data key="conditions">Feature or model replicas span regions that can partition.</data></edge>
    <edge id="e1511" source="mlsys.gossip-averaging" target="mlsys.federated-learning"><data key="relation">alternative-to</data><data key="statement">removes the central server from</data><data key="conditions">Participants can exchange updates with peers.</data></edge>
    <edge id="e1512" 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="e1513" source="mlsys.interrupt-latency" target="mlsys.wcet"><data key="relation">part-of</data><data key="statement">is part of the timing budget alongside</data><data key="conditions">Inference and interrupt handlers share a processor.</data></edge>
    <edge id="e1514" 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="e1515" 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="e1516" 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="e1517" source="mlsys.data-transfer-cost" target="mlsys.unit-cost"><data key="relation">increases</data><data key="statement">adds to</data><data key="conditions">Data</data></edge>
    <edge id="e1518" 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</data></edge>
    <edge id="e1519" 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="e1520" 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="e1521" 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="e1522" 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="e1523" 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="e1524" 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="e1525" source="mlsys.sensor-interconnect" target="mlsys.sensing"><data key="relation">limits</data><data key="statement">bounds the data rate of</data><data key="conditions">Sensors stream raw data into an embedded processor.</data></edge>
    <edge id="e1526" 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="e1527" source="mlsys.finite-buffer" target="mlsys.queueing"><data key="relation">specializes</data><data key="statement">is queueing with bounded capacity</data><data key="conditions">The buffer cannot grow without limit.</data></edge>
    <edge id="e1528" 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="e1529" 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="e1530" 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>
  </graph>
</graphml>
