Skip to content

Track production validation for topology KV candidate schedules #1161

Description

@teerthsharma

Context

PR #1160 adds an opt-in benchmark for topology-derived KV candidate schedules. The benchmark builds request-local candidate rows from sink, local, and high-drift KV block metadata, expands the final candidate row into token indices, then compares dense PyTorch SDPA decode attention against SDPA over gathered candidate K/V tokens.

This issue tracks the remaining production validation gate. The current PR is intentionally limited to a screening benchmark and does not change RTP-LLM serving behavior.

Current benchmark signal

Validated in WSL2 on an NVIDIA GeForce RTX 4060 Laptop GPU with PyTorch 2.5.1+cu121:

python benchmark/topology_kv_candidate_schedule.py \
  --seq-len 16384 \
  --selected-tokens 128 256 512 1024 \
  --heads 16 \
  --head-dim 64 \
  --rounds 60 \
  --warmup 20 \
  --device cuda
seq_len selected_tokens dense_sdpa_ms sparse_selected_ms speedup
16384 128 0.2827 0.0324 8.72x
16384 256 0.2845 0.0578 4.92x
16384 512 0.2826 0.0745 3.79x
16384 1024 0.2834 0.1320 2.15x

Validation already done for PR #1160

python -m pytest benchmark/test_topology_kv_candidate_schedule.py -q
9 passed

python -m py_compile benchmark/topology_kv_candidate_schedule.py benchmark/test_topology_kv_candidate_schedule.py
passed

python -m flake8 benchmark/topology_kv_candidate_schedule.py benchmark/test_topology_kv_candidate_schedule.py
passed

Remaining production gate

The benchmark is only a screening signal. Before using this in a production sparse attention path, validate model quality and runtime behavior after wiring candidate rows into the existing sparse MLA/indexer path.

Acceptance criteria

  • Candidate schedules can be consumed by the runtime sparse MLA/indexer path behind an opt-in flag or experiment config.
  • Default serving behavior remains unchanged when the opt-in path is disabled.
  • End-to-end RTP-LLM runtime benchmarks show a useful latency or memory tradeoff against the current baseline on representative hardware.
  • Model-quality validation passes for representative long-context workloads.
  • Documentation clearly separates microbenchmark speedup from serving speedup.

Related draft PR: #1160

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions