MLSys Experiments
Use this before the evaluation is frozen. An MLSys evaluation exists to answer one
compound question: does the named mechanism deliver the claimed system-level payoff on
workloads that matter, at acceptable cost, for understood reasons? Each clause needs its
own evidence, and this venue — which published the MLPerf Training methodology in its own
proceedings — holds measurement to benchmark-committee standards.
Workload selection: the make-or-break choice
"Unrepresentative workload" is the modal fatal objection at this venue. Defend the
choice explicitly:
- Anchor on recognizable workloads: MLPerf-family tasks, widely used open models, or
published request traces. Bespoke workloads need a characterization section showing
their statistics (request rates, sequence lengths, arrival burstiness, model mix).
- Cover the axis your mechanism exploits: a scheduler for bursty load must be tested on
bursty and uniform load; the uniform case bounds your claim, it does not weaken it.
- Include at least one workload where you expect little or no gain, and show it. A
non-win row is the cheapest credibility purchase available.
- State workload licensing/provenance — traces you cannot release constrain your future
artifact badges (see
mlsys-artifact-evaluation).
Baseline discipline
- Compare against the current strongest systems, version-pinned, in their recommended
configurations — and tune them with the same budget you gave your own system.
Document both budgets; asymmetric tuning is treated as invalidating.
- Include the "do nothing" configuration where meaningful (e.g., default framework
behavior); reviewers use it to sanity-check absolute numbers.
- If a relevant baseline cannot run in your setting, demonstrate the incompatibility
rather than asserting it.
The reporting quartet
Never report throughput alone. Each headline claim carries four coordinates:
| Coordinate |
Report as |
Classic gaming pattern it prevents |
| Throughput/goodput |
Under a stated latency constraint |
Batch-size inflation that destroys tails |
| Latency |
p50 and p99 (p99.9 for serving), distributions not means |
Mean-only tables hiding stragglers |
| Memory |
Peak device + host, at the measured configuration |
Wins that only fit on 80GB parts, unstated |
| Cost/efficiency |
$ or joules per unit work, with price/meter basis |
"Faster" systems that are 4x more expensive |
Quality (accuracy/perplexity or task metric) rides along whenever the technique could
plausibly change model output — quantization, sparsity, scheduling with dropping,
approximation of any kind. "No quality change" is a claim requiring a measurement.
Ablation = attribution
Systems papers stack techniques; reviews ask which component pays.
- One ablation row per named mechanism, cumulative or leave-one-out — pick one scheme
and say which.
- Ablate the insight, not only the code: if the claim is "lookahead scheduling wins,"
include the no-lookahead scheduler, not just the whole-system-off row.
- Sensitivity sweeps over the parameters a deployer must set (window sizes, thresholds);
a mechanism needing per-workload hand-tuning must say so.
Scaling and sensitivity evidence
# experiment-matrix.yaml — one row per plotted point, generated, never hand-edited
sweep:
models: [llama-class-8b, llama-class-70b, moe-16e]
hardware: [1xA100, 8xA100-nvlink] # state interconnect explicitly
load: [uniform-qps, bursty-trace-A]
precision: [bf16, int4]
trials: 5
warmup_steps: 20
metrics: [goodput@p99<250ms, p50, p99, peak_mem_gb, gpu_hours, quality]
seeds: [1, 2, 3, 4, 5]
- Plot trends, not points: gain versus model size, versus load, versus GPU count. A
single-configuration win invites the "will this survive scale?" objection you cannot
answer in the four-day response window.
- Log everything; regenerate every figure from logs by script (measurement mechanics
and variance rules live in
mlsys-reproducibility).
Statistical floor for systems numbers
Systems papers rarely need hypothesis-testing machinery, but they always need variance
honesty; the floor this venue's reviewers apply:
- Five or more trials for any number in a comparison table; report spread (stdev or
IQR) and say which in the caption.
- Overlapping spreads mean the difference is not a finding — either run more trials or
report the tie honestly; a "win" inside noise is worse than a reported tie because
one reviewer rerun destroys it.
- For latency distributions, trials are not enough: within-run percentiles need enough
requests that p99 is estimated from hundreds of samples, not three.
- Seed variation matters only where model quality enters the claim; systems noise
(placement, thermal state, co-tenants) dominates latency variance and is controlled
by measurement design, not seeds — the split is detailed in
mlsys-reproducibility.
Evaluation-design review before running
Run this table exercise before burning GPU-hours: for each claim in the abstract, write
the figure that will support it, the workload it needs, and the strongest objection a
systems reviewer could raise — then check the matrix covers that objection. Claims
without a planned figure get cut from the abstract, not padded later.
Common reject patterns to design against
- Microbenchmark gains that never appear end-to-end; always include the end-to-end run.
- Gains measured only at one scale/hardware and claimed generally.
- Quality silently degraded by the optimization, discovered by a reviewer from your own
appendix table.
- Cost omitted where the honest accounting would erase the win.
Output format
[Evaluation readiness] strong / adequate / weak
[Workload defense] <named anchors + characterization + non-win case present?>
[Baseline symmetry] <versions pinned, tuning budgets equal + documented?>
[Quartet coverage] <throughput/latency-tails/memory/cost per headline claim>
[Attribution] <mechanism -> ablation row>
[Decision-critical missing run] <one experiment>
Source: brycewang-stanford/Awesome-Journal-Skills → MLSys-Skills/skills/mlsys-experiments/SKILL.md
1---2name: mlsys-experiments3description: Use when designing or auditing the evaluation of an MLSys paper, selecting representative workloads and hardware, tuning baselines symmetrically, reporting throughput, latency tails, memory, cost, and quality together, structuring ablations that attribute gains to mechanisms, and building scaling and sensitivity evidence reviewers trust.4---567# MLSys Experiments89Use this before the evaluation is frozen. An MLSys evaluation exists to answer one10compound question: *does the named mechanism deliver the claimed system-level payoff on11workloads that matter, at acceptable cost, for understood reasons?* Each clause needs its12own evidence, and this venue — which published the MLPerf Training methodology in its own13proceedings — holds measurement to benchmark-committee standards.1415## Workload selection: the make-or-break choice1617"Unrepresentative workload" is the modal fatal objection at this venue. Defend the18choice explicitly:1920- Anchor on recognizable workloads: MLPerf-family tasks, widely used open models, or21 published request traces. Bespoke workloads need a characterization section showing22 their statistics (request rates, sequence lengths, arrival burstiness, model mix).23- Cover the axis your mechanism exploits: a scheduler for bursty load must be tested on24 bursty *and* uniform load; the uniform case bounds your claim, it does not weaken it.25- Include at least one workload where you expect little or no gain, and show it. A26 non-win row is the cheapest credibility purchase available.27- State workload licensing/provenance — traces you cannot release constrain your future28 artifact badges (see `mlsys-artifact-evaluation`).2930## Baseline discipline3132- Compare against the current strongest systems, version-pinned, in their recommended33 configurations — and tune them with the **same budget** you gave your own system.34 Document both budgets; asymmetric tuning is treated as invalidating.35- Include the "do nothing" configuration where meaningful (e.g., default framework36 behavior); reviewers use it to sanity-check absolute numbers.37- If a relevant baseline cannot run in your setting, demonstrate the incompatibility38 rather than asserting it.3940## The reporting quartet4142Never report throughput alone. Each headline claim carries four coordinates:4344| Coordinate | Report as | Classic gaming pattern it prevents |45|---|---|---|46| Throughput/goodput | Under a stated latency constraint | Batch-size inflation that destroys tails |47| Latency | p50 and p99 (p99.9 for serving), distributions not means | Mean-only tables hiding stragglers |48| Memory | Peak device + host, at the measured configuration | Wins that only fit on 80GB parts, unstated |49| Cost/efficiency | $ or joules per unit work, with price/meter basis | "Faster" systems that are 4x more expensive |5051Quality (accuracy/perplexity or task metric) rides along whenever the technique could52plausibly change model output — quantization, sparsity, scheduling with dropping,53approximation of any kind. "No quality change" is a claim requiring a measurement.5455## Ablation = attribution5657Systems papers stack techniques; reviews ask which component pays.5859- One ablation row per named mechanism, cumulative or leave-one-out — pick one scheme60 and say which.61- Ablate the *insight*, not only the code: if the claim is "lookahead scheduling wins,"62 include the no-lookahead scheduler, not just the whole-system-off row.63- Sensitivity sweeps over the parameters a deployer must set (window sizes, thresholds);64 a mechanism needing per-workload hand-tuning must say so.6566## Scaling and sensitivity evidence6768```yaml69# experiment-matrix.yaml — one row per plotted point, generated, never hand-edited70sweep:71 models: [llama-class-8b, llama-class-70b, moe-16e]72 hardware: [1xA100, 8xA100-nvlink] # state interconnect explicitly73 load: [uniform-qps, bursty-trace-A]74 precision: [bf16, int4]75 trials: 576 warmup_steps: 2077 metrics: [goodput@p99<250ms, p50, p99, peak_mem_gb, gpu_hours, quality]78 seeds: [1, 2, 3, 4, 5]79```8081- Plot trends, not points: gain versus model size, versus load, versus GPU count. A82 single-configuration win invites the "will this survive scale?" objection you cannot83 answer in the four-day response window.84- Log everything; regenerate every figure from logs by script (measurement mechanics85 and variance rules live in `mlsys-reproducibility`).8687## Statistical floor for systems numbers8889Systems papers rarely need hypothesis-testing machinery, but they always need variance90honesty; the floor this venue's reviewers apply:9192- Five or more trials for any number in a comparison table; report spread (stdev or93 IQR) and say which in the caption.94- Overlapping spreads mean the difference is not a finding — either run more trials or95 report the tie honestly; a "win" inside noise is worse than a reported tie because96 one reviewer rerun destroys it.97- For latency distributions, trials are not enough: within-run percentiles need enough98 requests that p99 is estimated from hundreds of samples, not three.99- Seed variation matters only where model quality enters the claim; systems noise100 (placement, thermal state, co-tenants) dominates latency variance and is controlled101 by measurement design, not seeds — the split is detailed in `mlsys-reproducibility`.102103## Evaluation-design review before running104105Run this table exercise before burning GPU-hours: for each claim in the abstract, write106the figure that will support it, the workload it needs, and the strongest objection a107systems reviewer could raise — then check the matrix covers that objection. Claims108without a planned figure get cut from the abstract, not padded later.109110## Common reject patterns to design against111112- Microbenchmark gains that never appear end-to-end; always include the end-to-end run.113- Gains measured only at one scale/hardware and claimed generally.114- Quality silently degraded by the optimization, discovered by a reviewer from your own115 appendix table.116- Cost omitted where the honest accounting would erase the win.117118## Output format119120```text121[Evaluation readiness] strong / adequate / weak122[Workload defense] <named anchors + characterization + non-win case present?>123[Baseline symmetry] <versions pinned, tuning budgets equal + documented?>124[Quartet coverage] <throughput/latency-tails/memory/cost per headline claim>125[Attribution] <mechanism -> ablation row>126[Decision-critical missing run] <one experiment>127```128129---130131**Source:** [`brycewang-stanford/Awesome-Journal-Skills`](https://github.com/brycewang-stanford/Awesome-Journal-Skills) → `MLSys-Skills/skills/mlsys-experiments/SKILL.md`