Repository navigation
AIPerf stage 7: qualify all TRTMC reference-image editing models #1674
Description
Request type
New capability
Problem and use case
Text-to-image coverage does not establish image editing. The standard edit route must use the actual reference image and native edit Task.
Proposed outcome
Qualify all supported models in this group for one image editing workload through the existing native serving entrypoint.
- Workload: One reference image and instruction produce one edited image, using fixed input pairs and generation settings.
- Client / endpoint: AIPerf
image_edit; multipart POST/v1/images/edits. - Rollout / prerequisites: Model-group rollout after stage 6; image_edit is registered in the inspected published AIPerf 0.13.0 package.
Public CI hardware failures — owner-approved handling for stages 5–8
Keep existing model contracts, references, numerical thresholds, test eligibility and repository merge-gate rules unchanged. If an in-scope model fails non-required public CI due to OOM or a demonstrated hardware limitation, execute the affected unchanged correctness case locally on capable hardware, retain a non-skipped passing result, and document the public failure and local verification in the PR. Merge only once the unchanged required merge checks pass on the current head and the PR otherwise satisfies the repository rules. A numerical/model-correctness failure is not a hardware exception. Do not add test exclusions or manufacture a passing public result. Deliver stages 5, 6, 7 and 8 sequentially, starting each implementation after the previous stage merges.
Existing-model scope — owner clarification
This epic integrates AIPerf with models and model specs already supported on upstream main. “Whole group” means every existing model/spec for this workload, rather than adding checkpoints that an architecture might also support.
- Reuse existing checkpoint identities, normal full-model profiles/manifests, build settings, references and correctness thresholds. Do not add model families, checkpoints, model specs/manifests, precision/parallel variants or new numerical gates to enlarge the group.
- HTTP/media adapters, AIPerf input/workload configuration and regression fixes needed for existing models are in scope. Keep model semantics family-owned and existing correctness criteria unchanged.
- Missing full-model implementations or native audio/video capabilities are recorded as unsupported/outside this integration. Do not implement a new encoder, model graph, temporal path or native Task to fill the inventory. L0/partial profiles do not require full-model onboarding in this epic.
- Refresh against current main only to include independently existing supported specs. Architectural compatibility, model cards and upstream model availability do not establish an in-scope TRTMC model.
Group-wide scope and completion (revised)
Cover every TRTMC-supported checkpoint in this model group for the workload below, not just one pilot. Refresh the inventory against github/main at implementation and before completion. Use family-owned manifests, actual build/runtime behavior, and public Task capabilities together; a model name, broad support declaration, or an inherited C++ interface alone does not establish the checkpoint's supported workload.
Use one normal full-model profile per distinct checkpoint and workload. Record all additional precision/quantization/TP/CP variants separately; do not count variants as extra models or claim untested configurations. L0/partial/random/regression smoke profiles do not establish full-model coverage. Checkpoints with only partial implementation remain explicit gaps, not silent omissions. Only independently existing supported specs on main join the refreshed inventory; do not add models or specs as part of this integration.
- Publish the exhaustive per-checkpoint inventory with checkpoint/profile/revision, native Task, supported controls, and any explicit capability gap; reconcile it with current main before closing.
- Every supported checkpoint passes its unchanged owning-family correctness criteria on the exact served bundle, followed by a real published pip-installed AIPerf run through
trtmc-serverfor this one workload. - Check meaningful complete output contents and native/HTTP identity for every model, with separately marked warmup, failures, client/Task timing, and workload-appropriate throughput.
- Publish a result row and reproducible command for every checkpoint. A pilot, source-only check, HTTP fixture, skipped test, unrun model, unsupported adapter, or unresolved failure cannot close this group-wide task.
- Preserve family ownership and existing quality criteria; fix real defects without introducing model behavior in shared serving code or relaxing gates.
Implementation scope:
- Add the missing standard edit route and dispatch to the real public image-edit Task; reuse uploads and artifact recording.
- Keep reference-image preprocessing, edit orchestration, and validation family-owned.
- Honor or explicitly reject dimensions, steps, guidance, and other supported settings; record actual work and seed/precision.
Acceptance criteria for every model in the group:
- Real reference-image inputs influence the output, and the actual edited images satisfy the unchanged family edit-quality/parity criteria.
- A real pip-installed AIPerf run sends the pinned image/instruction pairs and receives decodable edited artifacts with visible failures.
- Report image latency and images/sec separately from Task-call time; correlate the reference input, instruction, settings, and edited output.
- Reuse existing serving/qualification mechanics; keep all model semantics, orchestration, and correctness family-owned, with capability-based Task dispatch.
- Account for inputs, outputs/artifacts, failures, and warmup by request identity. Keep client end-to-end latency separate from
public_task_call_wall; exclude build/load/startup/warmup from steady-state timing. - Record tested package versions, checkpoint/profile, actual bundle, dataset, endpoint/mode, hardware, effective precision, settings, commands, and public evidence. Distinguish planned, implemented, family-validated, and AIPerf-qualified status.
- Provide one concise reproducible example using published pip-installed AIPerf and links to existing build guidance; an AIPerf source checkout is not a runtime dependency.
Model and target details
Inventory baseline: TRTMC fd79ad26ca71a11b3ec086a7daaaead03e6c933f. Candidate models/profiles for this group:
| Checkpoint | Canonical profile | Native Task | Coverage status |
|---|---|---|---|
Qwen/Qwen-Image-Edit-2511 |
qwen-image-edit-2511 |
image_edit |
Requires group-wide qualification |
Cover every genuinely reference-image-conditioned native edit model. An image generator exposing a broad image_edit declaration without consuming the reference image remains an explicit capability gap.
Use the public native Task runtime path. Record the actual supported target GPU and software stack during implementation/qualification; no new hardware validation or benchmark is claimed by this planning issue. Keep existing numerical criteria unchanged.
Alternatives considered
Reuse apps/perf_serving protocol/media/recording mechanics and apps/aiperf_qual qualification instead of adding a third server or benchmark harness. Deliver this stage on its own short-lived branch from current github/main.
Follow-ups outside this initial stage: Multiple reference images and different edit configurations require separate workload qualification. Every supported model for the single-reference-image workload is in scope here.
Additional context
- Parent epic: Epic: expand TRTMC AIPerf model and workload coverage #1667
- Pilot profile
- AIPerf docs/tutorials/sglang-image-edit.md
- Native server
- Existing qualification harness
Research baseline: TRTMC 0bccb5e93af0e5ad346aaf44e404396f54b2e7de and AIPerf e1daadd10faa395100384358131d784d6858c5ae; published AIPerf 0.13.0. Recheck the tested published version and native capabilities when implementing. Existing source/fixtures/reference-only runs do not establish end-to-end TRTMC qualification. Keep internal logs, artifacts, and runner details private.
Submission checks
- I searched open and closed issues and found no duplicate request.
- I removed secrets, private/internal evidence, personal paths, and restricted artifacts.
Group completion policy revised at the owner's request: all supported checkpoints in this group must be accounted for and qualified; one successful pilot is insufficient. Existing pilot results are retained as historical evidence.
Stage 7 completion
Complete in PR #1792, merged as a5e7ec06ba0c117ea9c27d2b35d498fd877dcd15 after its required internal gate passed on bc0d0d89cf32564aa5447274b17f74647ad7b6ac. The existing group contains one eligible full checkpoint: Qwen/Qwen-Image-Edit-2511, profile qwen-image-edit-2511, immutable checkpoint revision 6f3ccc0b56e431dc6a0c2b2039706d7d26f22cb9. Its unchanged original full owning case passed on the served BF16 bundle, one executed model case and zero skips. Published AIPerf 0.13.0 then completed five measured requests plus one warmup: six complete native/HTTP PNG matches, zero client errors. Original HTTP edit-quality criteria and visual review also passed. The PR includes the full model inventory, fixed image/instruction/settings, build-guide links, reproducible command and timing table (HTTP p50/p95 22.3056/22.3104 seconds; Task p50 22.1119 seconds; 0.04482 images/second).
The optional public Dev CI CUDA-OOM case was independently verified by its exact unchanged local correctness case, one executed model case and zero skips, and documented in the PR. The required gate passed before normal merge; no model specs, original contracts, references, numerical thresholds, test eligibility or merge rules were changed. The family-owned build fix controls compiler process lifetime. Inventory was rechecked after stage 8 on main 61d2402f61e77238b250729ecace9ac13d038df7; stage 8 adds no model/spec changes, so the group remains one supported existing full checkpoint.
Activity
[-]AIPerf stage 7: qualify reference-image editing[/-][+]AIPerf stage 7: qualify all TRTMC reference-image editing models[/+]fix(aiperf): bind editing requests to fixed workloads
fix(qwen-image): isolate edit component builds
fix(qwen-image): inherit component import paths
fix(qwen-image): pass child search paths explicitly
feat(aiperf): profile existing image-editing models