Repository navigation
AIPerf stage 2: qualify all TRTMC text reranking models #1669
Description
Request type
New capability
Problem and use case
Users need reproducible relevance-scoring benchmarks through TRTMC. Existing NIM-shaped ranking mechanics are useful, but need a qualified native-server path and actual client evidence for this text-only workload.
Proposed outcome
Qualify all supported models in this group for one text reranking workload through the existing native serving entrypoint.
- Workload: One query and a fixed list of text passages per request.
- Client / endpoint: AIPerf
nim_rankings; POST/v1/ranking. - Rollout / prerequisites: Model-group rollout after stage 1 is qualified; this sequence is a delivery policy rather than an assertion that reranking needs embedding topology.
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:
- Reuse the NIM request/response mapping and qualification harness; dispatch to the real public ranking Task from trtmc-server.
- Return real family-produced scores and document indices; preserve ordering and rejected-input visibility.
- Pin queries/passages, passage count, and text lengths so comparisons represent the same work.
Acceptance criteria for every model in the group:
- Indices, score values, and ranking order match the family-owned score contract and unchanged correctness/quality checks on the actual bundle.
- A real pip-installed AIPerf run completes against the native endpoint with correlated requests, scores, and visible errors.
- Report latency, requests/sec, and passages/sec with passage counts and lengths recorded; separate client and Task-call timing.
- 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 |
|---|---|---|---|
nvidia/llama-nemotron-rerank-vl-1b-v2 |
nemotron-rerank-vl-1b-v2 |
reranking |
Requires group-wide qualification |
The current catalog has one dedicated reranking checkpoint. Encoder checkpoints whose bundle is declared encoding/embedding do not become trained rerankers merely because their implementation inherits a generic reranking interface. Audit any additional genuinely supported reranking checkpoint and include it.
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: HF TEI/Cohere wire formats and multimodal document reranking are separate follow-ups.
Additional context
- Parent epic: Epic: expand TRTMC AIPerf model and workload coverage #1667
- Pilot profile
- AIPerf docs/tutorials/rankings.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.
Historical pilot delivery (does not complete revised scope)
Delivered to main by #1687 at e3eeb98f2e5ba1f0ceaf40126d07a3ed02257a2e; qualified and CI-tested head: fb3ed80718b8a7b8f76e2f431cea2eacc0032629. Every expected community/review check and the protected internal premerge gate passed before merge. The exact served bundle passed the unchanged owning-family reference contract, and pip-installed AIPerf completed 50 measured requests plus 5 warmups with complete scores and no unmatched request IDs, missing metric exports, or client errors. Commands and public benchmark results are in the PR and the epic progress comment.
Historical pilot delivery
The earlier pilot PR is merged. Its evidence remains valid for that named pilot, but does not complete the expanded all-model scope. This task is reopened to track the missing checkpoints.
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.
Activity
feat(server): serve text reranking with AIPerf
feat(server): serve text reranking with AIPerf
feat(server): serve text reranking with AIPerf
[-]AIPerf stage 2: qualify text reranking[/-][+]AIPerf stage 2: qualify all TRTMC text reranking models[/+]feat(aiperf): qualify native endpoint model groups (NVIDIA#1718)