Skip to content

chore: sync 5737 from nmp - #7

Merged
binaryaaron merged 1 commit into
mainfrom
binaryaaron/sync-5737-from-nmp
Feb 4, 2026
Merged

chore: sync 5737 from nmp#7
binaryaaron merged 1 commit into
mainfrom
binaryaaron/sync-5737-from-nmp

Conversation

@binaryaaron

Copy link
Copy Markdown
Collaborator

No description provided.

@binaryaaron
binaryaaron requested a review from a team as a code owner February 4, 2026 17:04
@binaryaaron
binaryaaron merged commit 2e111f9 into main Feb 4, 2026
@binaryaaron
binaryaaron deleted the binaryaaron/sync-5737-from-nmp branch February 4, 2026 17:12
@binaryaaron binaryaaron mentioned this pull request Feb 4, 2026
7 tasks
binaryaaron added a commit that referenced this pull request May 27, 2026
Adds ``vllm_benchmark_analysis.py`` — the post-hoc analyzer that
partitions cells by cluster signal, computes per-condition + per-cluster
aggregates, and emits Welch-CI effect sizes. Combined #7+#8 from the
original brief because they're tightly coupled (effect size lives on
the same condition aggregate as the cluster stats).

## Pipeline

``analyze(output_dir, cluster_signal='auto',
min_cells_per_condition=6) -> AnalysisReport``:

1. Load all BenchmarkOutput JSONs in dir, flatten candidate cells.
2. Auto-pick cluster signal (or use the operator's choice).
3. Silhouette-scored ``k`` in range [2, 4]; ``random_state=42``.
4. Remap labels so cluster 0 has the lowest signal mean (stable ordering).
5. Per-condition: pooled mean/stddev/CoV on effective_tok_s + acceptance_rate.
6. Per-(condition × cluster): mean/stddev/CoV within cluster.
7. Effect size: Welch's-t Δ ± 95% CI vs the 'baseline' condition,
   both pooled and per-cluster.
8. Refuse aggregates for conditions with <6 cells (brief mandate).

## Schema

Pydantic models: ``AnalysisReport``, ``ConditionAggregate``,
``ConditionClusterAggregate``, ``ClusterStats``,
``ClusterAssignment``, ``EffectSize``. Each ``extra='forbid'``.
``AnalysisReport.to_markdown_summary()`` renders a human-readable
table-formatted summary.

## CLI

``tools/vllm_benchmark.py analyze <output_dir> [--cluster-signal
auto|wall_seconds|acceptance_rate] [--min-cells-per-condition N]
[--json-out PATH]`` — runs the pipeline + prints markdown + optionally
writes the full report JSON.

## Welch CI math

``_welch_ttest_ci(cand, base, alpha=0.05) -> (mean_diff, ci_low,
ci_high, welch_df) | None``. Welch–Satterthwaite degrees of freedom
computed explicitly. Returns None for underdetermined (n<2 either side
or both stddevs zero).

Validated synthetically: clear-difference inputs (cand mean ~1708,
base mean ~1502, n=6 each) → Δ=+205, CI=[+193, +216], df=7.3, CI
excludes 0; identical inputs → Δ=0, CI brackets 0 symmetrically.

Signed-off-by: Aaron Gonzales <aagonzales@nvidia.com>
binaryaaron added a commit that referenced this pull request May 27, 2026
Adds ``vllm_benchmark_analysis.py`` — the post-hoc analyzer that
partitions cells by cluster signal, computes per-condition + per-cluster
aggregates, and emits Welch-CI effect sizes. Combined #7+#8 from the
original brief because they're tightly coupled (effect size lives on
the same condition aggregate as the cluster stats).

## Pipeline

``analyze(output_dir, cluster_signal='auto',
min_cells_per_condition=6) -> AnalysisReport``:

1. Load all BenchmarkOutput JSONs in dir, flatten candidate cells.
2. Auto-pick cluster signal (or use the operator's choice).
3. Silhouette-scored ``k`` in range [2, 4]; ``random_state=42``.
4. Remap labels so cluster 0 has the lowest signal mean (stable ordering).
5. Per-condition: pooled mean/stddev/CoV on effective_tok_s + acceptance_rate.
6. Per-(condition × cluster): mean/stddev/CoV within cluster.
7. Effect size: Welch's-t Δ ± 95% CI vs the 'baseline' condition,
   both pooled and per-cluster.
8. Refuse aggregates for conditions with <6 cells (brief mandate).

## Schema

Pydantic models: ``AnalysisReport``, ``ConditionAggregate``,
``ConditionClusterAggregate``, ``ClusterStats``,
``ClusterAssignment``, ``EffectSize``. Each ``extra='forbid'``.
``AnalysisReport.to_markdown_summary()`` renders a human-readable
table-formatted summary.

## CLI

``tools/vllm_benchmark.py analyze <output_dir> [--cluster-signal
auto|wall_seconds|acceptance_rate] [--min-cells-per-condition N]
[--json-out PATH]`` — runs the pipeline + prints markdown + optionally
writes the full report JSON.

## Welch CI math

``_welch_ttest_ci(cand, base, alpha=0.05) -> (mean_diff, ci_low,
ci_high, welch_df) | None``. Welch–Satterthwaite degrees of freedom
computed explicitly. Returns None for underdetermined (n<2 either side
or both stddevs zero).

Validated synthetically: clear-difference inputs (cand mean ~1708,
base mean ~1502, n=6 each) → Δ=+205, CI=[+193, +216], df=7.3, CI
excludes 0; identical inputs → Δ=0, CI brackets 0 symmetrically.

Signed-off-by: Aaron Gonzales <aagonzales@nvidia.com>
binaryaaron added a commit that referenced this pull request Jun 4, 2026
Adds ``vllm_benchmark_analysis.py`` — the post-hoc analyzer that
partitions cells by cluster signal, computes per-condition + per-cluster
aggregates, and emits Welch-CI effect sizes. Combined #7+#8 from the
original brief because they're tightly coupled (effect size lives on
the same condition aggregate as the cluster stats).

## Pipeline

``analyze(output_dir, cluster_signal='auto',
min_cells_per_condition=6) -> AnalysisReport``:

1. Load all BenchmarkOutput JSONs in dir, flatten candidate cells.
2. Auto-pick cluster signal (or use the operator's choice).
3. Silhouette-scored ``k`` in range [2, 4]; ``random_state=42``.
4. Remap labels so cluster 0 has the lowest signal mean (stable ordering).
5. Per-condition: pooled mean/stddev/CoV on effective_tok_s + acceptance_rate.
6. Per-(condition × cluster): mean/stddev/CoV within cluster.
7. Effect size: Welch's-t Δ ± 95% CI vs the 'baseline' condition,
   both pooled and per-cluster.
8. Refuse aggregates for conditions with <6 cells (brief mandate).

## Schema

Pydantic models: ``AnalysisReport``, ``ConditionAggregate``,
``ConditionClusterAggregate``, ``ClusterStats``,
``ClusterAssignment``, ``EffectSize``. Each ``extra='forbid'``.
``AnalysisReport.to_markdown_summary()`` renders a human-readable
table-formatted summary.

## CLI

``tools/vllm_benchmark.py analyze <output_dir> [--cluster-signal
auto|wall_seconds|acceptance_rate] [--min-cells-per-condition N]
[--json-out PATH]`` — runs the pipeline + prints markdown + optionally
writes the full report JSON.

## Welch CI math

``_welch_ttest_ci(cand, base, alpha=0.05) -> (mean_diff, ci_low,
ci_high, welch_df) | None``. Welch–Satterthwaite degrees of freedom
computed explicitly. Returns None for underdetermined (n<2 either side
or both stddevs zero).

Validated synthetically: clear-difference inputs (cand mean ~1708,
base mean ~1502, n=6 each) → Δ=+205, CI=[+193, +216], df=7.3, CI
excludes 0; identical inputs → Δ=0, CI brackets 0 symmetrically.

Signed-off-by: Aaron Gonzales <aagonzales@nvidia.com>
binaryaaron added a commit that referenced this pull request Jun 9, 2026
Adds ``vllm_benchmark_analysis.py`` — the post-hoc analyzer that
partitions cells by cluster signal, computes per-condition + per-cluster
aggregates, and emits Welch-CI effect sizes. Combined #7+#8 from the
original brief because they're tightly coupled (effect size lives on
the same condition aggregate as the cluster stats).

## Pipeline

``analyze(output_dir, cluster_signal='auto',
min_cells_per_condition=6) -> AnalysisReport``:

1. Load all BenchmarkOutput JSONs in dir, flatten candidate cells.
2. Auto-pick cluster signal (or use the operator's choice).
3. Silhouette-scored ``k`` in range [2, 4]; ``random_state=42``.
4. Remap labels so cluster 0 has the lowest signal mean (stable ordering).
5. Per-condition: pooled mean/stddev/CoV on effective_tok_s + acceptance_rate.
6. Per-(condition × cluster): mean/stddev/CoV within cluster.
7. Effect size: Welch's-t Δ ± 95% CI vs the 'baseline' condition,
   both pooled and per-cluster.
8. Refuse aggregates for conditions with <6 cells (brief mandate).

## Schema

Pydantic models: ``AnalysisReport``, ``ConditionAggregate``,
``ConditionClusterAggregate``, ``ClusterStats``,
``ClusterAssignment``, ``EffectSize``. Each ``extra='forbid'``.
``AnalysisReport.to_markdown_summary()`` renders a human-readable
table-formatted summary.

## CLI

``tools/vllm_benchmark.py analyze <output_dir> [--cluster-signal
auto|wall_seconds|acceptance_rate] [--min-cells-per-condition N]
[--json-out PATH]`` — runs the pipeline + prints markdown + optionally
writes the full report JSON.

## Welch CI math

``_welch_ttest_ci(cand, base, alpha=0.05) -> (mean_diff, ci_low,
ci_high, welch_df) | None``. Welch–Satterthwaite degrees of freedom
computed explicitly. Returns None for underdetermined (n<2 either side
or both stddevs zero).

Validated synthetically: clear-difference inputs (cand mean ~1708,
base mean ~1502, n=6 each) → Δ=+205, CI=[+193, +216], df=7.3, CI
excludes 0; identical inputs → Δ=0, CI brackets 0 symmetrically.

Signed-off-by: Aaron Gonzales <aagonzales@nvidia.com>
binaryaaron added a commit that referenced this pull request Jun 15, 2026
Adds ``vllm_benchmark_analysis.py`` — the post-hoc analyzer that
partitions cells by cluster signal, computes per-condition + per-cluster
aggregates, and emits Welch-CI effect sizes. Combined #7+#8 from the
original brief because they're tightly coupled (effect size lives on
the same condition aggregate as the cluster stats).

## Pipeline

``analyze(output_dir, cluster_signal='auto',
min_cells_per_condition=6) -> AnalysisReport``:

1. Load all BenchmarkOutput JSONs in dir, flatten candidate cells.
2. Auto-pick cluster signal (or use the operator's choice).
3. Silhouette-scored ``k`` in range [2, 4]; ``random_state=42``.
4. Remap labels so cluster 0 has the lowest signal mean (stable ordering).
5. Per-condition: pooled mean/stddev/CoV on effective_tok_s + acceptance_rate.
6. Per-(condition × cluster): mean/stddev/CoV within cluster.
7. Effect size: Welch's-t Δ ± 95% CI vs the 'baseline' condition,
   both pooled and per-cluster.
8. Refuse aggregates for conditions with <6 cells (brief mandate).

## Schema

Pydantic models: ``AnalysisReport``, ``ConditionAggregate``,
``ConditionClusterAggregate``, ``ClusterStats``,
``ClusterAssignment``, ``EffectSize``. Each ``extra='forbid'``.
``AnalysisReport.to_markdown_summary()`` renders a human-readable
table-formatted summary.

## CLI

``tools/vllm_benchmark.py analyze <output_dir> [--cluster-signal
auto|wall_seconds|acceptance_rate] [--min-cells-per-condition N]
[--json-out PATH]`` — runs the pipeline + prints markdown + optionally
writes the full report JSON.

## Welch CI math

``_welch_ttest_ci(cand, base, alpha=0.05) -> (mean_diff, ci_low,
ci_high, welch_df) | None``. Welch–Satterthwaite degrees of freedom
computed explicitly. Returns None for underdetermined (n<2 either side
or both stddevs zero).

Validated synthetically: clear-difference inputs (cand mean ~1708,
base mean ~1502, n=6 each) → Δ=+205, CI=[+193, +216], df=7.3, CI
excludes 0; identical inputs → Δ=0, CI brackets 0 symmetrically.

Signed-off-by: Aaron Gonzales <aagonzales@nvidia.com>
binaryaaron added a commit that referenced this pull request Jul 10, 2026
Adds ``vllm_benchmark_analysis.py`` — the post-hoc analyzer that
partitions cells by cluster signal, computes per-condition + per-cluster
aggregates, and emits Welch-CI effect sizes. Combined #7+#8 from the
original brief because they're tightly coupled (effect size lives on
the same condition aggregate as the cluster stats).

## Pipeline

``analyze(output_dir, cluster_signal='auto',
min_cells_per_condition=6) -> AnalysisReport``:

1. Load all BenchmarkOutput JSONs in dir, flatten candidate cells.
2. Auto-pick cluster signal (or use the operator's choice).
3. Silhouette-scored ``k`` in range [2, 4]; ``random_state=42``.
4. Remap labels so cluster 0 has the lowest signal mean (stable ordering).
5. Per-condition: pooled mean/stddev/CoV on effective_tok_s + acceptance_rate.
6. Per-(condition × cluster): mean/stddev/CoV within cluster.
7. Effect size: Welch's-t Δ ± 95% CI vs the 'baseline' condition,
   both pooled and per-cluster.
8. Refuse aggregates for conditions with <6 cells (brief mandate).

## Schema

Pydantic models: ``AnalysisReport``, ``ConditionAggregate``,
``ConditionClusterAggregate``, ``ClusterStats``,
``ClusterAssignment``, ``EffectSize``. Each ``extra='forbid'``.
``AnalysisReport.to_markdown_summary()`` renders a human-readable
table-formatted summary.

## CLI

``tools/vllm_benchmark.py analyze <output_dir> [--cluster-signal
auto|wall_seconds|acceptance_rate] [--min-cells-per-condition N]
[--json-out PATH]`` — runs the pipeline + prints markdown + optionally
writes the full report JSON.

## Welch CI math

``_welch_ttest_ci(cand, base, alpha=0.05) -> (mean_diff, ci_low,
ci_high, welch_df) | None``. Welch–Satterthwaite degrees of freedom
computed explicitly. Returns None for underdetermined (n<2 either side
or both stddevs zero).

Validated synthetically: clear-difference inputs (cand mean ~1708,
base mean ~1502, n=6 each) → Δ=+205, CI=[+193, +216], df=7.3, CI
excludes 0; identical inputs → Δ=0, CI brackets 0 symmetrically.

Signed-off-by: Aaron Gonzales <aagonzales@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant