Skip to content

feat: accuracy issuer inherits perf concurrency in online mode (#357)#379

Merged
arekay-nv merged 11 commits into
mainfrom
arekay/cherry_pick_accuracy_configs
Jul 9, 2026
Merged

feat: accuracy issuer inherits perf concurrency in online mode (#357)#379
arekay-nv merged 11 commits into
mainfrom
arekay/cherry_pick_accuracy_configs

Conversation

@arekay-nv

@arekay-nv arekay-nv commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

When the performance phase runs an online load pattern, the accuracy phase now mirrors that same pattern instead of always bursting at MAX_THROUGHPUT, so evaluation exercises the endpoint the same way as the performance run:

  • CONCURRENCY perf → accuracy inherits the same fixed target_concurrency.
  • POISSON perf → accuracy inherits the same target_qps.

It falls back to MAX_THROUGHPUT only when there is no online pattern to mirror: offline (MAX_THROUGHPUT) perf, AGENTIC_INFERENCE perf (which can't drive the non-agentic accuracy datasets — create_load_strategy rejects it), or no perf pattern at all.

Caveat: inheriting POISSON rate-limits accuracy to the perf QPS (there is no separate accuracy QPS budget yet). This is intentional so accuracy is measured under the same offered load as performance; a dedicated accuracy load-pattern control is planned as a follow-up (see the thread on the agentic case).

Also logs the accuracy issuer's chosen load mode (pattern + parameter) per accuracy dataset, via a new LoadPattern.__str__. Adds unit tests for concurrency-inheritance, poisson-inheritance, offline→max_throughput, agentic→max_throughput, none→max_throughput, and the logging cases.

What does this PR do?

Makes the online accuracy phase reuse the performance phase's load pattern (concurrency or poisson) rather than always running MAX_THROUGHPUT, so accuracy is measured under the same offered load as performance. Offline / agentic / unset perf patterns keep the MAX_THROUGHPUT fallback.

Type of change

  • Bug fix
  • New feature
  • Documentation update
  • Refactor/cleanup

Related issues

Related: #357

Testing

  • Tests added/updated
  • All tests pass locally
  • Manual testing completed

Checklist

  • Code follows project style
  • Pre-commit hooks pass
  • Documentation updated (if needed)

When the performance phase runs the CONCURRENCY load pattern (online), the
accuracy phase now mirrors that same fixed concurrency instead of always
bursting at MAX_THROUGHPUT, so evaluation exercises the endpoint the same way
as the performance run.

All other patterns are unchanged: POISSON and offline MAX_THROUGHPUT perf
phases keep the accuracy phase at MAX_THROUGHPUT, since inheriting POISSON
would silently rate-limit evaluation to the perf QPS (no accuracy QPS-budgeting
yet). The gate is purely load_pattern.type == CONCURRENCY, which the schema
already constrains to online mode.

Also logs the accuracy issuer's chosen load mode (pattern + target_concurrency)
per accuracy dataset. Adds unit tests for the concurrency-inheritance,
POISSON-stays-max-throughput, offline-stays-max-throughput, and logging cases.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@arekay-nv arekay-nv requested a review from a team June 27, 2026 02:18
@github-actions

Copy link
Copy Markdown

MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅

@github-actions github-actions Bot requested a review from nvzhihanj June 27, 2026 02:19

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the benchmark execution logic so that the accuracy phase mirrors the fixed concurrency of the performance phase when a CONCURRENCY load pattern is used, while continuing to default to MAX_THROUGHPUT for other patterns (such as POISSON). It also adds logging for the accuracy issuer's load mode and includes comprehensive unit tests to verify these behaviors. There are no review comments, and I have no additional feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@arekay-nv arekay-nv requested a review from viraatc July 1, 2026 19:23
Comment thread src/inference_endpoint/commands/benchmark/execute.py
Comment thread src/inference_endpoint/commands/benchmark/execute.py Outdated
Comment thread src/inference_endpoint/commands/benchmark/execute.py Fixed
arekay-nv added 2 commits July 7, 2026 12:59
Signed-off-by: arekay-nv <230885705+arekay-nv@users.noreply.github.com>
arekay-nv added 2 commits July 9, 2026 07:16
Signed-off-by: Rashid Kaleem <230885705+arekay-nv@users.noreply.github.com>
@arekay-nv arekay-nv merged commit 55e518a into main Jul 9, 2026
9 checks passed
@arekay-nv arekay-nv deleted the arekay/cherry_pick_accuracy_configs branch July 9, 2026 15:18
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.

4 participants